David Cernat
60574ae667
[General] Implement jail time as a death penalty
8 years ago
David Cernat
71313c5aa6
[General] Implement PlayerMap packet, part 1
8 years ago
David Cernat
1f682749d6
[General] Add optional notes to PasswordDialogs
8 years ago
David Cernat
813a3c89c4
[General] Implement PlayerBook packet to track skill books read
8 years ago
David Cernat
b3b73c5cd2
[General] Implement resurrection at nearest shrine or temple
8 years ago
David Cernat
78f29302ef
[General] Fix PlayerJournal logic by sending only refIds for its actors
...
Additionally, make the refIds for actors usable in script functions.
8 years ago
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
8 years ago
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
8 years ago
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
8 years ago
David Cernat
4f273932af
[General] Implement sending and reading of ActorEquipment packets
8 years ago
David Cernat
11369f6513
[General] Implement sending and reading of PlayerTopic packets
8 years ago
David Cernat
e6983993c2
[General] Implement sending and reading of PlayerFaction packets
8 years ago
David Cernat
0189dbf916
[General] Make JournalItem consistent with other packet structs
8 years ago
David Cernat
4d81455020
[General] Rework and simplify death reasons so they work with NPCs
8 years ago
Koncord
465a05bad0
[Client] Add ability to look like a creature for the DedicatedPlayers
8 years ago
David Cernat
2397afc6ce
[General] Move mwmp::Attack to BaseStructs
8 years ago
David Cernat
9f226253d4
[General] Rename mwmp::Attack's refid into refId for consistency
8 years ago
David Cernat
d24cde16dd
[General] Add simple BaseActor and LocalActor classes
8 years ago
David Cernat
2bd81c3de0
[Client] Use mpNum for every WorldObject
8 years ago
David Cernat
e6bc7ad463
[General] Make all flying players fly correctly, including TCL users
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
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
c1427b2558
[General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE
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
95efb77e53
Implement sending of ID_GAME_SPELLBOOK from client
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
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
bc0aa86bcf
Make variable names more consistent and easier to understand
8 years ago
Koncord
cf1a0113a1
Time API
8 years ago
Koncord
3405e36ce4
Woops part 2
8 years ago
David Cernat
8eda381016
Make formatting consistent, part 2
9 years ago
Koncord
9ab77cb123
New API functions: MessageBox, CustomMessageBox, InputDialog
...
New Callback: OnGUIAction
9 years ago
Koncord
1b259e2d33
Syncing inventory, animations, position, 8 key attributes
...
Created Package system
9 years ago