Jump to content

[Release] Wicked AI 2.2.0


f3cuk

Recommended Posts

I was using them but it seemed like their spawn rates were all over the place, sometimes not spawning for hours, sometimes respawning right on top of each other. I just recently got info that will let me set up hero ai for dzai as well, but i'm not sure if those ai will be hostile to hero players or not. We are running an Epoch Origins server with quite a bit of customization but having a limited amount of AI on top of player PVP and missions would be ideal for us.

Link to comment
Share on other sites

Question about AI behavior. I'm using a Time acceleration script from here When a day is compressed the missions spawn much faster, which I know is not difficult to fix, but would this type of addon which affects mission time change AI behavior as well, effectively speeding up the time between their actions? If so how would I go about adjusting that as I want my server to have 4 hour days.

I use the same mod 4 hours = 24hours. It makes no difference to this mission system.

Link to comment
Share on other sites

I tried to add in custom group spawns, but nothing spawn. Here's my Line of code

 

[
[13033.765,3154.4763,0.00037384033], // Position
4, // Number Of units
"Random", // Skill level of unit (easy, medium, hard, extreme, Random)
"Random", or ["Random","at"], // Primary gun set number and rocket launcher. "Random" for random weapon set, "at" for anti-tank, "aa" for anti-air launcher
4, // Number of magazines
"Random", // Backpack classname, use "Random" or classname here
"Random", // Skin classname, use "Random" or classname here
"Random", // Gearset number. "Random" for random gear set
"Bandit" // AI Type, "Hero" or "Bandit".
] call spawn_group;
Link to comment
Share on other sites

Does anyone know of a way to add items to the mission vehicles? Would love to be able to get rid of crate on vehicle missions and just have the loot spawned into the vehicles them selves.

 

Thanks in advance, Dirty

 

Should be as easy as replacing the _crate variable with the _vehicle you want to put the stuff in.

 

Try this

if(isServer) then {

    private         ["_complete","_crate","_mission","_static_gun","_crate_type","_rndnum","_playerPresent","_vehname","_vehicle","_position","_vehclass"];

    // Get mission number, important we do this early
    _mission         = count wai_mission_data -1;
    
    //Armed Land Vehicle
    _vehclass         = armed_vehicle call BIS_fnc_selectRandom;
    _vehname         = getText (configFile >> "CfgVehicles" >> _vehclass >> "displayName");

    _position        = [30] call find_position;
    [_mission,_position,"Medium",format["Disabled %1",_vehname],"MainBandit",true] call mission_init;
    
    diag_log         format["WAI: [Mission:[Bandit] Armed Vehicle]: Starting... %1",_position];

    //Troops
    _rndnum = (2 + round (random 4));
    [[_position select 0,_position select 1,0],_rndnum,"Medium",["Random","AT"],3,"Random","Hero","Random","Hero",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],_rndnum,"Medium","Random",3,"Random","Hero","Random","Hero",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],_rndnum,"Medium","Random",3,"Random","Hero","Random","Hero",_mission] call spawn_group;

    //Static Guns
    _static_gun = ai_static_weapons call BIS_fnc_selectRandom;
    [[
        [(_position select 0),(_position select 1) + 10, 0]
    ],_static_gun,"Medium","Hero","Hero",0,2,"Random","Random",_mission] call spawn_static;

    //Spawn vehicles
    _vehicle        = [_vehclass,_position,_mission] call custom_publish;
    
    if(debug_mode) then {
        diag_log format["WAI: [Bandit] armed_vehicle spawned a %1",_vehname];
    };
    
    //Condition
    _complete = [
        [_mission,_vehicle],    // mission number and crate
        ["crate"],                 // ["crate"], or ["kill"], or ["assassinate", _unitGroup],
        [_vehicle],             // cleanup objects
        "Heroes have taken an armed vehicle from the bandits! Check your map for the location!",    // mission announcement
        "Bandits have secured the armed vehicle!",                                                    // mission success
        "Bandits did not secure the armed vehicle in time"                                        // mission fail
    ] call mission_winorfail;

    if(_complete) then {
        [_vehicle,0,0,[25,crate_items_chainbullets],2] call dynamic_crate;
    };

    diag_log format["WAI: [Mission:[Bandit] Armed Vehicle]: Ended at %1",_position];
    
    b_missionsrunning = b_missionsrunning - 1;
};
Link to comment
Share on other sites

