CJHouston Posted June 13, 2014 Report Share Posted June 13, 2014 Is there anyway to get a marker up on the map to show where this can be found? Link to comment Share on other sites More sharing options...
Brockie Posted June 13, 2014 Report Share Posted June 13, 2014 Is there anyway to get a marker up on the map to show where this can be found?class Item28 // <-- change the class Item number to the next number in your sequence of markers. { position[]={7018.9756,3.0638,7644.391}; name="NovyBank"; text="Central Bank of Chernarus"; type="mil_triangle"; colorName="ColorOrange"; }; Open mission.sqm and add this to the end of your markers section class Item28 // <-- change the class Item number to fit your list of markers. { position[]={7018.9756,3.0638,7644.391}; name="NovyBank"; text="Central Bank of Chernarus"; type="mil_triangle"; colorName="ColorOrange"; }; then fix the total items at the top of the markers section. items=33; //<-- change the number to the number of markers in your list CJHouston 1 Link to comment Share on other sites More sharing options...
CJHouston Posted June 13, 2014 Report Share Posted June 13, 2014 Thanks again for your help Brockie. Link to comment Share on other sites More sharing options...
Darihon Posted June 13, 2014 Author Report Share Posted June 13, 2014 A bit easier is something like this: Make a .sqf file called "marker.sqf" (i.e) Add the following inside of it: // Military Base _marker = createMarker ["_bank", [7018.75, 7655.4258]]; _marker setMarkerText "Central Bank of Chernarus"; _marker setMarkerType "dot"; _marker setMarkerColor "ColorOrange"; marker = _bank; And call it from the init.sqf file: i.e [] execVM "Scripts\marker.sqf"; @ Maxwi, yes. I will make a video asap. celticwarrior06 1 Link to comment Share on other sites More sharing options...
HollowAddiction Posted June 13, 2014 Report Share Posted June 13, 2014 [] execVM "Scripts\marker.sqf"; assuming ofcourse you put the marker.sqf in a folder called "Scripts" Link to comment Share on other sites More sharing options...
HollowAddiction Posted June 14, 2014 Report Share Posted June 14, 2014 I am still unsuccessful in getting this script to work, has anyone been able to get it to work, if so is there something you did differently then the tutorial provided above? I've added the bit of code exactly where it says to, ive double checked my selfactions locations and spelling, you didnt mention where to put the rob folder so i placed it at my root on assumption, i dont see why, but maybe it needs to be somewhere else? Link to comment Share on other sites More sharing options...
Brockie Posted June 14, 2014 Report Share Posted June 14, 2014 I am still unsuccessful in getting this script to work, has anyone been able to get it to work, if so is there something you did differently then the tutorial provided above? I've added the bit of code exactly where it says to, ive double checked my selfactions locations and spelling, you didnt mention where to put the rob folder so i placed it at my root on assumption, i dont see why, but maybe it needs to be somewhere else? I guess you could say that. Really it is a super simple script to install. Maybe you need to read between the lines a little bit... but I think you could say that about every mod out there. Basically... what I did different was: #1 make sure you download the proper file... one of the "downloads" is not named properly (bank_robbery_v1.cpp) i'm not sure if it works or if it just needs to be renamed or what but it's just easier to download the zip instead with the proper file name robbank.sqf. #2 I put the bank building file in the same place that all my other extra building files are, in my dayz_server pbo, because thats where I put all my extra map addons. #3 I put the robbank.sqf in a folder called Scripts and I edited my path like so: // Bank Robbery _bankrobbery = cursorTarget isKindOf "Notebook"; if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then { if (s_player_bankrob < 0) then { s_player_bankrob = player addAction ["Rob the bank","Scripts\robbank.sqf",cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_bankrob; s_player_bankrob = -1; }; // Bank Robbery This is my setup and should not just be used as copy and paste but rather as an example of how I did it "differently".. ..but @HollowAddiction: yes the script works for me. Link to comment Share on other sites More sharing options...
Darihon Posted June 14, 2014 Author Report Share Posted June 14, 2014 I will update the installation notea later today to a bit more detailed. The script goes inside of ur mission folder/pbo. But that shouldn't conflict with the scroll menu not working. We'll talk further on PM, Hollow :) Link to comment Share on other sites More sharing options...
Quakeremfon Posted June 14, 2014 Report Share Posted June 14, 2014 Thanx for this! Building works (after adding it to the ClassMission). AI works. RobBank scrollmenu option appears. But what is the problem if nothing appears after selecting "Rob Bank" in the scrollmenu? Or do you need to wait for a few minutes to get a message if it's succesfull or not? Thanx! Link to comment Share on other sites More sharing options...
Darihon Posted June 14, 2014 Author Report Share Posted June 14, 2014 Then the path in the fn_selfactions not correct. Edit it like ur folder is located. Link to comment Share on other sites More sharing options...
Quakeremfon Posted June 14, 2014 Report Share Posted June 14, 2014 Then the path in the fn_selfactions not correct. Edit it like ur folder is located. Yeah, it was wrong. Everything works now, Thanx/Bedankt again! Nice one! Link to comment Share on other sites More sharing options...
Darihon Posted June 14, 2014 Author Report Share Posted June 14, 2014 Yeah, it was wrong. Everything works now, Thanx/Bedankt again! Nice one! Great to know that it's working now! Thanks for the positive reaction =). Link to comment Share on other sites More sharing options...
HollowAddiction Posted June 14, 2014 Report Share Posted June 14, 2014 I guess you could say that. Really it is a super simple script to install. Maybe you need to read between the lines a little bit... but I think you could say that about every mod out there. Basically... what I did different was: #1 make sure you download the proper file... one of the "downloads" is not named properly (bank_robbery_v1.cpp) i'm not sure if it works or if it just needs to be renamed or what but it's just easier to download the zip instead with the proper file name robbank.sqf. #2 I put the bank building file in the same place that all my other extra building files are, in my dayz_server pbo, because thats where I put all my extra map addons. #3 I put the robbank.sqf in a folder called Scripts and I edited my path like so: // Bank Robbery _bankrobbery = cursorTarget isKindOf "Notebook"; if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then { if (s_player_bankrob < 0) then { s_player_bankrob = player addAction ["Rob the bank","Scripts\robbank.sqf",cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_bankrob; s_player_bankrob = -1; }; // Bank Robbery This is my setup and should not just be used as copy and paste but rather as an example of how I did it "differently".. ..but @HollowAddiction: yes the script works for me. strange, this is what i've done. you tell me if i missed something. I placed the code in the fn_selfActions.sqf in the place specified in the tutorial my fn_selfActions.sqf was already in my mission and already pointed to in my compiles.sqf(properly) I have the latestest downloads, in a folder named "rob" and likewise pointed to it. At this point since others are successful I am thinking something i have is not compatible Link to comment Share on other sites More sharing options...
Inevitable Gaming Posted June 14, 2014 Report Share Posted June 14, 2014 Please upload a video of the bank robbery! Link to comment Share on other sites More sharing options...
calamity Posted June 15, 2014 Report Share Posted June 15, 2014 a video would be great... so without video I have a few questions 1.Do the AI spawn only when player scrolls on notebook and selects rob bank ? or are they there guarding the notebook and only become hostile if you use the notebook? 2. Do AI spawn only where the notebook is found. so I add a notebook in the map editor then I would change the coords that you have the AI set to spawn _squad1 = _unitGroup createUnit ["Policeman",[7026.6099, 7667.5566, 3.0517578e-005], [], 10, "PRIVATE]; OR does your script spawn a notebook somewhere near [7026.6099, 7667.5566, 3.0517578e-005] automatically . I already use the notebook for CCTV. Could I use the Laptop instead? (all my notebooks are in safezones) Link to comment Share on other sites More sharing options...
DHNZ Posted June 15, 2014 Report Share Posted June 15, 2014 Would it be possible to make it so that the AI disappear as soon as they are killed? Link to comment Share on other sites More sharing options...
Brockie Posted June 15, 2014 Report Share Posted June 15, 2014 Would it be possible to make it so that the AI disappear as soon as they are killed? Yes. look at your AIconfig.sqf (assuming it;s WAI) /// Clears dead bodies after given time ai_clean_dead = True; /// Time (in seconds) after which a dead body will be cleaned up cleanup_time = 1800; //<- this is 30 minutes so change it to like 1 second or whatever you want. DHNZ 1 Link to comment Share on other sites More sharing options...
Quakeremfon Posted June 15, 2014 Report Share Posted June 15, 2014 Please upload a video of the bank robbery! I removed the AI police, there are no police reinforcements in a apocalyptic world xD. I will replace them with Bandits. But here is a quick video how to robbery goes: The reward will be in your inventory, i forgot to show it.... http://www.youtube.com/watch?v=p27h85mjnyU Darihon 1 Link to comment Share on other sites More sharing options...
Darihon Posted June 15, 2014 Author Report Share Posted June 15, 2014 The AI spawn whenever the bank robbery has started successful. And yes, you need to change the location that you have marked above [X,Y,Z]. No, at this moment there is no abillity to delete the bodies once they are dead. Written on mobile, so short answers :) Link to comment Share on other sites More sharing options...
skotracker Posted June 19, 2014 Report Share Posted June 19, 2014 Not sure what I'm doing wrong. I've spent three days trying to get this to work. dayz_server > sgc > bank > bank.sqf private ["_silver","_silver10oz","_gold","_gold10oz","_briefcase","_random","_random2"]; _AI = "custom\rob\ai.sqf"; // Checks if script is active, thanks Halvhjearne <3 if(isNil "script_in_progress")then{ script_in_progress = false; }; if(script_in_progress)exitwith{ systemChat "This script is only useable once (untill restart)!"; }; script_in_progress = true; // End Checks if Script is active cutText [format["You are about to rob the bank, your have 30 percent chance to get loot."], "PLAIN DOWN"]; sleep 5; // Currency // _silver = "ItemSilverBar"; _silver10oz = "ItemSilverBar10oz"; _gold = "ItemGoldBar"; _gold10oz = "ItemGoldBar10oz"; _briefcase = "ItemBriefcase100oz"; // Makes sure that the game checks for the 30 percent. _random = floor(random 11); //0-10 if (_random <= 3) then { cutText [format["You are robbing the bank, the police has been warned. It takes 5 minutes before the bank robbery is successful."], "PLAIN DOWN"]; sleep 5; [nil,nil,rTitleText,"The bank is getting robbed!", "PLAIN",10] call RE; sleep 55; cutText [format["4 minutes left.."], "PLAIN DOWN"]; sleep 20; cutText [format["The police has arrived! Protect Joe's Mom!"], "PLAIN DOWN"]; execVM _AI; sleep 40; cutText [format["3 minutes left.."], "PLAIN DOWN"]; sleep 60; cutText [format["2 minutes left.."], "PLAIN DOWN"]; sleep 60; cutText [format["1 minute left.."], "PLAIN DOWN"]; sleep 60; player playActionNow "Medic"; sleep 8; [nil,nil,rTitleText,"The bank has been robbed succesfully!", "PLAIN",10] call RE; _random2 = floor(random 6); // Makes an another random section, which chooses the loot randomly. if (_random2 == 0) then { cutText [format["The vault was emptied recently, no big loot, except some silver."], "PLAIN DOWN"]; player addMagazine _silver10oz; player addMagazine _silver10oz; player addMagazine _silver; systemChat "The robber got: 2x Silver10oz and 1x Silver"; }; if (_random2 == 1) then { cutText [format["Some gold, not much."], "PLAIN DOWN"]; player addMagazine _gold; player addMagazine _gold; systemChat "The robber got: 2x gold"; }; if (_random2 == 2) then { cutText [format["I'm rich BITCH!"], "PLAIN DOWN"]; player addMagazine _gold10oz; player addMagazine _gold10oz; player addMagazine _gold10oz; player addMagazine _gold10oz; player addMagazine _gold10oz; systemChat "The robber got: 5x gold10oz"; }; if (_random2 == 3) then { cutText [format["Hmm not much gold, maybe next time."], "PLAIN DOWN"]; player addMagazine _gold; player addMagazine _gold; player addMagazine _gold10oz; systemChat "The robber got: 2x gold and 1x Gold10oz"; }; if (_random2 == 4) then { cutText [format["The vault was emptied recently, no big loot, except some silver."], "PLAIN DOWN"]; player addMagazine _silver10oz; player addMagazine _silver10oz; player addMagazine _silver; systemChat "The robber got: 2x Silver10oz and 1x Silver"; }; if (_random2 == 5) then { cutText [format["Jack.. Jack.. Pot!!"], "PLAIN DOWN"]; player addMagazine _briefcase; player addMagazine _briefcase; systemChat "Ting ting ting... The jackpot has been stolen! Bye bye 2 briefcases"; }; // Output if above is not activated. } else { cutText [format["Bank robbery failed.."], "PLAIN DOWN"]; systemChat "Bank robbery failed!"; }; // sleep seconds; // script_in_progress = false; /* Remove the // to enable the script to able to be used again. By "sleep seconds:" i.e: sleep 60; (able to use script after 60 seconds again). */ dayz_1.chernarus > init > fn_selfActions.sqf scriptName "Functions\misc\fn_selfActions.sqf"; /*********************************************************** ADD ACTIONS FOR SELF - Function - [] call fnc_usec_selfActions; ************************************************************/ private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"]; if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running. _vehicle = vehicle player; _isPZombie = player isKindOf "PZombie_VB"; _inVehicle = (_vehicle != player); _onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; _canDo = (!r_drag_sqf and !r_player_unconscious and !_onLadder); _nearLight = nearestObject [player,"LitObject"]; _canPickLight = false; if (!isNull _nearLight) then { if (_nearLight distance player < 4) then { _canPickLight = isNull (_nearLight getVariable ["owner",objNull]); }; }; // --------------------------------------Bank Robbery ----------------------------------------------- _bankrobbery = cursorTarget isKindOf "Notebook"; if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then { if (s_player_bankrob < 0) then { s_player_bankrob = player addAction ["Rob the bank","custom\rob\robbank.sqf",cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_bankrob; s_player_bankrob = -1; }; // --------------------------------------Bank Robbery ----------------------------------------------- } else { Engineering dayz_myCursorTarget = objNull; ...... ..... //Grab Flare if (_canPickLight and !dayz_hasLight and !_isPZombie) then { if (s_player_grabflare < 0) then { _text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName"); s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""]; s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""]; }; } else { player removeAction s_player_grabflare; player removeAction s_player_removeflare; s_player_grabflare = -1; s_player_removeflare = -1; }; if (DZE_HeliLift) then { _hasAttached = _vehicle getVariable["hasAttached",false]; if(_inVehicle and (_vehicle isKindOf "Air") and ((getPos _vehicle select 2) < 30) and (speed _vehicle < 5) and (typeName _hasAttached == "OBJECT")) then { if (s_player_heli_detach < 0) then { dayz_myLiftVehicle = _vehicle; s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""]; }; } else { dayz_myLiftVehicle removeAction s_player_heli_detach; s_player_heli_detach = -1; }; }; if(DZE_HaloJump) then { if(_inVehicle and (_vehicle isKindOf "Air") and ((getPos _vehicle select 2) > 400)) then { if (s_halo_action < 0) then { DZE_myHaloVehicle = _vehicle; s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""]; }; } else { DZE_myHaloVehicle removeAction s_halo_action; s_halo_action = -1; }; }; if (!DZE_ForceNameTagsOff) then { if (s_player_showname < 0 and !_isPZombie) then { if (DZE_ForceNameTags) then { s_player_showname = 1; player setVariable["DZE_display_name",true,true]; } else { s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""]; s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""]; }; }; }; if(_isPZombie) then { if (s_player_callzombies < 0) then { s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""]; }; if (DZE_PZATTACK) then { call pz_attack; DZE_PZATTACK = false; }; if (s_player_pzombiesvision < 0) then { s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"]; }; if (!isNull cursorTarget and (player distance cursorTarget < 3)) then { //Has some kind of target _isAnimal = cursorTarget isKindOf "Animal"; _isZombie = cursorTarget isKindOf "zZombie_base"; _isHarvested = cursorTarget getVariable["meatHarvested",false]; _isMan = cursorTarget isKindOf "Man"; // Pzombie Gut human corpse or animal if (!alive cursorTarget and (_isAnimal or _isMan) and !_isZombie and !_isHarvested) then { if (s_player_pzombiesfeed < 0) then { s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""]; }; } else { player removeAction s_player_pzombiesfeed; s_player_pzombiesfeed = -1; }; } else { player removeAction s_player_pzombiesfeed; s_player_pzombiesfeed = -1; }; }; // Increase distance only if AIR OR SHIP _allowedDistance = 4; _isAir = cursorTarget isKindOf "Air"; _isShip = cursorTarget isKindOf "Ship"; if(_isAir or _isShip) then { _allowedDistance = 8; }; if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cursorTarget < _allowedDistance) and _canDo) then { //Has some kind of target // set cursortarget to variable _cursorTarget = cursorTarget; // get typeof cursortarget once _typeOfCursorTarget = typeOf _cursorTarget; // hintsilent _typeOfCursorTarget; _isVehicle = _cursorTarget isKindOf "AllVehicles"; _isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"]; _isnewstorage = _typeOfCursorTarget in DZE_isNewStorage; // get items and magazines only once _magazinesPlayer = magazines player; //boiled Water _hasbottleitem = "ItemWaterbottle" in _magazinesPlayer; _hastinitem = false; { if (_x in _magazinesPlayer) then { _hastinitem = true; }; } forEach boil_tin_cans; _hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer; _hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer; _hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer; _itemsPlayer = items player; _temp_keys = []; _temp_keys_names = []; // find available keys _key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"]; { if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then { _ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid"); _ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName"); _temp_keys_names set [_ownerKeyId,_ownerKeyName]; _temp_keys set [count _temp_keys,str(_ownerKeyId)]; }; } forEach _itemsPlayer; _hasKnife = "ItemKnife" in _itemsPlayer; _hasToolbox = "ItemToolbox" in _itemsPlayer; _isMan = _cursorTarget isKindOf "Man"; _traderType = _typeOfCursorTarget; _ownerID = _cursorTarget getVariable ["CharacterID","0"]; _isAnimal = _cursorTarget isKindOf "Animal"; _isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin"); _isZombie = _cursorTarget isKindOf "zZombie_base"; _isDestructable = _cursorTarget isKindOf "BuiltItems"; _isWreck = _typeOfCursorTarget in DZE_isWreck; _isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding; _isModular = _cursorTarget isKindOf "ModularItems"; _isRemovable = _typeOfCursorTarget in DZE_isRemovable; _isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"]; _isTent = _cursorTarget isKindOf "TentStorage"; _isAlive = alive _cursorTarget; _text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName"); _rawmeat = meatraw; _hasRawMeat = false; { if (_x in _magazinesPlayer) then { _hasRawMeat = true; }; } forEach _rawmeat; _isFuel = false; if (_hasFuelE or _hasFuelBarrelE) then { { if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;}; } forEach dayz_fuelsources; }; // diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID)); // logic vars _player_flipveh = false; _player_deleteBuild = false; _player_lockUnlock_crtl = false; if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { if (s_player_maintain_area < 0) then { s_player_maintain_area = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA"], "\z\addons\dayz_code\actions\maintain_area.sqf", "maintain", 5, false]; s_player_maintain_area_preview = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV"], "\z\addons\dayz_code\actions\maintain_area.sqf", "preview", 5, false]; }; } else { player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; // CURSOR TARGET ALIVE if(_isAlive) then { //Allow player to delete objects if(_isDestructable or _isWreck or _isRemovable or _isWreckBuilding) then { if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then { _player_deleteBuild = true; }; }; //Allow owners to delete modulars if(_isModular and (dayz_characterID == _ownerID)) then { if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then { _player_deleteBuild = true; }; }; // CURSOR TARGET VEHICLE if(_isVehicle) then { //flip vehicle small vehicles by your self and all other vehicles with help nearby if (!(canmove _cursorTarget) and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then { _playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]); if(_isVehicletype or (_playersNear >= 2)) then { _player_flipveh = true; }; }; if(!_isMan and _ownerID != "0" and !(_cursorTarget isKindOf "Bicycle")) then { _player_lockUnlock_crtl = true; }; }; }; if(_player_deleteBuild) then { if (s_player_deleteBuild < 0) then { s_player_deleteBuild = player addAction [format[localize "str_actions_delete",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""]; }; } else { player removeAction s_player_deleteBuild; s_player_deleteBuild = -1; }; if (DZE_HeliLift) then { _liftHeli = objNull; _found = false; _allowTow = false; if ((count (crew _cursorTarget)) == 0) then { { if(!_allowTow) then { _allowTow = _cursorTarget isKindOf _x; }; } forEach DZE_HeliAllowToTow; }; //diag_log format["CREW: %1 ALLOW: %2",(count (crew _cursorTarget)),_allowTow]; if (_allowTow) then { _liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15]; { if(!_found) then { _posL = getPos _x; _posC = getPos _cursorTarget; _height = (_posL select 2) - (_posC select 2); _hasAttached = _x getVariable["hasAttached",false]; if(_height < 15 and _height > 5 and (typeName _hasAttached != "OBJECT")) then { if(((abs((_posL select 0) - (_posC select 0))) < 10) and ((abs((_posL select 1) - (_posC select 1))) < 10)) then { _liftHeli = _x; _found = true; }; }; }; } forEach _liftHelis; }; //diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget]; _attached = _cursorTarget getVariable["attached",false]; if(_found and _allowTow and _canDo and !locked _cursorTarget and !_isPZombie and (typeName _attached != "OBJECT")) then { if (s_player_heli_lift < 0) then { s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""]; }; } else { player removeAction s_player_heli_lift; s_player_heli_lift = -1; }; }; // Allow Owner to lock and unlock vehicle if(_player_lockUnlock_crtl) then { if (s_player_lockUnlock_crtl < 0) then { _hasKey = _ownerID in _temp_keys; _oldOwner = (_ownerID == dayz_playerUID); if(locked _cursorTarget) then { if(_hasKey or _oldOwner) then { _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""]; s_player_lockunlock set [count s_player_lockunlock,_Unlock]; s_player_lockUnlock_crtl = 1; } else { if(_hasHotwireKit) then { _Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""]; } else { _Unlock = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",_cursorTarget, 2, true, true, "", ""]; }; s_player_lockunlock set [count s_player_lockunlock,_Unlock]; s_player_lockUnlock_crtl = 1; }; } else { if(_hasKey or _oldOwner) then { _lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""]; s_player_lockunlock set [count s_player_lockunlock,_lock]; s_player_lockUnlock_crtl = 1; }; }; }; } else { {player removeAction _x} forEach s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; }; if(DZE_AllowForceSave) then { //Allow player to force save if((_isVehicle or _isTent) and !_isMan) then { if (s_player_forceSave < 0) then { s_player_forceSave = player addAction [format[localize "str_actions_save",_text], "\z\addons\dayz_code\actions\forcesave.sqf",_cursorTarget, 1, true, true, "", ""]; }; } else { player removeAction s_player_forceSave; s_player_forceSave = -1; }; }; If(DZE_AllowCargoCheck) then { if((_isVehicle or _isTent or _isnewstorage) and _isAlive and !_isMan and !locked _cursorTarget) then { if (s_player_checkGear < 0) then { s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""]; }; } else { player removeAction s_player_checkGear; s_player_checkGear = -1; }; }; //flip vehicle small vehicles by your self and all other vehicles with help nearby if(_player_flipveh) then { if (s_player_flipveh < 0) then { s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""]; }; } else { player removeAction s_player_flipveh; s_player_flipveh = -1; }; //Allow player to fill jerrycan if((_hasFuelE or _hasFuelBarrelE) and _isFuel) then { if (s_player_fillfuel < 0) then { s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""]; }; } else { player removeAction s_player_fillfuel; s_player_fillfuel = -1; }; // logic vars for addactions _player_butcher = false; _player_studybody = false; _player_SurrenderedGear = false; // CURSOR TARGET NOT ALIVE if (!_isAlive) then { // Gut animal/zed if((_isAnimal or _isZombie) and _hasKnife) then { _isHarvested = _cursorTarget getVariable["meatHarvested",false]; if (!_isHarvested) then { _player_butcher = true; }; }; // Study body if (_isMan and !_isZombie and !_isAnimal) then { _player_studybody = true; } } else { // unit alive // gear access on surrendered player if(_isMan and !_isZombie and !_isAnimal) then { _isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false]; if (_isSurrendered) then { _player_SurrenderedGear = true; }; }; }; // Human Gut animal or zombie if (_player_butcher) then { if (s_player_butcher < 0) then { if(_isZombie) then { s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""]; } else { s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""]; }; }; } else { player removeAction s_player_butcher; s_player_butcher = -1; }; // Study Body if (_player_studybody) then { if (s_player_studybody < 0) then { s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_studybody; s_player_studybody = -1; }; // logic vars _player_cook = false; _player_boil = false; // CURSOR TARGET IS FIRE if (inflamed _cursorTarget) then { //Fireplace Actions check if (_hasRawMeat) then { _player_cook = true; }; // Boil water if (_hasbottleitem and _hastinitem) then { _player_boil = true; }; }; if (_player_SurrenderedGear) then { if (s_player_SurrenderedGear < 0) then { s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTION_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""]; }; } else { player removeAction s_player_SurrenderedGear; s_player_SurrenderedGear = -1; }; //Fireplace Actions check if (_player_cook) then { if (s_player_cook < 0) then { s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true, "", ""]; }; } else { player removeAction s_player_cook; s_player_cook = -1; }; // Boil water if (_player_boil) then { if (s_player_boil < 0) then { s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""]; }; } else { player removeAction s_player_boil; s_player_boil = -1; }; if(_cursorTarget == dayz_hasFire) then { if ((s_player_fireout < 0) and !(inflamed _cursorTarget) and (player distance _cursorTarget < 3)) then { s_player_fireout = player addAction [localize "str_actions_self_06", "\z\addons\dayz_code\actions\fire_pack.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_fireout; s_player_fireout = -1; }; //Packing my tent if(_isTent and (player distance _cursorTarget < 3)) then { if (_ownerID == dayz_characterID) then { if (s_player_packtent < 0) then { s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { if(("ItemJerrycan" in _magazinesPlayer) and ("ItemMatchbox_DZE" in weapons player)) then { if (s_player_packtent < 0) then { s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""]; }; }; }; } else { player removeAction s_player_packtent; s_player_packtent = -1; }; //Allow owner to unlock vault if((_typeOfCursorTarget in DZE_LockableStorage) and _ownerID != "0" and (player distance _cursorTarget < 3)) then { if (s_player_unlockvault < 0) then { if(_typeOfCursorTarget in DZE_LockedStorage) then { if(_ownerID == dayz_combination or _ownerID == dayz_playerUID) then { _combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""]; s_player_combi set [count s_player_combi,_combi]; } else { _combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""]; s_player_combi set [count s_player_combi,_combi]; }; s_player_unlockvault = 1; } else { if(_ownerID != dayz_combination and _ownerID != dayz_playerUID) then { _combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""]; s_player_combi set [count s_player_combi,_combi]; s_player_unlockvault = 1; }; }; }; } else { {player removeAction _x} forEach s_player_combi;s_player_combi = []; s_player_unlockvault = -1; }; //Allow owner to pack vault if(_typeOfCursorTarget in DZE_UnLockedStorage and _ownerID != "0" and (player distance _cursorTarget < 3)) then { if (s_player_lockvault < 0) then { if(_ownerID == dayz_combination or _ownerID == dayz_playerUID) then { s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""]; }; }; if (s_player_packvault < 0 and (_ownerID == dayz_combination or _ownerID == dayz_playerUID)) then { s_player_packvault = player addAction [format["<t color='#ff0000'>%1</t>",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_packvault; s_player_packvault = -1; player removeAction s_player_lockvault; s_player_lockvault = -1; }; //Player Deaths if(_typeOfCursorTarget == "Info_Board_EP1") then { if (s_player_information < 0) then { s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""]; }; } else { player removeAction s_player_information; s_player_information = -1; }; //Fuel Pump if(_typeOfCursorTarget in dayz_fuelpumparray) then { if (s_player_fuelauto < 0) then { // check if Generator_DZ is running within 30 meters _findNearestGens = nearestObjects [player, ["Generator_DZ"], 30]; _findNearestGen = []; { if (alive _x and (_x getVariable ["GeneratorRunning", false])) then { _findNearestGen set [(count _findNearestGen),_x]; }; } foreach _findNearestGens; _IsNearRunningGen = count (_findNearestGen); // show that pump needs power if no generator nearby. if(_IsNearRunningGen > 0) then { s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""]; } else { s_player_fuelauto = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""]; }; }; } else { player removeAction s_player_fuelauto; s_player_fuelauto = -1; }; //Fuel Pump on truck if(_typeOfCursorTarget in DZE_fueltruckarray and alive _cursorTarget) then { if (s_player_fuelauto2 < 0) then { // show that fuel truck pump needs power. if(isEngineOn _cursorTarget) then { s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""]; } else { s_player_fuelauto2 = player addAction [format["<t color='#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER"], "",[], 0, false, true, "",""]; }; }; } else { player removeAction s_player_fuelauto2; s_player_fuelauto2 = -1; }; // inplace upgrade tool if ((_cursorTarget isKindOf "ModularItems") or (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") or (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then { if ((s_player_lastTarget select 0) != _cursorTarget) then { if (s_player_upgrade_build > 0) then { player removeAction s_player_upgrade_build; s_player_upgrade_build = -1; }; }; if (s_player_upgrade_build < 0) then { // s_player_lastTarget = _cursorTarget; s_player_lastTarget set [0,_cursorTarget]; s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "\z\addons\dayz_code\actions\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""]; }; } else { player removeAction s_player_upgrade_build; s_player_upgrade_build = -1; }; // downgrade system if((_isDestructable or _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" or _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") and (DZE_Lock_Door == _ownerID)) then { if ((s_player_lastTarget select 1) != _cursorTarget) then { if (s_player_downgrade_build > 0) then { player removeAction s_player_downgrade_build; s_player_downgrade_build = -1; }; }; if (s_player_downgrade_build < 0) then { s_player_lastTarget set [1,_cursorTarget]; s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "\z\addons\dayz_code\actions\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""]; }; } else { player removeAction s_player_downgrade_build; s_player_downgrade_build = -1; }; // inplace maintenance tool if((_cursorTarget isKindOf "ModularItems" or _cursorTarget isKindOf "DZE_Housebase" or _typeOfCursorTarget == "LightPole_DZ") and (damage _cursorTarget >= DZE_DamageBeforeMaint)) then { if ((s_player_lastTarget select 2) != _cursorTarget) then { if (s_player_maint_build > 0) then { player removeAction s_player_maint_build; s_player_maint_build = -1; }; }; if (s_player_maint_build < 0) then { s_player_lastTarget set [2,_cursorTarget]; s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""]; }; } else { player removeAction s_player_maint_build; s_player_maint_build = -1; }; //Start Generator if(_cursorTarget isKindOf "Generator_DZ") then { if (s_player_fillgen < 0) then { // check if not running if((_cursorTarget getVariable ["GeneratorRunning", false])) then { s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""]; } else { // check if not filled and player has jerry. if((_cursorTarget getVariable ["GeneratorFilled", false])) then { s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""]; } else { if("ItemJerrycan" in _magazinesPlayer) then { s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""]; }; }; }; }; } else { player removeAction s_player_fillgen; s_player_fillgen = -1; }; //Towing with tow truck /* if(_typeOfCursorTarget == "TOW_DZE") then { if (s_player_towing < 0) then { if(!(_cursorTarget getVariable ["DZEinTow", false])) then { s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""]; } else { s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""]; }; }; } else { player removeAction s_player_towing; s_player_towing = -1; }; */ //Sleep if(_isTent and _ownerID == dayz_characterID) then { if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then { s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""]; }; } else { player removeAction s_player_sleep; s_player_sleep = -1; }; //Repairing Vehicles if ((dayz_myCursorTarget != _cursorTarget) and _isVehicle and !_isMan and _hasToolbox and (damage _cursorTarget < 1) and !_isDisallowRepair) then { if (s_player_repair_crtl < 0) then { dayz_myCursorTarget = _cursorTarget; _menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""]; _menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false, "",""]; s_player_repairActions set [count s_player_repairActions,_menu]; s_player_repairActions set [count s_player_repairActions,_menu1]; s_player_repair_crtl = 1; } else { {dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = []; s_player_repair_crtl = -1; }; }; // All Traders if (_isMan and !_isPZombie and _traderType in serverTraders) then { if (s_player_parts_crtl < 0) then { // get humanity _humanity = player getVariable ["humanity",0]; _traderMenu = call compile format["menu_%1;",_traderType]; // diag_log ("TRADER = " + str(_traderMenu)); _low_high = "low"; _humanity_logic = false; if((_traderMenu select 2) == "friendly") then { _humanity_logic = (_humanity < -5000); }; if((_traderMenu select 2) == "hostile") then { _low_high = "high"; _humanity_logic = (_humanity > -5000); }; if((_traderMenu select 2) == "hero") then { _humanity_logic = (_humanity < 5000); }; if(_humanity_logic) then { _cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""]; s_player_parts set [count s_player_parts,_cancel]; } else { // Static Menu { //diag_log format["DEBUG TRADER: %1", _x]; _buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""]; s_player_parts set [count s_player_parts,_buy]; } forEach (_traderMenu select 1); // Database menu _buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""]; s_player_parts set [count s_player_parts,_buy]; }; s_player_parts_crtl = 1; }; } else { {player removeAction _x} forEach s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; }; if(dayz_tameDogs) then { //Dog if (_isDog and _isAlive and (_hasRawMeat) and _ownerID == "0" and player getVariable ["dogID", 0] == 0) then { if (s_player_tamedog < 0) then { s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""]; }; } else { player removeAction s_player_tamedog; s_player_tamedog = -1; }; if (_isDog and _ownerID == dayz_characterID and _isAlive) then { _dogHandle = player getVariable ["dogID", 0]; if (s_player_feeddog < 0 and _hasRawMeat) then { s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""]; }; if (s_player_waterdog < 0 and "ItemWaterbottle" in _magazinesPlayer) then { s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""]; }; if (s_player_staydog < 0) then { _lieDown = _dogHandle getFSMVariable "_actionLieDown"; if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; }; s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""]; }; if (s_player_trackdog < 0) then { s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""]; }; if (s_player_barkdog < 0) then { s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""]; }; if (s_player_warndog < 0) then { _warn = _dogHandle getFSMVariable "_watchDog"; if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; }; s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""]; }; if (s_player_followdog < 0) then { s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""]; }; } else { player removeAction s_player_feeddog; s_player_feeddog = -1; player removeAction s_player_waterdog; s_player_waterdog = -1; player removeAction s_player_staydog; s_player_staydog = -1; player removeAction s_player_trackdog; s_player_trackdog = -1; player removeAction s_player_barkdog; s_player_barkdog = -1; player removeAction s_player_warndog; s_player_warndog = -1; player removeAction s_player_followdog; s_player_followdog = -1; }; }; } else { //Engineering {dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = []; s_player_repair_crtl = -1; {player removeAction _x} forEach s_player_combi;s_player_combi = []; dayz_myCursorTarget = objNull; s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull]; {player removeAction _x} forEach s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; {player removeAction _x} forEach s_player_lockunlock;s_player_lockunlock = []; s_player_lockUnlock_crtl = -1; player removeAction s_player_checkGear; s_player_checkGear = -1; player removeAction s_player_SurrenderedGear; s_player_SurrenderedGear = -1; //Others player removeAction s_player_forceSave; s_player_forceSave = -1; player removeAction s_player_flipveh; s_player_flipveh = -1; player removeAction s_player_sleep; s_player_sleep = -1; player removeAction s_player_deleteBuild; s_player_deleteBuild = -1; player removeAction s_player_butcher; s_player_butcher = -1; player removeAction s_player_cook; s_player_cook = -1; player removeAction s_player_boil; s_player_boil = -1; player removeAction s_player_fireout; s_player_fireout = -1; player removeAction s_player_packtent; s_player_packtent = -1; player removeAction s_player_fillfuel; s_player_fillfuel = -1; player removeAction s_player_studybody; s_player_studybody = -1; //Dog player removeAction s_player_tamedog; s_player_tamedog = -1; player removeAction s_player_feeddog; s_player_feeddog = -1; player removeAction s_player_waterdog; s_player_waterdog = -1; player removeAction s_player_staydog; s_player_staydog = -1; player removeAction s_player_trackdog; s_player_trackdog = -1; player removeAction s_player_barkdog; s_player_barkdog = -1; player removeAction s_player_warndog; s_player_warndog = -1; player removeAction s_player_followdog; s_player_followdog = -1; // vault player removeAction s_player_unlockvault; s_player_unlockvault = -1; player removeAction s_player_packvault; s_player_packvault = -1; player removeAction s_player_lockvault; s_player_lockvault = -1; player removeAction s_player_information; s_player_information = -1; player removeAction s_player_fillgen; s_player_fillgen = -1; player removeAction s_player_upgrade_build; s_player_upgrade_build = -1; player removeAction s_player_maint_build; s_player_maint_build = -1; player removeAction s_player_downgrade_build; s_player_downgrade_build = -1; player removeAction s_player_towing; s_player_towing = -1; player removeAction s_player_fuelauto; s_player_fuelauto = -1; player removeAction s_player_fuelauto2; s_player_fuelauto2 = -1; }; //Dog actions on player self _dogHandle = player getVariable ["dogID", 0]; if (_dogHandle > 0) then { _dog = _dogHandle getFSMVariable "_dog"; _ownerID = "0"; if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; }; if (_canDo and !_inVehicle and alive _dog and _ownerID != dayz_characterID) then { if (s_player_movedog < 0) then { s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""]; }; if (s_player_speeddog < 0) then { _text = (localize "str_epoch_player_249"); _speed = 0; if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); }; s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""]; }; if (s_player_calldog < 0) then { s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""]; }; }; } else { player removeAction s_player_movedog; s_player_movedog = -1; player removeAction s_player_speeddog; s_player_speeddog = -1; player removeAction s_player_calldog; s_player_calldog = -1; }; And just for kicks: dayz_1.chernarus > custom > rob > AI.sqf private ["_HQ","_unitGroup","_squad1","_squad2","_squad3","_squad4","_squad5","_target"]; // Basic Declaration _HQ = createCenter east; // Creates a center _unitGroup = createGroup east; // Makes a group EAST setfriend [WEST,0]; // Makes sure that the "EAST" is hostile. _target = [7027.7656, 7657.8701, 3.0517578e-005]; // Spawns the AI _squad1 = _unitGroup createUnit ["Policeman",[7026.6099, 7667.5566, 3.0517578e-005], [], 10, "PRIVATE"]; _squad2 = _unitGroup createUnit ["Policeman",[7026.186, 7668.7749, 0], [], 10, "PRIVATE"]; _squad3 = _unitGroup createUnit ["Policeman",[7025.7593, 7669.873, 0], [], 10, "COLONEL"]; _squad4 = _unitGroup createUnit ["Policeman",[7025.2358, 7671.1953, 0], [], 10, "PRIVATE"]; _squad5 = _unitGroup createUnit ["Policeman",[7027.8037, 7670.0151, 0], [], 10, "PRIVATE"]; //Makes them hostile [_squad1,_squad2,_squad3,_squad4,_squad5] joinSilent _unitGroup; /* Adds weapons to the AI. Customiseable on your likings. Just change the "AKS_74_U" to whatever gun you'd like. */ _squad1 addweapon "AKS_74_U"; _squad1 addmagazine "30Rnd_545x39_AK"; _squad1 addmagazine "30Rnd_545x39_AK"; _squad2 addweapon "AKS_74_U"; _squad2 addmagazine "30Rnd_545x39_AK"; _squad2 addmagazine "30Rnd_545x39_AK"; _squad3 addweapon "AKS_74_U"; _squad3 addmagazine "30Rnd_545x39_AK"; _squad3 addmagazine "30Rnd_545x39_AK"; _squad4 addweapon "AKS_74_U"; _squad4 addmagazine "30Rnd_545x39_AK"; _squad4 addmagazine "30Rnd_545x39_AK"; _squad5 addweapon "AKS_74_U"; _squad5 addmagazine "30Rnd_545x39_AK"; _squad5 addmagazine "30Rnd_545x39_AK"; // Sets their difficulty // Good [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingspeed", 1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spotdistance", 1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingaccuracy", 1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingshake", 0.2]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spottime", 1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spotdistance", 1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["commanding", 1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["general", 1]; // Medium /* [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingspeed", 0.2]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spotdistance", 0.2]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingaccuracy", 0.2]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingshake", 0.2]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spottime", 0.4]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spotdistance", 0.6]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["commanding", 0.6]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["general", 0.7]; */ // Low /* [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingspeed", 0.15]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spotdistance", 0.15]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingaccuracy", 0.1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["aimingshake", 0.1]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spottime", 0.3]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["spotdistance", 0.5]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["commanding", 0.5]; [_squad1,_squad2,_squad3,_squad4,_squad5] setSkill ["general", 0.6]; */ //Behaviour [_squad1,_squad2,_squad3,_squad4,_squad5] enableAI "TARGET"; [_squad1,_squad2,_squad3,_squad4,_squad5] enableAI "AUTOTARGET"; [_squad1,_squad2,_squad3,_squad4,_squad5] enableAI "MOVE"; [_squad1,_squad2,_squad3,_squad4,_squad5] enableAI "ANIM"; [_squad1,_squad2,_squad3,_squad4,_squad5] enableAI "FSM"; [_squad1,_squad2,_squad3,_squad4,_squad5] setCombatMode "RED"; [_squad1,_squad2,_squad3,_squad4,_squad5] setBehaviour "COMBAT"; // Unit move -> bank [_squad1,_squad2,_squad3,_squad4,_squad5] moveTo _target; dayz_1.chernarus > custom > rob > robbank.sqf private ["_random","_random2","_silver","_silver10oz","_gold","gold10oz","_briefcase"]; // Checks if script is active, thanks Halvhjearne <3 if(isNil "script_in_progress")then{ script_in_progress = false; }; if(script_in_progress)exitwith{ systemChat "This script is only useable once (untill restart)!"; }; script_in_progress = true; // End Checks if Script is active cutText [format["You are about to rob the bank, your have 30 percent chance to get loot."], "PLAIN DOWN"]; sleep 5; // Currency // _silver = "ItemSilverBar"; _silver10oz = "ItemSilverBar10oz"; _gold = "ItemGoldBar"; _gold10oz = "ItemGoldBar10oz"; _briefcase = "ItemBriefcase100oz"; // Makes sure that the game checks for the 30 percent. _random = floor(random 11); //0-10 if (_random <= 3) then { cutText [format["You are robbing the bank, the police has been warned. It takes 5 minutes before the bank robbery is succesfull."], "PLAIN DOWN"]; sleep 5; [nil,nil,rTitleText,"The bank is getting robbed!", "PLAIN",10] call RE; sleep 55; cutText [format["4 minutes left.."], "PLAIN DOWN"]; sleep 60; cutText [format["3 minutes left.."], "PLAIN DOWN"]; sleep 60; cutText [format["2 minutes left.."], "PLAIN DOWN"]; sleep 60; cutText [format["1 minute left.."], "PLAIN DOWN"]; sleep 60; player playActionNow "Medic"; sleep 8; [nil,nil,rTitleText,"The bank has been robbed succesfully!", "PLAIN",10] call RE; _random2 = floor(random 6); // Makes an another random section, which chooses the loot randomly. if (_random2 == 0) then { cutText [format["The vault was emptied recently, no big loot, except some silver."], "PLAIN DOWN"]; player addMagazine _silver10oz; player addMagazine _silver10oz; player addMagazine _silver; systemChat "The robber got: 2x Silver10oz and 1x Silver"; }; if (_random2 == 1) then { cutText [format["Some gold, not much."], "PLAIN DOWN"]; player addMagazine _gold; player addMagazine _gold; systemChat "The robber got: 2x gold"; }; if (_random2 == 2) then { cutText [format["Nice job!"], "PLAIN DOWN"]; player addMagazine _gold10oz; player addMagazine _gold10oz; player addMagazine _gold10oz; player addMagazine _gold10oz; player addMagazine _gold10oz; systemChat "The robber got: 5x gold10oz"; }; if (_random2 == 3) then { cutText [format["Some gold, not much."], "PLAIN DOWN"]; player addMagazine _gold; player addMagazine _gold; player addMagazine _gold10oz; systemChat "The robber got: 2x gold and 1x Gold10oz"; }; if (_random2 == 4) then { cutText [format["The vault was emptied recently, no big loot, except some silver."], "PLAIN DOWN"]; player addMagazine _silver10oz; player addMagazine _silver10oz; player addMagazine _silver; systemChat "The robber got: 2x Silver10oz and 1x Silver"; }; if (_random2 == 5) then { cutText [format["Jack.. Jack.. Pot!!"], "PLAIN DOWN"]; player addMagazine _briefcase; player addMagazine _briefcase; systemChat "Ting ting ting... The jackpot has been stolen! Bye bye 2 briefcases"; }; // Output if above is not activated. } else { cutText [format["Bank robbery failed.."], "PLAIN DOWN"]; systemChat "Bank robbery failed!"; }; // sleep seconds; // script_in_progress = false; /* Remove the // to enable the script to able to be used again. By "sleep seconds:" i.e: sleep 60; (able to use script after 60 seconds again). */ Your help is greatly appreciated! Link to comment Share on other sites More sharing options...
Darihon Posted June 19, 2014 Author Report Share Posted June 19, 2014 What goes wrong? Link to comment Share on other sites More sharing options...
skotracker Posted June 20, 2014 Report Share Posted June 20, 2014 The building and associated desk and computer load in. There is no scroll context menu to start the mission. Link to comment Share on other sites More sharing options...
Darihon Posted June 22, 2014 Author Report Share Posted June 22, 2014 Do u have set the right path in the "compiles.sqf" to the "fn_selfactions"? And then set the right path in "init.sqf' to "compiles.sqf", since I don't see an error. Link to comment Share on other sites More sharing options...
celticwarrior06 Posted June 27, 2014 Report Share Posted June 27, 2014 hi this look great and would love to try it in my servier the only thing is i cant find fn_selfactions.sqf in my server or mission pbo can i create it if so were will i put it and also my compiles.sqf is in my snapping folder will i need a new one also cheers Link to comment Share on other sites More sharing options...
Darihon Posted June 27, 2014 Author Report Share Posted June 27, 2014 hi this look great and would love to try it in my servier the only thing is i cant find fn_selfactions.sqf in my server or mission pbo can i create it if so were will i put it and also my compiles.sqf is in my snapping folder will i need a new one also cheers Get the fn_selfactions from your dayz_code.pbo (dayz_code\compile\fn_selfactions). Copy it to your mission.pbo Paste it somewhere. Open up your compiles.sqf Search : "fn_selfactions.sqf" Replace the path with your new path. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now