Jump to content

[PROJECT] Gold Coin based Single Currency & Banking System


Recommended Posts

For some reason this isn't working with Enhanced Spawn Selection http://opendayz.net/threads/release-ess-enhanced-spawn-selection.19998/

 

I'm pretty sure it is something to do with the server_playerSetup.sqf

 

Anyways If you had that mod installed before you installed this mod it will make it so the bank scroll wheel option will not show up when you are near the bank.

 

I switched out my server_playerSetup.sqf with the supplyed one from this thread and now banking works :D But the Enhanced spawn selection doesn't, it just spawns me in a normal place with the normal class

Link to comment
Share on other sites

I would like to take this time and ask a moderator to create a forum category in ArmA 2 DayZ Mod: Epoch - Custom Scripting called "Single Currency Project" - or something similar as this has now become a large epochmod community project with several questions and support needed.

 

One forum post is not enough :P 

 

Thanks for your time.

Link to comment
Share on other sites

For some reason this isn't working with Enhanced Spawn Selection http://opendayz.net/threads/release-ess-enhanced-spawn-selection.19998/

 

I'm pretty sure it is something to do with the server_playerSetup.sqf

 

Anyways If you had that mod installed before you installed this mod it will make it so the bank scroll wheel option will not show up when you are near the bank.

 

I switched out my server_playerSetup.sqf with the supplyed one from this thread and now banking works :D But the Enhanced spawn selection doesn't, it just spawns me in a normal place with the normal class

 

Replace your server_playerSetup.sqf with 

 

For Chenarus

private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC","_namespace"];
 
//diag_log ("SETUP: attempted with " + str(_this));
 
_characterID = _this select 0;
_playerObj = _this select 1;
_playerID = getPlayerUID _playerObj;
 
if (isNull _playerObj) exitWith {
diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj));
};
 
//Add MPHit event handler
// diag_log("Adding MPHit EH for " + str(_playerObj));
_playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}];
 
if (_playerID == "") then {
_playerID = getPlayerUID _playerObj;
};
 
if (_playerID == "") exitWith {
diag_log ("SETUP INIT FAILED: Exiting, no player ID: " + str(_playerObj));
};
 
private["_dummy"];
_dummy = getPlayerUID _playerObj;
if ( _playerID != _dummy ) then { 
diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID]; 
_playerID = _dummy;
};
 
//Variables
_worldspace = [];
 
_state = [];
 
//Do Connection Attempt
_doLoop = 0;
while {_doLoop < 5} do {
_key = format["CHILD:102:%1:",_characterID];
_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 ("SETUP RESULT: Exiting, player object null: " + str(_playerObj));
};
 
//Wait for HIVE to be free
//diag_log ("SETUP: RESULT: Successful with " + str(_primary));
 
_medical = _primary select 1;
_stats = _primary select 2;
_state = _primary select 3;
_worldspace = _primary select 4;
_humanity = _primary select 5;
_lastinstance = _primary select 6;
 
//Set position
_randomSpot = false;
 
if (count _worldspace > 0) then {
 
_position = _worldspace select 1;
if (count _position < 3) then {
//prevent debug world!
_randomSpot = true;
};
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _position;
if (_distance < 2000) then {
_randomSpot = true;
};
 
_distance = [0,0,0] distance _position;
if (_distance < 500) then {
_randomSpot = true;
};
 
// Came from another server force random spawn
if (_lastinstance != dayZ_instance) then {
_randomSpot = true;
};
 
//_playerObj setPosATL _position;
} else {
_randomSpot = true;
};
 
//diag_log ("LOGIN: Location: " + str(_worldspace) + " doRnd?: " + str(_randomSpot));
 
//set medical values
if (count _medical > 0) then {
_playerObj setVariable["USEC_isDead",(_medical select 0),true];
_playerObj setVariable["NORRN_unconscious", (_medical select 1), true];
_playerObj setVariable["USEC_infected",(_medical select 2),true];
_playerObj setVariable["USEC_injured",(_medical select 3),true];
_playerObj setVariable["USEC_inPain",(_medical select 4),true];
_playerObj setVariable["USEC_isCardiac",(_medical select 5),true];
_playerObj setVariable["USEC_lowBlood",(_medical select 6),true];
_playerObj setVariable["USEC_BloodQty",(_medical select 7),true];
_playerObj setVariable["unconsciousTime",(_medical select 10),true];
 
//Add Wounds
{
_playerObj setVariable[_x,true,true];
//["usecBleed",[_playerObj,_x,_hit]] call broadcastRpcCallAll;
usecBleed = [_playerObj,_x,_hit];
publicVariable "usecBleed";
} count (_medical select 8);
 
//Add fractures
_fractures = (_medical select 9);
_playerObj setVariable ["hit_legs",(_fractures select 0),true];
_playerObj setVariable ["hit_hands",(_fractures select 1),true];
 
if (count _medical > 11) then {
//Additional medical stats
_playerObj setVariable ["messing",(_medical select 11),true];
};
 
} else {
//Reset Fractures
_playerObj setVariable ["hit_legs",0,true];
_playerObj setVariable ["hit_hands",0,true];
_playerObj setVariable ["USEC_injured",false,true];
_playerObj setVariable ["USEC_inPain",false,true];
_playerObj setVariable ["messing",[0,0],true];
};
 
