Commit Graph

253 Commits (08faad9f32a106b0d8c7e330bba0f200eafff94a)

Author SHA1 Message Date
Koncord af7b232789 Fix type mismatch 8 years ago
Koncord 0d9a4f2b6f Fix "Unhandled PlayerPacket with identifier 135" 8 years ago
Koncord 11be8ed005 Rename copyOldLog to renameOldLog 8 years ago
Koncord f08ab0b161 Keep old server logs 8 years ago
U-VirtualBox-PC\Admin 6229269506 Some patches for lua on windows 8 years ago
David Cernat 35de28e239 Fix setting of longer environmental variables on Windows 8 years ago
Koncord 804259b2c9 Change some printf to LOG_MESSAGE_SIMPLE
printf is not streamed to files
8 years ago
Koncord f74734cfba Fix server crash if player is not fully connected 8 years ago
Koncord 61f7ad2f76 Add new paths for native & lua libs
If you want to add the native lib you should place it to {PATH_TO_MOD}/lib/
for external Lua libs: {PATH_TO_MOD}/lib/lua/
8 years ago
David Cernat 4e23fc0a5b Send action parameter to OnPlayerChangeSpellbook 8 years ago
David Cernat 9e290ad799 Fix spacing irregularities 8 years ago
David Cernat d4b5c826f8 Fix typo in spell script functions 8 years ago
David Cernat c81b58e1be Add spell script functions to tes3mp server 8 years ago
David Cernat 8aeb3a6cc6 Reorder script function classes in tes3mp server's CMakeLists.txt 8 years ago
David Cernat 95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 8 years ago
David Cernat 6ea5f08e9c Create placeholder for ID_GAME_SPELLBOOK 8 years ago
David Cernat ae39daf76a Add and implement ID_MUSIC_PLAY 8 years ago
David Cernat 7a3d490121 Rename dumps into crashdumps to make the folder's purpose clear to users 8 years ago
David Cernat f865246955 Fix Breakpad using changes provided by Stanislav in a gist 8 years ago
David Cernat 456aee65d9 Add and implement ClearInventory() script function 8 years ago
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.
8 years ago
David Cernat 7f25abb9c8 Implement UnequipItem() script function 8 years ago
David Cernat 56928bdc4c Clean up inventory script functions so they are usable for equipment too 8 years ago
David Cernat 356143faed Rename GetEquipmentSlotCount() into GetEquipmentSize() 8 years ago
David Cernat 977e93288e Add GetEquipmentSlotCount() to item script functions 8 years ago
Koncord f5f1a29f31 Change printf to LOG_MESSAGE_SIMPLE 8 years ago
Koncord 18026d4a50 Fix include guard 8 years ago
Koncord 902e968fd9 Use RakNetGUID instead uint64_t in TPlayers 8 years ago
Koncord e2359b01ea Use constant instead magic value 8 years ago
Koncord e2522fa366 Simplify LOG macros 8 years ago
David Cernat 46b41b605a Revert "Use lowerCamelCase in tes3mp server script function names, part 1"
This reverts commit 0e2b589cdb.
8 years ago
David Cernat ad43cb5473 Revert "Use lowerCamelCase in tes3mp server script function names, part 2"
This reverts commit 80d16fe1fd.
8 years ago
David Cernat 1a25434d33 Turn overlooked instance of GetCell() into getCell() 8 years ago
David Cernat 6cd959fac8 Rename BasePlayer's GetCell() into getCell() 8 years ago
David Cernat 80d16fe1fd Use lowerCamelCase in tes3mp server script function names, part 2 8 years ago
David Cernat 0e2b589cdb Use lowerCamelCase in tes3mp server script function names, part 1 8 years ago
David Cernat 25dc2b19e7 Use lowerCamelCase in tes3mp server networking function names 8 years ago
David Cernat 7be86388db Fix build for server 8 years ago
David Cernat dc9b814ff6 Fix typo in server script translocations 8 years ago
David Cernat 841e93d5e0 Use new SendCell() method in server scripts to send cell packets 8 years ago
David Cernat 5b39916894 Use new SendPos() method in server scripts to send position packets 8 years ago
David Cernat e0c88150c3 Reorder functions for server script translocations 8 years ago
Koncord 82f202c891 Implement GetAvgPing(pid) function 8 years ago
Koncord 37e9cafbf7 Add new API function: SetConsoleAllow
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player

