Re-arrange server_changeCode

This commit is contained in:
AirwavesMan
2020-12-27 13:19:46 +01:00
parent 585a3d1f36
commit 3fb87c4da5
3 changed files with 66 additions and 70 deletions

View File

@@ -2,81 +2,77 @@
changeCode - Safe, Lockbox and Door code changing script by salival (https://github.com/oiad) changeCode - Safe, Lockbox and Door code changing script by salival (https://github.com/oiad)
*/ */
"SK_changeCode" addPublicVariableEventHandler {(_this select 1) call server_changeCode}; private ["_backpacks","_charID","_characterID","_clientID","_coins","_dir","_holder","_inventory","_key","_lockedClass","_magazines","_message","_name","_object","_objectID","_objectUID","_ownerID","_ownerPUID","_player","_playerUID","_pos","_typeOf","_vector","_weapons","_worldSpace","_clientKey","_exitReason"];
server_changeCode = { if (count _this < 4) exitWith {diag_log "server_changeCode error: Improper parameter format";};
private ["_backpacks","_charID","_characterID","_clientID","_coins","_dir","_holder","_inventory","_key","_lockedClass","_magazines","_message","_name","_object","_objectID","_objectUID","_ownerID","_ownerPUID","_player","_playerUID","_pos","_typeOf","_vector","_weapons","_worldSpace","_clientKey","_exitReason"];
if (count _this < 4) exitWith {diag_log "server_changeCode error: Improper parameter format";}; _player = _this select 0;
_object = _this select 1;
_characterID = _this select 2;
_clientKey = _this select 3;
_player = _this select 0; _typeOf = typeOf _object;
_object = _this select 1; if !(_typeOf in DZE_unlockedStorage) exitWith {diag_log "server_changeCode called with invalid storage object!"};
_characterID = _this select 2;
_clientKey = _this select 3;
_typeOf = typeOf _object; _lockedClass = getText (configFile >> "CfgVehicles" >> _typeOf >> "lockedClass");
if !(_typeOf in DZE_unlockedStorage) exitWith {diag_log "server_changeCode called with invalid storage object!"}; _pos = _object getVariable ["OEMPos",getPosATL _object];
_dir = getDir _object;
_vector = [vectorDir _object, vectorUp _object];
_charID = _object getVariable ["CharacterID","0"];
_objectID = _object getVariable ["ObjectID","0"];
_objectUID = _object getVariable ["ObjectUID","0"];
_ownerID = _object getVariable ["ownerPUID","0"];
_name = ["unknown player",name _player] select (alive _player);
_clientID = owner _player;
_playerUID = getPlayerUID _player;
_lockedClass = getText (configFile >> "CfgVehicles" >> _typeOf >> "lockedClass"); if (isNull _player) then {diag_log "ERROR: server_changeCode called with Null player object";};
_pos = _object getVariable ["OEMPos",getPosATL _object]; if (isNull _object) exitWith {diag_log format["ERROR: server_changeCode called with Null object by %1 (%2).",_name,_playerUID];};
_dir = getDir _object;
_vector = [vectorDir _object, vectorUp _object];
_charID = _object getVariable ["CharacterID","0"];
_objectID = _object getVariable ["ObjectID","0"];
_objectUID = _object getVariable ["ObjectUID","0"];
_ownerID = _object getVariable ["ownerPUID","0"];
_name = ["unknown player",name _player] select (alive _player);
_clientID = owner _player;
_playerUID = getPlayerUID _player;
if (isNull _player) then {diag_log "ERROR: server_changeCode called with Null player object";}; _exitReason = [_this,"changeCode",_pos,_clientKey,_PlayerUID,_player] call server_verifySender;
if (isNull _object) exitWith {diag_log format["ERROR: server_changeCode called with Null object by %1 (%2).",_name,_playerUID];}; if (_exitReason != "") exitWith {diag_log _exitReason};
_exitReason = [_this,"changeCode",_pos,_clientKey,_PlayerUID,_player] call server_verifySender; _weapons = getWeaponCargo _object;
if (_exitReason != "") exitWith {diag_log _exitReason}; _magazines = getMagazineCargo _object;
_backpacks = getBackpackCargo _object;
if (Z_singleCurrency) then {_coins = _object getVariable ["cashMoney",0];};
_weapons = getWeaponCargo _object; [_objectID,_objectUID,_object] call server_deleteObjDirect;
_magazines = getMagazineCargo _object;
_backpacks = getBackpackCargo _object;
if (Z_singleCurrency) then {_coins = _object getVariable ["cashMoney",0];};
[_objectID,_objectUID,_object] call server_deleteObjDirect; _holder = _lockedClass createVehicle [0,0,0];
_holder setDir _dir;
_holder setVariable ["memDir",_dir,true];
_holder setVectorDirAndUp _vector;
_holder setPosATL _pos;
_holder setVariable ["CharacterID",_characterID,true];
_holder setVariable ["OEMPos",_pos,true];
_holder = _lockedClass createVehicle [0,0,0]; if (DZE_permanentPlot) then {
_holder setDir _dir; _ownerPUID = if (_charID == "0000" || _charID == "10000") then {_playerUID} else {_ownerID};
_holder setVariable ["memDir",_dir,true]; _worldSpace = [_dir,_pos,_ownerPUID,_vector];
_holder setVectorDirAndUp _vector; _holder setVariable ["ownerPUID",_ownerPUID,true];
_holder setPosATL _pos; } else {
_holder setVariable ["CharacterID",_characterID,true]; _worldSpace = [_dir,_pos];
_holder setVariable ["OEMPos",_pos,true];
if (DZE_permanentPlot) then {
_ownerPUID = if (_charID == "0000" || _charID == "10000") then {_playerUID} else {_ownerID};
_worldSpace = [_dir,_pos,_ownerPUID,_vector];
_holder setVariable ["ownerPUID",_ownerPUID,true];
} else {
_worldSpace = [_dir,_pos];
};
if (Z_singleCurrency) then {_holder setVariable ["cashMoney",_coins,true];};
_objectUID = _worldSpace call dayz_objectUID2;
_holder setVariable ["ObjectUID",_objectUID,true];
deleteVehicle _object;
_inventory = [_weapons,_magazines,_backpacks];
_holder setVariable ["WeaponCargo",_weapons,false];
_holder setVariable ["MagazineCargo",_magazines,false];
_holder setVariable ["BackpackCargo",_backpacks,false];
[_characterID,_holder,_worldSpace,_inventory,_player,_clientKey] call server_publishObj;
if (Z_singleCurrency) then {
_key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":" + str _coins + ":";
_key call server_hiveWrite;
};
_message = format ["CHANGE CODE: %1 (%2) changed the code for %3 to %4 @%5 %6",_name,_playerUID,_lockedClass,_characterID,mapGridPosition _player,_pos];
diag_log _message;
}; };
if (Z_singleCurrency) then {_holder setVariable ["cashMoney",_coins,true];};
_objectUID = _worldSpace call dayz_objectUID2;
_holder setVariable ["ObjectUID",_objectUID,true];
deleteVehicle _object;
_inventory = [_weapons,_magazines,_backpacks];
_holder setVariable ["WeaponCargo",_weapons,false];
_holder setVariable ["MagazineCargo",_magazines,false];
_holder setVariable ["BackpackCargo",_backpacks,false];
[_characterID,_holder,_worldSpace,_inventory,_player,_clientKey] call server_publishObj;
if (Z_singleCurrency) then {
_key = format["CHILD:309:%1:",_objectUID] + str _inventory + ":" + str _coins + ":";
_key call server_hiveWrite;
};
_message = format ["CHANGE CODE: %1 (%2) changed the code for %3 to %4 @%5 %6",_name,_playerUID,_lockedClass,_characterID,mapGridPosition _player,_pos];
diag_log _message;

View File

@@ -21,6 +21,7 @@
"PVDZE_obj_Trade" addPublicVariableEventHandler {(_this select 1) spawn server_tradeObj}; //Logs trading "PVDZE_obj_Trade" addPublicVariableEventHandler {(_this select 1) spawn server_tradeObj}; //Logs trading
"PVDZE_plr_DeathB" addPublicVariableEventHandler {(_this select 1) spawn server_deaths}; "PVDZE_plr_DeathB" addPublicVariableEventHandler {(_this select 1) spawn server_deaths};
"PVDZE_handleSafeGear" addPublicVariableEventHandler {(_this select 1) call server_handleSafeGear}; "PVDZE_handleSafeGear" addPublicVariableEventHandler {(_this select 1) call server_handleSafeGear};
"SK_changeCode" addPublicVariableEventHandler {(_this select 1) call server_changeCode};
if (dayz_groupSystem) then { if (dayz_groupSystem) then {
"PVDZ_Server_UpdateGroup" addPublicVariableEventHandler {(_this select 1) spawn server_updateGroup}; "PVDZ_Server_UpdateGroup" addPublicVariableEventHandler {(_this select 1) spawn server_updateGroup};

View File

@@ -47,6 +47,7 @@ server_checkIfTowed = compile preprocessFileLineNumbers "\z\addons\dayz_server\c
server_handleSafeGear = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_handleSafeGear.sqf"; server_handleSafeGear = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_handleSafeGear.sqf";
server_spawnTraders = compile preprocessFile "\z\addons\dayz_server\compile\server_spawnTraders.sqf"; server_spawnTraders = compile preprocessFile "\z\addons\dayz_server\compile\server_spawnTraders.sqf";
server_updateGroup = compile preprocessFileLineNumbers "\z\addons\dayz_code\groups\server_updateGroup.sqf"; server_updateGroup = compile preprocessFileLineNumbers "\z\addons\dayz_code\groups\server_updateGroup.sqf";
server_changeCode = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_changeCode.sqf";
spawn_ammosupply = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_ammosupply.sqf"; spawn_ammosupply = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_ammosupply.sqf";
spawn_mineveins = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_mineveins.sqf"; spawn_mineveins = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\spawn_mineveins.sqf";
@@ -55,8 +56,6 @@ spawn_vehicles = compile preprocessFileLineNumbers "\z\addons\dayz_server\compil
fnc_veh_setFixServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_setFixServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles) fnc_veh_setFixServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_setFixServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)
call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_changeCode.sqf";
server_medicalSync = { server_medicalSync = {
local _player = _this select 0; local _player = _this select 0;
local _array = _this select 1; local _array = _this select 1;
@@ -236,4 +235,4 @@ array_reduceSize = {
// Precise base building 1.0.5 // Precise base building 1.0.5
call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\kk_functions.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\kk_functions.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_server\eventHandlers\server_eventHandler.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_server\eventHandlers\server_eventHandler.sqf";
#include "mission_check.sqf" #include "mission_check.sqf"