Koncord
059043fea9
[General] Change signature of BaseEvent::action
8 years ago
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
8 years ago
David Cernat
4f2b88df8a
[General] Remove owner var from ContainerItem because it is always empty
8 years ago
David Cernat
3b604a432e
[General] Restructure ID_CONTAINER to allow multiple containers at once
8 years ago
David Cernat
c8cbfbef62
[General] Sketch out server requests to players for container data
8 years ago
David Cernat
5038353792
[General] Rename BaseEvent's state into doorState & adjust related funcs
8 years ago
David Cernat
d8a9a5f6c9
[General] Send item owner in ID_CONTAINER
8 years ago
David Cernat
3614b21e10
[General] Send charge and goldValue in ID_CONTAINER
8 years ago
David Cernat
182b238b5f
[General] Rename WorldEvent into BaseEvent
8 years ago
David Cernat
60d6a6d463
[Client] See when other players remove items from containers
8 years ago
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
8 years ago
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
8 years ago
David Cernat
04d45b9dbb
[General] Rename packets to show they are for players only, not NPCs
8 years ago
David Cernat
9f8bed9be1
[General] Add action types to WorldEvent's ContainerChanges
8 years ago
David Cernat
a07e616878
[General] Add ContainerItem and ContainerChanges structs to WorldEvent
8 years ago
David Cernat
c1427b2558
[General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE
8 years ago
David Cernat
9f1e491a75
[General] Make WorldEvents store information about multiple objects
8 years ago
David Cernat
244da19a51
[General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity
8 years ago
David Cernat
97aabf4a7d
[General] Sketch out sending of cell loading/unloading info in packets
8 years ago
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
8 years ago
David Cernat
35e453dec3
[General] Sketch out most of functionality for journal saving/loading
8 years ago
David Cernat
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
8 years ago
David Cernat
e2c595fc5d
Add preliminary structure for journal changes
8 years ago
David Cernat
83277a1512
Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET
8 years ago
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.
8 years ago
David Cernat
78c6ab2a99
Clean up client Networking by putting item & spell logic in LocalPlayer
8 years ago
Koncord
7595b33461
Implement spellbook
8 years ago
Koncord
b1bb552b65
Add packet ActiveSkills
8 years ago
David Cernat
9e290ad799
Fix spacing irregularities
8 years ago
David Cernat
95efb77e53
Implement sending of ID_GAME_SPELLBOOK from client
8 years ago
David Cernat
ae39daf76a
Add and implement ID_MUSIC_PLAY
8 years ago
David Cernat
6cd959fac8
Rename BasePlayer's GetCell() into getCell()
8 years ago
David Cernat
fa9d6e810e
Use lowerCamelCase in tes3mp client function names like OpenMW does
8 years ago
David Cernat
f7b5e5e638
Ignore packets from server that try to move LocalPlayer to invalid cells
8 years ago
Koncord
56959ebfda
Implement magic
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
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
180aa3f2f3
Send item count ID_WORLD_OBJECT_PLACE
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
97468980af
Add and implement 3 new WorldPackets for ingame script variable values
8 years ago
David Cernat
54ed9a7ab4
Implement ID_OBJECT_MOVE and send it from ingame scripts
8 years ago
David Cernat
bdb53e1cb4
Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World
8 years ago
David Cernat
7264f13b8e
Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts
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
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
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
2b98e349ce
Fix include for WorldEvent
8 years ago
David Cernat
6e43baf73e
Send Cell instead of CellId because of problems with the latter
8 years ago