if (count _stats > 0) then {
//register stats
_playerObj setVariable["zombieKills",(_stats select 0),true];
_playerObj setVariable["headShots",(_stats select 1),true];
_playerObj setVariable["humanKills",(_stats select 2),true];
_playerObj setVariable["banditKills",(_stats select 3),true];
_playerObj addScore (_stats select 1);
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable["AsReMixhud", true,true];
 
 
//Save Score
_score = score _playerObj;
_playerObj addScore ((_stats select 0) - _score);
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",(_stats select 0)];
_playerObj setVariable["headShots_CHK",(_stats select 1)];
_playerObj setVariable["humanKills_CHK",(_stats select 2)];
_playerObj setVariable["banditKills_CHK",(_stats select 3)];
if (count _stats > 4) then {
if (!(_stats select 3)) then {
_playerObj setVariable["selectSex",true,true];
};
} else {
_playerObj setVariable["selectSex",true,true];
};
} else {
//Save initial loadout
//register stats
_playerObj setVariable["zombieKills",0,true];
_playerObj setVariable["humanKills",0,true];
_playerObj setVariable["banditKills",0,true];
_playerObj setVariable["headShots",0,true];
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable ["friendlies",[],true];
_playerObj setVariable["AsReMixhud", true,true];
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",0,true];
_playerObj setVariable["humanKills_CHK",0,true];
_playerObj setVariable["banditKills_CHK",0,true];
_playerObj setVariable["headShots_CHK",0,true];
};
 
if (_randomSpot) then {
        if (!isDedicated) then {
                endLoadingScreen;
        };
        if(isnil "spawnArea") then {
                spawnArea = 1500;
        };
        if(isnil "spawnShoremode") then {
                spawnShoremode = 1;
        };
        _worldspace = [0,[-7245.377,19535.367,0]];
};
 
//Record player for management
dayz_players set [count dayz_players,_playerObj];
 
//record player pos locally for server checking
_playerObj setVariable["CharacterID",_characterID,true];
_playerObj setVariable["humanity",_humanity,true];
_playerObj setVariable["humanity_CHK",_humanity];
//_playerObj setVariable["worldspace",_worldspace,true];
//_playerObj setVariable["state",_state,true];
_playerObj setVariable["lastPos",getPosATL _playerObj];
 
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
 
// PVDZE_obj_Debris = DZE_LocalRoadBlocks;
_clientID = owner _playerObj;
if (!isNull _playerObj) then {
_clientID publicVariableClient "dayzPlayerLogin2";
 
if (isNil "PVDZE_plr_SetDate") then {
call server_timeSync;
};
_clientID publicVariableClient "PVDZE_plr_SetDate";
};
//record time started
_playerObj setVariable ["lastTime",time];
//_playerObj setVariable ["model_CHK",typeOf _playerObj];
 
// ------------ ZUPA - Single Currency - Get Bank Value ----------------
 
_playerIDzupa = getPlayerUID _playerObj;
_bankingstart = 0;
if(_playerIDzupa != "")then{
_key = format["CHILD:999:SELECT `PlayerMorality` FROM `player_data` WHERE `PlayerUID` = '%1':[0]:",_playerIDzupa];
_result = _key call server_hiveReadWrite;
_status    = _result select 0;            // get the status of the result
if (_status == "CustomStreamStart") then {    //check if the stream coming from the hive was opened
_val = _result select 1;                  // get the number of entries that will be coming in the stream
if(_val > 0) then {
_result = _key call server_hiveReadWrite;
_bankingstart = _result select 0;
};
};
_playerObj setVariable["bank",_bankingstart,true];
};
 
// ------------ ZUPA - END  ----------------
 
//diag_log ("LOGIN PUBLISHING: " + str(_playerObj) + " Type: " + (typeOf _playerObj));
 
PVDZE_plr_Login = nil;
PVDZE_plr_Login2 = nil;

 
For Napf

private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC","_namespace"];
 
//diag_log ("SETUP: attempted with " + str(_this));
 
_characterID = _this select 0;
_playerObj = _this select 1;
_playerID = getPlayerUID _playerObj;
 
