mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-24 09:29:21 +03:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
16
SQF/dayz_code/compile/local_roadDebris.sqf
Normal file
16
SQF/dayz_code/compile/local_roadDebris.sqf
Normal file
@@ -0,0 +1,16 @@
|
||||
private ["_spawnveh","_position","_direction","_veh"];
|
||||
{
|
||||
_spawnveh = _x select 0;
|
||||
_position = _x select 1;
|
||||
_direction = _x select 2;
|
||||
|
||||
//diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
|
||||
|
||||
_veh = _spawnveh createVehicleLocal _position;
|
||||
_veh enableSimulation false;
|
||||
|
||||
// Randomize placement a bit
|
||||
_veh setDir _direction;
|
||||
_veh setpos _position;
|
||||
|
||||
} forEach _this;
|
||||
@@ -64,6 +64,8 @@ if (!isDedicated) then {
|
||||
object_roadFlare = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_roadFlare.sqf";
|
||||
object_setpitchbank = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_setpitchbank.sqf";
|
||||
object_monitorGear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_monitorGear.sqf";
|
||||
|
||||
local_roadDebris = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_roadDebris.sqf";
|
||||
|
||||
//Zombies
|
||||
zombie_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_findTargetAgent.sqf";
|
||||
@@ -123,6 +125,55 @@ if (!isDedicated) then {
|
||||
onPreloadStarted "dayz_preloadFinished = false;";
|
||||
onPreloadFinished "dayz_preloadFinished = true;";
|
||||
|
||||
|
||||
//This is still needed but the fsm should terminate if any errors pop up.
|
||||
[] spawn {
|
||||
private["_timeOut","_display","_control1","_control2"];
|
||||
disableSerialization;
|
||||
_timeOut = 0;
|
||||
dayz_loadScreenMsg = "";
|
||||
diag_log "DEBUG: loadscreen guard started.";
|
||||
_display = uiNameSpace getVariable "BIS_loadingScreen";
|
||||
if (!isNil "_display") then {
|
||||
_control1 = _display displayctrl 8400;
|
||||
_control2 = _display displayctrl 102;
|
||||
};
|
||||
|
||||
waitUntil {!dayz_DisplayGenderSelect};
|
||||
|
||||
// 120 sec timeout (12000 * 0.01)
|
||||
while { _timeOut < 12000 } do {
|
||||
if (dayz_clientPreload && dayz_authed) exitWith { diag_log "PLOGIN: Login loop completed!"; };
|
||||
if (!isNil "_display") then {
|
||||
if ( isNull _display ) then {
|
||||
waitUntil { !dialog; };
|
||||
startLoadingScreen ["","RscDisplayLoadCustom"];
|
||||
_display = uiNameSpace getVariable "BIS_loadingScreen";
|
||||
_control1 = _display displayctrl 8400;
|
||||
_control2 = _display displayctrl 102;
|
||||
};
|
||||
|
||||
if ( dayz_loadScreenMsg != "" ) then {
|
||||
_control1 ctrlSetText dayz_loadScreenMsg;
|
||||
dayz_loadScreenMsg = "";
|
||||
};
|
||||
|
||||
_control2 ctrlSetText format["%1",round(_timeOut*0.01)];
|
||||
};
|
||||
|
||||
_timeOut = _timeOut + 1;
|
||||
|
||||
if (_timeOut >= 12000) then {
|
||||
1 cutText [localize "str_player_login_timeout", "PLAIN DOWN"];
|
||||
sleep 10;
|
||||
endLoadingScreen;
|
||||
endMission "END1";
|
||||
};
|
||||
|
||||
sleep 0.01;
|
||||
};
|
||||
};
|
||||
|
||||
// TODO: need move it in player_monitor.fsm
|
||||
// allow player disconnect from server, if loading hang, kicked by BE etc.
|
||||
[] spawn {
|
||||
|
||||
@@ -66,6 +66,7 @@ if (!isDedicated) then {
|
||||
"PVDZE_obj_Fire" addPublicVariableEventHandler {nul=(_this select 1) spawn BIS_Effects_Burn};
|
||||
"PVDZE_plr_FriendRQ" addPublicVariableEventHandler {cutText[(_this select 1),"PLAIN DOWN"];};
|
||||
|
||||
"PVDZE_obj_Debris" addPublicVariableEventHandler {(_this select 1) call local_roadDebris};
|
||||
|
||||
"norrnRaDrag" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\publicEH\animDrag.sqf"};
|
||||
"norrnRnoAnim" addPublicVariableEventHandler {(_this select 1) execVM "\z\addons\dayz_code\medical\publicEH\noAnim.sqf"};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/*%FSM<COMPILE "C:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Player Monitor">*/
|
||||
/*%FSM<COMPILE "F:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Player Monitor">*/
|
||||
/*%FSM<HEAD>*/
|
||||
/*
|
||||
item0[] = {"init",0,250,-75.000000,-350.000000,25.000000,-300.000000,0.000000,"init"};
|
||||
@@ -152,8 +152,8 @@ link77[] = {66,59};
|
||||
link78[] = {67,15};
|
||||
link79[] = {68,69};
|
||||
link80[] = {69,20};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,131,6316128,1,-592.955444,422.624878,1469.107178,428.394379,888,911,1};
|
||||
window[] = {2,-1,-1,-1,-1,980,200,1572,200,3,906};
|
||||
globals[] = {25.000000,1,0,0,0,640,480,1,131,6316128,1,-592.955444,422.624878,1027.017090,306.503998,888,630,1};
|
||||
window[] = {2,-1,-1,-1,-1,858,78,1370,78,3,906};
|
||||
*//*%FSM</HEAD>*/
|
||||
class FSM
|
||||
{
|
||||
@@ -472,9 +472,7 @@ class FSM
|
||||
class Request
|
||||
{
|
||||
name = "Request";
|
||||
init = /*%FSM<STATEINIT""">*/"//startLoadingScreen ["""",""DayZ_loadingScreen""];" \n
|
||||
"" \n
|
||||
"diag_log (""PLOGIN: Requesting Authentication... ("" + _playerUID + "")"");" \n
|
||||
init = /*%FSM<STATEINIT""">*/"diag_log (""PLOGIN: Requesting Authentication... ("" + _playerUID + "")"");" \n
|
||||
"dayz_loadScreenMsg = (localize ""str_player_15"");" \n
|
||||
"" \n
|
||||
"progressLoadingScreen 0.7;" \n
|
||||
@@ -762,17 +760,15 @@ class FSM
|
||||
"" \n
|
||||
"_worldspace = dayzPlayerLogin2 select 0;" \n
|
||||
"_state = dayzPlayerLogin2 select 1;" \n
|
||||
"PVDZE_plr_SetWeather = dayzPlayerLogin2 select 2;" \n
|
||||
"PVDZE_plr_SetDate = dayzPlayerLogin2 select 3;" \n
|
||||
"DZE_FreshSpawn = dayzPlayerLogin2 select 4;" \n
|
||||
"DZE_FreshSpawn = dayzPlayerLogin2 select 2;" \n
|
||||
"" \n
|
||||
"_setDir = _worldspace select 0;" \n
|
||||
"_setPos = _worldspace select 1;" \n
|
||||
"" \n
|
||||
"if(dayz_paraSpawn and !(player isKindOf ""PZombie_VB"") and DZE_FreshSpawn) then {" \n
|
||||
" player setPosATL [(_setPos select 0),(_setPos select 1),1000];" \n
|
||||
" player setDir _setDir;" \n
|
||||
" [player,1000] spawn BIS_fnc_halo;" \n
|
||||
" player setPosATL [(_setPos select 0),(_setPos select 1),2000];" \n
|
||||
" [player,2000] spawn BIS_fnc_halo;" \n
|
||||
"} else {" \n
|
||||
"" \n
|
||||
" // make protective box" \n
|
||||
@@ -942,10 +938,7 @@ class FSM
|
||||
class Position
|
||||
{
|
||||
name = "Position";
|
||||
init = /*%FSM<STATEINIT""">*/"endLoadingScreen;" \n
|
||||
"startLoadingScreen ["""",""DayZ_loadingScreen""];" \n
|
||||
"" \n
|
||||
"//Location" \n
|
||||
init = /*%FSM<STATEINIT""">*/"//Location" \n
|
||||
"_myLoc = getPosATL player;" \n
|
||||
"" \n
|
||||
"dayz_loadScreenMsg = ""Setup Completed, please wait..."";" \n
|
||||
@@ -1186,23 +1179,7 @@ class FSM
|
||||
class Initialize
|
||||
{
|
||||
name = "Initialize";
|
||||
init = /*%FSM<STATEINIT""">*/"#define ods(arg1) ""armaperflib"" callextension arg1" \n
|
||||
"" \n
|
||||
"if (!isNil ""PVDZE_plr_SetDate"") then {" \n
|
||||
" setDate PVDZE_plr_SetDate;" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"if (!isNil ""PVDZE_plr_SetDate"") then {" \n
|
||||
" 0 setOvercast (zeroCurrentWeather select 0);" \n
|
||||
" 0 setFog (zeroCurrentWeather select 1);" \n
|
||||
" setWind [((zeroCurrentWeather select 2) select 0),((zeroCurrentWeather select 2) select 1),true];" \n
|
||||
" 0 setRain (zeroCurrentWeather select 3);" \n
|
||||
"};" \n
|
||||
"" \n
|
||||
"" \n
|
||||
"diag_log (""Local Time: "" +str(PVDZE_plr_SetDate));" \n
|
||||
"" \n
|
||||
"//Medical" \n
|
||||
init = /*%FSM<STATEINIT""">*/"//Medical" \n
|
||||
"dayz_medicalH = [] execVM ""\z\addons\dayz_code\medical\init_medical.sqf""; //Medical Monitor Script (client only)" \n
|
||||
"[player] call fnc_usec_damageHandle;" \n
|
||||
"if (r_player_unconscious) then {" \n
|
||||
|
||||
@@ -5613,6 +5613,15 @@
|
||||
<Dutch>Kg</Dutch>
|
||||
<French>Kg</French>
|
||||
<Czech>Kg</Czech>
|
||||
</Key>
|
||||
<Key ID="str_player_login_timeout">
|
||||
<English>Login timed out!\nDisconnect and try again!</English>
|
||||
<German>Login timed out!\nDisconnect and try again!</German>
|
||||
<Russian>Время ожидания входа истекло!\nОтключитесь и попробуйте снова!</Russian>
|
||||
<Spanish>Tiempo de inicio de sesión excedido.\nDesconectate y prueba de nuevo.</Spanish>
|
||||
<Dutch>Login timed out!\nDisconnect and try again!</Dutch>
|
||||
<French>Délai de connexion dépassé\nVeuillez vous déconnecter et essayer à nouveau.</French>
|
||||
<Czech>Dovolený čas pro přihlášení vypršel.\nOdpojte se a zkuste to znovu!</Czech>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
||||
@@ -30,7 +30,7 @@ if (!isNull _playerObj) then {
|
||||
_playerObj setVariable["NORRN_unconscious",true, true];
|
||||
_playerObj setVariable["unconsciousTime",300,true];
|
||||
|
||||
diag_log format["COMBAT LOGGED: %1 (%2)", _playerName,_timeout];
|
||||
diag_log format["COMBAT LOGGED: %1 (%2) at location %3", _playerName,_timeout,(getPosATL _playerObj)];
|
||||
//diag_log format["SET UNCONCIOUSNESS: %1", _playerName];
|
||||
|
||||
// Message whole server when player combat logs
|
||||
@@ -38,7 +38,7 @@ if (!isNull _playerObj) then {
|
||||
[nil,nil,"per",rTITLETEXT,_message,"PLAIN DOWN"] call RE;
|
||||
};
|
||||
|
||||
diag_log format["DISCONNECT: %1 (%2) Object: %3, _characterID: %4", _playerName,_playerUID,_playerObj,_characterID];
|
||||
diag_log format["DISCONNECT: %1 (%2) Object: %3, _characterID: %4 at loc %5", _playerName,_playerUID,_playerObj,_characterID, (getPosATL _playerObj)];
|
||||
|
||||
_id = [_playerUID,_characterID,2] spawn dayz_recordLogin;
|
||||
|
||||
@@ -63,4 +63,4 @@ if (!isNull _playerObj) then {
|
||||
[_x,"gear"] call server_updateObject;
|
||||
} foreach (nearestObjects [_playerPos, dayz_updateObjects, 10]);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -128,7 +128,7 @@ if (!_isNew) then {
|
||||
};
|
||||
|
||||
#ifdef DZE_SERVER_DEBUG
|
||||
diag_log ("LOGIN LOADED: " + str(_playerObj) + " Type: " + (typeOf _playerObj));
|
||||
diag_log ("LOGIN LOADED: " + str(_playerObj) + " Type: " + (typeOf _playerObj) + " at location: " + (getPosATL _playerObj));
|
||||
#endif
|
||||
|
||||
_isHiveOk = false;
|
||||
@@ -142,4 +142,4 @@ if (worldName == "chernarus") then {
|
||||
};
|
||||
|
||||
dayzPlayerLogin = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected];
|
||||
(owner _playerObj) publicVariableClient "dayzPlayerLogin";
|
||||
(owner _playerObj) publicVariableClient "dayzPlayerLogin";
|
||||
|
||||
@@ -233,10 +233,23 @@ _playerObj setVariable["humanity_CHK",_humanity];
|
||||
//_playerObj setVariable["state",_state,true];
|
||||
_playerObj setVariable["lastPos",getPosATL _playerObj];
|
||||
|
||||
dayzPlayerLogin2 = [_worldspace,_state,PVDZE_plr_SetWeather,PVDZE_plr_SetDate,_randomSpot];
|
||||
_clientID = owner _playerObj;
|
||||
_clientID publicVariableClient "dayzPlayerLogin2";
|
||||
dayzPlayerLogin2 = [_worldspace,_state,_randomSpot];
|
||||
|
||||
// PVDZE_plr_SetWeather,PVDZE_plr_SetDate
|
||||
|
||||
PVDZE_obj_Debris = DZE_LocalRoadBlocks;
|
||||
_clientID = owner _playerObj;
|
||||
if (!isNull _playerObj) then {
|
||||
_clientID publicVariableClient "dayzPlayerLogin2";
|
||||
|
||||
// send road blocks
|
||||
_clientID publicVariableClient "PVDZE_obj_Debris";
|
||||
|
||||
_clientID publicVariableClient "PVDZE_plr_SetDate";
|
||||
|
||||
_clientID publicVariableClient "PVDZE_plr_SetWeather";
|
||||
|
||||
};
|
||||
//record time started
|
||||
_playerObj setVariable ["lastTime",time];
|
||||
//_playerObj setVariable ["model_CHK",typeOf _playerObj];
|
||||
|
||||
@@ -380,6 +380,7 @@ spawn_ammosupply = {
|
||||
};
|
||||
};
|
||||
|
||||
DZE_LocalRoadBlocks = [];
|
||||
|
||||
spawn_roadblocks = {
|
||||
private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"];
|
||||
@@ -412,15 +413,19 @@ spawn_roadblocks = {
|
||||
_marker setMarkerText str(_spawnveh);
|
||||
};
|
||||
|
||||
// fill array with classes and positions [class,pos,dir]
|
||||
DZE_LocalRoadBlocks set [count DZE_LocalRoadBlocks,[_spawnveh,_position,round(random 360)]];
|
||||
|
||||
//diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
|
||||
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
|
||||
_veh enableSimulation false;
|
||||
|
||||
//_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
|
||||
//_veh enableSimulation false;
|
||||
|
||||
// Randomize placement a bit
|
||||
_veh setDir round(random 360);
|
||||
_veh setpos _position;
|
||||
//_veh setDir round(random 360);
|
||||
//_veh setpos _position;
|
||||
|
||||
_veh setVariable ["ObjectID","1",true];
|
||||
//_veh setVariable ["ObjectID","1",true];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -184,10 +184,10 @@ class FSM
|
||||
{
|
||||
name = "sync_time__and_w";
|
||||
init = /*%FSM<STATEINIT""">*/"if (DZE_DiagFpsSlow) then {" \n
|
||||
" [] call dze_diag_fps;" \n
|
||||
" call dze_diag_fps;" \n
|
||||
"};" \n
|
||||
"[] call server_timeSync;" \n
|
||||
"[] call server_weather;" \n
|
||||
"call server_timeSync;" \n
|
||||
"call server_weather;" \n
|
||||
""/*%FSM</STATEINIT""">*/;
|
||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||
class Links
|
||||
|
||||
@@ -13,35 +13,11 @@ diag_log "HIVE: Starting";
|
||||
|
||||
waituntil{isNil "sm_done"}; // prevent server_monitor be called twice (bug during login of the first player)
|
||||
|
||||
//Set the Time
|
||||
//Send request
|
||||
_key = "CHILD:307:";
|
||||
_result = _key call server_hiveReadWrite;
|
||||
_outcome = _result select 0;
|
||||
if(_outcome == "PASS") then {
|
||||
_date = _result select 1;
|
||||
|
||||
if(dayz_fullMoonNights) then {
|
||||
//date setup
|
||||
//_year = _date select 0;
|
||||
//_month = _date select 1;
|
||||
//_day = _date select 2;
|
||||
_hour = _date select 3;
|
||||
_minute = _date select 4;
|
||||
|
||||
//Force full moon nights
|
||||
_date = [2013,8,3,_hour,_minute];
|
||||
};
|
||||
|
||||
if(isDedicated) then {
|
||||
setDate _date;
|
||||
PVDZE_plr_SetDate = _date;
|
||||
publicVariable "PVDZE_plr_SetDate";
|
||||
};
|
||||
|
||||
diag_log ("HIVE: Local Time set to " + str(_date));
|
||||
};
|
||||
//Set Time
|
||||
call server_timeSync;
|
||||
|
||||
// set Weather
|
||||
call server_weather;
|
||||
|
||||
// Custom Configs
|
||||
if(isnil "MaxVehicleLimit") then {
|
||||
@@ -323,7 +299,7 @@ if (isServer and isNil "sm_done") then {
|
||||
// spawn_roadblocks
|
||||
diag_log ("HIVE: Spawning # of Debris: " + str(MaxDynamicDebris));
|
||||
for "_x" from 1 to MaxDynamicDebris do {
|
||||
[] spawn spawn_roadblocks;
|
||||
[] call spawn_roadblocks;
|
||||
};
|
||||
// spawn_ammosupply at server start 1% of roadblocks
|
||||
diag_log ("HIVE: Spawning # of Ammo Boxes: " + str(MaxAmmoBoxes));
|
||||
|
||||
Reference in New Issue
Block a user