Alright got the code from wasteland cleaned up to the things we actually need

 

convoy itself needs to be tested first

Wasteland uses locationmarkers to get the start and the endpoint of the mission, I will change those to random positions as soon as possible, just need to test and clean up some more

 

all the credits to the real scripts will go to:

http://www.404games.co.uk/forum/index.php?/topic/1620-make-your-mission-dynamic-main-airdropped-side-convoy/

 

and their version of the normal wasteland server.

 

Just for info the wasteland server uses A2Net but I disabled that option via config, so you wont need it.

Also Wasteland uses a configfile in each folder which will be combined to one when I am done.

also the A2Net requests will be removed and maybe the configfile will maybe completely removed

Link to comment
Share on other sites

 

I tried to add in custom group spawns, but nothing spawn. Here's my Line of code

 

[
[13033.765,3154.4763,0.00037384033], // Position
4, // Number Of units
"Random", // Skill level of unit (easy, medium, hard, extreme, Random)
"Random", or ["Random","at"], // Primary gun set number and rocket launcher. "Random" for random weapon set, "at" for anti-tank, "aa" for anti-air launcher
4, // Number of magazines
"Random", // Backpack classname, use "Random" or classname here
"Random", // Skin classname, use "Random" or classname here
"Random", // Gearset number. "Random" for random gear set
"Bandit" // AI Type, "Hero" or "Bandit".
] call spawn_group;

 

 You have use one or the other not both:

 

[

[13033.765,3154.4763,0.00037384033], // Position

4, // Number Of units

"Random", // Skill level of unit (easy, medium, hard, extreme, Random)

"Random",  // Primary gun set number and rocket launcher. "Random" for random weapon set, "at" for anti-tank, "aa" for anti-air launcher

4, // Number of magazines

"Random", // Backpack classname, use "Random" or classname here

"Random", // Skin classname, use "Random" or classname here

"Random", // Gearset number. "Random" for random gear set

"Bandit" // AI Type, "Hero" or "Bandit".

] call spawn_group;

 

OR

 

[

[13033.765,3154.4763,0.00037384033], // Position

4, // Number Of units

"Random", // Skill level of unit (easy, medium, hard, extreme, Random)

["Random","at"], // Primary gun set number and rocket launcher. "Random" for random weapon set, "at" for anti-tank, "aa" for anti-air launcher

4, // Number of magazines

"Random", // Backpack classname, use "Random" or classname here

"Random", // Skin classname, use "Random" or classname here

"Random", // Gearset number. "Random" for random gear set

"Bandit" // AI Type, "Hero" or "Bandit".

] call spawn_group;

 

 

MegaZ

Link to comment
Share on other sites

I have a question. As soon as i modify anything in the "config.sqf" the WICKED AI no longer work. No missions show up or no missions spawn. When i restore the default "config.sqf" the mission go back to working. 

 

 

My edited config:

 