if (isNull _playerObj) exitWith {
diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj));
};
 
//Add MPHit event handler
// diag_log("Adding MPHit EH for " + str(_playerObj));
_playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}];
 
if (_playerID == "") then {
_playerID = getPlayerUID _playerObj;
};
 
if (_playerID == "") exitWith {
diag_log ("SETUP INIT FAILED: Exiting, no player ID: " + str(_playerObj));
};
 
private["_dummy"];
_dummy = getPlayerUID _playerObj;
if ( _playerID != _dummy ) then { 
diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID]; 
_playerID = _dummy;
};
 
//Variables
_worldspace = [];
 
_state = [];
 
//Do Connection Attempt
_doLoop = 0;
while {_doLoop < 5} do {
_key = format["CHILD:102:%1:",_characterID];
_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 ("SETUP RESULT: Exiting, player object null: " + str(_playerObj));
};
 
//Wait for HIVE to be free
//diag_log ("SETUP: RESULT: Successful with " + str(_primary));
 
_medical = _primary select 1;
_stats = _primary select 2;
_state = _primary select 3;
_worldspace = _primary select 4;
_humanity = _primary select 5;
_lastinstance = _primary select 6;
 
//Set position
_randomSpot = false;
 
if (count _worldspace > 0) then {
 
_position = _worldspace select 1;
if (count _position < 3) then {
//prevent debug world!
_randomSpot = true;
};
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _position;
if (_distance < 2000) then {
_randomSpot = true;
};
 
_distance = [0,0,0] distance _position;
if (_distance < 500) then {
_randomSpot = true;
};
 
// Came from another server force random spawn
if (_lastinstance != dayZ_instance) then {
_randomSpot = true;
};
 
//_playerObj setPosATL _position;
} else {
_randomSpot = true;
};
 
//diag_log ("LOGIN: Location: " + str(_worldspace) + " doRnd?: " + str(_randomSpot));
 
//set medical values
if (count _medical > 0) then {
_playerObj setVariable["USEC_isDead",(_medical select 0),true];
_playerObj setVariable["NORRN_unconscious", (_medical select 1), true];
_playerObj setVariable["USEC_infected",(_medical select 2),true];
_playerObj setVariable["USEC_injured",(_medical select 3),true];
_playerObj setVariable["USEC_inPain",(_medical select 4),true];
_playerObj setVariable["USEC_isCardiac",(_medical select 5),true];
_playerObj setVariable["USEC_lowBlood",(_medical select 6),true];
_playerObj setVariable["USEC_BloodQty",(_medical select 7),true];
_playerObj setVariable["unconsciousTime",(_medical select 10),true];
 
//Add Wounds
{
_playerObj setVariable[_x,true,true];
//["usecBleed",[_playerObj,_x,_hit]] call broadcastRpcCallAll;
usecBleed = [_playerObj,_x,_hit];
publicVariable "usecBleed";
} count (_medical select 8);
 
//Add fractures
_fractures = (_medical select 9);
_playerObj setVariable ["hit_legs",(_fractures select 0),true];
_playerObj setVariable ["hit_hands",(_fractures select 1),true];
 
if (count _medical > 11) then {
//Additional medical stats
_playerObj setVariable ["messing",(_medical select 11),true];
};
 
} else {
//Reset Fractures
_playerObj setVariable ["hit_legs",0,true];
_playerObj setVariable ["hit_hands",0,true];
_playerObj setVariable ["USEC_injured",false,true];
_playerObj setVariable ["USEC_inPain",false,true];
_playerObj setVariable ["messing",[0,0],true];
};
 
if (count _stats > 0) then {
//register stats
_playerObj setVariable["zombieKills",(_stats select 0),true];
_playerObj setVariable["headShots",(_stats select 1),true];
_playerObj setVariable["humanKills",(_stats select 2),true];
_playerObj setVariable["banditKills",(_stats select 3),true];
_playerObj addScore (_stats select 1);
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable["AsReMixhud", true,true];
 
 
//Save Score
_score = score _playerObj;
_playerObj addScore ((_stats select 0) - _score);
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",(_stats select 0)];
_playerObj setVariable["headShots_CHK",(_stats select 1)];
_playerObj setVariable["humanKills_CHK",(_stats select 2)];
_playerObj setVariable["banditKills_CHK",(_stats select 3)];
if (count _stats > 4) then {
if (!(_stats select 3)) then {
_playerObj setVariable["selectSex",true,true];
};
} else {
_playerObj setVariable["selectSex",true,true];
};
} else {
//Save initial loadout
//register stats
_playerObj setVariable["zombieKills",0,true];
_playerObj setVariable["humanKills",0,true];
_playerObj setVariable["banditKills",0,true];
_playerObj setVariable["headShots",0,true];
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable ["friendlies",[],true];
_playerObj setVariable["AsReMixhud", true,true];
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",0,true];
_playerObj setVariable["humanKills_CHK",0,true];
_playerObj setVariable["banditKills_CHK",0,true];
_playerObj setVariable["headShots_CHK",0,true];
};
 
