Commit graph

168 commits

Author SHA1 Message Date
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
7be86388db Fix build for server 2016-11-16 01:16:02 +02:00
David Cernat
dc9b814ff6 Fix typo in server script translocations 2016-11-12 21:36:03 +02:00
David Cernat
841e93d5e0 Use new SendCell() method in server scripts to send cell packets 2016-11-12 21:27:09 +02:00
David Cernat
5b39916894 Use new SendPos() method in server scripts to send position packets 2016-11-12 21:16:05 +02:00
David Cernat
e0c88150c3 Reorder functions for server script translocations 2016-11-12 21:01:38 +02:00
Koncord
82f202c891 Implement GetAvgPing(pid) function 2016-11-04 20:15:14 +08:00
Koncord
37e9cafbf7 Add new API function: SetConsoleAllow
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player

The console is allowed by default
2016-11-04 03:01:26 +08:00
Koncord
6f6993255a Fix string in breakpad() 2016-11-04 00:24:16 +08:00
Koncord
adb49b7c7d Add New GUI dialog: ListBox
Example:

local GUI_LISTBOX = 42

function OnPlayerSendMessage(pid, message)
    if message == "/lb" then
        local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
        local label = "Lorem ipsum dolor sit amet"
        tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
    end
end

function OnGUIAction(pid, idGui, data)
    if idGui == GUI_LISTBOX then
        print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
    end
end
2016-11-04 00:24:16 +08:00
David Cernat
107dacac6d Add OnPlayerChangeInventory server script callback 2016-11-03 16:39:31 +02:00
David Cernat
31d02e8bf1 Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT 2016-10-31 17:16:41 +02:00
David Cernat
373011f883 Only send information to POSTLOADED player about other POSTLOADED ones 2016-10-31 01:14:17 +02:00
David Cernat
05cfc918f5 Temporarily use a whitelist for scripts instead of a blacklist 2016-10-30 21:00:54 +02:00
David Cernat
621faf368e Fix server crash caused by invalid player GUIDs, 2nd attempt 2016-10-30 18:07:23 +02:00
David Cernat
ffb7683a5f Use suicide as death reason when an attacker leaves the server 2016-10-30 17:39:45 +02:00
David Cernat
eebe1f156a Change logic for death reasons so it makes sense 2016-10-30 13:19:48 +02:00
David Cernat
6929cd6c4c Delete debug about player map that is no longer needed 2016-10-30 02:30:17 +03:00
David Cernat
3c88f6f0cd Fix server crash caused by invalid player GUIDs 2016-10-29 16:41:29 +03:00
David Cernat
46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 2016-10-27 16:09:02 +03:00
David Cernat
c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 2016-10-27 00:41:14 +03:00
David Cernat
c91e240664 Simplify the type of map that player objects are stored in 2016-10-26 21:36:58 +03:00
David Cernat
2032bf9cad Fix typo in debug 2016-10-26 17:22:53 +03:00
David Cernat
a9f6ea4d8d Use the name "guid" for RakNet IDs so as to not confuse with int IDs 2016-10-26 15:55:34 +03:00
David Cernat
97468980af Add and implement 3 new WorldPackets for ingame script variable values 2016-10-26 12:25:50 +03:00
David Cernat
385b5f39e3 Add and implement ID_OBJECT_ROTATE 2016-10-25 14:28:39 +03:00
David Cernat
0fb9b6eefb On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE 2016-10-25 12:53:18 +03:00
David Cernat
947a677801 Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD 2016-10-25 12:42:29 +03:00
David Cernat
c25ebc34b3 Shorten WorldPacket IDs by removing WORLD from them 2016-10-25 12:15:27 +03:00
David Cernat
52d156e136 Make server able to receive the 5 new WorldPackets 2016-10-25 00:50:32 +03:00
David Cernat
ef6f20e3f7 In server console, print number of players remaining when one leaves 2016-10-24 22:47:52 +03:00
David Cernat
24bfe40bf7 Add debug about current server crash 2016-10-24 21:17:53 +03:00
David Cernat
b2688777c1 Create marker once a player has been initialized properly and fix debug 2016-10-24 21:08:47 +03:00
David Cernat
b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 2016-10-24 17:52:19 +03:00
David Cernat
3fd93896f2 Add and implement ID_WORLD_OBJECT_LOCK 2016-10-24 13:20:04 +03:00
David Cernat
08ea5163c4 Add and implement ID_WORLD_OBJECT_UNLOCK 2016-10-24 11:26:31 +03:00
David Cernat
3380c482c0 Fix errors remaining from merge with tes3mp-packetexpansion, part 2 2016-10-23 19:32:39 +03:00
David Cernat
b06a2f3119 Fix part about Breakpad in server's CMakeLists 2016-10-23 19:28:35 +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
David Cernat
0a44bea91d Send cell coordinates in tes3mp using mData instead of mCellId.mIndex 2016-10-23 16:55:30 +03:00
David Cernat
cbc132612a Use mRefNum.mIndex instead of just mRefNum and add extra debug 2016-10-23 16:33:53 +03:00
Koncord
a6467c9c47 Add breakpad to server 2016-10-23 17:07:46 +08: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
3c49157ed7 Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE 2016-10-22 18:05:32 +03:00
David Cernat
92463c4a03 Fix Windows server crash caused by printing event->CellRef()->mRefID 2016-10-22 14:13:16 +03:00
David Cernat
8080cceac6 Add some placeholder code so Stanislav can test it 2016-10-22 12:45:19 +03:00
David Cernat
565e7e4b9f Create and implement placeholder for ID_WORLD_OBJECT_CREATION 2016-10-21 21:57:05 +03:00
David Cernat
ac666edebd Add a CellRef to WorldEvent 2016-10-20 22:15:47 +03:00
David Cernat
d0328f2553 Add placeholder ProcessWorldPacket method to server's Networking 2016-10-19 21:44:17 +03:00