if(isServer) then {

 
/* GENERAL CONFIG */
 
debug_mode = false; // enable debug
use_blacklist = true; // use blacklist
blacklist = [
[[5533.00,8445.00],[6911.00,7063.00]], // Stary
[[0,16000,0],[1000,-0,0]], // Left
[[0,16000,0],[16000.0,14580.3,0]] // Top
];
 
/* END GENERAL CONFIG */
 
/* AI CONFIG */
 
ai_clear_body = false; // instantly clear bodies
ai_clean_dead = true; // clear bodies after certain amount of time
ai_cleanup_time = 900; // time to clear bodies in seconds
ai_clean_roadkill = true; // clean bodies that are roadkills
ai_roadkill_damageweapon = 0; // percentage of chance a roadkill will destroy weapon AI is carrying
 
ai_bandit_combatmode = "YELLOW"; // combatmode of bandit AI
ai_bandit_behaviour = "COMBAT"; // behaviour of bandit AI
 
ai_hero_combatmode = "YELLOW"; // combatmode of hero AI
ai_hero_behaviour = "COMBAT"; // behaviour of hero AI
 
ai_share_info = true; // AI share info on player position
ai_share_distance = 400; // Distance from killed AI for AI to share your rough position
 
ai_kills_gain = true; // add kill to bandit/human kill score
ai_humanity_gain = true; // gain humanity for killing AI
ai_add_humanity = 50; // amount of humanity gained for killing a bandit AI
ai_remove_humanity = 50; // amount of humanity lost for killing a hero AI
ai_special_humanity = 150; // amount of humanity gain or loss for killing a special AI dependant on player alignment
 
ai_skill_extreme = [["aimingAccuracy",1.00],["aimingShake",1.00],["aimingSpeed",1.00],["endurance",1.00],["spotDistance",1.00],["spotTime",1.00],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]]; // Extreme
ai_skill_hard = [["aimingAccuracy",0.80],["aimingShake",0.80],["aimingSpeed",0.80],["endurance",1.00],["spotDistance",0.80],["spotTime",0.80],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]]; // Hard
ai_skill_medium = [["aimingAccuracy",0.60],["aimingShake",0.60],["aimingSpeed",0.60],["endurance",1.00],["spotDistance",0.60],["spotTime",0.60],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]]; // Medium
ai_skill_easy = [["aimingAccuracy",0.40],["aimingShake",0.50],["aimingSpeed",0.50],["endurance",1.00],["spotDistance",0.50],["spotTime",0.50],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]]; // Easy
ai_skill_random = [ai_skill_extreme,ai_skill_hard,ai_skill_hard,ai_skill_hard,ai_skill_hard,ai_skill_medium,ai_skill_medium,ai_skill_medium,ai_skill_medium,ai_skill_easy];
 
ai_static_useweapon = true; // Allows AI on static guns to have a loadout
ai_static_weapons = ["DSHKM_Ins","M2StaticMG"]; // static guns
 
ai_static_skills = false; // Allows you to set custom array for AI on static weapons. (true: On false: Off) 
ai_static_array = [["aimingAccuracy",0.20],["aimingShake",0.70],["aimingSpeed",0.75],["endurance",1.00],["spotDistance",0.70],["spotTime",0.50],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]];
 
ai_gear0 = [["ItemBandage","ItemBandage","ItemPainkiller"],["ItemKnife","ItemFlashlight"]];
ai_gear1 = [["ItemBandage","ItemBandage","ItemPainkiller"],["ItemKnife","ItemFlashlight"]];
ai_gear_random = [ai_gear0,ai_gear1]; // Allows the possibility of random gear
 
ai_wep_assault = [["M16A4_ACG","30Rnd_556x45_Stanag"],["Sa58V_RCO_EP1","30Rnd_762x39_AK47"],["SCAR_L_STD_Mk4CQT","30Rnd_556x45_Stanag"],["M8_sharpshooter","30Rnd_556x45_Stanag"],["M4A1_HWS_GL_camo","30Rnd_556x45_Stanag"],["SCAR_L_STD_HOLO","30Rnd_556x45_Stanag"],["M4A3_CCO_EP1","30Rnd_556x45_Stanag"],["M4A3_CCO_EP1","30Rnd_556x45_Stanag"],["M4A1_AIM_SD_camo","30Rnd_556x45_StanagSD"],["M16A4","30Rnd_556x45_Stanag"],["m8_carbine","30Rnd_556x45_Stanag"],["BAF_L85A2_RIS_Holo","30Rnd_556x45_Stanag"],["Sa58V_CCO_EP1","30Rnd_762x39_AK47"]]; // Assault
ai_wep_machine = [["RPK_74","75Rnd_545x39_RPK"],["MK_48_DZ","100Rnd_762x51_M240"],["M249_EP1_DZ","200Rnd_556x45_M249"],["Pecheneg_DZ","100Rnd_762x54_PK"],["M240_DZ","100Rnd_762x51_M240"]]; // Light machine guns
ai_wep_sniper = [["M14_EP1","20Rnd_762x51_DMR"],["SCAR_H_LNG_Sniper_SD","20Rnd_762x51_SB_SCAR"],["M110_NVG_EP1","20rnd_762x51_B_SCAR"],["SVD_CAMO","10Rnd_762x54_SVD"],["VSS_Vintorez","20Rnd_9x39_SP5_VSS"],["DMR","20Rnd_762x51_DMR"],["M40A3","5Rnd_762x51_M24"]]; // Sniper rifles
ai_wep_random = [ai_wep_assault,ai_wep_assault,ai_wep_assault,ai_wep_sniper,ai_wep_machine]; // random weapon 60% chance assault rifle,20% light machine gun,20% sniper rifle
ai_wep_launchers_AT = ["RPG18"];
ai_wep_launchers_AA = ["STINGER"];
 