if (_randomSpot) then {
        if (!isDedicated) then {
                endLoadingScreen;
        };
        if(isnil "spawnArea") then {
                spawnArea = 1500;
        };
        if(isnil "spawnShoremode") then {
                spawnShoremode = 1;
        };
        _worldspace = [0,[10153.301,-4593.061,0]];
};
};
 
//Record player for management
dayz_players set [count dayz_players,_playerObj];
 
//record player pos locally for server checking
_playerObj setVariable["CharacterID",_characterID,true];
_playerObj setVariable["humanity",_humanity,true];
_playerObj setVariable["humanity_CHK",_humanity];
//_playerObj setVariable["worldspace",_worldspace,true];
//_playerObj setVariable["state",_state,true];
_playerObj setVariable["lastPos",getPosATL _playerObj];
 
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
 
// PVDZE_obj_Debris = DZE_LocalRoadBlocks;
_clientID = owner _playerObj;
if (!isNull _playerObj) then {
_clientID publicVariableClient "dayzPlayerLogin2";
 
if (isNil "PVDZE_plr_SetDate") then {
call server_timeSync;
};
_clientID publicVariableClient "PVDZE_plr_SetDate";
};
//record time started
_playerObj setVariable ["lastTime",time];
//_playerObj setVariable ["model_CHK",typeOf _playerObj];
 
// ------------ ZUPA - Single Currency - Get Bank Value ----------------
 
_playerIDzupa = getPlayerUID _playerObj;
_bankingstart = 0;
if(_playerIDzupa != "")then{
_key = format["CHILD:999:SELECT `PlayerMorality` FROM `player_data` WHERE `PlayerUID` = '%1':[0]:",_playerIDzupa];
_result = _key call server_hiveReadWrite;
_status    = _result select 0;            // get the status of the result
if (_status == "CustomStreamStart") then {    //check if the stream coming from the hive was opened
_val = _result select 1;                  // get the number of entries that will be coming in the stream
if(_val > 0) then {
_result = _key call server_hiveReadWrite;
_bankingstart = _result select 0;
};
};
_playerObj setVariable["bank",_bankingstart,true];
};
 
// ------------ ZUPA - END  ----------------
 
//diag_log ("LOGIN PUBLISHING: " + str(_playerObj) + " Type: " + (typeOf _playerObj));
 
PVDZE_plr_Login = nil;
PVDZE_plr_Login2 = nil;

Link to comment
Share on other sites

 

Replace your server_playerSetup.sqf with 

 

For Chenarus

private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC","_namespace"];
 
//diag_log ("SETUP: attempted with " + str(_this));
 
_characterID = _this select 0;
_playerObj = _this select 1;
_playerID = getPlayerUID _playerObj;
 
if (isNull _playerObj) exitWith {
diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj));
};
 
//Add MPHit event handler
// diag_log("Adding MPHit EH for " + str(_playerObj));
_playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}];
 
if (_playerID == "") then {
_playerID = getPlayerUID _playerObj;
};
 
if (_playerID == "") exitWith {
diag_log ("SETUP INIT FAILED: Exiting, no player ID: " + str(_playerObj));
};
 
private["_dummy"];
_dummy = getPlayerUID _playerObj;
if ( _playerID != _dummy ) then { 
diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID]; 
_playerID = _dummy;
};
 
//Variables
_worldspace = [];
 
_state = [];
 
//Do Connection Attempt
_doLoop = 0;
while {_doLoop < 5} do {
_key = format["CHILD:102:%1:",_characterID];
_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 ("SETUP RESULT: Exiting, player object null: " + str(_playerObj));
};
 
//Wait for HIVE to be free
//diag_log ("SETUP: RESULT: Successful with " + str(_primary));
 
_medical = _primary select 1;
_stats = _primary select 2;
_state = _primary select 3;
_worldspace = _primary select 4;
_humanity = _primary select 5;
_lastinstance = _primary select 6;
 
//Set position
_randomSpot = false;
 
if (count _worldspace > 0) then {
 
_position = _worldspace select 1;
if (count _position < 3) then {
//prevent debug world!
_randomSpot = true;
};
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _position;
if (_distance < 2000) then {
_randomSpot = true;
};
 
_distance = [0,0,0] distance _position;
if (_distance < 500) then {
_randomSpot = true;
};
 
// Came from another server force random spawn
if (_lastinstance != dayZ_instance) then {
_randomSpot = true;
};
 
//_playerObj setPosATL _position;
} else {
_randomSpot = true;
};
 
