1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-15 22:49:55 +00:00
Commit graph

284 commits

Author SHA1 Message Date
David Cernat
25e535e8ad [Server] Fix integer types for new script callbacks 2017-01-25 07:51:44 +02:00
David Cernat
f9feaf05f0 [Server] Add script callbacks for object placement and deletion 2017-01-25 05:30:25 +02:00
David Cernat
35e453dec3 [General] Sketch out most of functionality for journal saving/loading 2017-01-24 19:32:25 +02:00
David Cernat
68727751ed Fix arguments for OnPlayerChangeSpellbook in server Networking 2017-01-20 12:54:03 +02:00
David Cernat
869b32383e Fix arguments for OnPlayerChangeJournal in server Networking 2017-01-20 12:52:03 +02:00
David Cernat
d308897f95 Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges 2017-01-20 12:43:05 +02:00
David Cernat
e2c595fc5d Add preliminary structure for journal changes 2017-01-20 12:05:45 +02:00
David Cernat
e9b22814b9 Create placeholder for ID_GAME_JOURNAL 2017-01-20 11:15:10 +02:00
David Cernat
a69f294ef0 Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE 2017-01-20 10:30:50 +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
6b14ca0775 Finish renaming of script functions for sending items and spells 2017-01-19 18:30:31 +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
Koncord
0ab02006de Detect ARM CPUs 2017-01-14 11:17:36 +08:00
David Cernat
2e3f508a56 Fix broken default keys and enable master server in configs 2017-01-13 10:33:21 +02:00
David Cernat
253ded1ee3 Use new getFilenameStamp() method to generate timestamps for filenames 2017-01-13 08:49:21 +02:00
David Cernat
3932654d5d Use log filenames w/ timestamps instead of adding numbers to their ends 2017-01-13 07:58:40 +02:00
David Cernat
10a0f165dd Print paths used for server dependencies in CMake, change tabs to spaces 2017-01-12 13:45:04 +02:00
Koncord
b6f9a21d7f Do not allow 0 update rate 2017-01-10 20:38:33 +08:00
Koncord
03a92b3a91 Use LOG_VERBOSE instead LOG_INFO 2017-01-10 20:37:40 +08:00
Koncord
01900c2be8 Use modname in Send function 2017-01-10 20:36:39 +08:00
Koncord
2b0ae7b9ca Fix variable name in JSON 2017-01-10 20:35:30 +08:00
Koncord
e92df0c465 Implement SetModname, SetHostname functions 2017-01-10 19:22:02 +08:00
Koncord
f510a5583f Move MasterClient to Networking class
Rename MOTD to hostname
2017-01-10 19:21:31 +08:00
Koncord
b5c586d5b7 Add and implement ID_MASTER_QUERY 2017-01-10 18:33:02 +08:00
Koncord
32615d05cf Prevent allocate memory if player doesn't exists 2017-01-10 18:31:51 +08:00
Koncord
97dd8704a3 Ignore ping packets 2017-01-07 23:05:22 +08:00
Koncord
dbbdb1071c Use default FindLua51 instead homebrew 2017-01-03 19:12:34 +08:00
Koncord
7595b33461 Implement spellbook 2016-12-29 21:19:57 +08:00
Koncord
6e6237541a Fix "comparison between signed and unsigned integer expressions" 2016-12-21 16:13:39 +08:00
Koncord
af7b232789 Fix type mismatch 2016-12-21 15:46:02 +08:00
Koncord
0d9a4f2b6f Fix "Unhandled PlayerPacket with identifier 135" 2016-12-21 15:01:18 +08:00
Koncord
11be8ed005 Rename copyOldLog to renameOldLog 2016-12-18 12:48:23 +08:00
Koncord
f08ab0b161 Keep old server logs 2016-12-18 12:45:03 +08:00
U-VirtualBox-PC\Admin
6229269506 Some patches for lua on windows 2016-12-16 19:04:47 +03:00
David Cernat
35de28e239 Fix setting of longer environmental variables on Windows 2016-12-16 17:57:02 +02:00
Koncord
804259b2c9 Change some printf to LOG_MESSAGE_SIMPLE
printf is not streamed to files
2016-12-16 18:50:34 +08:00
Koncord
f74734cfba Fix server crash if player is not fully connected 2016-12-16 17:53:56 +08:00
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/
2016-12-05 23:54:29 +08:00
David Cernat
4e23fc0a5b Send action parameter to OnPlayerChangeSpellbook 2016-11-22 02:32:02 +02:00
David Cernat
9e290ad799 Fix spacing irregularities 2016-11-21 23:40:50 +02:00
David Cernat
d4b5c826f8 Fix typo in spell script functions 2016-11-21 20:42:53 +02:00
David Cernat
c81b58e1be Add spell script functions to tes3mp server 2016-11-21 20:37:04 +02:00
David Cernat
8aeb3a6cc6 Reorder script function classes in tes3mp server's CMakeLists.txt 2016-11-21 19:17:28 +02:00
David Cernat
95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 2016-11-21 06:07:29 +02:00
David Cernat
6ea5f08e9c Create placeholder for ID_GAME_SPELLBOOK 2016-11-21 02:28:05 +02:00
David Cernat
ae39daf76a Add and implement ID_MUSIC_PLAY 2016-11-20 22:54:49 +02:00
David Cernat
7a3d490121 Rename dumps into crashdumps to make the folder's purpose clear to users 2016-11-20 19:25:55 +02:00
David Cernat
f865246955 Fix Breakpad using changes provided by Stanislav in a gist 2016-11-20 18:34:22 +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
f5f1a29f31 Change printf to LOG_MESSAGE_SIMPLE 2016-11-18 00:35:38 +08:00
Koncord
18026d4a50 Fix include guard 2016-11-17 13:22:34 +08:00
Koncord
902e968fd9 Use RakNetGUID instead uint64_t in TPlayers 2016-11-17 13:12:06 +08:00
Koncord
e2359b01ea Use constant instead magic value 2016-11-17 13:02:24 +08: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
ad43cb5473 Revert "Use lowerCamelCase in tes3mp server script function names, part 2"
This reverts commit 80d16fe1fd.
2016-11-16 19:27:46 +02:00
David Cernat
1a25434d33 Turn overlooked instance of GetCell() into getCell() 2016-11-16 17:48:39 +02:00
David Cernat
6cd959fac8 Rename BasePlayer's GetCell() into getCell() 2016-11-16 17:43:58 +02:00
David Cernat
80d16fe1fd Use lowerCamelCase in tes3mp server script function names, part 2 2016-11-16 17:39:44 +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
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