ai_packs = ["DZ_Czech_Vest_Puch","DZ_ALICE_Pack_EP1","DZ_TK_Assault_Pack_EP1","DZ_British_ACU","DZ_GunBag_EP1","DZ_CivilBackpack_EP1","DZ_Backpack_EP1","DZ_LargeGunBag_EP1"];
ai_hero_skin = ["FR_AC","FR_AR","FR_Corpsman","FR_GL","FR_Marksman","FR_R","FR_Sapper","FR_TL"];
ai_bandit_skin = ["Ins_Soldier_GL_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","GUE_Commander_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_2_DZ","GUE_Soldier_CO_DZ","BanditW1_DZ","BanditW2_DZ","Bandit1_DZ","Bandit2_DZ"];
ai_special_skin = ["Functionary1_EP1_DZ"];
ai_all_skin = [ai_hero_skin,ai_bandit_skin,ai_special_skin];
 
ai_add_skin = false; // adds unit skin to inventory on death
 
/* END AI CONFIG */
 
/* WAI MISSIONS CONFIG */
wai_mission_system = true; // use built in mission system
 
wai_mission_markers = ["DZMSMajMarker","DZMSMinMarker","DZMSBMajMarker","DZMSBMinMarker"];
 
wai_avoid_missions = true; // avoid spawning near other missions, these are defined in wai_mission_markers
wai_avoid_traders = true; // avoid spawning missions near traders
wai_mission_spread = 750; // make missions spawn this far apart from one another and other markers
wai_near_town = 0; // make missions check for towns around this radius
wai_near_road = 0; // make missions check for roads around this radius
wai_near_water = 50; // nearest water allowed near missions
 
wai_mission_timer = [300,900]; // time between missions 5-15 minutes
wai_mission_timeout = [900,1800]; // time each missions takes to despawn if inactive 15-30 minutes
wai_timeout_distance = 1000; // if a player is this close to a mission then it won't time-out
 
wai_clean_mission = true; // clean all mission buildings after a certain period
wai_clean_mission_time = 750; // time after a mission is complete to clean mission buildings
 
wai_mission_fuel = [10,20]; // fuel inside mission spawned vehicles [min%,max%]
wai_vehicle_damage = [20,80]; // damages to spawn vehicles with [min%,max%]
wai_keep_vehicles = true; // save vehicles to database and keep them after restart
 
wai_crates_smoke = true; // pop smoke on crate when mission is finished during daytime
wai_crates_flares = true; // pop flare on crate when mission is finished during nighttime
 
wai_players_online = 1; // number of players online before mission starts
wai_server_fps = 5; // missions only starts if server FPS is over wai_server_fps
 
wai_kill_percent = 30; // percentage of AI players that must be killed at "crate" missions to be able to trigger completion
 
wai_high_value = false; // enable the possibility of finding a high value item (defined below crate_items_high_value) inside a crate
wai_high_value_chance = 1; // chance in percent you find above mentioned item
 
wai_enable_minefield = true;    // enable minefields to better defend missions
wai_use_launchers = true;    // add a rocket launcher to each spawned AI group
wai_remove_launcher = true;    // remove rocket launcher from AI on death
 
