Commit Graph

351 Commits (coverity_scan)

Author SHA1 Message Date
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
David Cernat ae4950ce49 Add server stat functions for getting and setting skill progress 8 years ago
David Cernat bc0aa86bcf Make variable names more consistent and easier to understand 8 years ago
David Cernat 7a1531c01b Fix script functions for setting dynamic stats, part 2 8 years ago
David Cernat 458bdf4dff Fix script functions for setting dynamic stats 8 years ago
David Cernat 433190d82e Rename OnPlayerUpdateEquiped into OnPlayerChangeEquipment 8 years ago
Koncord 94f6ab30f2 Fix GetProtocolVersion 8 years ago
David Cernat b6086ab015 Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS 8 years ago
David Cernat 57f07813b0 Rename ID_GAME_UPDATE_POS into ID_GAME_POS 8 years ago
David Cernat 26487598a6 Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT 8 years ago
David Cernat 9fd5ae981e Add missing backslash 8 years ago
David Cernat ce4b326b02 Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT 8 years ago
David Cernat 295f486a97 Using less confusing names for server stat functions, part 2 8 years ago
David Cernat 69030579c1 Using less confusing names for server stat functions 8 years ago
David Cernat 7ae9ea7465 Add server stat functions for getting attribute and skill counts 8 years ago
David Cernat 57703482b2 Fetch attribute and skill counts in server stat functions 8 years ago
David Cernat 4d7130b12f Improve logic for script-induced cell changes 8 years ago
David Cernat 01af4f3bbc Update position before sending cell packet 8 years ago
David Cernat 1ee2458f6e Add packet for player levels, part 2 8 years ago
David Cernat 046a1ea899 Add packet for player levels 8 years ago
David Cernat 9690e007df Don't send unhandled skill and attribute requests to joining players 8 years ago
Koncord 24617589e4 Fix packet spam 8 years ago
Koncord 96e2d749c7 New auth protocol 8 years ago
Koncord 61c5456373 Log callbacks 8 years ago
Koncord e661a35ac2 Fix checking strings in SetName & SetBirthsign 8 years ago
Koncord 1e48555617 Make sensitivity to protocol version 8 years ago
Koncord fe10821528 Add loaded/isLoaded to server player 8 years ago
Koncord df13e9c37a Fix verbose log level in server 8 years ago
Koncord babc3230b7 Add new functions: GetServerVersion & GetProtocolVersion 8 years ago
Koncord 64b5638d40 DIE TABS, DIE!!!!!!!1 8 years ago
David Cernat ff94b5f1ac Fix unsuitable variable name 8 years ago
David Cernat 941d76fce0 Fix setting of default classes and initialize classes safely on server 8 years ago
David Cernat 970e9aff2f Remove old class methods and don't include class in ID_GAME_BASE_INFO 8 years ago
David Cernat a20e7890a2 Fix formatting 8 years ago
David Cernat f562215d9a Merge branch 'master' of https://github.com/TES3MP/openmw-tes3mp 8 years ago
David Cernat 1f8595bf3b Save server information in a folder named data instead of files 8 years ago
Koncord cf1a0113a1 Time API 8 years ago
David Cernat 5e6a374687 Add comment about MesssageBox to prevent future confusion 8 years ago
David Cernat 857defadbc Revert one unnecessary renaming of MessageBox 8 years ago
David Cernat 32ce7e97a8 Fix build for Windows server 8 years ago
Koncord 1186d09ec0 ScriptFunctions.hpp size reduction 8 years ago
Koncord 11eae277a9 Characters Class API
Added some new functions
8 years ago
Koncord a03c2f5019 Now server & client sensitive to version 8 years ago
David Cernat 00e7810428 Add script functions for saving and loading non-custom player classes 8 years ago
David Cernat 486de67d84 Make handshake log message less confusing 8 years ago
David Cernat 5385563972 Let players inform others about Lua script-induced cell & pos changes 8 years ago
Koncord fc4d8b82fb Stubs for minimap 8 years ago
David Cernat 7691bcc958 Add server script callbacks for attribute and skill changes 8 years ago
David Cernat 03d6e0cb62 Send attributes and skills to server whenever they change 8 years ago
David Cernat c4f49e05e3 Remove manual newlines for logger 8 years ago
Koncord 78210ab8ce rename openmw-mp to tes3mp-server 8 years ago
Koncord d3c9864fb0 Fix maximum connections 8 years ago
David Cernat e1955b440f Fix player initialization on server 8 years ago
David Cernat cba01af683 Log player initialization on server 8 years ago
David Cernat 2337a0becb Add LOG_APPEND method for writing to log without timestamp and level 8 years ago
David Cernat f4744f8547 Add additional log info 8 years ago
David Cernat 97f944dde7 Use logger for most console messages 8 years ago
David Cernat a36c20eaae Reduce server console spam 8 years ago
David Cernat a2dbeb6c95 Share skills and attributes correctly upon logging in, and fix grammar 8 years ago
Koncord 7f8c0ecbbd Logging in file for server 8 years ago
David Cernat c94f818478 Add script functions for getting attributes and skills by their names 8 years ago
David Cernat 41868cc9cc Add script functions for getting attributes and skills by their IDs 8 years ago
David Cernat e5cb58e7c4 Add debug info about ID_GAME_BASE_INFO packets 8 years ago
David Cernat 8eda381016 Make formatting consistent, part 2 8 years ago
David Cernat 1363c4c5b6 Make formatting consistent 8 years ago
David Cernat e39b66af4f Move logger to components 8 years ago
David Cernat 38c8d2344b Uncomment sending of stats packets to and from new players 8 years ago
Koncord ee8d9895dc Porting Log.cpp to C++98 8 years ago
Koncord a92ef8b6bd Some fixes 8 years ago
Koncord e9ee9c8b3b Remove C++11 in Log.h 8 years ago
Koncord b3320c7bb9 Add forgoten ctime header 8 years ago
Koncord 8d88381dac added prefix LOG_ to loglevel 8 years ago
Koncord 170455e08a Fix headers 8 years ago
Koncord c695923825 Added master server stuff 8 years ago
Koncord 02a447c589 Added logger 8 years ago
Koncord 114a11ea78 Getting rid of packages spam
I think this is temporary solution. I have an idea how to cache the result of functions and send data after callback.
9 years ago
Koncord 7898b1181d Reduced package size 9 years ago
Koncord a815d013fe Reducing CPU usage for server 9 years ago
David Cernat b0bd10f219 Allow script-based teleportation from interior to exterior cell 0,0 9 years ago
Koncord b4c7914a25 Added <memory> header for Windows 9 years ago
Koncord 74c103ddc1 Fixed types in all GetInterface functions
Move lib_t type to Scripts/Types.hpp
9 years ago
Koncord e513c3676d Added forgotten header to project 9 years ago
Koncord 9375b540d6 removed '#undef _SEP_' 9 years ago
Koncord bdfaea2d46 Implement 'setenv' for windows
Paths converter
Move 'split' from main to Utils
9 years ago
David Cernat 72026955f5 Add missing preprocessor directive for Windows build of server 9 years ago
Koncord 31e2ab54d6 Revert "Update position after changing cell"
This reverts commit 5e072b9d3c.
9 years ago
Koncord 5e072b9d3c Update position after changing cell 9 years ago
Koncord 7107136808 New API
SetExterior(pid, x, y)
GetExteriorX(pid)
GetExteriorY(pid)

