mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 04:02:37 +03:00
77 lines
2.7 KiB
Plaintext
77 lines
2.7 KiB
Plaintext
/*
|
|
DayZ Epoch Lighting System - Lights Out
|
|
Made for DayZ Epoch by axeman please ask permission to use/edit/distribute email gregory.andrew@gmail.com || vbawol@veteranbastards.com.
|
|
*/
|
|
private ["_hsRange","_rng","_pos","_hsCount","_nrstTrig","_objHouses","_objHouse","_nrTowers","_doRand","_rnd","_animlightpoint","_hasLight","_sleeptime","_lightstate","_objLightPoint"];
|
|
_rng = _this select 0;//Full distance to turn off all lights if required
|
|
_nrstTrig = _this select 1;
|
|
_doRand = _this select 2;//Random if gen not required otherwise just switch thenm off,,
|
|
_hsRange = _this select 4;//House range for randomly failing nearby (within lp distance)houses)
|
|
_hasLight = false;
|
|
|
|
if(_doRand)then{//Randomly fail a nearby house - If generator skip && reset house variable so it can be lit again (reliability if gen nearby)
|
|
_objHouses = nearestObjects [_nrstTrig, ["House"], _hsRange];
|
|
if(count _objHouses >3)then{
|
|
|
|
_hsCount = count _objHouses;
|
|
_rnd = random _hsCount;
|
|
_objHouse = _objHouses select _rnd;
|
|
_pos = [_objHouse] call FNC_getPos;
|
|
_lightstate = _objHouse animationPhase "Lights_1";
|
|
if(_lightstate==1) then{
|
|
_animlightpoint = nearestObject [_objHouse, "#lightpoint"];
|
|
if((abs ([_pos, _animlightpoint] call BIS_fnc_distance2D))<1)then{_hasLight=true;};
|
|
for "_s" from 1 to 6 do {
|
|
if(_s%2==0)then{
|
|
if(_hasLight)then{_animlightpoint setLightBrightness 0;};
|
|
_objHouse animate ["Lights_1",0];
|
|
_objHouse animate ["Lights_2",0];
|
|
}else{
|
|
if(_hasLight)then{_animlightpoint setLightBrightness 0.04;};
|
|
_objHouse animate ["Lights_1",1];
|
|
};
|
|
_sleeptime=(random 100)/100;
|
|
sleep _sleeptime;
|
|
};
|
|
if(_hasLight)then{deleteVehicle _animlightpoint;};
|
|
_objHouse animate ["Lights_1",0];
|
|
_objHouse animate ["Lights_2",0];
|
|
_objHouse setVariable ["axeHLight", 0, false];//Fail light house leccy supply
|
|
};
|
|
};
|
|
}else{//Switch them all off
|
|
|
|
_objHouses = nearestObjects [_nrstTrig, ["House"], _rng];
|
|
_nrTowers = nearestObjects [_nrstTrig, ["Land_Ind_IlluminantTower"], _rng];
|
|
|
|
if(count _objHouses >0)then{
|
|
{
|
|
_objLightPoint = nearestObject [_x, "#lightpoint"];
|
|
if((abs ([([_x] call FNC_getPos), _objLightPoint] call BIS_fnc_distance2D))<1.5)then{
|
|
deleteVehicle _objLightPoint;
|
|
};
|
|
}count _objHouses;
|
|
};
|
|
|
|
if(count _objHouses >0)then{
|
|
{
|
|
_x animate ["Lights_1",0];
|
|
_x animate ["Lights_2",0];
|
|
_x setVariable ["axeHLight", 0, false];
|
|
}count _objHouses;
|
|
};
|
|
|
|
if(count _nrTowers >0)then{
|
|
{
|
|
for "_s" from 1 to 4 do {
|
|
_objLightPoint = nearestObject [_x, "#lightpoint"];
|
|
if((abs ([([_x] call FNC_getPos), _objLightPoint] call BIS_fnc_distance2D))<25)then{
|
|
deleteVehicle _objLightPoint;
|
|
};
|
|
};
|
|
|
|
_x setVariable ["axeTLight", 0, false];
|
|
}count _nrTowers;
|
|
};
|
|
};
|