Hello,
I am currently working on a method to make it possible for admins (or maybe even donators) to spawn in the skin of their choice.
But I've run into a wall here. I get weird errors that make no sense whatsoever.
private ["_isInfected","_doLoop","_hiveVer","_isHiveOk","_playerID","_playerObj","_primary","_key","_charID","_playerName","_backpack","_isNew","_inventory","_survival","_model","_mags","_wpns","_bcpk","_config","_newPlayer"];
AdminNewspawn = ["10419590","94149318"];
_playerID = _this select 0;
_playerObj = _this select 1;
_playerName = name _playerObj;
if (_playerName == '__SERVER__' || _playerID == '' || local player) exitWith {};
if (isNil "sm_done") exitWith {diag_log ("Login cancelled, server is not ready. " + str(_playerObj));};
if (count _this > 2) then {dayz_players = dayz_players - [_this select 2];};
//Variables
_inventory = [];
_backpack = [];
_survival = [0,0,0];
_isInfected = 0;
_model = "";
if (_playerID == "") then {_playerID = getPlayerUID _playerObj;};
if ((_playerID == "") || (isNil "_playerID")) exitWith {diag_log ("LOGIN FAILED: Player [" + _playerName + "] has no login ID");};
diag_log ("LOGIN ATTEMPT: " + str(_playerID) + " " + _playerName);
//Do Connection Attempt
_doLoop = 0;
while {_doLoop < 5} do {
_key = format["CHILD:101:%1:%2:%3:",_playerID,dayZ_instance,_playerName];
_primary = _key call server_hiveReadWrite;
if (count _primary > 0) then {
if ((_primary select 0) != "ERROR") then {
_doLoop = 9;
};
};
_doLoop = _doLoop + 1;
};
if (isNull _playerObj || !isPlayer _playerObj) exitWith {diag_log ("LOGIN RESULT: Exiting, player object null: " + str(_playerObj));};
if ((_primary select 0) == "ERROR") exitWith {diag_log format ["LOGIN RESULT: Exiting, failed to load _primary: %1 for player: %2 ",_primary,_playerID];};
//Process request
_newPlayer = _primary select 1;
_isNew = count _primary < 7; //_result select 1;
_charID = _primary select 2;
#ifdef DZE_SERVER_DEBUG
diag_log ("LOGIN RESULT: " + str(_primary));
#endif
/* PROCESS */
_hiveVer = 0;
if (!_isNew) then {
//RETURNING CHARACTER
_inventory = _primary select 4;
_backpack = _primary select 5;
_survival = _primary select 6;
_model = _primary select 7;
_hiveVer = _primary select 8;
if (!(_model in AllPlayers)) then {_model = "Survivor2_DZ";};
} else {
if (DZE_PlayerZed) then {
_isInfected = _primary select 3;
} else {
_isInfected = 0;
};
_model = _primary select 4;
_hiveVer = _primary select 5;
if (isNil "_model") then {
_model = "Survivor2_DZ";
} else {
if (_model == "") then {
_model = "Survivor2_DZ";
};
};
//Record initial inventory only if not player zombie
if(_isInfected != 1) then {
_config = (configFile >> "CfgSurvival" >> "Inventory" >> "Default");
_mags = getArray (_config >> "magazines");
_wpns = getArray (_config >> "weapons");
_bcpk = getText (_config >> "backpack");
if(!isNil "DefaultMagazines") then {_mags = DefaultMagazines;};
if(!isNil "DefaultWeapons") then {_wpns = DefaultWeapons;};
if(!isNil "DefaultBackpack") then {_bcpk = DefaultBackpack;};
//_randomSpot = true;
//Wait for HIVE to be free
_key = format["CHILD:203:%1:%2:%3:",_charID,[_wpns,_mags],[_bcpk,[],[]]];
_key call server_hiveWrite;
};
};
//diag_log ("LOGIN LOADED: " + str(_playerObj) + " Type: " + (typeOf _playerObj) + " at location: " + (getPosATL _playerObj));
_isHiveOk = false;
if (_hiveVer >= dayz_hiveVersionNo) then {_isHiveOk = true;};
if (worldName == "chernarus") then {([4654,9595,0] nearestObject 145259) setDamage 1;([4654,9595,0] nearestObject 145260) setDamage 1;};
if ((getPlayerUID player) in AdminNewspawn) then {
if ((_model = "Survivor2_DZ") && (_playerID = "10419590")) then {_model = "BAF_Soldier_Officer_MTP";};
if ((_model = "Survivor2_DZ") && (_playerID = "94149318")) then {_model = "UN_CDF_Soldier_Officer_EP1";};
};
dayzPlayerLogin = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected];
(owner _playerObj) publicVariableClient "dayzPlayerLogin";
Down in line #83"if (_playerID in AdminNewspawn) then {" , the RPT file gives out an error stating expression error its apparently missing an ")" though the if-statement is just as it should be.
I was able to make Adminloadouts using the same method without ANY errors.
Would be much apprechiated if someone could test this on their server, and see if it happens to produce an error.
Question
VentZer0
Hello,
I am currently working on a method to make it possible for admins (or maybe even donators) to spawn in the skin of their choice.
But I've run into a wall here. I get weird errors that make no sense whatsoever.
Down in line #83 "if (_playerID in AdminNewspawn) then {" , the RPT file gives out an error stating expression error its apparently missing an ")" though the if-statement is just as it should be.
I was able to make Adminloadouts using the same method without ANY errors.
Would be much apprechiated if someone could test this on their server, and see if it happens to produce an error.
Link to comment
Share on other sites
25 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now