diff --git a/SQF/dayz_code/actions/remove.sqf b/SQF/dayz_code/actions/remove.sqf
index ae8efa4c0..b70ac753f 100644
--- a/SQF/dayz_code/actions/remove.sqf
+++ b/SQF/dayz_code/actions/remove.sqf
@@ -12,7 +12,7 @@ s_player_deleteBuild = 1;
_obj = _this select 3;
-_activatingPlayer = getPlayerUID player;
+_activatingPlayer = player;
_objOwnerID = _obj getVariable["CharacterID","0"];
_isOwnerOfObj = (_objOwnerID == dayz_characterID);
diff --git a/SQF/dayz_code/actions/repair_vehicle.sqf b/SQF/dayz_code/actions/repair_vehicle.sqf
index b3cff65b7..00efd1914 100644
--- a/SQF/dayz_code/actions/repair_vehicle.sqf
+++ b/SQF/dayz_code/actions/repair_vehicle.sqf
@@ -1,8 +1,5 @@
private ["_part","_cancel","_color","_allFixed","_percent","_string","_handle","_damage","_cmpt","_vehicle","_hitpoints"];
-// [ _trader_id, _category, _action ];
-// _activatingPlayer = getPlayerUID player;
-
_vehicle = _this select 3;
{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
diff --git a/SQF/dayz_code/actions/salvage_vehicle.sqf b/SQF/dayz_code/actions/salvage_vehicle.sqf
index 74d6bc799..e65c602e9 100644
--- a/SQF/dayz_code/actions/salvage_vehicle.sqf
+++ b/SQF/dayz_code/actions/salvage_vehicle.sqf
@@ -1,8 +1,5 @@
private ["_part","_cancel","_color","_percent","_string","_handle","_damage","_cmpt","_vehicle","_hitpoints"];
-// [ _trader_id, _category, _action ];
-// _activatingPlayer = getPlayerUID player;
-
_vehicle = _this select 3;
{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
diff --git a/SQF/dayz_code/actions/trade_any_bicycle.sqf b/SQF/dayz_code/actions/trade_any_bicycle.sqf
index 80002d3dc..4beb9de0e 100644
--- a/SQF/dayz_code/actions/trade_any_bicycle.sqf
+++ b/SQF/dayz_code/actions/trade_any_bicycle.sqf
@@ -9,7 +9,7 @@ DZE_ActionInProgress = true;
// [part_out,part_in, qty_out, qty_in, loc];
-_activatingPlayer = getPlayerUID player;
+_activatingPlayer = player;
_part_out = (_this select 3) select 0;
_part_in = (_this select 3) select 1;
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index bcb82aab3..82c576269 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -506,12 +506,13 @@ if (!isDedicated) then {
dayz_EjectPlayer = {
// check if player in vehicle
- _vehicle = vehicle player;
+ private ["_noDriver","_vehicle","_inVehicle"];
+ _vehicle = vehicle player;
_inVehicle = (_vehicle != player);
if(_inVehicle) then {
_noDriver = ((_vehicle emptyPositions "driver") > 0);
- if (_noDriver) then {
- player action [ "eject", (vehicle player)];
+ if (_noDriver and (speed _vehicle) != 0) then {
+ player action [ "eject", _vehicle];
};
};
};
diff --git a/SQF/dayz_server/system/server_cleanup.fsm b/SQF/dayz_server/system/server_cleanup.fsm
index 8900374fd..786a930e9 100644
--- a/SQF/dayz_server/system/server_cleanup.fsm
+++ b/SQF/dayz_server/system/server_cleanup.fsm
@@ -7,7 +7,7 @@ item2[] = {"waiting",2,250,-75.000000,-200.000000,25.000000,-150.000000,0.000000
item3[] = {"___min_loop",4,218,-75.000000,-75.000000,25.000000,-25.000000,4.000000,"5 min" \n "loop"};
item4[] = {"sync_time",2,250,-75.000000,25.000000,25.000000,75.000000,0.000000,"sync time"};
item5[] = {"true",8,218,-75.000000,125.000000,25.000000,175.000000,0.000000,"true"};
-item6[] = {"general_cleanup",2,250,-75.000000,200.000000,25.000000,250.000000,0.000000,"general" \n "cleanup" \n "loop"};
+item6[] = {"general_cleanup",2,4346,-75.000000,200.000000,25.000000,250.000000,0.000000,"general" \n "cleanup" \n "loop"};
item7[] = {"",7,210,-491.500000,220.999985,-483.500000,229.000015,0.000000,""};
item8[] = {"",7,210,-491.500000,-253.999969,-483.500000,-246.000031,0.000000,""};
item9[] = {"",7,210,421.000000,-178.999985,428.999969,-171.000015,0.000000,""};
@@ -25,7 +25,7 @@ item20[] = {"cleanup_loot",2,250,-200.000000,25.000000,-100.000000,75.000000,0.0
item21[] = {"__5_min__loop",4,218,175.000000,-75.000000,275.000000,-25.000000,6.000000,"15 min" \n " loop"};
item22[] = {"cleanup_animals",2,250,175.000000,25.000000,275.000000,75.000000,0.000000,"cleanup" \n "animals and fire"};
item23[] = {"__0_min__loop",4,218,300.000000,-75.000000,400.000000,-25.000000,7.000000,"30 min" \n " loop"};
-item24[] = {"cleanup_null",2,4346,300.000000,25.000000,400.000000,75.000000,0.000000,"cleanup" \n "null"};
+item24[] = {"cleanup_null",2,250,300.000000,25.000000,400.000000,75.000000,0.000000,"cleanup" \n "null"};
link0[] = {0,11};
link1[] = {1,2};
link2[] = {2,3};
@@ -59,7 +59,7 @@ link29[] = {22,5};
link30[] = {23,24};
link31[] = {24,5};
globals[] = {25.000000,1,0,0,0,640,480,1,42,6316128,1,-508.946564,440.498199,435.888916,-341.331024,861,880,1};
-window[] = {2,-1,-1,-1,-1,1020,208,1500,208,3,879};
+window[] = {2,-1,-1,-1,-1,838,1706,2998,26,3,879};
*//*%FSM*/
class FSM
{
@@ -207,7 +207,16 @@ class FSM
class general_cleanup
{
name = "general_cleanup";
- init = /*%FSM*/"//diag_log ""CLEANUP: Starting loop for next task"";"/*%FSM*/;
+ init = /*%FSM*/"//diag_log ""CLEANUP: Starting loop for next task"";" \n
+ "" \n
+ "//Clean groups" \n
+ "{" \n
+ " // diag_log (""CLEANUP: CHECKING GROUP WITH "" + str(count units _x) + "" UNITS"");" \n
+ " if (count units _x==0) then {" \n
+ " deleteGroup _x;" \n
+ " // diag_log (""CLEANUP: DELETING A GROUP"");" \n
+ " };" \n
+ "} forEach allGroups;"/*%FSM*/;
precondition = /*%FSM*/""/*%FSM*/;
class Links
{
@@ -283,16 +292,7 @@ class FSM
class group_cleanup
{
name = "group_cleanup";
- init = /*%FSM*/"//Clean groups" \n
- "{" \n
- " // diag_log (""CLEANUP: CHECKING GROUP WITH "" + str(count units _x) + "" UNITS"");" \n
- " if (count units _x==0) then {" \n
- " deleteGroup _x;" \n
- " // diag_log (""CLEANUP: DELETING A GROUP"");" \n
- " };" \n
- "} forEach allGroups;" \n
- "" \n
- "//Check for hackers" \n
+ init = /*%FSM*/"//Check for hackers" \n
" {" \n
" if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x) && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n
" diag_log (""CLEANUP: KILLING A HACKER "" + (name _x) + "" "" + str(_x) + "" IN "" + (typeOf vehicle _x));" \n
@@ -392,7 +392,7 @@ class FSM
class cleanup_null
{
name = "cleanup_null";
- init = /*%FSM*/"// [] spawn server_spawnCleanNull;"/*%FSM*/;
+ init = /*%FSM*/"[] spawn server_spawnCleanNull;"/*%FSM*/;
precondition = /*%FSM*/""/*%FSM*/;
class Links
{