merged in Axemans pull

This commit is contained in:
[VB]AWOL
2013-09-26 20:42:57 -05:00
parent c1339e4a6e
commit ccd685ab76
29 changed files with 2855 additions and 2647 deletions

View File

@@ -2717,7 +2717,7 @@ class CfgMagazines {
script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;"; script = ";['Crafting','CfgMagazines', _id] spawn player_craftItem;";
neednearby[] = {"fire"}; neednearby[] = {"fire"};
requiretools[] = {"ItemSledge"}; requiretools[] = {"ItemSledge"};
output[] = {{"PartGeneric",1}}; output[] = {{"PartGeneric",1},{"ItemWaterbottleUnfilled",1}};
input[] = {{"PartOre",4},{"ItemWaterbottle",1}}; input[] = {{"PartOre",4},{"ItemWaterbottle",1}};
}; };
}; };

View File

@@ -20,5 +20,10 @@ class ItemSledge: ItemCore
"MeleeSledge" "MeleeSledge"
}; };
}; };
class MineOre
{
text="Mine Ore";
script="spawn player_mineOre;";
};
}; };
}; };

View File

@@ -0,0 +1,143 @@
/*
DayZ Mine Ore
Usage: spawn player_mineOre;
Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com.
*/
private ["_isOk","_i","_objName","_objInfo","_lenInfo","_started","_finished","_animState","_isMedic","_proceed","_counter","_itemOut","_countOut","_rock","_distance2d","_rockBox","_rocks","_findNearestRock"];
if(TradeInprogress) exitWith { cutText ["\n\nOre Mining already in progress." , "PLAIN DOWN"]; };
TradeInprogress = true;
// allowed rocks list move this later
_rocks = ["r2_boulder2.p3d","r2_rock1.p3d","r2_rocktower.p3d","r2_boulder1.p3d"];
//_item = _this;
call gear_ui_init;
_findNearestRock = [];
{
if("" == typeOf _x) then {
if (alive _x) then {
_objName = _x call DZE_getModelName;
// Exit since we found a tree
if (_objName in _rocks) exitWith {
_findNearestRock set [(count _findNearestRock),_x];
};
};
};
} foreach nearestObjects [getPos player, [], 20];
//diag_log format["DEBUG ROCKS: %1 | Alive:%2", _findNearestRock, alive (_rocks select 0)];
if (count(_findNearestRock) >= 1) then {
_rock = _findNearestRock select 0;
// get 2d distance
_distance2d = [player, _rock] call BIS_fnc_distance2D;
if(_distance2d <= 12) then {
_rnd=0;
_rockBox = boundingBox _rock;
_countOut = ((_rockBox select 1 select 0)+(_rockBox select 1 select 1)+(_rockBox select 1 select 2))/3;
if(_countOut<1)then{_countOut=_countOut*10};
_countOut = round (_countOut - _distance2d);
//Max / Min Values
if(_countOut>12)then{_countOut=12};
if(_countOut<1)then{_countOut=4};
//diag_log format["DEBUG ROCK DISTANCE: %1 - %2 = %3", _rockBox,_distance2d,(_distance3d-_distance2d)];
axeDiagLog = format["DEBUG ROCK DISTANCE: _rockBox:%1 | _distance2d:%2 | typeOf:%3 | alive:%4 | _countOut:%5 | damage:%6", _rockBox,_distance2d,typeOf _rock,alive _rock,_countOut,damage _rock ];
publicVariable "axeDiagLog";
// Start ore mining
_counter = 0;
_isOk = true;
_proceed = false;
while {_isOk} do {
player playActionNow "Medic";
[player,20,true,(getPosATL player)] spawn player_alertZombies;
r_interrupt = false;
_animState = animationState player;
r_doLoop = true;
_started = false;
_finished = false;
while {r_doLoop} do {
_animState = animationState player;
_isMedic = ["medic",_animState] call fnc_inString;
if (_isMedic) then {
_started = true;
};
if (_started and !_isMedic) then {
r_doLoop = false;
_finished = true;
[player,"repair",0,false] call dayz_zombieSpeak;
};
if (r_interrupt) then {
r_doLoop = false;
};
sleep 0.1;
};
if(!_finished) exitWith {
_isOk = false;
_proceed = false;
};
if(_finished) then {
_counter = _counter + 1;
};
cutText [format["\n\nMining Ore, walk away at any time to cancel. (%1/%2)", _counter, _countOut], "PLAIN DOWN"];
if(_counter == _countOut) exitWith {
_isOk = false;
_proceed = true;
sleep 1;
};
};
if (_proceed) then {
_itemOut = "PartOre";
_item = createVehicle ["WeaponHolder", getPosATL player, [], 1, "CAN_COLLIDE"];
_item addMagazineCargoGlobal [_itemOut,_countOut];
_item modelToWorld getPosATL player;
_item setdir (getDir player);
player reveal _item;
// break rock
if("" == typeOf _rock) then {
_rock setDamage 1;
};
//diag_log format["DEBUG TREE DAMAGE: %1", _rock];
cutText [format["\n\n%1 piles of ore has been successfully added in front of you.", _countOut], "PLAIN DOWN"];
} else {
r_interrupt = false;
if (vehicle player == player) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
cutText ["\n\nCancelled Mining Ore.", "PLAIN DOWN"];
};
} else {
cutText [localize "str_player_32", "PLAIN DOWN"];
};
} else {
cutText [localize "str_player_32", "PLAIN DOWN"];
};
TradeInprogress = false;