//diag_log ("LOGIN: Location: " + str(_worldspace) + " doRnd?: " + str(_randomSpot));
 
//set medical values
if (count _medical > 0) then {
_playerObj setVariable["USEC_isDead",(_medical select 0),true];
_playerObj setVariable["NORRN_unconscious", (_medical select 1), true];
_playerObj setVariable["USEC_infected",(_medical select 2),true];
_playerObj setVariable["USEC_injured",(_medical select 3),true];
_playerObj setVariable["USEC_inPain",(_medical select 4),true];
_playerObj setVariable["USEC_isCardiac",(_medical select 5),true];
_playerObj setVariable["USEC_lowBlood",(_medical select 6),true];
_playerObj setVariable["USEC_BloodQty",(_medical select 7),true];
_playerObj setVariable["unconsciousTime",(_medical select 10),true];
 
//Add Wounds
{
_playerObj setVariable[_x,true,true];
//["usecBleed",[_playerObj,_x,_hit]] call broadcastRpcCallAll;
usecBleed = [_playerObj,_x,_hit];
publicVariable "usecBleed";
} count (_medical select 8);
 
//Add fractures
_fractures = (_medical select 9);
_playerObj setVariable ["hit_legs",(_fractures select 0),true];
_playerObj setVariable ["hit_hands",(_fractures select 1),true];
 
if (count _medical > 11) then {
//Additional medical stats
_playerObj setVariable ["messing",(_medical select 11),true];
};
 
} else {
//Reset Fractures
_playerObj setVariable ["hit_legs",0,true];
_playerObj setVariable ["hit_hands",0,true];
_playerObj setVariable ["USEC_injured",false,true];
_playerObj setVariable ["USEC_inPain",false,true];
_playerObj setVariable ["messing",[0,0],true];
};
 
if (count _stats > 0) then {
//register stats
_playerObj setVariable["zombieKills",(_stats select 0),true];
_playerObj setVariable["headShots",(_stats select 1),true];
_playerObj setVariable["humanKills",(_stats select 2),true];
_playerObj setVariable["banditKills",(_stats select 3),true];
_playerObj addScore (_stats select 1);
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable["AsReMixhud", true,true];
 
 
//Save Score
_score = score _playerObj;
_playerObj addScore ((_stats select 0) - _score);
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",(_stats select 0)];
_playerObj setVariable["headShots_CHK",(_stats select 1)];
_playerObj setVariable["humanKills_CHK",(_stats select 2)];
_playerObj setVariable["banditKills_CHK",(_stats select 3)];
if (count _stats > 4) then {
if (!(_stats select 3)) then {
_playerObj setVariable["selectSex",true,true];
};
} else {
_playerObj setVariable["selectSex",true,true];
};
} else {
//Save initial loadout
//register stats
_playerObj setVariable["zombieKills",0,true];
_playerObj setVariable["humanKills",0,true];
_playerObj setVariable["banditKills",0,true];
_playerObj setVariable["headShots",0,true];
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable ["friendlies",[],true];
_playerObj setVariable["AsReMixhud", true,true];
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",0,true];
_playerObj setVariable["humanKills_CHK",0,true];
_playerObj setVariable["banditKills_CHK",0,true];
_playerObj setVariable["headShots_CHK",0,true];
};
 
if (_randomSpot) then {
        if (!isDedicated) then {
                endLoadingScreen;
        };
        if(isnil "spawnArea") then {
                spawnArea = 1500;
        };
        if(isnil "spawnShoremode") then {
                spawnShoremode = 1;
        };
        _worldspace = [0,[-7245.377,19535.367,0]];
};
 
//Record player for management
dayz_players set [count dayz_players,_playerObj];
 
//record player pos locally for server checking
_playerObj setVariable["CharacterID",_characterID,true];
_playerObj setVariable["humanity",_humanity,true];
_playerObj setVariable["humanity_CHK",_humanity];
//_playerObj setVariable["worldspace",_worldspace,true];
//_playerObj setVariable["state",_state,true];
_playerObj setVariable["lastPos",getPosATL _playerObj];
 
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
 
// PVDZE_obj_Debris = DZE_LocalRoadBlocks;
_clientID = owner _playerObj;
if (!isNull _playerObj) then {
_clientID publicVariableClient "dayzPlayerLogin2";
 
if (isNil "PVDZE_plr_SetDate") then {
call server_timeSync;
};
_clientID publicVariableClient "PVDZE_plr_SetDate";
};
//record time started
_playerObj setVariable ["lastTime",time];
//_playerObj setVariable ["model_CHK",typeOf _playerObj];
 
