Files
DayZ-Epoch/dayz_server/compile/server_playerLogin.sqf
vbawol 9e4ea22120 1.0.0.5 Developer Build
+ [ADDED] Added 4 more new military skins as rare drops on
militaryclothes:
(FR_OHara_DZ,FR_Rodriguez_DZ,CZ_Soldier_Sniper_EP1_DZ,Graves_Light_DZ)
Picture. Left to right. http://i.imgur.com/HlE4o2R.jpg
+ [CHANGED] You can now only sell vehicles to the trader if they are
between 75% and 100% health.
+ [ADDED] Added generator as build-able and now can be started with one
20 liter Jerrycan and runs until server restart.
+ [CHANGED] Lowered building preview time from 50 seconds to 15.
+ [ADDED] First release of PHP tool to help config traders.
+ [ADDED] Player Zombie vision.
+ [CHANGED] You must now be the owner of a plot or a friend of an owner
to build.
+ [CHANGED] When removing base building elements and not the owner or
friend removal counter is doubled.
+ [FIXED] Potential fix for shifting position of mg nest.
+ [ADDED] New sniper rifle SCAR_H_LNG_Sniper_SD (ammo:
20Rnd_762x51_SB_SCAR) added to MassGrave loot tables.
+ [ADDED] New Machine Gun Pecheneg_DZ to MilitarySpecial loot tables and
to traders. (ammo:100Rnd_762x54_PK)
+ [ADDED] New SMG: Sa61_EP1 (ammo: 20Rnd_B_765x17_Ball), UZI_SD_EP1
(ammo: 30Rnd_9x19_UZI_SD) added to traders and Military loot tables.
+ [ADDED] New Pistol added to traders and loot tables
MassGrave,DynamicDebrisMilitary, and Residential : MakarovSD (ammo:
8Rnd_9x18_MakarovSD)
+ [ADDED] Bikeys Added for playwith versions of taviana, namalsk, celle,
lingor.
+ [INFO] Attention server owners should change @tavi_DayZ_Epoch folder
on the server to @taviana and your players can then connect and install
automatically with play.withsix.com with the above mentioned bikeys.
2013-04-23 15:59:55 -05:00

132 lines
3.8 KiB
Plaintext

private["_isInfected","_botActive","_int","_newModel","_doLoop","_wait","_hiveVer","_isHiveOk","_playerID","_playerObj","_randomSpot","_publishTo","_primary","_secondary","_key","_result","_charID","_playerObj","_playerName","_finished","_spawnPos","_spawnDir","_items","_counter","_magazines","_weapons","_group","_backpack","_worldspace","_direction","_newUnit","_score","_position","_isNew","_inventory","_backpack","_medical","_survival","_stats","_state"];
//Set Variables
diag_log ("STARTING LOGIN: " + str(_this));
_playerID = _this select 0;
_playerObj = _this select 1;
_playerName = name _playerObj;
_worldspace = [];
if (_playerName == '__SERVER__' || _playerID == '' || local player) exitWith {};
if (count _this > 2) then {
dayz_players = dayz_players - [_this select 2];
};
//Variables
_inventory = [];
_backpack = [];
_items = [];
_magazines = [];
_weapons = [];
_medicalStats = [];
_survival = [0,0,0];
_tent = [];
_state = [];
_direction = 0;
_isInfected = 0;
_model = "";
_newUnit = objNull;
_botActive = false;
if (_playerID == "") then {
_playerID = getPlayerUID _playerObj;
};
if ((_playerID == "") or (isNil "_playerID")) exitWith {
diag_log ("LOGIN FAILED: Player [" + _playerName + "] has no login ID");
};
//??? endLoadingScreen;
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 or !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;
_randomSpot = false;
//diag_log ("LOGIN RESULT: " + str(_primary));
/* 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 {
_isInfected = _primary select 3;
_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
if(isclass(missionConfigFile >> "CfgSurvival_override")) then {
_config = (missionConfigFile >> "CfgSurvival_override" >> "Inventory" >> "Default");
} else {
_config = (configFile >> "CfgSurvival" >> "Inventory" >> "Default");
};
_mags = getArray (_config >> "magazines");
_wpns = getArray (_config >> "weapons");
_bcpk = getText (_config >> "backpack");
_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));
_isHiveOk = false; //EDITED
if (_hiveVer >= dayz_hiveVersionNo) then {
_isHiveOk = true;
};
//diag_log ("SERVER RESULT: " + str("X") + " " + str(dayz_hiveVersionNo));
//Server publishes variable to clients and WAITS
//_playerObj setVariable ["publish",[_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer],true];
dayzPlayerLogin = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected];
(owner _playerObj) publicVariableClient "dayzPlayerLogin";