David Cernat
cbb9817913
[Server] Add missing descriptions for PlayAnimation() and PlaySpeech()
2018-07-08 02:03:33 +03:00
David Cernat
6ba9b1742b
[Server] Remove unused default parameters for script functions
2018-07-08 01:05:54 +03:00
David Cernat
563269d359
[Server] Bring comments up-to-date for packet-sending script functions
2018-07-07 20:16:36 +03:00
David Cernat
2f1ef049d2
[Server] Turn sendToAttachedPlayer into skipAttachedPlayer
...
Unfortunately, default values set in the C++ code for our script function parameters don't actually seem to work, and they always default to false because they receive a nil value from Lua. As a result, to not break compatibility with previous scripts, I've decided to use a skipAttachedPlayer argument instead so it can default to false while still providing the same benefits that sendToAttachedPlayer provided.
2018-07-07 20:08:59 +03:00
David Cernat
141e404ed9
[Server] Move server administration functions to ServerFunctions class
2018-07-07 19:40:22 +03:00
David Cernat
6041425122
[Server] Move Chat functions to new ChatFunctions class
2018-07-07 19:20:25 +03:00
David Cernat
6a3fbf4e98
[Server] Use consistent arguments for script functions that send packets
...
Previously, there was a confusing separation between script functions that had a "broadcast" argument and script functions that had a "toOthers" argument.
Those with broadcast sent the packet to all players on the server when broadcast was true. Those with toOthers sent the packet to all players other than the packet's attached player.
The former was based on the pattern of the original SendMessage() script function. The latter more closely resembled RakNet's own broadcast argument as seen here:
https://github.com/TES3MP/CrabNet/blob/master/include/raknet/RakPeer.h#L219
This commit makes it so all sending functions have a sendToOtherPlayers argument that is false by default and a sendToAttachedPlayer that is true by default. This should simultaneously allow sending to be more intuitive, while not breaking previous existing scripts to a significant degree.
Additionally, this commit also reduces some code repetition for all instances of packet-fetching in script functions.
2018-07-07 18:29:31 +03:00
David Cernat
14e4f64296
[Server] Add GetVideoFilename() and SendVideoPlay() script functions
2018-07-07 17:09:57 +03:00
David Cernat
7f0549fc4f
[Server] Remove hardcoded sync for VideoPlay and add OnVideoPlay event
2018-07-06 23:37:57 +03:00
David Cernat
ae8b5a0709
[Server] Remove hardcoded sync for Place, Spawn & other Object packets
2018-07-06 23:36:28 +03:00
David Cernat
b0bd12f9dd
Merge branch '0.6.3' of https://github.com/TES3MP/openmw-tes3mp into 0.6.3
2018-07-05 22:28:40 +03:00
David Cernat
c075496748
[General] Replace deathReason in death packets with a killer variable
...
Add serverside script functions for determining the killers of both players and actors.
Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.
Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
934e592bdb
[Server] Make spacing in CharClass consistent with other categories
2018-07-05 20:27:42 +03:00
David Cernat
e8ce009521
[Server] Use regular int as return value for GetObjectSummonerPid()
...
Additionally, clarify descriptions of script functions for getting information about summoners.
2018-07-05 20:26:23 +03:00
Koncord
470ea50b54
[General] Use LuaJit instead default Lua
2018-07-05 19:21:53 +08:00
David Cernat
7010575075
[Server] Return -1 in GetObjectSummonerPid() when the player is invalid
2018-07-05 02:05:10 +03:00
David Cernat
3438061b55
[Server] Add script function for getting a summoner's pid
...
Additionally, fix typos in the comments for other script functions relating to summoners.
2018-07-04 04:26:44 +03:00
Koncord
1f4e6e9114
[General] Add integrity checks to Handshake packet
2018-07-03 18:41:03 +08:00
Koncord
fa2bf0663e
[General] Simplify vectorContains
2018-07-03 18:41:03 +08:00
David Cernat
3aa125ceda
[Server] Add script functions for getting a summoner's refId and indexes
2018-07-03 00:54:08 +03:00
Koncord
d999cc0d55
[General] Add packetValid flag to packets
2018-07-03 02:06:52 +08:00
David Cernat
f9ebe400f7
[Server] Add script function for checking if object's summoner is player
2018-07-02 18:32:42 +03:00
Koncord
d162f6fd3a
[General] Explicitly use limitations of the master server
2018-07-02 23:29:07 +08:00
Koncord
62877f38b7
[General] Remove Terra support
...
Use LuaJIT instead.
2018-07-02 23:07:09 +08:00
Koncord
685a80887b
Remove Pawn support
2018-07-02 23:00:35 +08:00
David Cernat
bef53749ed
[General] Replace BaseObject's hasMaster variable with isSummon
...
Additionally, add a GetObjectSummonState() script function to the server.
2018-07-02 02:25:06 +03:00
David Cernat
958b220835
[General] Send summon duration to server in ObjectSpawn packets
2018-07-01 00:43:29 +03:00
David Cernat
9102df7fde
[General] Make WorldCollisionOverride also work with specific refIds
...
For now, this only makes it possible to enforce collision for specific refIds for placed objects.
2018-06-28 04:53:00 +03:00
David Cernat
84af9d9999
[Server] Reorder world map script functions
2018-06-28 03:48:16 +03:00
David Cernat
7ffdb18bf9
[General] Implement ActorDeath packet, part 1
...
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.
A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
2018-06-27 21:47:55 +03:00
David Cernat
15bfa30070
[Server] Make it possible to resend received worldstates
2018-06-27 02:00:16 +03:00
David Cernat
914b79fcc9
[General] Make it possible to check which placed objects have containers
2018-06-26 16:56:08 +03:00
David Cernat
5bb2ba1e9e
[General] Limit maximum imageData size in WorldMap packets
2018-06-23 02:33:34 +03:00
David Cernat
c3c7f2c8f9
[Server] Don't automatically synchronize ObjectDelete packets
2018-06-20 02:00:12 +03:00
David Cernat
aa3639f2da
Merge pull request #450 from TES3MP/0.6.2
...
Add 0.6.2 commits up to 19 Jun 2018
2018-06-19 05:26:38 +03:00
David Cernat
29be79e852
[General] Switch RakNet enums to CrabNet enums
...
CrabNet is TES3MP's fork of RakNet that has deviated too far from RakNet to still be compatible with it.
2018-06-19 00:37:52 +03:00
David Cernat
72862dc255
[General] Turn PlayerMap into WorldMap, now a Worldstate packet
2018-06-07 12:51:45 +03:00
David Cernat
bacecc93e3
[Server] Make it possible to resend a received ObjectList of any kind
...
Additionally, make existing related functions less confusing.
2018-06-05 14:19:06 +03:00
David Cernat
3efe05a88e
[General] Implement WorldCollisionOverride packet
2018-05-27 16:05:40 +03:00
David Cernat
49ea76aa9d
[General] Add notes for InputDialogs in GUIBoxes packet
2018-05-25 05:28:22 +03:00
David Cernat
3b5fb9cd6b
[General] Make it possible to set year via WorldTime
2018-05-25 03:33:12 +03:00
David Cernat
4acf93b7db
[General] Make it possible to set days passed via WorldTime
2018-05-24 14:02:04 +03:00
David Cernat
46744ee90f
[General] Make WorldTime script functions more consistent with others
2018-05-24 09:38:06 +03:00
David Cernat
8d36d0d945
[General] Make it possible to change world's time scale via WorldTime
2018-05-23 08:31:25 +03:00
David Cernat
0be6de6607
[General] Turn RecordDynamic into a Worldstate packet
2018-05-23 07:48:28 +03:00
David Cernat
02ba641bef
[Server] Use correct index changes for dynamic stat script functions
2018-05-23 05:48:28 +03:00
David Cernat
da66face25
[General] Rename GameTime packet into WorldTime
2018-05-23 00:41:29 +03:00
David Cernat
5af1150ab2
[General] Turn GameTime into a Worldstate packet
2018-05-21 07:14:08 +03:00
David Cernat
e87e1dbb30
[General] Fix Worldstate packets by adding missing lines
2018-05-21 07:12:55 +03:00
David Cernat
43a944ddaf
[General] Add and implement new Worldstate packet type
2018-05-18 06:40:28 +03:00