also "SetCell" will now move to the named external cells (e.g. SetCell(pid, "Balmora"))
9 years ago
Koncord 0549a7a01d Fixed type cast 9 years ago
Koncord 23a37fc7fc Ignore LuaBridge warnings
Remove TINYXML_LIBRARIES
9 years ago
Koncord d3414148fc Simplify LangLua::Call 9 years ago
Koncord 5a6c1750d9 Fixed some build warnings and IsTimerElapsed function 9 years ago
Stanislav Zhukov 075b600b3a Fix for Windows 9 years ago
Stanislav Zhukov 4316d4d1bf Merge pull request #21 from TES3MP/tes3mp-gui
Tes3mp gui
9 years ago
Koncord 86dccbed4b Fix CMake 9 years ago
David Cernat f4342f0bde Stop requiring amx folder for non-Pawn builds. Use correct Windows identifiers for preprocessor directives in server code. 9 years ago
Koncord 1e3eff91ac Merged branch tes3mp-gui into tes3mp-gui 9 years ago
Koncord 9ab77cb123 New API functions: MessageBox, CustomMessageBox, InputDialog
New Callback: OnGUIAction
9 years ago
davidcernat ab309180c2 Add useful debug info for cell changes 9 years ago
Koncord 6f07d590d4 Fix SetPos and SetAngle functions
Fix types for SetPos and SetAngle
9 years ago
Stanislav Zhukov 645a21af21 Added new script functions for lua compatibility
GetPosX, GetPosY, GetPosZ
GetAngleX, GetAngleY, GetAngleZ
9 years ago
Stanislav Zhukov ce92f30022 Fix maximum incoming connections 9 years ago
Koncord 299c4c904e Resurrect function 9 years ago