mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 20:13:13 +03:00
Update local_lights_off.sqf
Cleaned up to fit with other changes.
This commit is contained in:
@@ -2,56 +2,57 @@
|
||||
DayZ Epoch Lighting System - Fail / Switch Off Lights
|
||||
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk.
|
||||
*/
|
||||
private ["_rng","_nrstTrig","_objHouses","_objHouse","_nrLights","_nrTowers","_doRand","_rnd","_animlightpoint","_sleeptime","_brightness"];
|
||||
_rng = _this select 0;
|
||||
_rng = _rng + 20;
|
||||
private ["_hsRange","_rng","_pos","_hsCount","_nrstTrig","_objHouses","_objHouse","_nrLights","_nrTowers","_doRand","_rnd","_animlightpoint","_hasLight","_sleeptime","_lightstate","_cntNrGen"];
|
||||
_rng = _this select 0;//Full distance to turn off all lights if required
|
||||
_nrstTrig = _this select 1;
|
||||
_doRand = _this select 2;
|
||||
_nrLights = position _nrstTrig nearObjects ["#lightpoint",_rng];
|
||||
_objHouses = nearestObjects [_nrstTrig, ["House"], _rng];
|
||||
_nrTowers = nearestObjects [_nrstTrig, ["Land_Ind_IlluminantTower"], _rng];
|
||||
if(_doRand)then{//Randomly fail a nearby house
|
||||
if(count _objHouses >0)then{
|
||||
_rnd = random count _objHouses;
|
||||
_doRand = _this select 2;//Random if gen not required otherwise just switch thenm off,,
|
||||
_cntNrGen = _this select 3;
|
||||
_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 and 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;
|
||||
_animlightpoint = nearestObject [_objHouse, "#lightpoint"];
|
||||
for "_s" from 1 to 5 do {
|
||||
if(_s%2==0)then
|
||||
{
|
||||
_brightness=0;
|
||||
for "_l" from 1 to 2 do {
|
||||
_objHouse animate [format ["Lights_%1",_l],0];
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
_brightness=0.01;
|
||||
for "_l" from 1 to 2 do {
|
||||
_objHouse animate [format ["Lights_%1",_l],1];
|
||||
_pos = getPos _objHouse;
|
||||
_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];
|
||||
}else{
|
||||
if(_hasLight)then{_animlightpoint setLightBrightness 0.01;};
|
||||
_objHouse animate ["Lights_1",1];
|
||||
};
|
||||
_sleeptime=(random 100)/100;
|
||||
sleep _sleeptime;
|
||||
};
|
||||
_animlightpoint setLightBrightness _brightness;
|
||||
_sleeptime=(random 100)/1200;
|
||||
sleep _sleeptime;
|
||||
if(_hasLight)then{deleteVehicle _animlightpoint;};
|
||||
_objHouse animate ["Lights_1",0];
|
||||
_objHouse animate ["Lights_2",0];
|
||||
_objHouse setVariable ["axeHLight", 0, true];//Fail light house leccy supply
|
||||
};
|
||||
_animlightpoint setLightBrightness 0;
|
||||
_objHouse animate ["Lights_1",0];
|
||||
_objHouse animate ["Lights_2",0];
|
||||
_objHouse setVariable ["axeHLight", 0, false];
|
||||
};
|
||||
}
|
||||
else{
|
||||
}else{//Switch them all off
|
||||
_nrLights = position _nrstTrig nearObjects ["#lightpoint",_rng];
|
||||
_nrTowers = nearestObjects [_nrstTrig, ["Land_Ind_IlluminantTower"], _rng];
|
||||
if(count _nrLights >0)then{
|
||||
{
|
||||
deleteVehicle _x;
|
||||
}forEach _nrLights;
|
||||
};
|
||||
|
||||
_objHouses = nearestObjects [_nrstTrig, ["House"], _rng];
|
||||
if(count _objHouses >0)then{
|
||||
{
|
||||
_x animate ["Lights_1",0];
|
||||
_x animate ["Lights_2",0];
|
||||
_x setVariable ["axeHLight", 0, false];
|
||||
_x setVariable ["axeHLight", 0, true];
|
||||
}forEach _objHouses;
|
||||
};
|
||||
|
||||
@@ -61,3 +62,11 @@ else{
|
||||
}forEach _nrTowers;
|
||||
};
|
||||
};
|
||||
|
||||
{
|
||||
/*
|
||||
if(_cntNrGen>0)then{//reset house if gen nearby to help create reliability regardless of gen requirement ?
|
||||
_x setVariable ["axeHLight", 0, false];
|
||||
};
|
||||
}forEach _objHouses;
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user