// ------------ ZUPA - Single Currency - Get Bank Value ----------------
 
_playerIDzupa = getPlayerUID _playerObj;
_bankingstart = 0;
if(_playerIDzupa != "")then{
_key = format["CHILD:999:SELECT `PlayerMorality` FROM `player_data` WHERE `PlayerUID` = '%1':[0]:",_playerIDzupa];
_result = _key call server_hiveReadWrite;
_status    = _result select 0;            // get the status of the result
if (_status == "CustomStreamStart") then {    //check if the stream coming from the hive was opened
_val = _result select 1;                  // get the number of entries that will be coming in the stream
if(_val > 0) then {
_result = _key call server_hiveReadWrite;
_bankingstart = _result select 0;
};
};
_playerObj setVariable["bank",_bankingstart,true];
};
 
// ------------ ZUPA - END  ----------------
 
//diag_log ("LOGIN PUBLISHING: " + str(_playerObj) + " Type: " + (typeOf _playerObj));
 
PVDZE_plr_Login = nil;
PVDZE_plr_Login2 = nil;

 
For Napf

private ["_characterID","_playerObj","_playerID","_dummy","_worldspace","_state","_doLoop","_key","_primary","_medical","_stats","_humanity","_lastinstance","_friendlies","_randomSpot","_position","_debug","_distance","_hit","_fractures","_score","_findSpot","_pos","_isIsland","_w","_clientID","_spawnMC","_namespace"];
 
//diag_log ("SETUP: attempted with " + str(_this));
 
_characterID = _this select 0;
_playerObj = _this select 1;
_playerID = getPlayerUID _playerObj;
 
if (isNull _playerObj) exitWith {
diag_log ("SETUP INIT FAILED: Exiting, player object null: " + str(_playerObj));
};
 
//Add MPHit event handler
// diag_log("Adding MPHit EH for " + str(_playerObj));
_playerObj addMPEventHandler ["MPHit", {_this spawn fnc_plyrHit;}];
 
if (_playerID == "") then {
_playerID = getPlayerUID _playerObj;
};
 
if (_playerID == "") exitWith {
diag_log ("SETUP INIT FAILED: Exiting, no player ID: " + str(_playerObj));
};
 
private["_dummy"];
_dummy = getPlayerUID _playerObj;
if ( _playerID != _dummy ) then { 
diag_log format["DEBUG: _playerID miscompare with UID! _playerID:%1",_playerID]; 
_playerID = _dummy;
};
 
//Variables
_worldspace = [];
 
_state = [];
 
//Do Connection Attempt
_doLoop = 0;
while {_doLoop < 5} do {
_key = format["CHILD:102:%1:",_characterID];
_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 ("SETUP RESULT: Exiting, player object null: " + str(_playerObj));
};
 
//Wait for HIVE to be free
//diag_log ("SETUP: RESULT: Successful with " + str(_primary));
 
_medical = _primary select 1;
_stats = _primary select 2;
_state = _primary select 3;
_worldspace = _primary select 4;
_humanity = _primary select 5;
_lastinstance = _primary select 6;
 
//Set position
_randomSpot = false;
 
if (count _worldspace > 0) then {
 
_position = _worldspace select 1;
if (count _position < 3) then {
//prevent debug world!
_randomSpot = true;
};
_debug = getMarkerpos "respawn_west";
_distance = _debug distance _position;
if (_distance < 2000) then {
_randomSpot = true;
};
 
_distance = [0,0,0] distance _position;
if (_distance < 500) then {
_randomSpot = true;
};
 
// Came from another server force random spawn
if (_lastinstance != dayZ_instance) then {
_randomSpot = true;
};
 
//_playerObj setPosATL _position;
} else {
_randomSpot = true;
};
 
//diag_log ("LOGIN: Location: " + str(_worldspace) + " doRnd?: " + str(_randomSpot));
 
