b57807407a
Spell, potion, enchantment, creature, NPC, armor, book, clothing, miscellaneous and weapon record data can now be sent in a RecordDynamic packet. Additionally, the packets include data related to associated magical effects (for spells, potions and enchantments), data related to default inventory contents (for creatures and NPCs) and data related to body parts affected (for armor and clothing). The server now has associated script functions for setting most of the details of the above, with the main exception being individual creature and NPC stats. Records can either be created entirely from scratch or can use an existing record (set via the baseId variable) as a starting point for their values. In the latter case, only the values that are specifically set override the starting values. Creature and NPC records also have an inventoryBaseId that can be used on top of the baseId to base their inventories on another existing record. The client's RecordHelper class has been heavily expanded to allow for the above mentioned functionality. When players create spells, potions and enchantments as part of regular gameplay, they send RecordDynamic packets that provide the server with the complete details of the records that should be created. When they create enchantments, they also provide the server with armor, book, clothing and weapon records corresponding to the items they've enchanted. This functionality added by this packet was originally supposed to be exclusive to the rewrite, but I've gone ahead and tried to provide it for the pre-rewrite in a way that can mostly be reused for the rewrite. |
7 years ago | |
---|---|---|
CI | 7 years ago | |
apps | 7 years ago | |
cmake | 7 years ago | |
components | 7 years ago | |
docs | 7 years ago | |
extern | 7 years ago | |
files | 7 years ago | |
manual/opencs | 10 years ago | |
.editorconfig | 7 years ago | |
.gitignore | 7 years ago | |
.gitlab-ci.yml | 7 years ago | |
.gitmodules | 8 years ago | |
.travis.yml | 7 years ago | |
AUTHORS.md | 7 years ago | |
CHANGELOG.md | 7 years ago | |
CMakeLists.txt | 7 years ago | |
CONTRIBUTING.md | 7 years ago | |
LICENSE | 7 years ago | |
README.md | 7 years ago | |
appveyor.yml | 7 years ago | |
readthedocs.yml | 7 years ago | |
tes3mp-changelog.md | 7 years ago | |
tes3mp-credits.md | 7 years ago |
README.md
TES3MP
Copyright (c) 2008-2015, OpenMW Team
Copyright (c) 2016-2018, TES3MP Team
TES3MP is a project aiming to add multiplayer functionality to OpenMW, an open-source game engine that supports playing "The Elder Scrolls III: Morrowind" by Bethesda Softworks.
- TES3MP version: 0.7.0-alpha
- OpenMW version: 0.44.0
- License: GPLv3 (see LICENSE for more information)
Font Licenses:
- DejaVuLGCSansMono.ttf: custom (see files/mygui/DejaVu Font License.txt for more information)
Project Status
TES3MP is now playable in most respects. Player and NPC movement, animations, combat and spell casting are properly synchronized with small exceptions, as is picking up and dropping items in the world, using doors and levers, and adding and removing items from containers. Journal entries, faction stats and dialogue topics are also synchronized, allowing the majority of quests to work fine.
Serverside Lua scripts are used to save and load the state of most of the aforementioned.
Contributing
Development has been relatively fast, but any contribution regarding code, documentation, bug hunting or video showcases is greatly appreciated.
Test sessions are often advertised on our Discord server or in our Steam group.
Feel free to contact the team members for any questions you might have.
Getting Started
- Quickstart guide
- Steam group and its detailed FAQ
- TES3MP section on OpenMW forums
- Subreddit
- Known issues and bug reports
Donations
You can benefit the project by contributing to the Patreon pages of our two developers, Koncord and David Cernat, as well as by supporting OpenMW.