1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-31 03:45:32 +00:00
Commit graph

425 commits

Author SHA1 Message Date
Koncord
e7a5919477 [Server] Fix path to native libs 2017-10-27 20:58:02 +08:00
David Cernat
413893aa51 [General] Implement PlayerAnimPlay packet 2017-10-27 09:10:29 +03:00
David Cernat
878294e4fe Merge branch 'new-script-api' of https://github.com/TES3MP/openmw-tes3mp into new-script-api 2017-10-26 17:25:53 +03:00
Koncord
d44848ecbb [Server] Fix build 2017-10-25 16:05:45 +08:00
Koncord
05abb8ace3 [Server] Add Log level constants to lua 2017-10-25 15:22:07 +08:00
Koncord
04a844a9c0 [Server] Use sol's default_handler 2017-10-25 15:21:11 +08:00
David Cernat
50d5fffb7f [General] Add and implement PlayerQuickKeys packet 2017-10-25 07:21:00 +03:00
David Cernat
bece095579 [Server] Add getCaseInsensitiveFilename script function back in 2017-10-24 20:25:02 +03:00
David Cernat
fb67180809 [Server] Fix build in Visual Studio 2017-10-19 13:04:37 +03:00
Koncord
4530370e52 [Server] Use old style of Server Plugins location 2017-10-19 11:55:49 +08:00
Koncord
ce6a4e4032 [Server] Fix indents 2017-10-19 10:26:03 +08:00
Koncord
fc3f2483ee [Server] Add manual Server Plugins sort 2017-10-19 10:24:17 +08:00
Koncord
7a0b45d456 [Server] Load mods in dependencies order 2017-10-18 21:30:36 +08:00
David Cernat
bbac26294f [Server] Fix typos and make all files end with newlines 2017-10-17 07:44:10 +03:00
David Cernat
3284769fef [Server] Add getModFolder() script function and Config environment 2017-09-23 13:52:51 +03:00
David Cernat
d591180e99 [Server] Clean up logAppend and add new message for server shutdown 2017-09-20 16:30:12 +03:00
Koncord
6decd148e5 [Server] Fix build on Windows 2017-09-13 11:06:53 +08:00
Koncord
66fdba957b [Server] Add getDataFolder() to Script API 2017-08-31 16:25:43 +08:00
Koncord
1d16958910 [Server] Fix multiple calls of ON_POST_INIT 2017-08-31 16:20:50 +08:00
Koncord
60fc0bedb8 [Server] Use lower case for methods 2017-08-30 13:56:53 +08:00
Koncord
2d0840cb3a [General] Modernize Script API
This commit changes the style of tes3mp serverside scripting mods. Short list of changes:
* Break compatibility with old server mods
* OOP style lua API
* Basic dependency checker, allowing the installation of multiple server mods without changing configs
* Remove support for C++ plugins
* Change outdated LuaBridge to [sol2](https://github.com/ThePhD/sol2);
* Support GCC, Clang and MSVC compilers
* New environment variables: "TES3MP_SERVER_DIR" and "TES3MP_SERVER_USERDIR";
* New entity "Command controller" for registering new chat commands;
* New Event system
* Simplified Timer API
* All Lua mods now run in their own environments
* Add global namespace - Data that can be used for communicating between mods
* Player and Actor inherit base class NetActor
2017-08-28 00:15:56 +08:00
David Cernat
cffd985038 Merge pull request #266 from TES3MP/0.6.0
Add hotfix commits for 0.6.0 up to 18 Aug 2017
2017-08-18 07:45:36 +03:00
David Cernat
0820b7e92b [Server] Add GetCaseInsensitiveFilename() script function
Additionally, make header order consistent in script function files.
2017-08-18 07:13:08 +03:00
David Cernat
0e2038f045 [General] Record and get player positions before their last cell change 2017-08-04 21:45:52 +03:00
Unknown
bfbfbeac43 Added networking and saving for custom spells 2017-07-31 03:45:47 +10:00
David Cernat
9d05063af4 [General] Add server script functions for banning & unbanning IPs
Additionally, use a more informative message for the client when trying to connecting to a server that it is banned from.
2017-07-27 19:29:17 +03:00
David Cernat
8b79cdd4f4 [Server] Document script functions, part 3
Also reorder functions in Cells and CharClass so they are consistent with the rest.
2017-07-25 18:07:09 +03:00
David Cernat
5e5440b697 [Server] Document script functions, part 2 2017-07-23 21:59:33 +03:00
David Cernat
cc91b32b2f [Server] Make spell script functions consistent with others 2017-07-20 17:58:00 +03:00
David Cernat
8bd33e5fbb [Server] Document script functions, part 1 2017-07-19 20:40:51 +03:00
David Cernat
f65f996418 [Server] Add script functions for werewolf states 2017-07-15 11:09:28 +03:00
David Cernat
43a3daf0aa [General] Add & implement PlayerShapeshift packet for werewolf states 2017-07-15 09:02:19 +03:00
David Cernat
ad9fa0631a [General] Rename jailText to jailEndText and add jailProgressText in PlayerJail 2017-07-13 20:13:28 +03:00
David Cernat
e36c0afc59 [General] Send faction reputation via PlayerFaction packets 2017-07-13 13:36:00 +03:00
David Cernat
be93ec8ef6 [General] Implement ObjectState packet 2017-07-13 09:46:30 +03:00
David Cernat
083b46394d [General] Add ignoreJailSkillIncreases to PlayerJail packets 2017-07-12 18:24:37 +03:00
David Cernat
5962570c48 [General] Add jailText to PlayerJail packets 2017-07-12 16:39:31 +03:00
David Cernat
3280f0c5ee [General] Implement PlayerJail packet
Rework server's DeathFunctions into MechanicsFunctions

Remove connection between PlayerResurrect and jailing
2017-07-11 13:34:09 +03:00
David Cernat
b1b27728e2 [Server] Move functions dealing with PlayerKillCount to QuestFunctions 2017-07-11 07:15:06 +03:00
Koncord
9cc07f100c [Server] Add OnObjectState callback 2017-07-11 02:21:19 +08:00
David Cernat
6dde0ca9c9 [Server] Rework script functons by removing unnecessary vector buffers
Add new initialization script functions to allow clearing all player changes vectors in a manner consistent with Actor and World functions

Add toOthers boolean to all methods that send packets with player changes vectors
2017-07-07 09:25:48 +03:00
David Cernat
2c05b7f747 [Server] Rename InitiateEvent() into InitializeEvent() for consistency 2017-07-07 08:12:48 +03:00
David Cernat
1d504a665f [General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets 2017-07-05 07:06:33 +03:00
Koncord
940ae5c2fb [Server] Implement GetIP API function 2017-07-04 15:57:16 +08:00
David Cernat
60574ae667 [General] Implement jail time as a death penalty 2017-07-03 15:45:21 +03:00
David Cernat
71313c5aa6 [General] Implement PlayerMap packet, part 1 2017-07-03 09:28:27 +03:00
David Cernat
1f682749d6 [General] Add optional notes to PasswordDialogs 2017-07-02 13:07:36 +03:00
Koncord
d9e98ec771 [Server] Add expected ‘;’ 2017-06-30 19:58:14 +08:00
Koncord
d14ad55a49 [Server] Fix compilation on arm 2017-06-30 19:46:27 +08:00
Koncord
f92117e73d [Server] change "__arm__" to "__ARM_ARCH" in ARM detection 2017-06-30 19:31:07 +08:00
Koncord
15a197cb9a [Server] Temporarily disable CallFF for ARM 2017-06-30 19:17:04 +08:00
Koncord
653db9e266 [Server] Simplify native CallPublic & CreateTimerEx 2017-06-30 18:01:14 +08:00
Koncord
5292914325 [Server] Simplify native CallPublic & CreateTimerEx 2017-06-30 17:59:50 +08:00
Koncord
1c09e0c255 [Server] Add CallFF dependency 2017-06-30 17:58:41 +08:00
Koncord
e68eee651a [Server] Fix Resurrect 2017-06-27 15:16:23 +08:00
Koncord
c58c26f6c0 [Server] Implement native CreateTimer & CreateTimerEx 2017-06-27 14:50:40 +08:00
Koncord
9ab58b6708 [Server] Remove redundant SetResurrectType
Rename SendResurrect to Resurrect
2017-06-27 14:49:39 +08:00
David Cernat
813a3c89c4 [General] Implement PlayerBook packet to track skill books read 2017-06-27 08:27:14 +03:00
David Cernat
b3b73c5cd2 [General] Implement resurrection at nearest shrine or temple 2017-06-27 01:01:45 +03:00
David Cernat
66a3f3d475 [Server] Use cleaner solution for safely reading cell descriptions 2017-06-23 08:29:14 +03:00
David Cernat
78f29302ef [General] Fix PlayerJournal logic by sending only refIds for its actors
Additionally, make the refIds for actors usable in script functions.
2017-06-23 08:12:32 +03:00
David Cernat
48c63dbce9 [General] Fix ObjectLock packets by making hasCellData true for them 2017-06-22 05:49:44 +03:00
David Cernat
4ad87faac1 [Server] Create new Settings category for script functions 2017-06-20 07:24:15 +03:00
David Cernat
ebf7740969 [General] Repurpose GameConsole packet as GameSettings & add difficulty to it 2017-06-20 05:28:45 +03:00
Koncord
3803535bd5 [General] Implement CleanChat() 2017-06-12 08:01:47 +08:00
David Cernat
51b95f35cd [Server] Fix problem with fetching interior cell descriptions 2017-06-10 18:03:58 +03:00
David Cernat
db7709ee18 [Server] Modernize getting and setting of player cells 2017-06-10 17:49:41 +03:00
David Cernat
0d3976950b [Server] Use consistent names for rotation script functions 2017-06-10 17:06:09 +03:00
David Cernat
70d9374a6a [General] Implement PlayerKillCount packets 2017-06-10 14:04:19 +03:00
David Cernat
5b23da8e1c [General] Rename unused PlayerRegionChange packet into PlayerKillCount 2017-06-10 12:01:37 +03:00
David Cernat
ee5c9b65c5 [General] When changing region, send new region name in PlayerCellChange 2017-06-10 11:43:40 +03:00
David Cernat
f02ed0d621 [Server] Add script functions for getting and setting actor dynamic stat modifiers 2017-06-10 09:28:35 +03:00
Koncord
568b0702fa [Server] Implement PasswordDialog 2017-06-06 23:34:27 +08:00
Koncord
cef58fa164 [Server] Change fprintf to LOG_MESSAGE_SIMPLE in GET_PLAYER 2017-06-06 16:35:05 +08:00
Koncord
186e5fe33e [Server] Remove GetAngleY & remove Y parameter from SetAngle 2017-06-06 16:33:34 +08:00
David Cernat
a353a21280 [General] Fix code style inconsistencies 2017-05-31 08:37:11 +03:00
David Cernat
f4cdedd8cb [General] Synchronize summoned creatures 2017-05-30 10:11:01 +03:00
David Cernat
4e5c8873e0 [General] Use ObjectSpawn instead of ObjectPlace for actors 2017-05-29 06:59:05 +03:00
David Cernat
27148ce9eb [General] Add placeholders for 12 new packets, to be implemented soon
Additionally, make it slightly clearer who created which previously existing packets.
2017-05-29 04:43:52 +03:00
David Cernat
940a2b6eb5 [Server] Add script functions for setting and sending ActorEquipment 2017-05-27 00:57:40 +03:00
David Cernat
f47a10dd4a [Server] Add script callback and getter functions for ActorEquipment 2017-05-26 22:54:51 +03:00
David Cernat
32879adc5b [General] Allow ObjectTrap to trigger traps, not just disarm them 2017-05-26 01:28:43 +03:00
David Cernat
93aa674eff [Server] Add SendObjectTrap() script function 2017-05-26 00:42:46 +03:00
David Cernat
dbdb11b5f0 [Server] Add script functions for dialogue 2017-05-24 23:22:43 +03:00
David Cernat
08de349133 [General] Add placeholders for PlayerTopic & ObjectTrap packets 2017-05-24 19:01:28 +03:00
David Cernat
870fd9a78b [General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead 2017-05-24 13:28:34 +03:00
David Cernat
0595192129 [Server] Make GetFactionExpelledState() return a bool instead of an int 2017-05-18 21:51:24 +03:00
David Cernat
a2e2ca7cab [Server] Add script functions for factions 2017-05-18 20:56:50 +03:00
David Cernat
90c594b726 [Server] Make names for Player script callbacks shorter 2017-05-16 20:52:09 +03:00
David Cernat
ad388c7e12 [General] Add placeholders for ActorEquipment & PlayerFaction packets
Also reorder packets and packet processors.
2017-05-16 19:25:31 +03:00
David Cernat
f527fe9ebe [General] Add basic integrity check to reading of ActorList packets
Additionally, add newlines to files missing them.
2017-05-16 14:20:40 +03:00
Koncord
31adb5d715 [Server] Allow timers callbacks to restart timers 2017-05-08 05:48:04 +08:00
David Cernat
de49f5f175 [General] Add and use isActor bool for WorldObject 2017-05-07 03:07:09 +03:00
David Cernat
9d2c5c3502 [General] Simplify structure of BaseEvent 2017-05-06 21:57:29 +03:00
Koncord
a4a77ddeff [Server] Add SetRuleString and SetRuleValue to script API 2017-05-07 02:17:15 +08:00
Koncord
32284787de [Server] Add OnServerPostInit callback 2017-05-07 01:42:01 +08:00
David Cernat
4d81455020 [General] Rework and simplify death reasons so they work with NPCs 2017-05-05 22:16:31 +03:00
David Cernat
06f3c07116 [Server] Only read Actor packets from players who are still authorities 2017-05-05 06:13:34 +03:00
David Cernat
e01cadad23 [Server] Send ActorAuthority packets to all players who loaded the cell 2017-05-03 04:45:55 +03:00
Koncord
b223d0fa1e [Server] Register new callback 2017-05-02 20:21:08 +08:00
David Cernat
4c35c328a9 [Server] Add SendActorPosition() script function 2017-05-01 20:58:40 +03:00
David Cernat
e5e888ac21 [Server] Add script functions for checking what data an Actor has 2017-05-01 20:55:36 +03:00
Koncord
6ddab0d323 [Server] Add and implement "look like creature" functions 2017-05-01 21:15:12 +08:00
David Cernat
62d93a09c1 [Server] Add new script callbacks for cells, remove a couple of others
OnPlayerCellState and OnActorStatsDynamic are now removed as callbacks.

The old OnCellUnload is now renamed into OnCellDeletion.

OnCellLoad and a new OnCellUnload relating to a specific player's load/unload are added.
2017-05-01 02:36:13 +03:00
David Cernat
217894100a [Server] Add ReadCellActorList() script function 2017-05-01 00:49:58 +03:00
David Cernat
e8e0090b9b [General] Use new SimpleCreatureStats struct in BaseActor 2017-04-30 18:44:59 +03:00
David Cernat
0e8d115794 [Server] Clean up ActorFunctions by using readActorList pointer
Also rename scriptActorList into writeActorList, and also rename matching methods, for clarity.
2017-04-30 17:12:15 +03:00
David Cernat
b54560a362 [Server] Clean up WorldFunctions by using readEvent pointer
Also rename scriptEvent into writeEvent, along with matching methods, for clarity.
2017-04-30 16:35:56 +03:00
David Cernat
b62969d3cf [Server] Add OnCellUnload script callback 2017-04-30 03:32:04 +03:00
David Cernat
a2f6d99dfd [Server] Use new CreatureStats in ActorFunctions to fix invalid pointer 2017-04-29 18:20:01 +03:00
David Cernat
6ff9091afd [Server] Add script functions for setting actor dynamic stats 2017-04-29 02:10:14 +03:00
David Cernat
9d7142f684 [Server] Clean up order for StatsFunctions 2017-04-29 01:42:11 +03:00
David Cernat
03c56e01f9 [Server] Add script functions for getting actor dynamic stats 2017-04-29 01:15:19 +03:00
David Cernat
3d6b21942c [Server] Add OnActorStatsDynamic script callback 2017-04-29 00:32:23 +03:00
David Cernat
328b4fb763 [Server] Fix invalid pointers when using ActorFunctions::GetActorCell() 2017-04-28 20:31:02 +03:00
David Cernat
a71dbc7d09 [Server] Add script functions for setting actor cells and positions 2017-04-28 18:44:01 +03:00
David Cernat
9c5eb47e90 [Server] Add and use Utils::getCellFromDescription() 2017-04-28 16:33:58 +03:00
David Cernat
aeab851ed8 [Server] Add script functions for getting actor position coordinates 2017-04-28 00:05:12 +03:00
David Cernat
1ce60fbf30 [Server] Add GetActorCell() script function 2017-04-27 14:59:49 +03:00
David Cernat
9a89284bca [Server] Add OnActorCellChange script callback 2017-04-25 23:31:37 +03:00
David Cernat
6a21ec1fdc [General] Rename PlayerPos into PlayerPosition 2017-04-25 22:11:33 +03:00
David Cernat
7b07d6651f [General] Add and use PlayerBounty packet and matching script functions 2017-04-25 21:24:39 +03:00
David Cernat
870886192b [General] Rename DYNAMICSTATS into STATS_DYNAMIC 2017-04-16 09:00:18 +03:00
David Cernat
b6c3830ea0 [General] Rename WorldObject's pos into position for consistency 2017-04-10 09:25:20 +03:00
David Cernat
174f316787 [General] Rename PacketActorFrame into PacketActorTest 2017-04-10 08:37:18 +03:00
David Cernat
69bf2749a5 [Server] Add ActorFunctions for getting and setting basic actor data 2017-04-10 06:15:03 +03:00
David Cernat
e9c3abc2c3 [Server] Reset variables more elegantly in WorldFunctions 2017-04-10 02:37:43 +03:00
David Cernat
c52084a028 [General] Use BaseActorLists in ActorPackets 2017-04-09 16:32:44 +03:00
David Cernat
1b714fbfa7 [Server] Make script functions more consistent 2017-04-09 12:28:38 +03:00
David Cernat
a24ef3a25e [Server] Create ActorFunctions placeholder 2017-04-09 12:24:33 +03:00
David Cernat
070c6a3bd4 [General] Add ActorPacketController & make controller var names clearer 2017-04-09 08:51:28 +03:00
David Cernat
ba8341bfb5 [Server] Add SendActorAuthority() script function 2017-04-05 11:02:11 +03:00
David Cernat
c65e94587c [Server] Add SendActorList() script function 2017-04-05 04:44:47 +03:00
David Cernat
8c2469bf6d [General] Add placeholder ActorList, ActorAuthority & ActorFrame packets 2017-04-05 04:06:45 +03:00
David Cernat
068835ba71 [Server] Add OnMpNumIncrement() script callback 2017-04-05 01:18:42 +03:00
David Cernat
3b34b9cd3e [Server] Fix typo in MiscellaneousFunctions 2017-04-04 12:49:29 +03:00
David Cernat
2716078a30 [Server] Add GetCurrentMpNum() and SetCurrentMpNum() script functions 2017-04-04 12:43:17 +03:00
David Cernat
82f38dcfad [Server] Set mpNum in AddWorldObject() 2017-04-04 10:34:35 +03:00
David Cernat
665fe09fd0 [Server] Add GetObjectMpNum() and SetObjectMpNum() script functions 2017-04-04 09:30:17 +03:00
David Cernat
174937f412 [Server] Add LogMessage() and LogAppend() script functions 2017-04-04 01:47:37 +03:00
Koncord
690211ad99 [General] Extract BaseEvent & BasePlayer from packets to functions
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
David Cernat
82dcec5ec5 [Server] Use consistent pattern for script function category names 2017-03-04 14:11:17 +02:00
Koncord
c353e18645 [General] Move Utils from server to components
Rewrite CRC32 functions to the Boost equivalent
2017-03-04 13:08:22 +08:00
David Cernat
5c269a5f8d [General] Rename ID_GAME_DIE and ID_GAME_RESURRECT 2017-02-28 01:38:25 +02:00
Koncord
0442ebd607 [Server] Remove redundant newlines & keep ~120 columns 2017-02-27 17:13:07 +08:00
David Cernat
684517e02f [Server] Fix Miscellaneous category of script functions 2017-02-26 23:07:52 +02:00
David Cernat
0baada0aa2 [Server] Add GetLastPlayerId() script function in Miscellaneous category 2017-02-26 23:00:51 +02:00
Koncord
b158e89f77 [Server] Change signatures of GetLastEventAction & SetScriptEventAction 2017-02-23 15:17:00 +08:00
Koncord
cbe31149e3 [Server] Remove redundant constructor 2017-02-23 14:36:35 +08:00
David Cernat
af35ee38d1 [Server] Rename ClearScriptEvent into InitScriptEvent with pid argument 2017-02-23 08:23:46 +02:00