Jump to content

[RELEASE] WAI 2.2.6


JasonTM

Recommended Posts

36 minutes ago, LadyVal said:

I was checking every single mission to fix what I was doing wrong.

I think I have them all done.

I did all these changes you posted above and the heli one where the static was missing.

I am having this error:

 

  Reveal hidden contents


20:44:49 "DZAI Debug: Permanently deleting a static spawn at Heli AI Parachute 035089."


20:44:51 Error in expression <ion) select 4), _helicopter];


} else {


(wai_static_data select 1) set [count (wa>


20:44:51   Error position: <wai_static_data select 1) set [count (wa>


20:44:51   Error Undefined variable in expression: wai_static_data


20:44:51 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 144


20:45:02 "DZAI Debug: Deleting static group O 1-1-A."


20:46:20 Error in expression <mission) select 1), _pgroup];


} else {


(wai_static_data select 1) set [count (wa>


20:46:20   Error position: <wai_static_data select 1) set [count (wa>


20:46:20   Error Undefined variable in expression: wai_static_data


20:46:20 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 186


20:46:21 Error in expression <mission", _mission, true];


};



 


} else {


wai_static_data set [0, ((wai_static_dat>


20:46:21   Error position: <wai_static_data set [0, ((wai_static_dat>


20:46:21   Error Undefined variable in expression: wai_static_data


20:46:21 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 302


20:46:21 No speaker given for Taras Novak


20:46:23 Error in expression <mission", _mission, true];


};



 


} else {


wai_static_data set [0, ((wai_static_dat>


20:46:23   Error position: <wai_static_data set [0, ((wai_static_dat>


20:46:23   Error Undefined variable in expression: wai_static_data


20:46:23 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 302


20:46:23 No speaker given for Kiril Konopnik


20:46:25 Error in expression <mission", _mission, true];


};



 


} else {


wai_static_data set [0, ((wai_static_dat>


20:46:25   Error position: <wai_static_data set [0, ((wai_static_dat>


20:46:25   Error Undefined variable in expression: wai_static_data


20:46:25 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 302


20:46:26 Error in expression <mission", _mission, true];


};



 


} else {


wai_static_data set [0, ((wai_static_dat>


20:46:26   Error position: <wai_static_data set [0, ((wai_static_dat>


20:46:26   Error Undefined variable in expression: wai_static_data


20:46:26 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 302


20:46:28 Error in expression <mission", _mission, true];


};



 


} else {


wai_static_data set [0, ((wai_static_dat>


20:46:28   Error position: <wai_static_data set [0, ((wai_static_dat>


20:46:28   Error Undefined variable in expression: wai_static_data


20:46:28 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 302

But, no matter different lines, guess it was the same issue, right?

Thanks a lot for all the hard work, Jason.

 

Do you have this line: https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/init.sqf#L53

Link to comment
Share on other sites

29 minutes ago, LadyVal said:

Thanks Relentless... I saw that before I posted my reply and corrected, but just checking because it is giving me the error like in 3 different lines (guess its because different missions?...)

 

It outputs this error everytime the script wants to access the variable. But good that you already fixed it.

Link to comment
Share on other sites

25 minutes ago, LadyVal said:

new thing... perhaps it is nothign but just in case... it began after those fixes

https://gyazo.com/ba47d337f9d84c873894d43f06806662

That's not normal. Something is looping in your files. The debug line that the config file is loaded usually pops up once and that's it. It's declared here: https://github.com/worldwidesorrow/WICKED-AI/blob/e096aebd025fed8b445f3eb7826d613831111653/WAI/init.sqf#L63

Seems like something is messy with your installation. Hit me up via PM and give me your server.pbo or on discord: Relentless#1337

Link to comment
Share on other sites

A server owner was having trouble with para dropped AI ending up in the water on his custom Skalisty Island mission, so I made the paradrops more configurable.

Affected Files

WAI\compile\heli_para.sqf
WAI\static\default.sqf
WAI\static\chernarus.sqf
WAI\missions\bandit\hero_base.sqf
WAI\missions\bandit\ikea_convoy.sqf
WAI\missions\bandit\presidents_mansion.sqf
WAI\missions\bandit\crop_raider.sqf
WAI\missions\hero\bandit_base.sqf
WAI\missions\hero\mayors_mansion.sqf
WAI\missions\hero\ikea_convoy.sqf
WAI\missions\hero\crop_raider.sqf

I have already adjusted for the new formats in all of these files.
Since the hero side did not have an "extreme" mission, I converted the Mayor's Mansion.
For ease of update, just download the new files from github and swap the above files out.

The new format for the paradrops in missions is like this:

[position of mission, player check radius, heli classname, direction of approach, distance from mission for heli spawn, fly in height, time between each para drop, distance from mission to start drop,number of paratroopers, mission type, AI skill, weapon selection, number of magazines, skin type, AI gear, AI type, patrol or not, optional mission variable] spawn heli_para;

//Example
[[(_position select 0), (_position select 1), 0],200,"UH1H_DZ","North",[3000,4000],150,1.0,200,10,"Hard","Random",4,"Random","Bandit","Random","Bandit",true,_mission] spawn heli_para;

This is the new format in default.sqf and chernarus.sqf

/*
Paradropped unit custom spawn Eg.

[
	[911.21545,4532.7612,2.6292224],	// Position that units will be dropped by
	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!)
	"North",							// Direction of approach for the helicopter. Options: "North","South","East","West"
	[3000,4000],						// Random distance from the mission the helicopter should start. [min distance, max distance].
	150,								// Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
	1.0,								// Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
	200,								// Distance from the mission the helicopter should start dropping paratroopers
	5,									// Number of units to be para dropped
	"Random",							// Skill level of units (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
	"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
*/

 

Link to comment
Share on other sites

Jason... I would know that understand that too.

No idea what happened.

I need more time to be able to learn and read much more... so far, I have so little time that is barely possible.   But I will learn.

And then, perhaps I could tell you how I turned that init to have that crazy loop!! jajajajaja

Link to comment
Share on other sites

I have modified the radio shack mission to jam your ear within 1.6km from mission.
dayz_server\WAI\missions\hero\radioshack.sqf

Spoiler

private ["_baserunover","_baserunover0","_baserunover1","_baserunover2","_baserunover3","_baserunover4","_baserunover5","_baserunover6","_baserunover7","_baserunover8","_baserunover9","_baserunover10","_baserunover11","_baserunover12","_baserunover13","_baserunover14","_mission","_directions","_position","_crate","_crate_type","_rndnum"];

_mission = count wai_mission_data -1;

_position = [80] call find_position;

diag_log format["WAI: Mission:[Hero] Radio Tower started at %1",_position];

//Setup the crate
_crate_type = crates_large call BIS_fnc_selectrandom; // Choose between crates_large, crates_medium and crates_small
_crate = createVehicle [_crate_type,[(_position select 0) + 0.01,(_position select 1) + 0.01,0],[],0,"CAN_COLLIDE"];
_crate call wai_crate_setup;

//Buildings 
_baserunover0 = createVehicle ["Land_cihlovej_dum_in",[(_position select 0) - 3, (_position select 1) - 1,-0.015],[], 0, "CAN_COLLIDE"];
_baserunover1 = createVehicle ["Land_Com_tower_ep1",[(_position select 0) + 5, (_position select 1) - 2,-0.01],[], 0, "CAN_COLLIDE"];
_baserunover2 = createVehicle ["LADAWreck",[(_position select 0) - 7.5, (_position select 1) - 3,-0.1],[], 0, "CAN_COLLIDE"];
_baserunover3 = createVehicle ["FoldTable", [(_position select 0) - 1.2, (_position select 1) - 4,-0.1],[], 0, "CAN_COLLIDE"];
_baserunover4 = createVehicle ["FoldChair", [(_position select 0) - 1, (_position select 1) - 3,-0.09],[], 0, "CAN_COLLIDE"];
_baserunover5 = createVehicle ["SmallTV", [(_position select 0) - 1.7, (_position select 1) - 4,+0.82],[], 0, "CAN_COLLIDE"];
_baserunover6 = createVehicle ["SatPhone",[(_position select 0) - 0.8, (_position select 1) - 4,+0.82],[], 0, "CAN_COLLIDE"];
_baserunover7 = createVehicle ["MAP_t_picea2s",[(_position select 0) - 4.5, (_position select 1) + 7,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover8 = createVehicle ["MAP_t_picea2s",[(_position select 0) + 13, (_position select 1) + 10,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover9 = createVehicle ["MAP_t_pinusN2s", [(_position select 0) + 3, (_position select 1) + 9,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover10 = createVehicle ["MAP_t_pinusN1s", [(_position select 0) + 8, (_position select 1) + 17,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover11 = createVehicle ["MAP_t_picea1s", [(_position select 0) + 7, (_position select 1) + 10,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover12 = createVehicle ["MAP_t_picea2s",[(_position select 0) + 34, (_position select 1) - 29,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover13 = createVehicle ["MAP_t_fraxinus2s",[(_position select 0) - 14, (_position select 1) + 1,-0.02],[], 0, "CAN_COLLIDE"];
_baserunover14 = createVehicle ["MAP_t_carpinus2s",[(_position select 0) + 28, (_position select 1) - 13,-0.02],[], 0, "CAN_COLLIDE"];

// Adding buildings to one variable just for tidiness
_baserunover = [_baserunover0,_baserunover1,_baserunover2,_baserunover3,_baserunover4,_baserunover5,_baserunover6,_baserunover7,_baserunover8,_baserunover9,_baserunover10,_baserunover11,_baserunover12,_baserunover13,_baserunover14];

// Set some directions for our buildings
_directions = [0,0,0,0,0,0,-201.34,0,0,0,0,0,0,0,0];
{ _x setDir (_directions select _forEachIndex) } forEach _baserunover;

// Make buildings flat on terrain surface
{ _x setVectorUp surfaceNormal position _x; } count _baserunover;

//Sound effect
[_baserunover6,_mission] spawn {
    private ["_pos","_mission","_running"];
    _pos = getpos (_this select 0);
    _mission = _this select 1;
    _running = true;
    while {_running} do {
        sleep (random 5);
        _running = (typeName (wai_mission_data select _mission) == "ARRAY");
        {
            if ((isPlayer _x) && (_x distance _pos < 5)) exitWith { _running = false;};
            if ((alive _x) && (_x distance _pos < 1600)) then {[objNull,_x,rSAY,"z_radzone4_0",2] call RE;[nil,_x,"loc",rTITLETEXT,". . .","PLAIN DOWN",2] call RE;};
        } count playableUnits;
    };
};

// Troops
_rndnum = round (random 5);
[[(_position select 0) - 1.2, (_position select 1)  - 20, 0],5,"hard",["random","at"],4,"random","bandit","random","bandit",_mission] call spawn_group;
[[(_position select 0) - 17, (_position select 1) - 4, 0],5,"Medium","random",4,"random","bandit","random","bandit",_mission] call spawn_group;
[[(_position select 0) + 14, (_position select 1) - 3, 0],_rndnum,"Medium","random",4,"random","bandit","random","bandit",_mission] call spawn_group;

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


// Array of mission variables to send
[
    _mission, // Mission number
    _position, // Position of mission
    "Medium", // Difficulty
    "Radio Tower", // Name of Mission
    "MainHero", // Mission Type: MainHero or MainBandit
    true, // show mission marker?
    true, // make minefields available for this mission
    _crate,    // crate object info
    ["crate"], // Completion type: ["crate"], ["kill"], or ["assassinate", _unitGroup],
    [_baserunover], // cleanup objects
    "Bandits set up a radio tower to spread some propaganda..Check your map", // mission announcement
    "Survivors secured the radio tower", // mission success
    "Survivors did not secure the radio tower in time", // mission fail
    [4,6,[12,crate_items_crop_raider],4,0] // Dynamic crate array
] call mission_winorfail;

the noise will finish some tens seconds after the mission.

Next, I have made roadblock mission inspired by and partially copied from DZMS-HotSpot missions
dayz_server\WAI\missions\hero\roadblock.sqf

Spoiler

private ["_crate","_mission","_position","_num","_obj","_crate_type","_base1","_baserunover"];

// Get mission number, important we do this early
_mission = count wai_mission_data -1;

_position = [
[10436.0,  9132.2],[11243.9, 12239.8],[12975.2,  8378.0],[12055.9,  3489.6],[10799.3,  2569.6],
[ 7360.9,  3277.5],[ 4499.4,  2453.2],[ 3666.3,  2480.6],[ 1918.7,  2245.7],[ 1693.6,  3843.5],
[ 2756.4,  5284.5],[ 2780.3,  5374.8],[ 2688.2,  6618.4],[ 3117.8,  8053.9],[ 4711.7,  6356.9],
[ 5839.5,  4780.2],[ 3819.6,  5925.5],[ 2518.6,  9653.6],[ 5171.6,  8594.4],[ 5666.8,  7257.7],
[10398.3,  8952.3],[11730.8,  9179.7],[10204.3,  9762.9],[ 8923.8, 11836.3],[10579.9,  7925.3],
[11940.5,  6403.1],[11076.1,  5330.3],[11949.4,  3884.6],[12191.7,  7884.0],[12593.7,  8722.0],
[12157.9,  8181.8],[ 8516.8,  6680.3],[ 7539.9,  5224.0],[ 5890.6,  4845.6],[ 6926.7,  4406.6],
[ 4362.7,  4679.5],[ 2766.0,  2721.3],[ 6413.6,  3749.3],[10391.7,  4271.9],[ 9868.5,  4617.1],
[10978.9,  5877.9],[10490.1,  6281.6],[13261.2,  5429.5],[ 6030.6, 11107.0],[ 4871.8, 10833.3],
[ 3306.0, 11266.7],[ 2519.2,  9653.7],[ 7537.3,  8304.5],[ 6932.5,  8032.2],[ 7397.6,  6480.8]
] call BIS_fnc_selectRandom;
if !([_position] call wai_validSpotCheck) exitWith {h_missionsrunning = h_missionsrunning - 1; wai_mission_data set [_mission, -1]; WAI_MarkerReady = true;diag_log  format["WAI: [Mission:[Hero] Road Block]: Failed spawn... %1",_position];};

diag_log  format["WAI: [Mission:[Hero] Road Block]: Starting... %1",_position];

//Setup the crate
_crate_type  = crates_small call BIS_fnc_selectRandom;
_crate = createVehicle [_crate_type,_position, [], 0, "NONE"];
_crate call wai_crate_setup;

//Spawn Roadblocks
_num = 8 + round(random 4);
_obj = ["Land_HBarrier1_DZ","Land_HBarrier1_DZ","Hedgehog_DZ","Hedgehog_DZ","Mine"] call BIS_fnc_selectRandom;
_baserunover = [];
for "_i" from 1 to _num do {
    _base1 = createVehicle [_obj, [(_position select 0)+5.5*cos(_i*360/_num), (_position select 1)+5.5*sin(_i*360/_num),-0.2],[], 0, "CAN_COLLIDE"];
    _baserunover = _baserunover + [_base1];
    _base1 setVariable ["ObjectID", "1", true];
    _base1 setVariable ["ObjectUID", "1", true];
};
diag_log  format["WAI: Roadblock spawned %2 %1s",_obj,_num];

//Troops
[[_position select 0,_position select 1,0],6,"Easy","MR43_DZ",6,"Random","Bandit","Random","Bandit",_mission] call spawn_group;

// Array of mission variables to send
[
    _mission, // Mission number
    _position, // Position of mission
    "Easy", // Difficulty
    "Road Block", // Name of Mission
    "MainHero", // Mission Type: MainHero or MainBandit
    false, // show mission marker?
    false, // make minefields available for this mission
    _crate, // crate object info
    ["crate"], // Completion type: ["crate"], ["kill"], or ["assassinate", _unitGroup],
    [], // cleanup objects
    "There are rumors of bandits blocking a road. Keep your eyes open!", // mission announcement
    "The roadblock has been cleared!", // mission success
    "Bandits have left the road block.", // mission fail
    [2,2,16,4,2] // Dynamic crate array
] call mission_winorfail;

/*// I want to delete obstacles only after mission cleard, but the new WAI lost the returning value from mission_winorfail function

if (_completed) then {
    {deleteVehicle _x;} foreach _baserunover;
};

*/

 

Link to comment
Share on other sites

Hi there,

Does anyone have time to look at my default.cfg config in the spoiler below to see if you can tell how I messed it up? It was running fine and then I added a paradrop and two boat spawns, plus a few more group spawns as Skalisky Treasure Guards. I also changed the Primary Gun Set Number to "Random","AT" so that all the groups have rocket launchers. All of my changes are in red in the spoiler.

When I start the game with this config, nothing spawns at all, no AI, no boats, no crates, nothing.

Thanks for your help!

 

Spoiler

//Custom Spawns file//

// These custom spawns are for use in static mission locations. You can set markers in mission.sqm if you want them.

/*
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 or gun and rocket launcher. Syntax is "Random", for gun only or ["Random","AT"], for gun and 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
*/
//Skalisky Group Spawns
    [
        [13726,2920.75,0.001],            // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    [
        [13729,2946.39,0.002],            // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    [
        [13661.6,2947.76,0.001],            // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    //Dichina Group Spawns
    [
        [3894.12,7875.2,0.00140381],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    [
        [3914.34,7833.31,0.00158691],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    [
        [3822.67,7888.04,0.00137329],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                            // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    [
        [3904.21,7903.29,0.00140381],            // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;
    
    //Skalisky Treasure Guards
    [
        [13470.5,3193.03,0.00138092],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;    
    
    [
        [13956.9,3065.26,0.00101662],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;    
    
    [
        [13660,2860.46,0.0015564],            // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;    
    
    [
        [13038.1,3240.1,0.00285912],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random","AT",                        // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;    

    
    
    //Devil's Castle Guards
    [
        [6876.11,11456.2,0.00143433],        // Position
        5,                                    // Number Of units
        "Random",                            // Skill level of unit (easy, medium, hard, extreme, Random)
        "Random",                            // Primary gun set number. "Random" for random weapon set
        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"
    ] call spawn_group;    
    
    


/*
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
*/
[
    [
        [13792.5,2905.23,0.002],[13713.1,2924.95,0.001], [3944.25,7856.33,0.0015564], [3861.79,7867.96,0.00140381], [12344.6,13237.5,0.00136566], [3947.59,7901.56,8.9967], [3930.91,7909.34,8.98694], [13691.4,2909.21,0.00134277]
    ],                 // Position(s) (can be multiple)
    "M2StaticMG",     // Classname of turret
    "hard",         // Skill level of unit (easy, medium, hard, extreme, Random)
    "Bandit2_DZ",     // Skin classname, use "Random" or classname here
    "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;

/*
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".
] call 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".
] call vehicle_patrol;

Place your vehicle patrols below this line
*/


/* 
Custom Boat patrol spawns

[
    [725.391,4526.06,0],            // Position to patrol
    [725.391,4526.06,0],            // Position to spawn at
    150,                            // Radius of patrol. Your spawn point should be at least this distance from shore.
    10,                                // Number of waypoints to give
    "RHIB",                            // Classname of armed boat (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".
] call vehicle_patrol;

Place your boat patrols below this line
*/

[
    [13851.8,3524.6,43.7082],        // Position to patrol
    [13851.8,3524.6,43.7082],        // Position to spawn at
    150,                            // Radius of patrol. Your spawn point should be at least this distance from shore.
    10,                                // Number of waypoints to give
    "RHIB",                            // Classname of armed boat (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".
] call vehicle_patrol;


[
    [12722.2,3108.77,24.5892],        // Position to patrol
    [12722.2,3108.77,24.5892],        // Position to spawn at
    150,                            // Radius of patrol. Your spawn point should be at least this distance from shore.
    10,                                // Number of waypoints to give
    "RHIB",                            // Classname of armed boat (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".
] call vehicle_patrol;


/*
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
*/

[
    [13956.9,3065.26,0.00101662],        // Position that units will be dropped by
    [13738,3758.69,2.76987],            // Starting position of the heli
    200,                                // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    10,                                    // Number of units to be para dropped
    "hard",                                // Skill level of units (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
    "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;


/* Custom Crate Spawns

// To spawn one crate
_position = [12590.1,9000.81,0]; // Position of the crate
_crate_type = crates_large call BIS_fnc_selectRandom; // Choose among: crates_small, crates_medium, crates_large
_crate1 = createVehicle [_crate_type,_position, [], 0, "CAN_COLLIDE"]; // Spawn the crate
_crate1 call wai_crate_setup; // Setup the crate
_crateLoot = 
[
    0, // Max number of long guns OR [MAX number of long guns,gun_array]
    0, // Max number of tools OR [MAX number of tools,tool_array]
    0, // Max number of items OR [MAX number of items,item_array]
    0, // Max number of pistols OR [MAX number of pistol,pistol_array]
    0 // Max number of backpacks OR [MAX number of backpacks,backpack_array]
];

[_crate1,_crateLoot] call dynamic_crate;

// To spawn second crate
_position = [911.21545,4532.7612,0]; // Position of the crate
_crate_type = crates_large call BIS_fnc_selectRandom; // Choose among: crates_small, crates_medium, crates_large
_crate2 = createVehicle [_crate_type,_position, [], 0, "CAN_COLLIDE"]; // Spawn the crate
_crate2 call wai_crate_setup; // Setup the crate
_crateLoot = 
[
    0, // Max number of long guns OR [MAX number of long guns,gun_array]
    0, // Max number of tools OR [MAX number of tools,tool_array]
    0, // Max number of items OR [MAX number of items,item_array]
    0, // Max number of pistols OR [MAX number of pistol,pistol_array]
    0 // Max number of backpacks OR [MAX number of backpacks,backpack_array]
];

[_crate2,_crateLoot] call dynamic_crate;

Place your crate spawns under this line
*/
//Skalisky
_crate = createVehicle ["USVehicleBox",[13697.3,2937.91,0.001],[],0,"CAN_COLLIDE"];
_crate1 = createVehicle ["USVehicleBox",[13711.3,2943.25,0.001],[],0,"CAN_COLLIDE"];

//Dichina
_crate2 = createVehicle ["USVehicleBox",[3891.1,7888.03,0.00140381],[],0,"CAN_COLLIDE"];
_crate3 = createVehicle ["USVehicleBox",[3907.08,7886.69,0.00140381],[],0,"CAN_COLLIDE"];

//Devils Castle
_crate4 = createVehicle ["USVehicleBox",[6881.97,11463.4,0.00149536],[],0,"CAN_COLLIDE"];

//NEAF Bandit Crates
_crate5 = createVehicle ["USVehicleBox",[12276.4,13256.6,0.00127411],[],0,"CAN_COLLIDE"];
_crate6 = createVehicle ["USVehicleBox",[12307.1,13234,0.00130463],[],0,"CAN_COLLIDE"];

_crate call wai_crate_setup;
_crate1 call wai_crate_setup;
_crate2 call wai_crate_setup;
_crate3 call wai_crate_setup;
_crate4 call wai_crate_setup;
_crate5 call wai_crate_setup;
_crate6 call wai_crate_setup;


[_crate,[[2,crate_weapons_buildables],[4,crate_tools_buildable],[30,crate_items_buildables],4]] call dynamic_crate;
[_crate1,[[16,ai_wep_sniper],[8,crate_tools_sniper],[4,crate_items_high_value],[4,crate_backpacks_large]]] call dynamic_crate;
[_crate2,[[2,crate_weapons_buildables],[4,crate_tools_buildable],[30,crate_items_buildables],4]] call dynamic_crate;
[_crate3,[[16,ai_wep_sniper],[8,crate_tools_sniper],[4,crate_items_high_value],[4,crate_backpacks_large]]] call dynamic_crate;
[_crate4,[[16,ai_wep_sniper],[8,crate_tools_sniper],[4,crate_items_high_value],[4,crate_backpacks_large]]] call dynamic_crate;
[_crate5,[[2,crate_weapons_buildables],[4,crate_tools_buildable],[30,crate_items_buildables],4]] call dynamic_crate;
[_crate6,[[16,ai_wep_sniper],[8,crate_tools_sniper],[4,crate_items_high_value],[4,crate_backpacks_large]]] call dynamic_crate;

diag_log "WAI: Static mission loaded";
 

 

Link to comment
Share on other sites

and...Sorry, I think it also does not work
 

Spoiler

18:34:28 String STR_EVAL_TYPENAN not found
18:34:28 Error in expression <on = ai_wep_sniper; };
} else {
if(_gun == "random")     exitWith { _aiweapon = ai_>
18:34:28   Error position: <== "random")     exitWith { _aiweapon = ai_>
18:34:28   Error ==: Type Array, expected Number,String,Object,Side,Group,Text,Config entry,Display (dialog),Control,Team member,Task,Location
18:34:28 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 209
18:34:28 "SERVER FPS: 28  PLAYERS: 2"
18:34:28 "DATE: [2018,6,13,15,20] DSOM: 979"
18:34:54 String STR_EVAL_TYPENAN not found
18:34:54 Error in expression <on = ai_wep_sniper; };
} else {
if(_gun == "random")     exitWith { _aiweapon = ai_>
18:34:54   Error position: <== "random")     exitWith { _aiweapon = ai_>
18:34:54   Error ==: Type Array, expected Number,String,Object,Side,Group,Text,Config entry,Display (dialog),Control,Team member,Task,Location
18:34:54 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 209

because in heli_para.sqf
 

Spoiler

...
_gun             = _this select 10;
...

...
            call {
                if (typeName(_gun) == "SCALAR") then {
                    if(_gun == 0)             exitWith { _aiweapon = ai_wep_random select (floor (random (count ai_wep_random))); };
                    if(_gun == 1)             exitWith { _aiweapon = ai_wep_machine; };
                    if(_gun == 2)             exitWith { _aiweapon = ai_wep_sniper; };
                } else {
                    if(_gun == "random")     exitWith { _aiweapon = ai_wep_random select (floor (random (count ai_wep_random))); };
                };
            };
            

this mean, the heli_para function don't allow ["Random","AT"] style weapon setting.
(Direct setting like"AKS_GOLD" also won't work.)

To make it work, the "call { ... };" part of heli_para must be changed to
 

Spoiler

    call {
        if(typeName(_gun) == "SCALAR") then {
            if(_gun == 0)             exitWith { _aiweapon = ai_wep_random select (floor (random (count ai_wep_random))); };
            if(_gun == 1)             exitWith { _aiweapon = ai_wep_machine; };
            if(_gun == 2)             exitWith { _aiweapon = ai_wep_sniper; };
        } else {
            if(_gun == "random")     exitWith { _aiweapon = ai_wep_random select (floor (random (count ai_wep_random))); };
            if(_gun == "unarmed")     exitWith { _unarmed = true; };
            _aiweapon = _gun;

        };
    };

(oops, spawn_group also forgot a ";" in this code block... ?)

Link to comment
Share on other sites

@SchalldampferI appreciate you reporting these issues. I added the solution for paratrooper groups to have rocket launchers and fixed weapons. The file heli_para.sqf should be replaced. There were several changes.

This is the line I used to test the President's mission:

[[(_position select 0),(_position select 1),0],400,"UH60M_EP1_DZE","East",[3000,4000],150,1.0,200,10,"Random",["AKS_GOLD","AT"],4,"Random","Hero","Random","Hero",false,_mission] spawn heli_para;

 

I also added a solution so you can have the objects at your road block mission deleted when the mission is cleared.

In config.sqf add this line:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/config.sqf#L95

Any mission name can be added to this array to override the mission cleanup time.

In missionwinorfail.sqf replace your line with this one:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/mission_winorfail.sqf#L321

Killzone Kid's in string function is used to check the mission names for a match to override the mission clean time.

Add your objects array to the passed variable array like this one:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/missions/hero/abandoned_trader.sqf#L67

I also noticed there is a missing semicolon on this line, but it doesn't seem to affect anything. I'll change it later.

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/spawn_group.sqf#L81

 

 

 

Link to comment
Share on other sites

4 hours ago, JasonTM said:

@SchalldampferI appreciate you reporting these issues. I added the solution for paratrooper groups to have rocket launchers and fixed weapons. The file heli_para.sqf should be replaced. There were several changes.

This is the line I used to test the President's mission:


[[(_position select 0),(_position select 1),0],400,"UH60M_EP1_DZE","East",[3000,4000],150,1.0,200,10,"Random",["AKS_GOLD","AT"],4,"Random","Hero","Random","Hero",false,_mission] spawn heli_para;

 

I also added a solution so you can have the objects at your road block mission deleted when the mission is cleared.

In config.sqf add this line:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/config.sqf#L95

Any mission name can be added to this array to override the mission cleanup time.

In missionwinorfail.sqf replace your line with this one:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/mission_winorfail.sqf#L321

Killzone Kid's in string function is used to check the mission names for a match to override the mission clean time.

Add your objects array to the passed variable array like this one:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/missions/hero/abandoned_trader.sqf#L67

I also noticed there is a missing semicolon on this line, but it doesn't seem to affect anything. I'll change it later.

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/spawn_group.sqf#L81

 

 

 

Hi JasonTM, I swapped out the heli_para.sqf file and changed my para drop config in default.sqf (spoiler). The heli spawns but it does not fly to the specified location and does not drop any paratroopers. It just hovers in the air. Is there something else I need to do to make this work?

Thanks!

Spoiler

[
    [13956.9,3065.26,0.00101662],        // Position that units will be dropped by
    100,                                // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    "North",                            // Direction of approach for the helicopter. Options: "North","South","East","West"
    [1000,2000],                        // Random distance from the mission the helicopter should start. [min distance, max distance].
    150,                                // Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
    1.0,                                // Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
    200,                                // Distance from the mission the helicopter should start dropping paratroopers
    10,                                    // 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
    "Random",                            // 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;

[
    [3891.71,7886.14,0.00146484],        // Position that units will be dropped by
    25,                                    // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    "North",                            // Direction of approach for the helicopter. Options: "North","South","East","West"
    [1000,2000],                        // Random distance from the mission the helicopter should start. [min distance, max distance].
    150,                                // Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
    1.0,                                // Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
    200,                                // Distance from the mission the helicopter should start dropping paratroopers
    10,                                    // 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
    "Random",                            // 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;

[
    [6881.79,11461.8,0.0015564],        // Position that units will be dropped by
    25,                                    // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    "North",                            // Direction of approach for the helicopter. Options: "North","South","East","West"
    [1000,2000],                        // Random distance from the mission the helicopter should start. [min distance, max distance].
    150,                                // Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
    1.0,                                // Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
    200,                                // Distance from the mission the helicopter should start dropping paratroopers
    10,                                    // 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
    "Random",                            // 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;

 

Link to comment
Share on other sites

1 hour ago, Vladick said:

Hi JasonTM, I swapped out the heli_para.sqf file and changed my para drop config in default.sqf (spoiler). The heli spawns but it does not fly to the specified location and does not drop any paratroopers. It just hovers in the air. Is there something else I need to do to make this work?

Thanks!

  Reveal hidden contents

[
    [13956.9,3065.26,0.00101662],        // Position that units will be dropped by
    100,                                // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    "North",                            // Direction of approach for the helicopter. Options: "North","South","East","West"
    [1000,2000],                        // Random distance from the mission the helicopter should start. [min distance, max distance].
    150,                                // Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
    1.0,                                // Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
    200,                                // Distance from the mission the helicopter should start dropping paratroopers
    10,                                    // 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
    "Random",                            // 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;

[
    [3891.71,7886.14,0.00146484],        // Position that units will be dropped by
    25,                                    // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    "North",                            // Direction of approach for the helicopter. Options: "North","South","East","West"
    [1000,2000],                        // Random distance from the mission the helicopter should start. [min distance, max distance].
    150,                                // Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
    1.0,                                // Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
    200,                                // Distance from the mission the helicopter should start dropping paratroopers
    10,                                    // 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
    "Random",                            // 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;

[
    [6881.79,11461.8,0.0015564],        // Position that units will be dropped by
    25,                                    // Radius from drop position a player has to be to spawn chopper
    "UH1H_DZ",                            // Classname of chopper (Make sure it has 2 gunner seats!)
    "North",                            // Direction of approach for the helicopter. Options: "North","South","East","West"
    [1000,2000],                        // Random distance from the mission the helicopter should start. [min distance, max distance].
    150,                                // Fly in height of the helicopter. Be careful that the height is not too low or the AI might die when they hit the ground
    1.0,                                // Time in seconds between each deployed paratrooper. Higher number means paradropped AI will be more spread apart. Time of 0 means they all jump out rapidly.
    200,                                // Distance from the mission the helicopter should start dropping paratroopers
    10,                                    // 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
    "Random",                            // 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;

 

Are there any errors in your server rpt?

Link to comment
Share on other sites

26 minutes ago, JasonTM said:

Are there any errors in your server rpt?

I found this in the RPT:

12:48:04 Error in expression <sNearPlayer;
uiSleep 10;
};

call {
if (_skin == "random") 	exitWith { _aiskin =>
12:48:04   Error position: <_skin == "random") 	exitWith { _aiskin =>
12:48:04   Error Undefined variable in expression: _skin
12:48:04 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 55
12:48:04 Error in expression <)); };
_aiskin = _skin;
};

if(typeName _aiskin == "ARRAY") then {
_aiskin = _ai>
12:48:04   Error position: <_aiskin == "ARRAY") then {
_aiskin = _ai>
12:48:04   Error select: Undefined variable in expression: _aiskin
12:48:04 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 62
Link to comment
Share on other sites

On 6/13/2018 at 2:36 PM, JasonTM said:

Does your heli_para.sqf have this line?

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/heli_para.sqf

It needs to be _this select 13

Also, did you swap out the mission files I had listed above?

They also need to use the new format.

Hey JasonTM, my heli_para.sqf did already have the _this select 13 code but I had not swapped all of the mission files. Did that and now everything is working as expected. Thanks for your help!

Link to comment
Share on other sites

Hello JasonTM  today I installed the newest version I have this error 

11:12:08 "WAI: [Mission:[Hero] Farmer]: Starting... [2884.04,11363.9,0]"
11:12:11 Error in expression <ret = _this select _ret;           
};
 
_ret;>
11:12:11   Error position: <_ret;>
11:12:11   Error Undefined variable in expression: _ret
11:12:11 File z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf, line 24
11:12:11 Error in expression <it = _ailist call BIS_fnc_selectRandom;
_unit addWeapon _keySelected;
 
if(wai_de>
11:12:11   Error position: <_unit addWeapon _keySelected;
 
if(wai_de>
11:12:11   Error Undefined variable in expression: _unit
11:12:11 File z\addons\dayz_server\WAI\compile\functions.sqf, line 222
11:12:11 "WAI: Spawned a group of 5 AI (Bandit) at [2867.04,11392.9,0]"
11:12:11 "WAI: Spawned a group of 3 AI (Bandit) at [2872.04,11383.9,0]"

Link to comment
Share on other sites

Update

This mod has been made compatible with the community stringtable. The instructions have been updated.

File remote_messages.sqf has been updated by @BigEgg to detect if _STR is in the mission announcement and localize the message.

Step 6 in the mission instructions:

This mod is dependent on the Epoch community stringtable. Download the stringtable here and place file stringTable.xml in the root of your mission folder. Repack your mission PBO.

The mission announcements are translated into German and Russian based on the local settings of the client machine. If someone has the skill to add other languages, this is encouraged.

Technically, the mod is not dependent on the stringtable, but all of the mission files are using the localization format for the mission announcements Example...

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/missions/bandit/cannibal_cave.sqf#L69-L71

The community stringtable is available here:

https://github.com/oiad/communityLocalizations/

The WickedAI entries start here:

https://github.com/oiad/communityLocalizations/blob/master/stringTable.xml#L1219

 

A slight update to custom_publish_vehicle has been made so that BIS_fnc_findSafePos  does not choose the default (center of the map) for the spawn location. These are the lines that have been changed:

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/custom_publish_vehicle.sqf#L9

https://github.com/worldwidesorrow/WICKED-AI/blob/master/WAI/compile/custom_publish_vehicle.sqf#L24-L25

 

Credit to...

@BigEgg for the localization solution in remote_messages.sqf

@RedLink Russian translations

@DAmNRelentless German translations and cleaning up the mission strings

@Schalldampfer testing and detecting the mission vehicle spawning issue

@Grahame Help with vehicle spawning problem

Link to comment
Share on other sites

On 6/19/2018 at 5:57 AM, Dr.Killmore said:

Hello JasonTM  today I installed the newest version I have this error 

11:12:08 "WAI: [Mission:[Hero] Farmer]: Starting... [2884.04,11363.9,0]"
11:12:11 Error in expression <ret = _this select _ret;           
};
 
_ret;>
11:12:11   Error position: <_ret;>
11:12:11   Error Undefined variable in expression: _ret
11:12:11 File z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf, line 24
11:12:11 Error in expression <it = _ailist call BIS_fnc_selectRandom;
_unit addWeapon _keySelected;
 
if(wai_de>
11:12:11   Error position: <_unit addWeapon _keySelected;
 
if(wai_de>
11:12:11   Error Undefined variable in expression: _unit
11:12:11 File z\addons\dayz_server\WAI\compile\functions.sqf, line 222
11:12:11 "WAI: Spawned a group of 5 AI (Bandit) at [2867.04,11392.9,0]"
11:12:11 "WAI: Spawned a group of 3 AI (Bandit) at [2872.04,11383.9,0]"

Are you still having issues with this. I did not see anything like this when I was testing and no one else has reported the same issue.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...