//set medical values
if (count _medical > 0) then {
_playerObj setVariable["USEC_isDead",(_medical select 0),true];
_playerObj setVariable["NORRN_unconscious", (_medical select 1), true];
_playerObj setVariable["USEC_infected",(_medical select 2),true];
_playerObj setVariable["USEC_injured",(_medical select 3),true];
_playerObj setVariable["USEC_inPain",(_medical select 4),true];
_playerObj setVariable["USEC_isCardiac",(_medical select 5),true];
_playerObj setVariable["USEC_lowBlood",(_medical select 6),true];
_playerObj setVariable["USEC_BloodQty",(_medical select 7),true];
_playerObj setVariable["unconsciousTime",(_medical select 10),true];
 
//Add Wounds
{
_playerObj setVariable[_x,true,true];
//["usecBleed",[_playerObj,_x,_hit]] call broadcastRpcCallAll;
usecBleed = [_playerObj,_x,_hit];
publicVariable "usecBleed";
} count (_medical select 8);
 
//Add fractures
_fractures = (_medical select 9);
_playerObj setVariable ["hit_legs",(_fractures select 0),true];
_playerObj setVariable ["hit_hands",(_fractures select 1),true];
 
if (count _medical > 11) then {
//Additional medical stats
_playerObj setVariable ["messing",(_medical select 11),true];
};
 
} else {
//Reset Fractures
_playerObj setVariable ["hit_legs",0,true];
_playerObj setVariable ["hit_hands",0,true];
_playerObj setVariable ["USEC_injured",false,true];
_playerObj setVariable ["USEC_inPain",false,true];
_playerObj setVariable ["messing",[0,0],true];
};
 
if (count _stats > 0) then {
//register stats
_playerObj setVariable["zombieKills",(_stats select 0),true];
_playerObj setVariable["headShots",(_stats select 1),true];
_playerObj setVariable["humanKills",(_stats select 2),true];
_playerObj setVariable["banditKills",(_stats select 3),true];
_playerObj addScore (_stats select 1);
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable["AsReMixhud", true,true];
 
 
//Save Score
_score = score _playerObj;
_playerObj addScore ((_stats select 0) - _score);
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",(_stats select 0)];
_playerObj setVariable["headShots_CHK",(_stats select 1)];
_playerObj setVariable["humanKills_CHK",(_stats select 2)];
_playerObj setVariable["banditKills_CHK",(_stats select 3)];
if (count _stats > 4) then {
if (!(_stats select 3)) then {
_playerObj setVariable["selectSex",true,true];
};
} else {
_playerObj setVariable["selectSex",true,true];
};
} else {
//Save initial loadout
//register stats
_playerObj setVariable["zombieKills",0,true];
_playerObj setVariable["humanKills",0,true];
_playerObj setVariable["banditKills",0,true];
_playerObj setVariable["headShots",0,true];
_playerObj setVariable ["moneychanged",0,true];
_playerObj setVariable ["bankchanged",0,true];
_playerObj setVariable ["friendlies",[],true];
_playerObj setVariable["AsReMixhud", true,true];
 
//record for Server JIP checks
_playerObj setVariable["zombieKills_CHK",0,true];
_playerObj setVariable["humanKills_CHK",0,true];
_playerObj setVariable["banditKills_CHK",0,true];
_playerObj setVariable["headShots_CHK",0,true];
};
 
if (_randomSpot) then {
        if (!isDedicated) then {
                endLoadingScreen;
        };
        if(isnil "spawnArea") then {
                spawnArea = 1500;
        };
        if(isnil "spawnShoremode") then {
                spawnShoremode = 1;
        };
        _worldspace = [0,[10153.301,-4593.061,0]];
};
};
 
//Record player for management
dayz_players set [count dayz_players,_playerObj];
 
//record player pos locally for server checking
_playerObj setVariable["CharacterID",_characterID,true];
_playerObj setVariable["humanity",_humanity,true];
_playerObj setVariable["humanity_CHK",_humanity];
//_playerObj setVariable["worldspace",_worldspace,true];
//_playerObj setVariable["state",_state,true];
_playerObj setVariable["lastPos",getPosATL _playerObj];
 
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
 
// PVDZE_obj_Debris = DZE_LocalRoadBlocks;
_clientID = owner _playerObj;
if (!isNull _playerObj) then {
_clientID publicVariableClient "dayzPlayerLogin2";
 
if (isNil "PVDZE_plr_SetDate") then {
call server_timeSync;
};
_clientID publicVariableClient "PVDZE_plr_SetDate";
};
//record time started
_playerObj setVariable ["lastTime",time];
//_playerObj setVariable ["model_CHK",typeOf _playerObj];
 
// ------------ ZUPA - Single Currency - Get Bank Value ----------------
 
_playerIDzupa = getPlayerUID _playerObj;
_bankingstart = 0;
if(_playerIDzupa != "")then{
_key = format["CHILD:999:SELECT `PlayerMorality` FROM `player_data` WHERE `PlayerUID` = '%1':[0]:",_playerIDzupa];
_result = _key call server_hiveReadWrite;
_status    = _result select 0;            // get the status of the result
if (_status == "CustomStreamStart") then {    //check if the stream coming from the hive was opened
_val = _result select 1;                  // get the number of entries that will be coming in the stream
if(_val > 0) then {
_result = _key call server_hiveReadWrite;
_bankingstart = _result select 0;
};
};
_playerObj setVariable["bank",_bankingstart,true];
};
 
// ------------ ZUPA - END  ----------------
 