View File

@@ -1,6 +1,6 @@
/* /*
DayZ Epoch Lighting System - Light Functions DayZ Epoch Lighting System - Light Functions
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk. Made for DayZ Epoch by axeman please ask permission to use/edit/distribute email gregory.andrew@gmail.com or vbawol@veteranbastards.com.
*/ */
axe_returnStreetLights={ axe_returnStreetLights={
private["_lights","_objName","_rng","_nrstGen","_rndLights","_sleeptime"]; private["_lights","_objName","_rng","_nrstGen","_rndLights","_sleeptime"];
@@ -24,18 +24,26 @@ axe_streetLamps=[];
for "_s" from 1 to 8 do { for "_s" from 1 to 8 do {
if(_s%2==0)then{ if(_s%2==0)then{
_x switchlight "off"; _x switchlight "off";
}else{ }else{
_x switchlight "on"; _x switchlight "on";
;
}; };
_sleeptime=(random 220)/100; _sleeptime=(random 100)/100;
sleep _sleeptime; sleep _sleeptime;
}; };
_x switchlight "off"; _x switchlight "off";
//axeDiagLog = format["FN:SL NEW OFF:%1",_x];
//publicVariable "axeDiagLog";
}else{ }else{
_x switchlight "on"; _x switchlight "on";
//axeDiagLog = format["FN:SL NEW ON:%1",_x];
//publicVariable "axeDiagLog";
}; };
}else{ }else{
_x switchlight "on"; _x switchlight "on";
//axeDiagLog = format["FN:SL NEW ON:%1",_x];
//publicVariable "axeDiagLog";
}; };
[axe_streetLamps , [_x]] call BIS_fnc_arrayPush; [axe_streetLamps , [_x]] call BIS_fnc_arrayPush;
}; };
@@ -58,6 +66,8 @@ _lp setLightBrightness _brt;
_lp setLightAmbient _amb; _lp setLightAmbient _amb;
_lp setDir _dir; _lp setDir _dir;
_lp setVectorUp _vect; _lp setVectorUp _vect;
//axeDiagLog = format["FN:LP NEW CREATE:%1",_lp];
//publicVariable "axeDiagLog";
_lp _lp
}; };
axe_lightPoint={ axe_lightPoint={
@@ -69,6 +79,8 @@ _lp = _this select 3;
_lp setLightColor _col; _lp setLightColor _col;
_lp setLightBrightness _brt; _lp setLightBrightness _brt;
_lp setLightAmbient _amb; _lp setLightAmbient _amb;
//axeDiagLog = format["FN:LP EXISTS LIGHT:%1",_lp];
//publicVariable "axeDiagLog";
}; };
axe_towerLight={ axe_towerLight={
private["_twr","_lCol","_lbrt","_lamb","_oset","_twrPos","_rad","_a","_b","_ang","_nrTLs","_doLit"]; private["_twr","_lCol","_lbrt","_lamb","_oset","_twrPos","_rad","_a","_b","_ang","_nrTLs","_doLit"];
@@ -83,7 +95,8 @@ _oset=14;
_nrTLs= position _twr nearObjects ["#lightpoint",20]; _nrTLs= position _twr nearObjects ["#lightpoint",20];
if(count _nrTLs > 3)then{ if(count _nrTLs > 3)then{
//axeDiagLog = format["FN:TL FOUND LP:%1",count _nrTLs];
//publicVariable "axeDiagLog";
{ {
if(_doLit)then{ if(_doLit)then{
[_lCol,_lbrt,_lamb,_x] call axe_lightPoint; [_lCol,_lbrt,_lamb,_x] call axe_lightPoint;
@@ -94,6 +107,8 @@ _nrTLs= position _twr nearObjects ["#lightpoint",20];
}forEach _nrTLs; }forEach _nrTLs;
}else{ }else{
//axeDiagLog = format["FN:TL NEW LPS:%1",_twr];
//publicVariable "axeDiagLog";
if(_doLit)then{ if(_doLit)then{
for "_tls" from 1 to 4 do { for "_tls" from 1 to 4 do {
_ang=(360 * _tls / 4)-_oset; _ang=(360 * _tls / 4)-_oset;

View File

@@ -1,45 +1,103 @@
/* /*
DayZ Epoch Lighting System - House Lights DayZ Epoch Lighting System - House Lights
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk. Made for DayZ Epoch by axeman please ask permission to use/edit/distribute email gregory.andrew@gmail.com or vbawol@veteranbastards.com.
*/ */
private ["_objLightPoint","_pos","_objHouse","_dir","_rng","_lpDist","_nrstTrig","_rndLights","_lmpCol"]; private ["_objLightPoint","_pos","_objHouse","_dir","_rng","_lpDist","_nrstTrig","_rndLights","_lmpCol","_hsAnimPer","_brtns","_lightPcnt","_hsLPDist"];
private ["_base","_mLights","_mLightsBlink","_hsTime","_hsCount","_litCount","_hsAnimPer2","_chnGCount","_plLogin","_hcName"];
_hsCount = 0;
_litCount = 0;
_chnGCount = 0;
//_debug = false;
_rng = _this select 0;//player range to light windows _rng = _this select 0;//player range to light windows
_nrstTrig = _this select 1; _nrstTrig = _this select 1;
_rndLights = _this select 2; _rndLights = _this select 2;
_lmpCol = _this select 3; _lmpCol = _this select 3;
_lpDist = _this select 4;//Range to create lightpoints at _lpDist = _this select 4;//Range to create lightpoints at
_hsLPDist = 2; //Distance to dettect local lightpoint from house center
_objHouse = nearestObjects [_nrstTrig, ["House"], _rng]; _objHouse = nearestObjects [_nrstTrig, ["House"], _rng];
if(!isNil "_objHouse")then{ if(!isNil "_objHouse")then{
_hsTime = time;
{ {
if(_x getVariable ["axeHLight", 0]<1)then{ //axeDiagLog = format["HL:ATTEMPT typeof _x:%1 | _x:%2",typeof _x,_x];
if(_rndLights>random 100)then{ //publicVariable "axeDiagLog";
if(_x animationPhase "Lights_1"==0) then _hsAnimPer = getNumber (configFile >> "CfgVehicles" >> (typeof _x) >> "AnimationSources" >> "Lights_1" >> "animPeriod");
{ _hsAnimPer2 = getNumber (configFile >> "CfgVehicles" >> (typeof _x) >> "AnimationSources" >> "Lights_2" >> "animPeriod");
_x animate ["Lights_1",1]; //axeDiagLog = format["HL:CONFIG:%1 | Base:%2 | MLight Bright:%3 | MLight Blink:%4 | Alive:%5 | Lights_2:%6",_hsAnimPer,_base,_mLights,_mLightsBlink, alive _x,_hsAnimPer2];
if(42 > random 100) then{_x animate ["Lights_2",1];};//Randomly light second set of windows (some houses have two) //publicVariable "axeDiagLog";
sleep .1;//Wait for animation phase if(_hsAnimPer>0 && alive _x)then{//Is house with window
};
if((_x animationPhase "Lights_1">0))then{
_pos = getPos _x;
_dir = getDir _x;
_objLightPoint = nearestObject [_x, "#lightpoint"]; _brtns = 0.0025;
if((abs ([_pos, _objLightPoint] call BIS_fnc_distance2D))>1)then{ _lightPcnt = (player distance _x)/10;
if(player distance _x < _lpDist)then{ _brtns = _brtns * _lightPcnt;//Light brightness by percentage
[_lmpCol,0.03,_lmpCol,[_pos select 0,_pos select 1,-3],_dir,[0,0,-1]] call axe_newLightPoint; //Min / Max Levels
_x setVariable ["axeHLight", 1, false]; if (_brtns > 0.06)then{_brtns = 0.06;};
if (_brtns < 0.015)then{_brtns = 0.015;};
_objLightPoint = nearestObject [_x, "#lightpoint"];
_pos = getPos _x;
_dir = getDir _x;
if(_x getVariable ["axeHLight", 0]<1)then{
if(_rndLights>random 100)then{
_litCount = _litCount +1;
if(_x animationPhase "Lights_1"==0) then{
_x animate ["Lights_1",1];
if(_hsAnimPer2>0)then{
if(42 > random 100) then{_x animate ["Lights_2",1];};//Randomly light second set of windows if house has the option
}; };
}else{ //Wait for animation phase
if(player distance _x < _lpDist)then{ while{true}do{sleep .1;if (_x animationPhase "Lights_1"==1) exitWith {};};
[_lmpCol,0.03,_lmpCol,_objLightPoint] call axe_lightPoint; };
_x setVariable ["axeHLight", 1, false]; //axeDiagLog = format["HL: animPhase:%1",_x animationPhase "Lights_1"];
//publicVariable "axeDiagLog";
if((_x animationPhase "Lights_1">0))then{
if((abs ([_pos, _objLightPoint] call BIS_fnc_distance2D))>_hsLPDist)then{
if(player distance _x < _lpDist)then{
//if(_debug)then{axeDiagLog = format["HL:NEW LP:%1 | _brtns:%2",_x,_brtns];publicVariable "axeDiagLog";};
//[_lmpCol,0.01,_lmpCol,[_pos select 0,_pos select 1,1],_dir,[0,0,-1]] call axe_newLightPoint;
[_lmpCol,_brtns,_lmpCol,getPos _x,_dir,[0,0,-2.6]] call axe_newLightPoint;
_x setVariable ["brtns", _brtns, false];
_x setVariable ["axeHLight", 1, false];
};
}else{ }else{
deleteVehicle _objLightPoint; if(player distance _x < _lpDist)then{
_x setVariable ["axeHLight", 0, false]; //if(_debug)then{axeDiagLog = format["HL:EXISTS LP:%1 | _brtns:%2",_x,_brtns];publicVariable "axeDiagLog";};
//[_lmpCol,_brtns,_lmpCol,_objLightPoint] call axe_lightPoint;
_objLightPoint setLightColor _lmpCol;
_objLightPoint setLightBrightness _brtns;
_objLightPoint setLightAmbient _lmpCol;
_chnGCount = _chnGCount + 1;
_x setVariable ["brtns", _brtns, false];
_x setVariable ["axeHLight", 1, false];
};
}; };
}; };
}; };
}else{//change brightness
if(player distance _x < _lpDist)then{
if((abs ([_pos, _objLightPoint] call BIS_fnc_distance2D))<_hsLPDist)then{
_litCount = _litCount +1;
//if(_debug)then{axeDiagLog = format["HL:EXISTS LP:%1 | _brtns:%2",_x,_brtns];publicVariable "axeDiagLog";};
_chnGCount = _chnGCount + 1;
_x setVariable ["brtns", _brtns, false];
//[_lmpCol,_brtns,_lmpCol,_objLightPoint] call axe_lightPoint;
_objLightPoint setLightColor _lmpCol;
_objLightPoint setLightBrightness _brtns;
_objLightPoint setLightAmbient _lmpCol;
};
}else{
deleteVehicle _objLightPoint;
_x setVariable ["axeHLight", 0, false];
};
}; };
}; };
//axeDiagLog = "-------------------------------------------";
_hsCount = _hsCount + 1;
} forEach _objHouse; } forEach _objHouse;
if(_debug)then{
//axeDiagLog = format["HL:FINISHED: Time:%1 | Total Houses:%2 | Lit Houses:%3",time - _hsTime,_hsCount,_litCount];
//publicVariable "axeDiagLog";
};
}; };

View File

@@ -1,46 +1,47 @@
/* /*
DayZ Epoch Lighting System - Light Control DayZ Epoch Lighting System - Light Init
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk. Made for DayZ Epoch by axeman please ask permission to use/edit/distribute email gregory.andrew@gmail.com or vbawol@veteranbastards.com.
To Do - Light poles - Automatic lighting for bases (with or without generator) - Menu action to switch off house and tower lights - Add sparks and electrical sound - Add slight randomness to 'reliable' light source - Try and use ASC_EU lights for map based streetlights so they have bulbs and look better - Towers within 20m of 3 house light sources won't light up - Add Custom (enterable) buildings and items (water pump) To Do - Light poles - Automatic lighting for bases (with or without generator) - Menu action to switch off house and tower lights - Add sparks and electrical sound - Add slight randomness to 'reliable' light source - Try and use ASC_EU lights for map based streetlights so they have bulbs and look better - Towers within 20m of 3 house light sources may not always light up - Add Custom (enterable) buildings and items (water pump). Maybe create brighter house lightpoints at further distances to compensate for engine limits.
Wishlist - Detect weather to make lights fail in thunder :) Wishlist - Detect weather to make lights fail in thunder :)
*/ */
private ["_sleep","_lpRange","_hsRange","_nrGen","_genCount","_rndLightsIn","_rndLightsOut","_genClass","_doHouse","_doTower","_doLight","_fnHr","_stHr","_plyr","_hndlHLights","_hndlTLights","_hndlDelLights","_hndlFailLights","_ndGen","_trgRng","_rngPlyr","_lightTrig","_lmpCol"]; private ["_sunrise","_slpTime","_lpRange","_hsRange","_nrGen","_genCount","_rndLightsIn","_rndLightsOut","_genClass","_doHouse","_doTower","_doLight","_fnHr","_stHr","_plyr","_hndlDelLights","_hndlFailLights","_ndGen","_trgRng","_rngPlyr","_lightTrig","_lmpCol"];
_stHr = _this select 0;//Hour (in 24 hours) to start lights //Start / Stop Time
_fnHr = _this select 1;//Hour (in 24 hours) to stop lights _stHr = _this select 0;
waitUntil {(daytime<_fnHr||daytime>_stHr)}; _fnHr = _this select 1;
_doHouse = _this select 2;
_doHouse = _this select 2;//House Lights ? _doTower = _this select 3;
//_doStreet = _this select 3;//Street Lights ? NOT USED - To be used for sparks and sound effects on failed street lights _ndGen = _this select 4;
_doTower = _this select 4;// Tower Lights ? _rndLightsIn = _this select 5;
_trgRng = _this select 6;
_ndGen = _this select 5;//Require a Generator ? _rngPlyr = _this select 7;
_rndLightsIn = _this select 6;//Add a chance for lights to come on as a percentage. 100 = always on.. Use this to reduce frequency of lights, makes use of this calculate if to delete / fail lights.. _lmpCol = _this select 8;
_trgRng = _this select 7;//Range from trigger (generator or player) to do house light failure. all steet lights within this range are subject to failure _genClass = _this select 9;
_rngPlyr = _this select 8;//Distance from player to search for generators. If Generator not required distance to light objects (generally (: ) _slpTime = _this select 10;
//_trigDist = _this select 9;//Distance that player needs to move to trigger the routine. (NOT USED CURRENTLY) _lpRange = _rngPlyr -20;
_lmpCol = _this select 10;//Change House Light Colour. Streetlamps now set in config, not editable at runtime.
_genClass = _this select 11;//Generator class. Any (client viewable) Object with variable "GeneratorRunning" set to true will suffice.
_lpRange = _this select 12;//Range to create lightpoints (from player). And delete beyond (for houses only).
_sleep = _this select 14;//Sleep time - Deprecated (Default 0.5) feel free to experiment, the higher this value the slower lights will be to react to changes in circumstance.
_doLight = true; _doLight = true;
_nrGen = []; _nrGen = [];
_genCount = 0; _genCount = 0;
_hsRange = 250; _hsRange = 250;
_lightTrig = vehicle player;//Central point around which to run the lights - _trigDist is calculated from the position of this entity (player or generator) _lightTrig = vehicle player;//Central point around which to run the lights
call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_lightFunctions.sqf"; call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_lightFunctions.sqf";
axeTowerLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_tower.sqf"; axeTowerLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_tower.sqf";
axeHouseLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_house.sqf"; axeHouseLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_house.sqf";
axeStreetLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_street.sqf"; //axeStreetLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_street.sqf";
axeDeleteLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_off.sqf"; axeDeleteLights = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lights_off.sqf";
waitUntil {getPos Player select 0 > 0}; waitUntil {getPos Player select 0 > 0};
while {alive player}
do //Detect Dusk and Dawn
{ _sunrise = call world_sunRise;
if(_fnHr < 1)then{_fnHr = _sunrise + 0.5;};
if(_stHr < 1)then{_stHr = (24 - _sunrise) - 0.5;};
//axeDiagLog = format["IL:LIGHTS STARTED: _stHr:%1 | _fnHr:%2 | time:%3 | for:%4",_stHr,_fnHr, dayTime, vehicle player];
//publicVariable "axeDiagLog";
while {alive player}do{
if(daytime<_fnHr||daytime>_stHr)then{ if(daytime<_fnHr||daytime>_stHr)then{
_plyr = vehicle player; _plyr = vehicle player;
_rndLightsOut = _rndLightsIn; _rndLightsOut = _rndLightsIn;
_nrGen = nearestObjects [_plyr, [_genClass], _rngPlyr]; _nrGen = nearestObjects [_plyr, [_genClass], _rngPlyr];
@@ -64,8 +65,8 @@ do
//Generator not required ! //Generator not required !
if(!_ndGen)then{_doLight = true;}; if(!_ndGen)then{_doLight = true;};
//Choose range, player of generator //Choose range, player or generator
if(!_ndGen)then{_hsRange = _trgRng;}else{_hsRange = _rngPlyr;}; if(_ndGen)then{_hsRange = _trgRng;}else{_hsRange = _rngPlyr;};
//100% chance of lights with nearby generator - ToDo, make this slightly lower. //100% chance of lights with nearby generator - ToDo, make this slightly lower.
if(_genCount>0&&(_lightTrig getVariable["GeneratorRunning",false]))then{ if(_genCount>0&&(_lightTrig getVariable["GeneratorRunning",false]))then{
@@ -75,36 +76,34 @@ do
//Do streetlight stuff //Do streetlight stuff
[_trgRng,player,_rndLightsOut] call axe_returnStreetLights; [_trgRng,player,_rndLightsOut] call axe_returnStreetLights;
if(_ndGen && !(_lightTrig getVariable["GeneratorRunning",false]))then{_doLight = false;};//Final check - Not run if nearest gen isn't running if(_ndGen && !(_lightTrig getVariable["GeneratorRunning",false]))then{_doLight = false;};//Final check - Not run if nearest gen isn't running
//axeDiagLog = format["IL:RUNNING: _doLight:%1 | _ndGen:%2 | _lightTrig:%3 | _rndLightsOut:%4",_doLight,_ndGen,_lightTrig,_rndLightsOut];
//publicVariable "axeDiagLog";
if(_doLight)then{ if(_doLight)then{
//if(speed _plyr > 0 )then{
if(_doTower)then{
_hndlTLights = [_rngPlyr,_lightTrig,_rndLightsOut] spawn axeTowerLights;
};
if(_doHouse)then{ if(_doHouse)then{
_hndlHLights = [_hsRange,_lightTrig,_rndLightsOut,_lmpCol,_lpRange,_trgRng] spawn axeHouseLights; //axeDiagLog = format["IL:RUNNING HOUSE: _doLight:%1 | _ndGen:%2 | _lightTrig:%3 | _rndLightsOut:%4",_doLight,_ndGen,_lightTrig,_rndLightsOut];
//publicVariable "axeDiagLog";
[_hsRange,_lightTrig,_rndLightsOut,_lmpCol,_lpRange] call axeHouseLights;
}; };
/* //};
//Not currently used - Will be used for sparks and sound effects if(_doTower)then{
if(_doStreet)then{ //axeDiagLog = format["IL:RUNNING TOWER: _doLight:%1 | _ndGen:%2 | _lightTrig:%3 | _rndLightsOut:%4",_doLight,_ndGen,_lightTrig,_rndLightsOut];
_hndlSLights = [_arrStreetLights,_lightTrig,_lmpCol,_rndLightsOut] spawn axeStreetLights; //publicVariable "axeDiagLog";
[_rngPlyr,_lightTrig,_rndLightsOut] call axeTowerLights;
}; };
*/
}; };
//Decide how and if to turn lights off //Decide how and if to turn lights off
if(_ndGen && !(_lightTrig getVariable["GeneratorRunning",false]))then{ if(_ndGen && !(_lightTrig getVariable["GeneratorRunning",false]))then{
_hndlDelLights = [_rngPlyr,_lightTrig,false,_genCount,_lpRange] spawn axeDeleteLights; [_rngPlyr,_lightTrig,false,_genCount,_lpRange] call axeDeleteLights;
waitUntil {scriptDone _hndlDelLights};
}; };
if(_rndLightsOut<random 100)then{ if(_rndLightsOut<random 100)then{
_hndlFailLights = [_rngPlyr,_lightTrig,true,_genCount,_lpRange] spawn axeDeleteLights; [_rngPlyr,_lightTrig,true,_genCount,_lpRange] call axeDeleteLights;
waitUntil {scriptDone _hndlFailLights};
}; };
}; };
sleep _sleep; sleep _slpTime;
}; };

View File

@@ -1,6 +1,6 @@
/* /*
DayZ Epoch Lighting System - Fail / Switch Off Lights DayZ Epoch Lighting System - Lights Out
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk. Made for DayZ Epoch by axeman please ask permission to use/edit/distribute email gregory.andrew@gmail.com or vbawol@veteranbastards.com.
*/ */
private ["_hsRange","_rng","_pos","_hsCount","_nrstTrig","_objHouses","_objHouse","_nrTowers","_doRand","_rnd","_animlightpoint","_hasLight","_sleeptime","_lightstate","_objLightPoint"]; 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 _rng = _this select 0;//Full distance to turn off all lights if required
@@ -36,7 +36,7 @@ _objHouses = nearestObjects [_nrstTrig, ["House"], _hsRange];
if(_hasLight)then{deleteVehicle _animlightpoint;}; if(_hasLight)then{deleteVehicle _animlightpoint;};
_objHouse animate ["Lights_1",0]; _objHouse animate ["Lights_1",0];
_objHouse animate ["Lights_2",0]; _objHouse animate ["Lights_2",0];
_objHouse setVariable ["axeHLight", 0, true];//Fail light house leccy supply _objHouse setVariable ["axeHLight", 0, false];//Fail light house leccy supply
}; };
}; };
}else{//Switch them all off }else{//Switch them all off
@@ -46,9 +46,8 @@ _nrTowers = nearestObjects [_nrstTrig, ["Land_Ind_IlluminantTower"], _rng];
if(count _objHouses >0)then{ if(count _objHouses >0)then{
{ {
_pos = getPos _x;
_objLightPoint = nearestObject [_x, "#lightpoint"]; _objLightPoint = nearestObject [_x, "#lightpoint"];
if((abs ([_pos, _objLightPoint] call BIS_fnc_distance2D))<1.5)then{ if((abs ([getPos _x, _objLightPoint] call BIS_fnc_distance2D))<1.5)then{
deleteVehicle _objLightPoint; deleteVehicle _objLightPoint;
}; };
}forEach _objHouses; }forEach _objHouses;
@@ -58,16 +57,15 @@ _nrTowers = nearestObjects [_nrstTrig, ["Land_Ind_IlluminantTower"], _rng];
{ {
_x animate ["Lights_1",0]; _x animate ["Lights_1",0];
_x animate ["Lights_2",0]; _x animate ["Lights_2",0];
_x setVariable ["axeHLight", 0, true]; _x setVariable ["axeHLight", 0, false];
}forEach _objHouses; }forEach _objHouses;
}; };
if(count _nrTowers >0)then{ if(count _nrTowers >0)then{
{ {
_pos = getPos _x;
for "_s" from 1 to 4 do { for "_s" from 1 to 4 do {
_objLightPoint = nearestObject [_x, "#lightpoint"]; _objLightPoint = nearestObject [_x, "#lightpoint"];
if((abs ([_pos, _objLightPoint] call BIS_fnc_distance2D))<25)then{ if((abs ([getPos _x, _objLightPoint] call BIS_fnc_distance2D))<25)then{
deleteVehicle _objLightPoint; deleteVehicle _objLightPoint;
}; };
}; };

View File

@@ -1,23 +0,0 @@
/*
DayZ Epoch Lighting System - Street Lights
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk.
*/
//Changed adding variable to generator to adding to new lightpoint as player now a trigger also.
private ["_rndLights","_streetLamps"];
_streetLamps= _this select 0;
//_sLampCol = _this select 2;
_rndLights = _this select 3;
_rndLights=_rndLights*2;
if(!isNil "_streetLamps")then{
{
if(_rndLights>(random 100))then{
_x select 0 switchlight "on";
};
if(_rndLights/2>(random 100))then{
_x select 0 switchlight "off";
};
}forEach _streetLamps;
};

View File

@@ -1,6 +1,6 @@
/* /*
DayZ Epoch Lighting System -Illuminant Tower Lights DayZ Epoch Lighting System - Illuminant Tower Lights
Made for DayZ Epoch please ask permission to use/edit/distrubute email axeman@thefreezer.co.uk. Made for DayZ Epoch by axeman please ask permission to use/edit/distribute email gregory.andrew@gmail.com or vbawol@veteranbastards.com.
*/ */
private ["_nrTowers","_nrstTrig","_lCol","_lbrt","_lamb","_twrCl"]; private ["_nrTowers","_nrstTrig","_lCol","_lbrt","_lamb","_twrCl"];
_nrstTrig = _this select 1; _nrstTrig = _this select 1;
@@ -12,6 +12,8 @@ _nrTowers = nearestObjects [_nrstTrig, [_twrCl], 1000];
if(count _nrTowers >0)then{ if(count _nrTowers >0)then{
{ {
if((_x getVariable ["axeTLight", 0])<1)then{ if((_x getVariable ["axeTLight", 0])<1)then{
//axeDiagLog = format["TL: FOUND:%1",_x];
//publicVariable "axeDiagLog";
[_lCol,_lbrt,_lamb,[_x],[true]] call axe_towerLight; [_lCol,_lbrt,_lamb,[_x],[true]] call axe_towerLight;
_x setVariable ["axeTLight", 1, false]; _x setVariable ["axeTLight", 1, false];
}; };

View File

@@ -100,6 +100,7 @@ if (!isDedicated) then {
object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf"; object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";
player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf"; player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf"; player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";
player_mineOre = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_mineOre.sqf";
//ui //ui
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf"; player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";

View File

@@ -626,6 +626,16 @@
<French>\n\n%1 doit être dans votre inventaire principal pour pouvoir le %2</French> <French>\n\n%1 doit être dans votre inventaire principal pour pouvoir le %2</French>
<Czech>\n\n%1 musí být ve tvém hlavním inventáři pro %2.</Czech> <Czech>\n\n%1 musí být ve tvém hlavním inventáři pro %2.</Czech>
</Key> </Key>
<Key ID="str_player_32">
<Original>\n\nYou must be close to a rock to mine ore.</Original>
<English>\n\nYou must be close to a rock to mine ore.</English>
<German>\n\nSie müssen in der Nähe von einem Felsen Mine Erz sein.</German>
<Russian>\n\nВы должны быть близко к скале, чтобы добывать руду.</Russian>
<Spanish>\n\nDebe estar cerca de una roca de mineral de la mina.</Spanish>
<Dutch>\n\nJe moet dicht bij een rots te mijnen erts te zijn.</Dutch>
<French>\n\nVous devez être à proximité d'une roche à la mine.</French>
<Czech>\n\nMusíte být blízko k rocku až dolu rudy.</Czech>
</Key>
<Key ID="str_player_beinglooted"> <Key ID="str_player_beinglooted">
<Original>%1 is already being looted by someone else.</Original> <Original>%1 is already being looted by someone else.</Original>
<English>%1 is already being looted by someone else.</English> <English>%1 is already being looted by someone else.</English>

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -117,6 +117,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -113,6 +113,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -84,5 +84,5 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -75,5 +75,5 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -105,6 +105,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -105,6 +105,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -104,6 +104,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };
#include "\z\addons\dayz_code\system\REsec.sqf" #include "\z\addons\dayz_code\system\REsec.sqf"

View File

@@ -75,6 +75,6 @@ if (!isDedicated) then {
_void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf"; _void = [] execVM "R3F_Realism\R3F_Realism_Init.sqf";
//Lights //Lights
[17,6,true,false,true,true,72,242,600,10,[0.698, 0.556, 0.419],"Generator_DZ",208,"",0.5] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf"; //[0,0,true,true,true,58,280,600,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
}; };