Bigant
-
Posts
31 -
Joined
-
Last visited
Content Type
Profiles
Forums
Articles
Posts posted by Bigant
-
-
85.236.100.85:11957 is our TS info :) just tweaking the AI a little more as apparently someone managed to roll over one of the Ai outposts in a btr... that wont be happening again *Evil laugh*
-
i have a setup with a few AI bases with crates that spawn on restart :) feel free to jump on the server and have a look see if you like it i could help you with the rest no problem :)
-
we use wicked AI system jersey i can send you the scripts we use for all the Static and paroling ai but i don't think they will work with another system.. we have a few static AI bases setup not just at the array.
gr8 if you give me a poke when your online ill give you the guided tour :)
-
The array is a good island for adding a AI base. we have an AI stronghold there using wicked AI your welcome to come have a look see at how that's done and if you liked it i would be happy to help you with the files :)
-
hasnt worked :( trader still lets anyone trade with him no matter what humanity they have.
-
ah sorry didnt know how to put the spoiler thing :) shall try this hopefully it shall work! thank you for all the help :)
-
Bumpage anyone see the mistake here?
-
and there something else we can add to the list of things i want you to do on my server :P
-
feel free to jump on our server and have a look at our ai :) if you like them im happy to help you setup wicked ai there.
-
sorry for the spam i dont know how to do the spoiler thing
this is what we did to get it working with the traders there and able to sell stuff just no humanity working. one is also currently a food trader but we think we know what we did wrong there lol.
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]);};};//Grab Flareif (_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 animalif (!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 ALIVEif(_isAlive) then {//Allow player to delete objectsif(_isDestructable or _isWreck or _isRemovable or _isWreckBuilding) then {if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {_player_deleteBuild = true;};};//Allow owners to delete modularsif(_isModular and (dayz_characterID == _ownerID)) then {if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {_player_deleteBuild = true;};};// CURSOR TARGET VEHICLEif(_isVehicle) then {//flip vehicle small vehicles by your self and all other vehicles with help nearbyif (!(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 vehicleif(_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 saveif((_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 nearbyif(_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 jerrycanif((_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 ALIVEif (!_isAlive) then {// Gut animal/zedif((_isAnimal or _isZombie) and _hasKnife) then {_isHarvested = _cursorTarget getVariable["meatHarvested",false];if (!_isHarvested) then {_player_butcher = true;};};// Study bodyif (_isMan and !_isZombie and !_isAnimal) then {_player_studybody = true;}} else {// unit alive// gear access on surrendered playerif(_isMan and !_isZombie and !_isAnimal) then {_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];if (_isSurrendered) then {_player_SurrenderedGear = true;};};};// Human Gut animal or zombieif (_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 Bodyif (_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 FIREif (inflamed _cursorTarget) then {//Fireplace Actions checkif (_hasRawMeat) then {_player_cook = true;};// Boil waterif (_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 checkif (_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 waterif (_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 tentif(_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 vaultif((_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 vaultif(_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 Deathsif(_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 Pumpif(_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 truckif(_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 toolif ((_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 systemif((_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 toolif((_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 Generatorif(_cursorTarget isKindOf "Generator_DZ") then {if (s_player_fillgen < 0) then {// check if not runningif((_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;};*///Sleepif(_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 Vehiclesif ((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 Tradersif (_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((_traderMenu select 2) == "super") then {_humanity_logic = (_humanity < 15000);};if((_traderMenu select 2) == "s_bandit") then {_low_high == "high";_humanity_logic = (_humanity > -15000};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 {//Dogif (_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;//Othersplayer 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;//Dogplayer 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;// vaultplayer 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;}; -
wicked ai is well wicked:D we are having lots of fun with it.
-
still cant get this to work :( best we can get is traders in the locations but no humanity based filter for them :(
-
ok after much faffing around and lots of swearing.. it seems to be working in that theres traders where we want there to be and they have trader menu. catch is the humanity needed dosnt seem to matter they will both talk to anyone and trade with them... copy pasted your code and its still been naughty with us. also how do the traders spawn vehicles. is it on the closest "HeliHEmpty", or is there something else you have to tell them ? existing traders didn't seem to have anything specific like that in the files, we are using the bexs traders and then the 2 we are trying to create.
-
i have tried every guide i can find they just wont behave for us. we managed to install some custom trade city setup we found on the forums moved the traders around abit but adding these extra tier ones in is been a right pain in the behind hence we decided to throw money at it till it goes away lol. we want the traders at north east and south west airfields basicly *plan on having aircraft available there so runways will be needed. no vendors at these places currently.
-
Hello we are after someone willing to add a couple of custom traders to our server. basicly for super hero/villain rep at 15k - 15 have tried following the various guides on here and other websites and have failed each time :( so now looking for someone we can pay to do it for us. it is the NAPF map and we are hosted on Gaming deluxe.
-
Adding a couple of custom traders for super hero/super villain type dealings? :) also the animated MV22 and maybe the armed suv bits sure might be a couple more scripts we would like as well.
-
our server has an impressive amount of AI :) a few static bases then some pretty nasty missions spawning. took ages to get it all working but the posts on here guided me through 99% of it. still problem with helis flying into trees when doing attack runs though. the static 50s can shoot through thinner walls but thick stuff stops them.
-
larger calibre guns are able to shoot through walls?
-
Sorry if this has been asked before. is there any way to change the hight the heli patrols attack at. they patrol at 200 but drop down to attack. problem is they drop a little low and often fly into trees on our NAPF server could do with lifting them up just a tad so they clear them.
NPC in sector FNG with NAPF map. FAQ.
in A2: Custom Bases (1.0.5.1)
Posted
they have the tools to defend themselfs against any of the vehicles we have on the server if a player is careless enough to let them :) cant just roll up in a tank or fly over in an attack heli and get insta loot :) though if used correctly and supported via other players. they can be very powerful :)