Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //TreeCutter
- private["_target","_txt","_Radius","_x","_findNearestTree","_i","_objName","_lenInfo","_objInfo","_point","_trees"];
- _target = _this select 3;
- player removeAction s_Player_ClearTrees;
- _point = getpos _target; //Where to remove trees
- _Radius = 25; //Radius to remove trees
- _trees = ["t_picea2s_snow.p3d","b_corylus.p3d","t_quercus3s.p3d","t_larix3s.p3d","t_pyrus2s.p3d","str_briza_kriva.p3d","dd_borovice.p3d","les_singlestrom_b.p3d","les_singlestrom.p3d","smrk_velky.p3d","smrk_siroky.p3d","smrk_maly.p3d","les_buk.p3d","str krovisko vysoke.p3d","str_fikovnik_ker.p3d","str_fikovnik.p3d","str vrba.p3d","hrusen2.p3d","str dub jiny.p3d","str lipa.p3d","str briza.p3d","p_akat02s.p3d","jablon.p3d","p_buk.p3d","str_topol.p3d","str_topol2.p3d","p_osika.p3d","t_picea3f.p3d","t_picea2s.p3d","t_picea1s.p3d","t_fagus2w.p3d","t_fagus2s.p3d","t_fagus2f.p3d","t_betula1f.p3d","t_betula2f.p3d","t_betula2s.p3d","t_betula2w.p3d","t_alnus2s.p3d","t_acer2s.p3d","t_populus3s.p3d","t_quercus2f.p3d","t_sorbus2s.p3d","t_malus1s.p3d","t_salix2s.p3d","t_picea1s_w.p3d","t_picea2s_w.p3d","t_ficusb2s_ep1.p3d","t_populusb2s_ep1.p3d","t_populusf2s_ep1.p3d","t_amygdalusc2s_ep1.p3d","t_pistacial2s_ep1.p3d","t_pinuse2s_ep1.p3d","t_pinuss3s_ep1.p3d","t_prunuss2s_ep1.p3d","t_pinusn2s.p3d","t_pinusn1s.p3d","t_pinuss2f.p3d","t_poplar2f_dead_pmc.p3d","misc_torzotree_pmc.p3d","misc_burnspruce_pmc.p3d","brg_cocunutpalm8.p3d","brg_umbrella_acacia01b.p3d","brg_jungle_tree_canopy_1.p3d","brg_jungle_tree_canopy_2.p3d","brg_cocunutpalm4.p3d","brg_cocunutpalm3.p3d","palm_01.p3d","palm_02.p3d","palm_03.p3d","palm_04.p3d","palm_09.p3d","palm_10.p3d","brg_cocunutpalm2.p3d","brg_jungle_tree_antiaris.p3d","brg_cocunutpalm1.p3d","str habr.p3d","t_carpinus2s.p3d","t_fraxinus2s.p3d","t_fraxinus2w.p3d","t_larix3f.p3d","t_stub_picea.p3d"];
- //took this part from epoch
- if (isNil "DZE_getModelName") then {
- DZE_getModelName = {
- _objInfo = toArray(str(_this));
- _lenInfo = count _objInfo - 1;
- _objName = [];
- _i = 0;
- // determine where the object name starts
- {
- if (58 == _objInfo select _i) exitWith {};
- _i = _i + 1;
- } forEach _objInfo;
- _i = _i + 2; // skip the ": " part
- for "_k" from _i to _lenInfo do {
- _objName = _objName + [_objInfo select _k];
- };
- _objName = toLower(toString(_objName));
- _objName
- };
- };
- //find array of trees within the radius
- _findNearestTree = [];
- {
- if("" == typeOf _x) then {
- if (alive _x) then {
- _objName = _x call DZE_getModelName;
- if (_objName in _trees) then {
- _findNearestTree set [(count _findNearestTree),_x];
- };
- };
- };
- } foreach nearestObjects [_point, [], _Radius];
- if (_target isKindOf "Air") then {
- if (count _findNearestTree > 0) then { //Count the trees
- disableuserinput true;
- player playActionNow "Medic"; //play animation
- [player,"chopwood",0,false] call dayz_zombieSpeak;
- [player,50,true,(getPosATL player)] spawn player_alertZombies;
- sleep 3;
- [player,"chopwood",0,false] call dayz_zombieSpeak;
- [player,50,true,(getPosATL player)] spawn player_alertZombies;
- sleep 3;
- [player,"chopwood",0,false] call dayz_zombieSpeak;
- [player,50,true,(getPosATL player)] spawn player_alertZombies;
- disableuserinput false;
- diag_log ("TreeCutter: Trees found: " + str(count _findNearestTree));
- {
- _x setDamage 1; //Set damage to trees so they wont get in the way
- diag_log ("TreeCutter: setDamage to " + str _x);
- } forEach _findNearestTree;
- diag_log ("TreeCutter: fucked " + str(count _findNearestTree) + " trees");
- } else {
- cuttext ["No trees within range!","PLAIN DOWN"];
- };
- } else {
- _txt = (gettext (configFile >> 'CfgVehicles' >> (typeof _target) >> 'displayName'));
- cutText [format["%1 is not an Aircraft!",_txt], "PLAIN DOWN"];
- };
Add Comment
Please, Sign In to add comment