// Missions
wai_hero_missions = [ // ["mission filename",% chance of picking this mission],Make sure the chances add up to 100,or it will not be accurate percentages
["black_hawk_crash",12],
["armed_vehicle",13],
["bandit_base",8],
["captured_mv22",8],
["ikea_convoy",8],
["destroyed_ural",18],
["disabled_milchopper",10],
["mayors_mansion",10],
["weapon_cache",13]
];
wai_bandit_missions = [
["armed_vehicle",12],
["black_hawk_crash",14],
["captured_mv22",6],
["broken_down_ural",14],
["hero_base",6],
["ikea_convoy",8],
["medi_camp",16],
["presidents_mansion",6],
["sniper_extraction",8],
["weapon_cache",10]
];
/*
wai_special_missions = [
["bunny_ranch",100]
];
*/
 
// Vehicle arrays
armed_vehicle = ["ArmoredSUV_PMC_DZE","GAZ_Vodnik_DZE","HMMWV_M1151_M2_CZ_DES_EP1_DZE","HMMWV_M998A2_SOV_DES_EP1_DZE","LandRover_MG_TK_EP1_DZE","LandRover_Special_CZ_EP1_DZE","Offroad_DSHKM_Gue_DZE","Pickup_PK_GUE_DZE","Pickup_PK_INS_DZE","Pickup_PK_TK_GUE_EP1_DZE","UAZ_MG_TK_EP1_DZE"];
armed_chopper = ["CH_47F_EP1_DZE","UH1H_DZE","Mi17_DZE","UH60M_EP1_DZE","UH1Y_DZE","MH60S_DZE"];
civil_chopper = ["AH6X_DZ","BAF_Merlin_DZE","MH6J_DZ","Mi17_Civilian_DZ"];
military_unarmed = ["GAZ_Vodnik_MedEvac","HMMWV_Ambulance","HMMWV_Ambulance_CZ_DES_EP1","HMMWV_DES_EP1","HMMWV_DZ","HMMWV_M1035_DES_EP1","LandRover_CZ_EP1","LandRover_TK_CIV_EP1","UAZ_CDF","UAZ_INS","UAZ_RU","UAZ_Unarmed_TK_CIV_EP1","UAZ_Unarmed_TK_EP1","UAZ_Unarmed_UN_EP1"];
cargo_trucks = ["Kamaz","MTVR_DES_EP1","Ural_CDF","Ural_TK_CIV_EP1","Ural_UN_EP1","V3S_Open_TK_CIV_EP1","V3S_Open_TK_EP1"];
refuel_trucks = ["KamazRefuel_DZ","MtvrRefuel_DES_EP1_DZ","UralRefuel_TK_EP1_DZ","V3S_Refuel_TK_GUE_EP1_DZ"];
civil_vehicles = ["hilux1_civil_1_open","hilux1_civil_2_covered","hilux1_civil_3_open_EP1","SUV_Blue","SUV_Camo","SUV_Charcoal","SUV_Green","SUV_Orange","SUV_Pink","SUV_Red","SUV_Silver","SUV_TK_CIV_EP1","SUV_White","SUV_Yellow"];
 
// Dynamic box array
crates_large = ["USVehicleBox","RUVehicleBox","TKVehicleBox_EP1"];
crates_medium = ["USBasicWeaponsBox","RUBasicWeaponsBox","USSpecialWeaponsBox","USSpecialWeapons_EP1","RUSpecialWeaponsBox","SpecialWeaponsBox","TKSpecialWeapons_EP1","CZBasicWeapons_EP1","UNBasicWeapons_EP1"];
crates_small = ["GuerillaCacheBox","RULaunchersBox","RUBasicAmmunitionBox","RUOrdnanceBox","USBasicAmmunitionBox","USLaunchersBox","USOrdnanceBox","USOrdnanceBox_EP1","USLaunchers_EP1","USBasicWeapons_EP1","USBasicAmmunitionBox_EP1","UNBasicAmmunitionBox_EP1","TKOrdnanceBox_EP1","TKLaunchers_EP1","TKBasicAmmunitionBox_EP1","GuerillaCacheBox_EP1","GERBasicWeapons_EP1"];
 
