mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Re-arrange server_changeCode
This commit is contained in:
@@ -2,81 +2,77 @@
|
||||
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 = {
|
||||
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";};
|
||||
|
||||
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;
|
||||
_object = _this select 1;
|
||||
_characterID = _this select 2;
|
||||
_clientKey = _this select 3;
|
||||
_typeOf = typeOf _object;
|
||||
if !(_typeOf in DZE_unlockedStorage) exitWith {diag_log "server_changeCode called with invalid storage object!"};
|
||||
|
||||
_typeOf = typeOf _object;
|
||||
if !(_typeOf in DZE_unlockedStorage) exitWith {diag_log "server_changeCode called with invalid storage object!"};
|
||||
_lockedClass = getText (configFile >> "CfgVehicles" >> _typeOf >> "lockedClass");
|
||||
_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");
|
||||
_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;
|
||||
if (isNull _player) then {diag_log "ERROR: server_changeCode called with Null player object";};
|
||||
if (isNull _object) exitWith {diag_log format["ERROR: server_changeCode called with Null object by %1 (%2).",_name,_playerUID];};
|
||||
|
||||
if (isNull _player) then {diag_log "ERROR: server_changeCode called with Null player object";};
|
||||
if (isNull _object) exitWith {diag_log format["ERROR: server_changeCode called with Null object by %1 (%2).",_name,_playerUID];};
|
||||
_exitReason = [_this,"changeCode",_pos,_clientKey,_PlayerUID,_player] call server_verifySender;
|
||||
if (_exitReason != "") exitWith {diag_log _exitReason};
|
||||
|
||||
_exitReason = [_this,"changeCode",_pos,_clientKey,_PlayerUID,_player] call server_verifySender;
|
||||
if (_exitReason != "") exitWith {diag_log _exitReason};
|
||||
_weapons = getWeaponCargo _object;
|
||||
_magazines = getMagazineCargo _object;
|
||||
_backpacks = getBackpackCargo _object;
|
||||
if (Z_singleCurrency) then {_coins = _object getVariable ["cashMoney",0];};
|
||||
|
||||
_weapons = getWeaponCargo _object;
|
||||
_magazines = getMagazineCargo _object;
|
||||
_backpacks = getBackpackCargo _object;
|
||||
if (Z_singleCurrency) then {_coins = _object getVariable ["cashMoney",0];};
|
||||
[_objectID,_objectUID,_object] call server_deleteObjDirect;
|
||||
|
||||
[_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];
|
||||
_holder setDir _dir;
|
||||
_holder setVariable ["memDir",_dir,true];
|
||||
_holder setVectorDirAndUp _vector;
|
||||
_holder setPosATL _pos;
|
||||
_holder setVariable ["CharacterID",_characterID,true];
|
||||
_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 (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;
|
||||
@@ -21,6 +21,7 @@
|
||||
"PVDZE_obj_Trade" addPublicVariableEventHandler {(_this select 1) spawn server_tradeObj}; //Logs trading
|
||||
"PVDZE_plr_DeathB" addPublicVariableEventHandler {(_this select 1) spawn server_deaths};
|
||||
"PVDZE_handleSafeGear" addPublicVariableEventHandler {(_this select 1) call server_handleSafeGear};
|
||||
"SK_changeCode" addPublicVariableEventHandler {(_this select 1) call server_changeCode};
|
||||
|
||||
if (dayz_groupSystem) then {
|
||||
"PVDZ_Server_UpdateGroup" addPublicVariableEventHandler {(_this select 1) spawn server_updateGroup};
|
||||
|
||||
@@ -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_spawnTraders = compile preprocessFile "\z\addons\dayz_server\compile\server_spawnTraders.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_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)
|
||||
|
||||
call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_changeCode.sqf";
|
||||
|
||||
server_medicalSync = {
|
||||
local _player = _this select 0;
|
||||
local _array = _this select 1;
|
||||
@@ -236,4 +235,4 @@ array_reduceSize = {
|
||||
// Precise base building 1.0.5
|
||||
call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\kk_functions.sqf";
|
||||
call compile preprocessFileLineNumbers "\z\addons\dayz_server\eventHandlers\server_eventHandler.sqf";
|
||||
#include "mission_check.sqf"
|
||||
#include "mission_check.sqf"
|
||||
|
||||
Reference in New Issue
Block a user