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
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
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +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
b651c4deb4
[Server] In Item script functions, rename itemId into refId for clarity
2017-02-07 13:50:28 +02:00
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
2017-02-05 14:56:27 +02:00
David Cernat
04d45b9dbb
[General] Rename packets to show they are for players only, not NPCs
2017-02-05 09:01:33 +02:00
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
2017-01-25 17:06:15 +02:00
David Cernat
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
2017-01-20 12:43:05 +02:00
David Cernat
83277a1512
Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET
2017-01-20 09:07:07 +02:00
David Cernat
e7675d94d4
Make server script functions for spells consistent with those from items
2017-01-20 06:00:14 +02:00
David Cernat
33e85c54de
Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
...
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
2017-01-19 18:06:59 +02:00
David Cernat
78c6ab2a99
Clean up client Networking by putting item & spell logic in LocalPlayer
2017-01-19 15:18:37 +02:00
David Cernat
c81b58e1be
Add spell script functions to tes3mp server
2016-11-21 20:37:04 +02:00
David Cernat
456aee65d9
Add and implement ClearInventory() script function
2016-11-20 04:06:33 +02:00
David Cernat
7fae28ce91
Prevent RemoveItem() script function from clearing inventorySendBuffer
...
Up to this commit, the following commands in a Lua script led to the target player receiving all three items, as expected:
tes3mp.AddItem(self.pid, "common_shirt_01", 1, -1)
tes3mp.AddItem(self.pid, "common_pants_01", 1, -1)
tes3mp.AddItem(self.pid, "common_shoes_01", 1, -1)
tes3mp.SendInventory(self.pid)
This, on the other hand, only led to the removal of the last item specified (in this case, the shoes):
tes3mp.RemoveItem(self.pid, "common_shirt_01", 1)
tes3mp.RemoveItem(self.pid, "common_pants_01", 1)
tes3mp.RemoveItem(self.pid, "common_shoes_01", 1)
tes3mp.SendInventory(self.pid)
Inventory functions are bound to remain confusing, but they should at least be consistent in their behavior.
2016-11-20 03:06:04 +02:00
David Cernat
7f25abb9c8
Implement UnequipItem() script function
2016-11-18 01:50:55 +02:00
David Cernat
56928bdc4c
Clean up inventory script functions so they are usable for equipment too
2016-11-18 00:52:17 +02:00
David Cernat
356143faed
Rename GetEquipmentSlotCount() into GetEquipmentSize()
2016-11-18 00:46:42 +02:00
David Cernat
977e93288e
Add GetEquipmentSlotCount() to item script functions
2016-11-17 23:07:29 +02:00
Koncord
e2522fa366
Simplify LOG macros
2016-11-17 12:39:35 +08:00
David Cernat
46b41b605a
Revert "Use lowerCamelCase in tes3mp server script function names, part 1"
...
This reverts commit 0e2b589cdb
.
2016-11-16 19:28:22 +02:00
David Cernat
0e2b589cdb
Use lowerCamelCase in tes3mp server script function names, part 1
2016-11-16 16:52:16 +02:00
David Cernat
25dc2b19e7
Use lowerCamelCase in tes3mp server networking function names
2016-11-16 02:05:14 +02:00
David Cernat
3380c482c0
Fix errors remaining from merge with tes3mp-packetexpansion, part 2
2016-10-23 19:32:39 +03:00
David Cernat
c639337842
Merge with tes3mp-packetexpansion by fixing conflicts
...
# Conflicts:
# apps/openmw-mp/Networking.cpp
# apps/openmw/mwmp/Networking.cpp
# components/CMakeLists.txt
# components/openmw-mp/NetworkMessages.hpp
# components/openmw-mp/PacketsController.cpp
2016-10-23 17:57:38 +03:00
Koncord
c27351c19e
Implement inventory functions
...
AddItem, RemoveItem, GetItemName, GetItemCount, GetItemHealth, GetInventorySize SendInventory
Example:
```lua
tes3mp.AddItem(pid, "glass dagger", 1, 50)
tes3mp.AddItem(pid, "glass dagger", 1, -1)
tes3mp.SendInventory(pid)
tes3mp.RemoveItem(pid, "glass dagger", 1)
tes3mp.SendInventory(pid)
local invSize = tes3mp.GetInventorySize(pid) - 1
for i = 0, invSize do
print(("%s %d %d"):format(tes3mp.GetItemName(pid, i), tes3mp.GetItemCount(pid, i), tes3mp.GetItemHealth(pid, i)))
end
```
2016-10-23 02:57:49 +08:00
David Cernat
bda1f867fd
Rename server's GetController() method into GetPlayerController()
2016-10-19 16:54:39 +03:00
David Cernat
4b96080521
Make GetItemSlot work and add SendEquipment in server item functions
2016-09-30 12:30:05 +03:00
David Cernat
b6086ab015
Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS
2016-09-28 14:13:24 +03:00
David Cernat
26487598a6
Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT
2016-09-28 11:36:29 +03:00
David Cernat
ce4b326b02
Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT
2016-09-28 07:50:16 +03:00
Koncord
1186d09ec0
ScriptFunctions.hpp size reduction
2016-08-30 12:20:39 +08:00
David Cernat
1363c4c5b6
Make formatting consistent
2016-08-17 18:04:35 +03:00
Koncord
1b259e2d33
Syncing inventory, animations, position, 8 key attributes
...
Created Package system
2016-07-07 23:50:48 +08:00