//diag_log ("LOGIN PUBLISHING: " + str(_playerObj) + " Type: " + (typeOf _playerObj));
 
PVDZE_plr_Login = nil;
PVDZE_plr_Login2 = nil;

 

this still doesnt work for me, I spawn in and it pauses on a black screen(like before) and then load for a sec then pops up with eat/drink/blood dayz hud and then I spawn. We also have three character selection on my server and before it worked fine with ess and now 3 char. select comes up but not ess. Thanks for trying to help though :D

Link to comment
Share on other sites

I would like to take this time and ask a moderator to create a forum category in ArmA 2 DayZ Mod: Epoch - Custom Scripting called "Single Currency Project" - or something similar as this has now become a large epochmod community project with several questions and support needed.

 

One forum post is not enough :P 

 

Thanks for your time.

I second this as well.
Link to comment
Share on other sites

This system works like a charm on my server. It's a really nice project. Thank you again for your sharing.

So, I got a question now :)

Is it possible to make a shared bank account when you open a safe ?

I would like to deposit coins on this shared account with my friends.

Link to comment
Share on other sites

0:00:32 "EPOCH SERVERTRADE: Player: Sterling Archer (76561198089992375) sold a 41053200# 1056917: backpack_us_assault_coyote.p3d REMOTE in/at Unknown Trader City for <null>x <null>"
 0:00:32 Error in expression <urrency = _this select 5;
_qty = _this select 6;
_clientID = owner _player;
_p>
 0:00:32   Error position: <select 6;
_clientID = owner _player;
_p>
 0:00:32   Error Zero divisor
 0:00:32 File z\addons\dayz_server\compile\server_tradeObject.sqf, line 9
 0:00:39 Error in expression <ray = call compile format ["%1",_data];
_resultArray
};
 
server_hiveReadWriteLar>
 0:00:39   Error position: <_resultArray
};
 
server_hiveReadWriteLar>
 0:00:39   Error Undefined variable in expression: _resultarray
 0:00:39 File z\addons\dayz_server\init\server_functions.sqf, line 171
 0:03:11 Error in expression <ray = call compile format ["%1",_data];
_resultArray
};
 
server_hiveReadWriteLar>
 0:03:11   Error position: <_resultArray
};
 
server_hiveReadWriteLar>
 0:03:11   Error Undefined variable in expression: _resultarray
 0:03:11 File z\addons\dayz_server\init\server_functions.sqf, line 171
 0:03:11 Error in expression <ray = call compile format ["%1",_data];
_resultArray
};
 
server_hiveReadWriteLar>
 0:03:11   Error position: <_resultArray
};
 
server_hiveReadWriteLar>
 0:03:11   Error Undefined variable in expression: _resultarray
 0:03:11 File z\addons\dayz_server\init\server_functions.sqf, line 171
 0:03:47 "get: STRING (76561198089992375), sent: STRING (76561198089992375)"
 0:03:47 "DISCONNECT: Sterling Archer (76561198089992375) Object: B 1-1-B:1 (Sterling Archer) REMOTE, _characterID: 320 at loc [8638.05,6570.11,0.00152588]"
 0:03:47 Client: Remote object 3:5 not found
 0:05:08 "TIME SYNC: Local Time set to [2013,8,3,8,5]"
 
 
Heres an RPT, dont think itll do much, but hey why not.
Link to comment
Share on other sites

I'll let zupa know as soon as he gets on.

 

he's already aware of extDb.dll

i told him yesterday about it. Its already being used in altis life for A3 and that should be a good place

to look at altho i have to say that altis life is even more difficult to read trough ad the guys who codes it

is using hpp marco files and all sorts of wizardry.

 

still i'm conviced this whole mod can run on vanilla epoch hiveext.dll

 

On a side note, i am looking into editing the Latest Epoch HiveExt.dll

certainly looks achievable.

Link to comment
Share on other sites

he's already aware of extDb.dll

i told him yesterday about it. Its already being used in altis life for A3 and that should be a good place

to look at altho i have to say that altis life is even more difficult to read trough ad the guys who codes it

is using hpp marco files and all sorts of wizardry.

still i'm conviced this whole mod can run on vanilla epoch hiveext.dll

On a side note, i am looking into editing the Latest Epoch HiveExt.dll

certainly looks achievable.

I already know that. I was talking about Torn helping us work with the extdb. I was the one who was talking to Zupa on his live stream.

Link to comment
Share on other sites

would someone wanna tell me how or what I need to do to fix this duping.

 

 

 

 

To fix duping:

 

change the followig in your server pbo, compiles/server_playerSync.sqf

at line 117

_headShots =     ["headShots",_character] call server_getDiff;

to

_headShots =     0;

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...