The console is allowed by default
8 years ago
Koncord 6f6993255a Fix string in breakpad() 8 years ago
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
8 years ago
David Cernat 107dacac6d Add OnPlayerChangeInventory server script callback 8 years ago
David Cernat 31d02e8bf1 Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT 8 years ago
David Cernat 373011f883 Only send information to POSTLOADED player about other POSTLOADED ones 8 years ago
David Cernat 05cfc918f5 Temporarily use a whitelist for scripts instead of a blacklist 8 years ago
David Cernat 621faf368e Fix server crash caused by invalid player GUIDs, 2nd attempt 8 years ago
David Cernat ffb7683a5f Use suicide as death reason when an attacker leaves the server 8 years ago
David Cernat eebe1f156a Change logic for death reasons so it makes sense 8 years ago
David Cernat 6929cd6c4c Delete debug about player map that is no longer needed 8 years ago
David Cernat 3c88f6f0cd Fix server crash caused by invalid player GUIDs 8 years ago
David Cernat 46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 8 years ago
David Cernat c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 8 years ago
David Cernat c91e240664 Simplify the type of map that player objects are stored in 8 years ago
David Cernat 2032bf9cad Fix typo in debug 8 years ago
David Cernat a9f6ea4d8d Use the name "guid" for RakNet IDs so as to not confuse with int IDs 8 years ago
David Cernat 97468980af Add and implement 3 new WorldPackets for ingame script variable values 8 years ago
David Cernat 385b5f39e3 Add and implement ID_OBJECT_ROTATE 8 years ago
David Cernat 0fb9b6eefb On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE 8 years ago
David Cernat 947a677801 Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD 8 years ago
David Cernat c25ebc34b3 Shorten WorldPacket IDs by removing WORLD from them 8 years ago
David Cernat 52d156e136 Make server able to receive the 5 new WorldPackets 8 years ago
David Cernat ef6f20e3f7 In server console, print number of players remaining when one leaves 8 years ago
David Cernat 24bfe40bf7 Add debug about current server crash 8 years ago
David Cernat b2688777c1 Create marker once a player has been initialized properly and fix debug 8 years ago
David Cernat b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 8 years ago
David Cernat 3fd93896f2 Add and implement ID_WORLD_OBJECT_LOCK 8 years ago
David Cernat 08ea5163c4 Add and implement ID_WORLD_OBJECT_UNLOCK 8 years ago
David Cernat 3380c482c0 Fix errors remaining from merge with tes3mp-packetexpansion, part 2 8 years ago
David Cernat b06a2f3119 Fix part about Breakpad in server's CMakeLists 8 years ago
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
8 years ago
David Cernat 0a44bea91d Send cell coordinates in tes3mp using mData instead of mCellId.mIndex 8 years ago
David Cernat cbc132612a Use mRefNum.mIndex instead of just mRefNum and add extra debug 8 years ago
Koncord a6467c9c47 Add breakpad to server 8 years ago
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
```
8 years ago
David Cernat 3c49157ed7 Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE 8 years ago
David Cernat 92463c4a03 Fix Windows server crash caused by printing event->CellRef()->mRefID 8 years ago
David Cernat 8080cceac6 Add some placeholder code so Stanislav can test it 8 years ago
David Cernat 565e7e4b9f Create and implement placeholder for ID_WORLD_OBJECT_CREATION 8 years ago
David Cernat ac666edebd Add a CellRef to WorldEvent 8 years ago
David Cernat d0328f2553 Add placeholder ProcessWorldPacket method to server's Networking 8 years ago
David Cernat 2602c1f71a Add ProcessPlayerPacket method to server's Networking 8 years ago
David Cernat f1ec01cc6b Add WorldPacketController to server's Networking 8 years ago
David Cernat bda1f867fd Rename server's GetController() method into GetPlayerController() 8 years ago
David Cernat d2212ef80b Rename PacketsController into PlayerPacketController 8 years ago
David Cernat 5e0c0dd5f1 Use logger in server's Networking MainLoop 8 years ago
David Cernat b8f4cb94fb Rename BasePacket into PlayerPacket 8 years ago
Koncord bd1b1fca64 Woops 8 years ago
Koncord 50d989d767 Fix server crash if player is not fully connected 8 years ago
Koncord 79532cf797 Detecting reason of death 8 years ago
Koncord 94d5efdfd3 Call LOG_QUIT after Networking's dtor call 8 years ago
David Cernat 4b96080521 Make GetItemSlot work and add SendEquipment in server item functions 8 years ago
David Cernat 6650b74498 Add handling of skill increases 8 years ago
David Cernat 977b277cdd Add missing entries for level progress functions 8 years ago
David Cernat a0e9a672a5 Split updateClassStats in 3 and add handling of level progress 8 years ago
David Cernat 56a2c70911 Use double instead of int for skill progress functions 8 years ago