crate_weapons_buildables = [["ChainSaw","ItemJerryMixed"],["ChainSawB","ItemJerryMixed"],["ChainSawG","ItemJerryMixed"],["ChainSawP","ItemJerryMixed"],["ChainSawR","ItemJerryMixed"]];
 
crate_tools = ["Binocular","Binocular_Vector","ItemCompass","ItemCrowbar","ItemEtool","ItemFishingPole","ItemFlashlightRed","ItemGPS","ItemHatchet_DZE","ItemKnife","ItemMachete","ItemMatchbox_DZE","ItemToolbox","NVGoggles"];
crate_tools_buildable = ["ItemToolbox","ItemEtool","ItemKnife"];
crate_tools_sniper = ["ItemCompass","Binocular","Binocular_Vector","NVGoggles","ItemGPS"];
 
crate_items = ["FoodMRE","ItemSodaOrangeSherbet","ItemSodaRbull","ItemSodaPepsi","ItemBandage","ItemSodaCoke","FoodCanBakedBeans","FoodCanPasta","FoodCanSardines","FoodrabbitCooked","ItemAntibiotic","ItemBloodbag","ItemEpinephrine","ItemHeatPack","ItemMorphine","ItemLightBulb","ItemSandbag","ItemTankTrap","ItemWire","PartEngine","PartFueltank","PartGeneric","PartGlass","PartVRotor","PartWheel"];
crate_items_high_value = ["ItemVault","30m_plot_kit"];
crate_items_food = ["ItemWaterbottle","FoodNutmix","FoodPistachio","FoodMRE","ItemSodaOrangeSherbet","ItemSodaRbull","ItemSodaMdew","ItemSodaPepsi","ItemSodaCoke","FoodbaconCooked","FoodCanBakedBeans","FoodCanPasta","FoodCanSardines","FoodrabbitCooked"];
crate_items_buildables = ["forest_large_net_kit","park_bench_kit","ItemCanvas",["ItemLightBulb",5],["ItemTankTrap",10],["ItemWire",10];
crate_items_vehicle_repair = ["PartEngine","PartFueltank","PartGeneric","PartGlass","PartVRotor","PartWheel"];
crate_items_medical = ["ItemWaterbottle","ItemAntibiotic","ItemBloodbag","ItemEpinephrine","ItemHeatPack","ItemMorphine","ItemBandage","FoodCanFrankBeans","FoodCanPasta"];
crate_items_chainbullets = ["2000Rnd_762x51_M134","200Rnd_762x51_M240","100Rnd_127x99_M2","150Rnd_127x107_DSHKM"];
crate_items_sniper = [["ItemPainkiller",5],"Skin_Sniper1_DZ","Skin_CZ_Soldier_Sniper_EP1_DZ","Skin_GUE_Soldier_Sniper_DZ"];
crate_items_president = ["ItemDocument","ItemGoldBar10oz"];
 
crate_backpacks_all = ["DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_Czech_Vest_Puch","DZ_TerminalPack_EP1","DZ_ALICE_Pack_EP1","DZ_TK_Assault_Pack_EP1","DZ_CompactPack_EP1","DZ_British_ACU","DZ_GunBag_EP1","DZ_CivilBackpack_EP1","DZ_Backpack_EP1","DZ_LargeGunBag_EP1"];
crate_backpacks_large = ["DZ_GunBag_EP1","DZ_Backpack_EP1","DZ_LargeGunBag_EP1","DZ_CivilBackpack_EP1"];
 
crate_random = [crate_items,crate_items_food,crate_items_buildables,crate_items_vehicle_repair,crate_items_medical,crate_items_chainbullets];
 
/* END WAI MISSIONS CONFIG */
 
/* STATIC MISSIONS CONFIG */
 
static_missions = false; // use static mission file
custom_per_world = false; // use a custom mission file per world
 
/* END STATIC MISSIONS CONFIG */
 
configloaded = true;
 
};
 
Link to comment
Share on other sites

Edited, but nothing spawn, here's my Spawn File(RPT log shows nothing about spawning groups, only missions):

 

