This also aims for the fix that the player still gets damaged while in debug. It looks like that allowDamage gets lifted when it should not. fn_exitSwim set too early the damage true which can be a problem. Ive decided to remove the handled damage from fn_exitSwim and set allowDamage always false before we enter this function.
This needs intensive testing to be sure it works without any new problems.
Thx to ndavalos and iben.
Setvariables made redundant by 9cc3c82
Also changed removeEventHandler to remove all, so if switchModel exits
at one of the exitWiths the player will not be left invincible.
Should work to prevent the issue described in #1938 by disabling the abort option, causing the player to alt + F4 if they want to log out without reconnecting. which results in the gear pile/weaponholder from not being created.
Use the cursorTarget at the time the gear dialog was opened instead of
the cursorTarget at the time the script runs. The script can be delayed
by several seconds (spawn is scheduled).
* player_wearclothes changes, string changes and maintain area moving
Adds 2 toggles for admins to modify:
DZE_backpackRemove forces the player to drop his/her backpack when they
change gear.
DZE_maintainCurrencyRate modifies the amount of worth each item is worth
to maintain.
Changes the error message in player_wearClothes to tell the player why
they can't change gear yet
Remove some debug lines that spam RPT
* Rework
Rework as per @ebaydayz
* Rework
Rework
I wasn't getting errors without if (gear_done) then {}; surrounding the
uiSleeps, so I don't quite trust the engine was executing them, I also
question the ability of uisleep to handle single frame precision (but I
haven't tested anything regarding this yet).
This is the code from 1.0.5.2 before it became 1.0.6, it contains the
fix for backpack wipes in 1.0.5.1. I lightly tested it with 1.0.6 but it
will need more testing before release.
removing the Respawn EH fixes this, I haven't noticed any adverse
effects from removing it yet.
Also changing groups now deletes the old group. The machine which the
group is local to must execute the deleteGroup command, the server
previously had to wait until the player disconnects to delete their
empty groups.
The deleteGroup command requires the group to be local to the machine executing it:
https://community.bistudio.com/wiki/deleteGroup
When a player changes clothes a new group is created. The player is switched into a new unit in the new group, and then his old group is left empty. Because the old group is local to the player, it will not be deleted by server_cleanupGroups until he disconnects and it is transferred to the server.
We should delete the old group immediately rather than wait for the player to disconnect. This will prevent the excessive accumulation of empty groups when players change clothes a lot. It will help with the seagull spawn issue which happens when there are more than 144 groups on side WEST:
https://community.bistudio.com/wiki/createGroup