David Cernat
989f6e6b51
[General] Implement PlayerReputation packet
2018-01-30 22:55:29 +02:00
David Cernat
420dab10e1
[General] Track objects directly placed by players in ObjectPlace
...
This allows the OnPCDrop variable to get set correctly even when object placements have to go through the server first in order to gain a unique multiplayer index (mpNum).
Among other things, this makes it possible to roll marijuana joints in the popular mod "Tribunal Code Patch".
2018-01-28 17:46:51 +02:00
David Cernat
9935f56d46
[General] Use doubles instead of ints for enchantmentCharge
...
Additionally, include enchantmentCharges for items in PlayerEquipment packets.
2018-01-17 08:10:49 +02:00
David Cernat
1cf2f35a28
[Server] Add script functions to set & get plugin enforcement state
2018-01-02 16:33:18 +02:00
David Cernat
47a3dc9ff2
[Server] Add broadcast argument to functions for sending WorldPackets
2017-12-30 21:52:30 +02:00
David Cernat
1e2517698d
[Server] Send player speech and animation packets only to nearby players
2017-12-29 06:17:45 +02:00
David Cernat
993081ba1e
[General] Add enchantmentCharge to worldObjects and items
2017-12-23 13:16:38 +02:00
David Cernat
e97c9f72a2
[General] Rework getting/clearing of skill modifiers as with attributes
2017-12-04 15:06:27 +02:00
David Cernat
2944be18ae
[Server] Actually, turn SetAttributeModifier into ClearAttributeModifier
...
There's no way SetAttributeModifier() was going to make sense if, say, a player had drunk 3 different potions fortifying the same attribute and was wearing equipment fortifying it as well. How would one change the sum modifier of those while accounting for each specific effect's duration and magnitude?
The only workable solution is to allow the server to clear the modifier.
2017-12-02 09:19:33 +02:00
David Cernat
e8d636ebc3
[Server] Rework Get/SetAttributeCurrent into Get/SetAttributeModifier
...
As seen here, attributes don't use the concept of current values, but rather of value modifiers and value damage:
https://github.com/OpenMW/openmw/blob/master/apps/openmw/mwmechanics/stat.cpp#L217
2017-11-30 22:37:06 +02:00
David Cernat
c9c363ebef
[General] Allow GameSettings to set bed & wilderness resting separately
2017-11-30 12:18:15 +02:00
David Cernat
3508a16836
[General] Use GameSettings packet to set ability to rest and wait
2017-11-27 07:39:02 +02:00
David Cernat
6668b9ab42
[General] Implement ConsoleCommand packet
2017-11-23 00:21:47 +02:00
David Cernat
be25decee2
[General] Implement PlayerSpeech packet
2017-10-31 15:19:14 +02:00
David Cernat
413893aa51
[General] Implement PlayerAnimPlay packet
2017-10-27 09:10:29 +03:00
David Cernat
50d5fffb7f
[General] Add and implement PlayerQuickKeys packet
2017-10-25 07:21:00 +03:00
David Cernat
cffd985038
Merge pull request #266 from TES3MP/0.6.0
...
Add hotfix commits for 0.6.0 up to 18 Aug 2017
2017-08-18 07:45:36 +03:00
David Cernat
0820b7e92b
[Server] Add GetCaseInsensitiveFilename() script function
...
Additionally, make header order consistent in script function files.
2017-08-18 07:13:08 +03:00
David Cernat
0e2038f045
[General] Record and get player positions before their last cell change
2017-08-04 21:45:52 +03:00
Unknown
bfbfbeac43
Added networking and saving for custom spells
2017-07-31 03:45:47 +10:00
David Cernat
8b79cdd4f4
[Server] Document script functions, part 3
...
Also reorder functions in Cells and CharClass so they are consistent with the rest.
2017-07-25 18:07:09 +03:00
David Cernat
5e5440b697
[Server] Document script functions, part 2
2017-07-23 21:59:33 +03:00
David Cernat
cc91b32b2f
[Server] Make spell script functions consistent with others
2017-07-20 17:58:00 +03:00
David Cernat
8bd33e5fbb
[Server] Document script functions, part 1
2017-07-19 20:40:51 +03:00
David Cernat
f65f996418
[Server] Add script functions for werewolf states
2017-07-15 11:09:28 +03:00
David Cernat
ad9fa0631a
[General] Rename jailText to jailEndText and add jailProgressText in PlayerJail
2017-07-13 20:13:28 +03:00
David Cernat
e36c0afc59
[General] Send faction reputation via PlayerFaction packets
2017-07-13 13:36:00 +03:00
David Cernat
be93ec8ef6
[General] Implement ObjectState packet
2017-07-13 09:46:30 +03:00
David Cernat
083b46394d
[General] Add ignoreJailSkillIncreases to PlayerJail packets
2017-07-12 18:24:37 +03:00
David Cernat
5962570c48
[General] Add jailText to PlayerJail packets
2017-07-12 16:39:31 +03:00
David Cernat
3280f0c5ee
[General] Implement PlayerJail packet
...
Rework server's DeathFunctions into MechanicsFunctions
Remove connection between PlayerResurrect and jailing
2017-07-11 13:34:09 +03:00
David Cernat
b1b27728e2
[Server] Move functions dealing with PlayerKillCount to QuestFunctions
2017-07-11 07:15:06 +03:00
David Cernat
6dde0ca9c9
[Server] Rework script functons by removing unnecessary vector buffers
...
Add new initialization script functions to allow clearing all player changes vectors in a manner consistent with Actor and World functions
Add toOthers boolean to all methods that send packets with player changes vectors
2017-07-07 09:25:48 +03:00
David Cernat
2c05b7f747
[Server] Rename InitiateEvent() into InitializeEvent() for consistency
2017-07-07 08:12:48 +03:00
David Cernat
1d504a665f
[General] Add RANK, EXPULSION and BOTH actions to PlayerFaction packets
2017-07-05 07:06:33 +03:00
David Cernat
60574ae667
[General] Implement jail time as a death penalty
2017-07-03 15:45:21 +03:00
David Cernat
71313c5aa6
[General] Implement PlayerMap packet, part 1
2017-07-03 09:28:27 +03:00
David Cernat
1f682749d6
[General] Add optional notes to PasswordDialogs
2017-07-02 13:07:36 +03:00
Koncord
5292914325
[Server] Simplify native CallPublic & CreateTimerEx
2017-06-30 17:59:50 +08:00
Koncord
e68eee651a
[Server] Fix Resurrect
2017-06-27 15:16:23 +08:00
Koncord
c58c26f6c0
[Server] Implement native CreateTimer & CreateTimerEx
2017-06-27 14:50:40 +08:00
Koncord
9ab58b6708
[Server] Remove redundant SetResurrectType
...
Rename SendResurrect to Resurrect
2017-06-27 14:49:39 +08:00
David Cernat
813a3c89c4
[General] Implement PlayerBook packet to track skill books read
2017-06-27 08:27:14 +03:00
David Cernat
b3b73c5cd2
[General] Implement resurrection at nearest shrine or temple
2017-06-27 01:01:45 +03:00
David Cernat
66a3f3d475
[Server] Use cleaner solution for safely reading cell descriptions
2017-06-23 08:29:14 +03:00
David Cernat
78f29302ef
[General] Fix PlayerJournal logic by sending only refIds for its actors
...
Additionally, make the refIds for actors usable in script functions.
2017-06-23 08:12:32 +03:00
David Cernat
4ad87faac1
[Server] Create new Settings category for script functions
2017-06-20 07:24:15 +03:00
David Cernat
ebf7740969
[General] Repurpose GameConsole packet as GameSettings & add difficulty to it
2017-06-20 05:28:45 +03:00
Koncord
3803535bd5
[General] Implement CleanChat()
2017-06-12 08:01:47 +08:00
David Cernat
51b95f35cd
[Server] Fix problem with fetching interior cell descriptions
2017-06-10 18:03:58 +03:00
David Cernat
db7709ee18
[Server] Modernize getting and setting of player cells
2017-06-10 17:49:41 +03:00
David Cernat
0d3976950b
[Server] Use consistent names for rotation script functions
2017-06-10 17:06:09 +03:00
David Cernat
70d9374a6a
[General] Implement PlayerKillCount packets
2017-06-10 14:04:19 +03:00
David Cernat
ee5c9b65c5
[General] When changing region, send new region name in PlayerCellChange
2017-06-10 11:43:40 +03:00
David Cernat
f02ed0d621
[Server] Add script functions for getting and setting actor dynamic stat modifiers
2017-06-10 09:28:35 +03:00
Koncord
568b0702fa
[Server] Implement PasswordDialog
2017-06-06 23:34:27 +08:00
Koncord
186e5fe33e
[Server] Remove GetAngleY & remove Y parameter from SetAngle
2017-06-06 16:33:34 +08:00
David Cernat
f4cdedd8cb
[General] Synchronize summoned creatures
2017-05-30 10:11:01 +03:00
David Cernat
4e5c8873e0
[General] Use ObjectSpawn instead of ObjectPlace for actors
2017-05-29 06:59:05 +03:00
David Cernat
940a2b6eb5
[Server] Add script functions for setting and sending ActorEquipment
2017-05-27 00:57:40 +03:00
David Cernat
f47a10dd4a
[Server] Add script callback and getter functions for ActorEquipment
2017-05-26 22:54:51 +03:00
David Cernat
32879adc5b
[General] Allow ObjectTrap to trigger traps, not just disarm them
2017-05-26 01:28:43 +03:00
David Cernat
93aa674eff
[Server] Add SendObjectTrap() script function
2017-05-26 00:42:46 +03:00
David Cernat
dbdb11b5f0
[Server] Add script functions for dialogue
2017-05-24 23:22:43 +03:00
David Cernat
870fd9a78b
[General] Remove ObjectUnlock packet, use ObjectLock with 0 lock instead
2017-05-24 13:28:34 +03:00
David Cernat
0595192129
[Server] Make GetFactionExpelledState() return a bool instead of an int
2017-05-18 21:51:24 +03:00
David Cernat
a2e2ca7cab
[Server] Add script functions for factions
2017-05-18 20:56:50 +03:00
David Cernat
de49f5f175
[General] Add and use isActor bool for WorldObject
2017-05-07 03:07:09 +03:00
David Cernat
9d2c5c3502
[General] Simplify structure of BaseEvent
2017-05-06 21:57:29 +03:00
David Cernat
4d81455020
[General] Rework and simplify death reasons so they work with NPCs
2017-05-05 22:16:31 +03:00
David Cernat
06f3c07116
[Server] Only read Actor packets from players who are still authorities
2017-05-05 06:13:34 +03:00
David Cernat
e01cadad23
[Server] Send ActorAuthority packets to all players who loaded the cell
2017-05-03 04:45:55 +03:00
David Cernat
4c35c328a9
[Server] Add SendActorPosition() script function
2017-05-01 20:58:40 +03:00
David Cernat
e5e888ac21
[Server] Add script functions for checking what data an Actor has
2017-05-01 20:55:36 +03:00
Koncord
6ddab0d323
[Server] Add and implement "look like creature" functions
2017-05-01 21:15:12 +08:00
David Cernat
217894100a
[Server] Add ReadCellActorList() script function
2017-05-01 00:49:58 +03:00
David Cernat
e8e0090b9b
[General] Use new SimpleCreatureStats struct in BaseActor
2017-04-30 18:44:59 +03:00
David Cernat
0e8d115794
[Server] Clean up ActorFunctions by using readActorList pointer
...
Also rename scriptActorList into writeActorList, and also rename matching methods, for clarity.
2017-04-30 17:12:15 +03:00
David Cernat
b54560a362
[Server] Clean up WorldFunctions by using readEvent pointer
...
Also rename scriptEvent into writeEvent, along with matching methods, for clarity.
2017-04-30 16:35:56 +03:00
David Cernat
a2f6d99dfd
[Server] Use new CreatureStats in ActorFunctions to fix invalid pointer
2017-04-29 18:20:01 +03:00
David Cernat
6ff9091afd
[Server] Add script functions for setting actor dynamic stats
2017-04-29 02:10:14 +03:00
David Cernat
9d7142f684
[Server] Clean up order for StatsFunctions
2017-04-29 01:42:11 +03:00
David Cernat
03c56e01f9
[Server] Add script functions for getting actor dynamic stats
2017-04-29 01:15:19 +03:00
David Cernat
328b4fb763
[Server] Fix invalid pointers when using ActorFunctions::GetActorCell()
2017-04-28 20:31:02 +03:00
David Cernat
a71dbc7d09
[Server] Add script functions for setting actor cells and positions
2017-04-28 18:44:01 +03:00
David Cernat
9c5eb47e90
[Server] Add and use Utils::getCellFromDescription()
2017-04-28 16:33:58 +03:00
David Cernat
aeab851ed8
[Server] Add script functions for getting actor position coordinates
2017-04-28 00:05:12 +03:00
David Cernat
1ce60fbf30
[Server] Add GetActorCell() script function
2017-04-27 14:59:49 +03:00
David Cernat
6a21ec1fdc
[General] Rename PlayerPos into PlayerPosition
2017-04-25 22:11:33 +03:00
David Cernat
7b07d6651f
[General] Add and use PlayerBounty packet and matching script functions
2017-04-25 21:24:39 +03:00
David Cernat
870886192b
[General] Rename DYNAMICSTATS into STATS_DYNAMIC
2017-04-16 09:00:18 +03:00
David Cernat
b6c3830ea0
[General] Rename WorldObject's pos into position for consistency
2017-04-10 09:25:20 +03:00
David Cernat
69bf2749a5
[Server] Add ActorFunctions for getting and setting basic actor data
2017-04-10 06:15:03 +03:00
David Cernat
e9c3abc2c3
[Server] Reset variables more elegantly in WorldFunctions
2017-04-10 02:37:43 +03:00
David Cernat
c52084a028
[General] Use BaseActorLists in ActorPackets
2017-04-09 16:32:44 +03:00
David Cernat
1b714fbfa7
[Server] Make script functions more consistent
2017-04-09 12:28:38 +03:00
David Cernat
a24ef3a25e
[Server] Create ActorFunctions placeholder
2017-04-09 12:24:33 +03:00
David Cernat
070c6a3bd4
[General] Add ActorPacketController & make controller var names clearer
2017-04-09 08:51:28 +03:00
David Cernat
ba8341bfb5
[Server] Add SendActorAuthority() script function
2017-04-05 11:02:11 +03:00
David Cernat
c65e94587c
[Server] Add SendActorList() script function
2017-04-05 04:44:47 +03:00
David Cernat
3b34b9cd3e
[Server] Fix typo in MiscellaneousFunctions
2017-04-04 12:49:29 +03:00
David Cernat
2716078a30
[Server] Add GetCurrentMpNum() and SetCurrentMpNum() script functions
2017-04-04 12:43:17 +03:00
David Cernat
82f38dcfad
[Server] Set mpNum in AddWorldObject()
2017-04-04 10:34:35 +03:00
David Cernat
665fe09fd0
[Server] Add GetObjectMpNum() and SetObjectMpNum() script functions
2017-04-04 09:30:17 +03:00
David Cernat
174937f412
[Server] Add LogMessage() and LogAppend() script functions
2017-04-04 01:47:37 +03:00
Koncord
690211ad99
[General] Extract BaseEvent & BasePlayer from packets to functions
...
Move Send and Read functions to BasePacket
2017-03-06 18:40:07 +08:00
David Cernat
82dcec5ec5
[Server] Use consistent pattern for script function category names
2017-03-04 14:11:17 +02:00
David Cernat
5c269a5f8d
[General] Rename ID_GAME_DIE and ID_GAME_RESURRECT
2017-02-28 01:38:25 +02:00
Koncord
0442ebd607
[Server] Remove redundant newlines & keep ~120 columns
2017-02-27 17:13:07 +08:00
David Cernat
0baada0aa2
[Server] Add GetLastPlayerId() script function in Miscellaneous category
2017-02-26 23:00:51 +02:00
Koncord
b158e89f77
[Server] Change signatures of GetLastEventAction & SetScriptEventAction
2017-02-23 15:17:00 +08:00
Koncord
cbe31149e3
[Server] Remove redundant constructor
2017-02-23 14:36:35 +08:00
David Cernat
af35ee38d1
[Server] Rename ClearScriptEvent into InitScriptEvent with pid argument
2017-02-23 08:23:46 +02:00
David Cernat
7065569f9b
[Server] Reuse 2 BaseEvents over and over instead of creating new ones
2017-02-23 07:47:00 +02:00
David Cernat
a4526605a6
[General] Remove goldValue from ContainerItem because it is never useful
2017-02-20 12:31:11 +02:00
David Cernat
b1009ad33d
[Server] Add GetContainerItemActionCount() for getting drag count
2017-02-19 00:11:09 +02:00
David Cernat
4f2b88df8a
[General] Remove owner var from ContainerItem because it is always empty
2017-02-18 23:59:02 +02:00
David Cernat
c01ab63239
[Server] Add script functions for setting container item info
2017-02-17 23:11:38 +02:00
David Cernat
aa1549606f
[Server] Add script functions for getting container item info
2017-02-17 18:33:20 +02:00
David Cernat
70470e12b4
[Server] Reorder World script functions
2017-02-17 16:24:40 +02:00
David Cernat
8a5bc77699
[Server] Add GetBaseEventAction script function
2017-02-17 14:51:36 +02:00
David Cernat
eba7d8408f
[Server] Use script function to get spellbook action
2017-02-16 14:23:27 +02:00
David Cernat
3b604a432e
[General] Restructure ID_CONTAINER to allow multiple containers at once
2017-02-15 20:14:25 +02:00
David Cernat
c8cbfbef62
[General] Sketch out server requests to players for container data
2017-02-14 19:31:56 +02:00
David Cernat
b651c4deb4
[Server] In Item script functions, rename itemId into refId for clarity
2017-02-07 13:50:28 +02:00
David Cernat
5038353792
[General] Rename BaseEvent's state into doorState & adjust related funcs
2017-02-06 23:09:50 +02:00
David Cernat
182b238b5f
[General] Rename WorldEvent into BaseEvent
2017-02-06 12:53:41 +02:00
David Cernat
f314b13edf
[General] Rename item health into charge, for consistency with OpenMW
2017-02-05 14:56:27 +02:00
David Cernat
ecc456fea9
[General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE
2017-02-05 13:45:12 +02:00
David Cernat
04d45b9dbb
[General] Rename packets to show they are for players only, not NPCs
2017-02-05 09:01:33 +02:00
David Cernat
6328ffb9aa
[General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER
2017-02-04 14:25:43 +02:00
David Cernat
c1427b2558
[General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE
2017-02-03 20:27:40 +02:00
David Cernat
7ebad596d6
[Server] Use double instead of int for scale in WorldFunctions
2017-02-01 12:53:51 +02:00
David Cernat
018b0e6699
[Server] Add script functions & callbacks for locking, unlocking & doors
2017-02-01 12:43:19 +02:00
David Cernat
5bd2fdcf66
[Server] Add OnObjectScale callback, and set scale for WorldObject
2017-02-01 09:25:47 +02:00
Koncord
0b8d0224d1
[Server] Change type in second argument in SetConsoleAllow to "bool"
2017-02-01 13:44:50 +08:00
David Cernat
87dce73b90
[Server] Add script function for sending world object scale
2017-01-31 23:07:02 +02:00
David Cernat
705589e3e3
[Server] Add script functions for getting/setting world object scale
2017-01-31 22:54:36 +02:00
David Cernat
1fc9dd4f93
[Server] Remove WorldFunctions index parameters that are no longer used
2017-01-30 17:42:29 +02:00
David Cernat
9f998c9901
[Server] Improve getter methods in WorldFunctions
2017-01-30 17:09:14 +02:00
David Cernat
88e648aaa9
[Server] Fix crash caused by setting too many WorldObject refIds, try 2
2017-01-30 12:26:45 +02:00
David Cernat
fe9e30a4d8
[Server] Fix crash caused by setting too many WorldObject refIds
2017-01-30 09:10:33 +02:00
David Cernat
5eff2ece21
[Server] Fix memory leaks related to WorldEvents as suggested by Koncord
2017-01-29 20:18:19 +02:00
David Cernat
6b9fba7885
[Server] Add script functions for getting/setting world object rotation
2017-01-29 17:38:29 +02:00
David Cernat
920c1113a3
[Server] Add script functions for setting world object placement info
2017-01-29 16:16:01 +02:00
David Cernat
2c5cc82f49
[Server] Add script functions for getting world object placement info
2017-01-29 15:29:40 +02:00
David Cernat
27ac314cb1
[Server] Add script functions for getting world object refIds & refNums
2017-01-29 13:21:41 +02:00
David Cernat
f11df211fa
[Server] Add script functions for dealing w/ WorldEvents & WorldObjects
2017-01-28 16:22:30 +02:00
David Cernat
9c3a37a790
[Server] Make GetCellStateDescription's cstrDescription null-terminated
2017-01-27 14:16:27 +02:00
Koncord
1c810ecad5
[Server] Fix memory leak in GetCellStateDescription()
2017-01-27 19:05:18 +08:00
David Cernat
0ccfe66212
[Server] Send stable C string in GetCellStateDescription()
2017-01-27 08:14:27 +02:00
David Cernat
6331c55bc7
[Server] Add colons missing from CELLAPI
2017-01-26 16:42:55 +02:00
David Cernat
2f644e9b14
[Server] Add script functions for getting info about cell state changes
2017-01-26 16:37:47 +02:00
David Cernat
70823d011d
[Server] Define CELLAPI
2017-01-26 16:16:28 +02:00
David Cernat
0cc20d26ce
[Server] Move script functions for cells to a new CellFunctions class
2017-01-26 16:10:45 +02:00
David Cernat
62f359e250
[Server] Rename Translocations into Positions
2017-01-26 15:48:47 +02:00
David Cernat
158d606477
[General] Leave one blank line at the end of every tes3mp code file
2017-01-26 06:17:29 +02:00
David Cernat
73d39c1a0a
[General] Stop using virtual functions in BasePlayer, part 2
2017-01-25 17:19:53 +02:00
David Cernat
63c8a98083
[General] Stop using virtual functions in BasePlayer
2017-01-25 17:06:15 +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
d308897f95
Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges
2017-01-20 12:43:05 +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
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
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
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
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
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
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
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
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
3380c482c0
Fix errors remaining from merge with tes3mp-packetexpansion, part 2
2016-10-23 19:32:39 +03:00
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
2016-10-23 17:57:38 +03:00
David Cernat
0a44bea91d
Send cell coordinates in tes3mp using mData instead of mCellId.mIndex
2016-10-23 16:55:30 +03:00
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
```
2016-10-23 02:57:49 +08:00
David Cernat
bda1f867fd
Rename server's GetController() method into GetPlayerController()
2016-10-19 16:54:39 +03:00
David Cernat
4b96080521
Make GetItemSlot work and add SendEquipment in server item functions
2016-09-30 12:30:05 +03:00
David Cernat
6650b74498
Add handling of skill increases
2016-09-30 07:15:59 +03:00
David Cernat
977b277cdd
Add missing entries for level progress functions
2016-09-30 05:08:11 +03:00
David Cernat
a0e9a672a5
Split updateClassStats in 3 and add handling of level progress
2016-09-30 04:52:21 +03:00
David Cernat
56a2c70911
Use double instead of int for skill progress functions
2016-09-29 18:13:36 +03:00
David Cernat
ae4950ce49
Add server stat functions for getting and setting skill progress
2016-09-29 17:57:26 +03:00
David Cernat
bc0aa86bcf
Make variable names more consistent and easier to understand
2016-09-29 12:05:44 +03:00
David Cernat
7a1531c01b
Fix script functions for setting dynamic stats, part 2
2016-09-28 19:41:54 +03:00
David Cernat
458bdf4dff
Fix script functions for setting dynamic stats
2016-09-28 16:40:19 +03:00
David Cernat
b6086ab015
Rename ID_GAME_DYNAMICSTATS_CURRENT into ID_GAME_DYNAMICSTATS
2016-09-28 14:13:24 +03:00
David Cernat
57f07813b0
Rename ID_GAME_UPDATE_POS into ID_GAME_POS
2016-09-28 11:45:14 +03:00
David Cernat
26487598a6
Rename ID_GAME_UPDATE_EQUIPED into ID_GAME_EQUIPMENT
2016-09-28 11:36:29 +03:00
David Cernat
9fd5ae981e
Add missing backslash
2016-09-28 07:59:53 +03:00
David Cernat
ce4b326b02
Rename ID_GAME_UPDATE_BASESTATS into ID_GAME_DYNAMICSTATS_CURRENT
2016-09-28 07:50:16 +03:00
David Cernat
295f486a97
Using less confusing names for server stat functions, part 2
2016-09-28 02:19:39 +03:00
David Cernat
69030579c1
Using less confusing names for server stat functions
2016-09-27 17:04:04 +03:00
David Cernat
7ae9ea7465
Add server stat functions for getting attribute and skill counts
2016-09-27 15:51:10 +03:00
David Cernat
57703482b2
Fetch attribute and skill counts in server stat functions
2016-09-27 15:01:54 +03:00
David Cernat
4d7130b12f
Improve logic for script-induced cell changes
2016-09-27 11:28:44 +03:00
David Cernat
01af4f3bbc
Update position before sending cell packet
2016-09-26 17:00:09 +03:00
David Cernat
1ee2458f6e
Add packet for player levels, part 2
2016-09-26 13:19:01 +03:00
David Cernat
046a1ea899
Add packet for player levels
2016-09-25 14:28:25 +03:00
Koncord
e661a35ac2
Fix checking strings in SetName & SetBirthsign
2016-09-18 11:55:51 +08:00
David Cernat
ff94b5f1ac
Fix unsuitable variable name
2016-09-02 06:16:35 +03:00
David Cernat
970e9aff2f
Remove old class methods and don't include class in ID_GAME_BASE_INFO
2016-09-02 03:45:43 +03:00
David Cernat
a20e7890a2
Fix formatting
2016-08-30 10:52:30 +03:00
Koncord
cf1a0113a1
Time API
2016-08-30 13:24:42 +08:00
David Cernat
5e6a374687
Add comment about MesssageBox to prevent future confusion
2016-08-30 08:13:08 +03:00
David Cernat
857defadbc
Revert one unnecessary renaming of MessageBox
2016-08-30 08:05:00 +03:00
David Cernat
32ce7e97a8
Fix build for Windows server
2016-08-30 08:01:34 +03:00
Koncord
1186d09ec0
ScriptFunctions.hpp size reduction
2016-08-30 12:20:39 +08:00
Koncord
11eae277a9
Characters Class API
...
Added some new functions
2016-08-30 11:18:19 +08:00
David Cernat
00e7810428
Add script functions for saving and loading non-custom player classes
2016-08-27 00:14:50 +03:00
David Cernat
5385563972
Let players inform others about Lua script-induced cell & pos changes
2016-08-24 02:53:39 +03:00
David Cernat
c4f49e05e3
Remove manual newlines for logger
2016-08-19 07:54:10 +03:00
David Cernat
97f944dde7
Use logger for most console messages
2016-08-18 20:20:17 +03:00
David Cernat
a36c20eaae
Reduce server console spam
2016-08-18 16:13:04 +03:00
David Cernat
c94f818478
Add script functions for getting attributes and skills by their names
2016-08-18 00:55:35 +03:00
David Cernat
41868cc9cc
Add script functions for getting attributes and skills by their IDs
2016-08-18 00:13:45 +03:00
David Cernat
8eda381016
Make formatting consistent, part 2
2016-08-17 18:20:36 +03:00
David Cernat
1363c4c5b6
Make formatting consistent
2016-08-17 18:04:35 +03:00
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.
2016-08-05 14:28:45 +08:00
David Cernat
b0bd10f219
Allow script-based teleportation from interior to exterior cell 0,0
2016-08-03 22:07:49 +03:00
Koncord
31e2ab54d6
Revert "Update position after changing cell"
...
This reverts commit 5e072b9d3c
.
2016-07-30 04:57:43 +08:00
Koncord
5e072b9d3c
Update position after changing cell
2016-07-30 04:12:47 +08:00
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"))
2016-07-30 01:33:28 +08:00
Koncord
5a6c1750d9
Fixed some build warnings and IsTimerElapsed function
2016-07-27 10:35:27 +08:00
Koncord
1e3eff91ac
Merged branch tes3mp-gui into tes3mp-gui
2016-07-23 22:08:01 +08:00
Koncord
9ab77cb123
New API functions: MessageBox, CustomMessageBox, InputDialog
...
New Callback: OnGUIAction
2016-07-23 22:02:06 +08:00
davidcernat
ab309180c2
Add useful debug info for cell changes
2016-07-21 23:07:37 +03:00
Koncord
6f07d590d4
Fix SetPos and SetAngle functions
...
Fix types for SetPos and SetAngle
2016-07-17 17:59:46 +08:00
Stanislav Zhukov
645a21af21
Added new script functions for lua compatibility
...
GetPosX, GetPosY, GetPosZ
GetAngleX, GetAngleY, GetAngleZ
2016-07-16 16:19:35 +08:00