if(isServer) then {

 
 
//Custom Spawns file//
/*
Custom group spawns Eg.
 
[
[953.237,4486.48,0.001], // Position
4, // Number Of units
"Random", // Skill level of unit (easy, medium, hard, extreme, Random)
"Random", or ["Random","at"], // Primary gun set number and rocket launcher. "Random" for random weapon set, "at" for anti-tank, "aa" for anti-air launcher
4, // Number of magazines
"Random", // Backpack classname, use "Random" or classname here
"Random", // Skin classname, use "Random" or classname here
"Random", // Gearset number. "Random" for random gear set
"Bandit" // AI Type, "Hero" or "Bandit".
] call spawn_group;
 
Place your custom group spawns below
*/
 
[[13671.355, 2892.8167, -1.5258789e-005],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;   //ground troops//
[[13687.221, 2931.012, 2.6702881e-005],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13741.079, 2945.6494, -9.5367432e-005],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13691.315, 2857.7407, -3.8146973e-005],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;    //ground troops
[[13729.353, 2856.2568, 3.4332275e-005],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;    //ground troops
[[13730.628, 2812.7852, -0.00022125244],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;   //ground troops
[[13990.835, 2788.1887, 0.00024223328],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;   //ground troops
[[13870.401, 2810.1841, -1.9073486e-005],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;    //ground troops
[[13487.625, 3380.8669, 0.00036621094],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13408.095, 3336.6536, -0.00019073486],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;   //ground troops//
[[13377.609, 3288.2527, -0.0002784729],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13245.426, 3362.8286, -0.00010251999],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13112.573, 3197.2249, -0.00059127808],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;   //ground troops
[[13033.765, 3154.4763, 0.00037384033],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13109.765, 3132.3279, 0.00085258484],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
[[13372.726, 3103.7449, 0.00038146973],4,2,"Random",4,"","Bandit2_DZ","Random"] call spawn_group;  //ground troops
 
 
/*
Custom static weapon spawns Eg. (with mutiple positions)
 
[
[ // Position(s) (can be multiple)
[911.21,4532.76,2.62],
[921.21,4542.76,2.62]
],
"M2StaticMG", // Classname of turret
"easy", // Skill level of unit (easy, medium, hard, extreme, Random)
"Bandit2_DZ", // Skin classname, use "Random" or classname here
"Bandit", // AI Type, "Hero" or "Bandit".
"Random", // Primary gun set number. "Random" for random weapon set
2, // Number of magazines
"Random", // Backpack classname, use "Random" or classname here
"Random" // Gearset classname, use "Random" or classname here
] call spawn_static;
 
Place your custom static weapon spawns below
*/
 
 
 
 
 
/*
Custom Chopper Patrol spawn Eg.
 
[
[725.391,4526.06,0], // Position to patrol
[0,0,0], // Position to spawn chopper at
2000, // Radius of patrol
10, // Number of waypoints to give
"UH1H_DZ", // Classname of vehicle (make sure it has driver and two gunners)
"Random", // Skill level of units (easy, medium, hard, extreme, Random)
"Random", // Skin classname, use "Random" or classname here
"Bandit" // AI Type, "Hero" or "Bandit".
] spawn heli_patrol;
 
 
Place your heli patrols below
*/
 
 
 
 
 
/* 
Custom Vehicle patrol spawns Eg. (Watch out they are stupid)
 
[
[725.391,4526.06,0], // Position to patrol
[725.391,4526.06,0], // Position to spawn at
200, // Radius of patrol
10, // Number of waypoints to give
"HMMWV_Armored", // Classname of vehicle (make sure it has driver and gunner)
"Random", // Skill level of units (easy, medium, hard, extreme, Random)
"Random", // Skin classname, use "Random" or classname here
"Bandit" // AI Type, "Hero" or "Bandit".
] spawn vehicle_patrol;
 
Place your vehicle patrols below this line
*/
 
 
 
 
 
/*
Paradropped unit custom spawn Eg.
 
[
[911.21545,4532.7612,2.6292224], // Position that units will be dropped by
[0,0,0], // Starting position of the heli
400, // Radius from drop position a player has to be to spawn chopper
"UH1H_DZ", // Classname of chopper (Make sure it has 2 gunner seats!)
5, // Number of units to be para dropped
"Random", // Skill level of units (easy, medium, hard, extreme, Random)
"Random", // Primary gun set number and rocket launcher. "Random" for random weapon set, "at" for anti-tank, "aa" for anti-air launcher
4, // Number of magazines
"Random", // Backpack classname, use "Random" or classname here
"Bandit2_DZ", // Skin classname, use "Random" or classname here
"Random", // Gearset number. "Random" for random gear set.
"Bandit", // AI Type, "Hero" or "Bandit".
true // true: Aircraft will stay at position and fight. false: Heli will leave if not under fire. 
] spawn heli_para;
 
Place your paradrop spawns under this line
*/
 
diag_log format["WAI: Static mission for %1 loaded", missionName];
 
};
 

Link to comment
Share on other sites

 

Should be as easy as replacing the _crate variable with the _vehicle you want to put the stuff in.

 

Try this

if(isServer) then {

    private         ["_complete","_crate","_mission","_static_gun","_crate_type","_rndnum","_playerPresent","_vehname","_vehicle","_position","_vehclass"];

    // Get mission number, important we do this early
    _mission         = count wai_mission_data -1;
    
    //Armed Land Vehicle
    _vehclass         = armed_vehicle call BIS_fnc_selectRandom;
    _vehname         = getText (configFile >> "CfgVehicles" >> _vehclass >> "displayName");

    _position        = [30] call find_position;
    [_mission,_position,"Medium",format["Disabled %1",_vehname],"MainBandit",true] call mission_init;
    
    diag_log         format["WAI: [Mission:[Bandit] Armed Vehicle]: Starting... %1",_position];

    //Troops
    _rndnum = (2 + round (random 4));
    [[_position select 0,_position select 1,0],_rndnum,"Medium",["Random","AT"],3,"Random","Hero","Random","Hero",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],_rndnum,"Medium","Random",3,"Random","Hero","Random","Hero",_mission] call spawn_group;
    [[_position select 0,_position select 1,0],_rndnum,"Medium","Random",3,"Random","Hero","Random","Hero",_mission] call spawn_group;

    //Static Guns
    _static_gun = ai_static_weapons call BIS_fnc_selectRandom;
    [[
        [(_position select 0),(_position select 1) + 10, 0]
    ],_static_gun,"Medium","Hero","Hero",0,2,"Random","Random",_mission] call spawn_static;

    //Spawn vehicles
    _vehicle        = [_vehclass,_position,_mission] call custom_publish;
    
    if(debug_mode) then {
        diag_log format["WAI: [Bandit] armed_vehicle spawned a %1",_vehname];
    };
    
    //Condition
    _complete = [
        [_mission,_vehicle],    // mission number and crate
        ["crate"],                 // ["crate"], or ["kill"], or ["assassinate", _unitGroup],
        [_vehicle],             // cleanup objects
        "Heroes have taken an armed vehicle from the bandits! Check your map for the location!",    // mission announcement
        "Bandits have secured the armed vehicle!",                                                    // mission success
        "Bandits did not secure the armed vehicle in time"                                        // mission fail
    ] call mission_winorfail;

    if(_complete) then {
        [_vehicle,0,0,[25,crate_items_chainbullets],2] call dynamic_crate;
    };

    diag_log format["WAI: [Mission:[Bandit] Armed Vehicle]: Ended at %1",_position];
    
    b_missionsrunning = b_missionsrunning - 1;
};

 

Thanks, giving this a try. Will post back once the correct mission spawns and i get some results =]

Link to comment
Share on other sites

Also was wondering, in here 

 

if(_complete) then {
[_crate,[2,crate_weapons_buildables],[4,crate_tools_buildable],[30,crate_items_buildables],4] call dynamic_crate;
};
 
how exactly does this array work? i have noticed a lot of differences for the crate calls and dont quite understand them yet. 
 
for example in the mv22  its
 
[_crate,0,0,[80,crate_items_medical],0]
 
or weapon cache its simply
 
[_crate,10,4,0,2]
 
I understand the ones that are defined, but what about the undefined numbers? and am i limited to only 4 types per crate?
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Advertisement
×
×
  • Create New...