Jump to content

[Release] Wicked AI 2.2.0


f3cuk

Recommended Posts

@andyuk5: If you want to use the static missions i.c.w. a map specific file, please make sure that file has the correct filename. (e.g. change chernarus.sqf to dayz_epoch_11.sqf)

 

--

 

@hybridfury: To be honest i dont know details about any other AI mod. I would say try and see if you get your desired results. If DZMS uses markers getPos in combination with the marker seems like a nice place to start.

 

--

 

@BigDaddy: Thanks for noticing, edited the OP.

 

--

 

@kylemf88: Yeah it should work without any problems on any map. If you look back a few pages i think someone has given his overpoch arrays with guns etc

 

--

 

@PeterBeer: Hmm cant believe i managed to miss that one, will get fixed in 2.0.5.

 

--

 

Progress update

Hey guys, thanks for the overwhelming support. Jossy has been pretty very busy with the next big version (2.1.0) and we are making good progress on that.
 

We need more missions

One of the goals we set for Wicked AI is to have more missions available. In the end content is always the most important part of any ai mod and thus we are still looking for people that can help us on that side. If you have made your own customized missions (even if it's for the old version and doesn't work anymore) please consider sharing. You'd be doing all of us a great favor. Please either share them in this topic or send them through PM.

Link to comment
Share on other sites

@andyuk5: If you want to use the static missions i.c.w. a map specific file, please make sure that file has the correct filename. (e.g. change chernarus.sqf to dayz_epoch_11.sqf)

 

--

 

@hybridfury: To be honest i dont know details about any other AI mod. I would say try and see if you get your desired results. If DZMS uses markers getPos in combination with the marker seems like a nice place to start.

 

--

 

@BigDaddy: Thanks for noticing, edited the OP.

 

--

 

@kylemf88: Yeah it should work without any problems on any map. If you look back a few pages i think someone has given his overpoch arrays with guns etc

 

--

 

@PeterBeer: Hmm cant believe i managed to miss that one, will get fixed in 2.0.5.

 

--

 

Progress update

Hey guys, thanks for the overwhelming support. Jossy has been pretty very busy with the next big version (2.1.0) and we are making good progress on that.

 

We need more missions

One of the goals we set for Wicked AI is to have more missions available. In the end content is always the most important part of any ai mod and thus we are still looking for people that can help us on that side. If you have made your own customized missions (even if it's for the old version and doesn't work anymore) please consider sharing. You'd be doing all of us a great favor. Please either share them in this topic or send them through PM.

 

When you say we need more missions I think it would be better if we had more then one mission running at the same time 

 

When you have 25 players on it becomes a F3cuk Fest

 
Link to comment
Share on other sites

@hybridfury: To be honest i dont know details about any other AI mod. I would say try and see if you get your desired results. If DZMS uses markers getPos in combination with the marker seems like a nice place to start.

 

Yah havent tested what I proposed, but dont think it will work and yah i started thinking about using the markers that DZMS creates.  There are 3 of them, DZMSMajMarker, DZMSMinMarker and DZMSEliteMarker.  So what would be the line of code to use for that in conjuction with getpos in WAI?

Link to comment
Share on other sites

Ok here is what I came up with:

//Load config
	ExecVM "\z\addons\dayz_server\WAI\config.sqf";

	waitUntil {configloaded};
		diag_log "WAI: AI Config File Loaded";

_disMin = (getpos DZMSMinMarker);
_disMaj = (getpos DZMSMajMarker);
_disElite = (getpos DZMSEliteMarker);
_okDis = ((_disMaj > 1000) AND (_disElite > 1000) AND (_disMin > 1000));
		
	if(use_blacklist) then {
		safepos				= [getMarkerPos "center",5,7000,30,0,0.5,0,blacklist];
	} else {
		safepos				= [getMarkerPos "center",0,5000,30,0,0.5,0];
	};

	[] spawn ai_monitor;

	if(static_missions) then {
		ExecVM "\z\addons\dayz_server\WAI\static\init.sqf";
	};
	
	if (wai_mission_system) then {
		ExecVM "\z\addons\dayz_server\WAI\missions\init.sqf";
	};

};

Would this work to detect the markers made by DZMS to prevent mission overlapping?

Link to comment
Share on other sites

Actually missing a call to _okdis, need to find where to put this in.  Possibly this???

//Load config
	ExecVM "\z\addons\dayz_server\WAI\config.sqf";

	waitUntil {configloaded};
		diag_log "WAI: AI Config File Loaded";

_disMin = (getpos DZMSMinMarker);
_disMaj = (getpos DZMSMajMarker);
_disElite = (getpos DZMSEliteMarker);
_okDis = ((_disMaj > 1000) AND (_disElite > 1000) AND (_disMin > 1000));
		
	if(use_blacklist AND _okDis) then {
		safepos				= [getMarkerPos "center",5,7000,30,0,0.5,0,blacklist];
	} else {
		safepos				= [getMarkerPos "center",0,5000,30,0,0.5,0];
	};

	[] spawn ai_monitor;

	if(static_missions) then {
		ExecVM "\z\addons\dayz_server\WAI\static\init.sqf";
	};
	
	if (wai_mission_system) then {
		ExecVM "\z\addons\dayz_server\WAI\missions\init.sqf";
	};

};

Link to comment
Share on other sites

Ok went about it another way with the help of a friend.  Here is what we came up with and what I am getting ready to test on my server.  We edited the DZMSFunctions.sqf file.  Here is the portion we changed:

//Lets check for minimum mission separation distance
			_waimarker = getMarkerPos Mission;
			_disElite = (_pos distance DZMSEliteCoords);
			_disMaj = (_pos distance DZMSMajCoords);
			_disMin = (_pos distance DZMSMinCoords);
			_waiishere = (_pos distance _waimarker);
			_okDis = ((_disMaj > 1000) AND (_disMin > 1000) AND (_disElite > 1000) AND (_waiishere > 1000));

Will report back what happens :P

Link to comment
Share on other sites

If you would like to run DZMS and Wicked AI together and not have missions overlap -

 

Here is what we came up with and it seems to work so far as for DZMS looking for WAI markers.  So it should prevent DZMS from spawning on top of WAI, but not WAI spawning on top of DZMS.  Still working on making WAI look for DZMS markers.  Here is my code.  I have a modified DZMS so you will need to take out any references to elite, but the rest should work.  This code is in DZMSFunctions.sqf search for the commented line below and replace what you find under it with what is below.  You will need to add _waimarker and _waiishere to the private line at the top of DZMSfunctions.sqf  Also if you have added any of your own missions and created new marker names for them you will need to create a few new lines to make it search for and see those custom markers.

//Lets check for minimum mission separation distance
			_waimarker = getMarkerPos "Mission";
			_disElite = (_pos distance DZMSEliteCoords);
			_disMaj = (_pos distance DZMSMajCoords);
			_disMin = (_pos distance DZMSMinCoords);
			_waiishere = (_pos distance _waimarker);
			_okDis = ((_disMaj > 1000) AND (_disMin > 1000) AND (_disElite > 1000) AND (_waiishere > 1000));
Link to comment
Share on other sites

 

When you say we need more missions I think it would be better if we had more then one mission running at the same time 

 

When you have 25 players on it becomes a F3cuk Fest

 

 

I have both Hero and Bandit missions spawning right now, which should come with the next major update, however it would be nice to have alternate missions to spawn for the bandits, doesn't quite make sense to have to copy them all over and have the same missions ;)

 

As for multiple missions for the same alignment group, side missions will be made available in a future update, perhaps even non-combat missions!

Link to comment
Share on other sites

I have both Hero and Bandit missions spawning right now, which should come with the next major update, however it would be nice to have alternate missions to spawn for the bandits, doesn't quite make sense to have to copy them all over and have the same missions ;)

 

As for multiple missions for the same alignment group, side missions will be made available in a future update, perhaps even non-combat missions!

 

Any ETA on this major update 

 

players doing crazy at me earlier xD

Link to comment
Share on other sites

Sorry.

Ehm it looks like you are trying to spawn something static. Are you sure that is the whole code of your default.sqf?

 

 

Per your request, here is my whole default.sqf


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", // 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
] call spawn_group;
 
Place your custom group spawns below
*/
[
[3025.15,7342.64,0.001], // Position
2, // 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
] call spawn_group;
 
[
[6898.48,11437.6,0.002], // Position
4, // 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
] call spawn_group;
 
[
[6855.05,11435.2,0.001], // Position
4, // 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
] call spawn_group;
 
[
[6918.46,11395.1,0.002], // Position
4, // 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
] call spawn_group;
 
[
[6868.3,11482.5,0.001], // Position
4, // 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
] call spawn_group;
 
 
 
 
 
//Custom static weapon spawns Eg. (with mutiple positions)
 
[
[6898.48,11437.6,0.002], // Position(s) (can be multiple)
"M2StaticMG", // Classname of turret
"easy", // Skill level of unit (easy, medium, hard, extreme, Random)
"Bandit2_DZ", // Skin classname, use "Random" or classname here
"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)
] spawn heli_patrol;
 
Place your heli patrols below
*/
 
//Custom Chopper Patrol spawn Eg.
 
[
[7012.58,7775.55,0], // Position to patrol
[0,0,0], // Position to spawn chopper at
4000, // Radius of patrol
10, // Number of waypoints to give
"UH1H_DZ", // Classname of vehicle (make sure it has driver and two gunners)
"medium" // Skill level of units (easy, medium, hard, extreme, Random)
] spawn heli_patrol;
 
 
 
/* 
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)
] 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. "Random" for random weapon set.
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.
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
*/
 
//Boxes
//Bandit Supply Base
_box = createVehicle ["BAF_VehicleBox",[6883.49,11440.7,0.001], [], 0, "CAN_COLLIDE"];
[_box] call Construction_Supply_Box;
_box1 = createVehicle ["BAF_VehicleBox",[6878.31,11443.5,0.002], [], 0, "CAN_COLLIDE"];
[_box1] call Extra_Large_Gun_Box;
 
 
 
 
 
 
 
diag_log format["WAI: Static mission for %1 loaded", missionName];
 
};
Link to comment
Share on other sites

Any ETA on this major update 

 

players doing crazy at me earlier xD

Early this weekend more than likely (this is when I'll have it working)

 

Whenever f4cuk is able to update it is up to him

Edited by Jossy
Link to comment
Share on other sites

 

Per your request, here is my whole default.sqf

 

[
[6898.48,11437.6,0.002], // Position(s) (can be multiple)
"M2StaticMG", // Classname of turret
"easy", // Skill level of unit (easy, medium, hard, extreme, Random)
"Bandit2_DZ", // Skin classname, use "Random" or classname here
"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
 

 

This will solve your problem

[
	[
		[6898.48,11437.6,0.002]
	], 				// Position(s) (can be multiple)
	"M2StaticMG", 	// Classname of turret
	"easy", 		// Skill level of unit (easy, medium, hard, extreme, Random)
	"Bandit2_DZ", 	// Skin classname, use "Random" or classname here
	"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
Link to comment
Share on other sites

 

If you would like to run DZMS and Wicked AI together and not have missions overlap -

 

Here is what we came up with and it seems to work so far as for DZMS looking for WAI markers.  So it should prevent DZMS from spawning on top of WAI, but not WAI spawning on top of DZMS.  Still working on making WAI look for DZMS markers.  Here is my code.  I have a modified DZMS so you will need to take out any references to elite, but the rest should work.  This code is in DZMSFunctions.sqf search for the commented line below and replace what you find under it with what is below.  You will need to add _waimarker and _waiishere to the private line at the top of DZMSfunctions.sqf  Also if you have added any of your own missions and created new marker names for them you will need to create a few new lines to make it search for and see those custom markers.

//Lets check for minimum mission separation distance
			_waimarker = getMarkerPos "Mission";
			_disElite = (_pos distance DZMSEliteCoords);
			_disMaj = (_pos distance DZMSMajCoords);
			_disMin = (_pos distance DZMSMinCoords);
			_waiishere = (_pos distance _waimarker);
			_okDis = ((_disMaj > 1000) AND (_disMin > 1000) AND (_disElite > 1000) AND (_waiishere > 1000));

 

Be careful with our future updates coming the Marker's won't have the name "Mission" any more since there will be multiples, more support should be added to check for other mission markers also if we can get around to it

Link to comment
Share on other sites

Missed a set of brackets I see.  Nice....  Explains why that wasn't working too.  Thanks for that!   :)

 

But what about the boxes?  See towards the bottom of the file.  There are two boxes called to spawn as well.  Same issue with those??

They more than likely weren't spawning because the static gun was throwing an error

Link to comment
Share on other sites

@kylemf88: Yeah it should work without any problems on any map. If you look back a few pages i think someone has given his overpoch arrays with guns etc

 

I could only find a way to change the Ai weapons to overpoch, not the gun boxes. I'll be honest, I dont understand most of what I'm reading so maybe I missed it?

Link to comment
Share on other sites

I could only find a way to change the Ai weapons to overpoch, not the gun boxes. I'll be honest, I dont understand most of what I'm reading so maybe I missed it?

[_box, 10, 5, 15] call spawn_ammo_box;

^ box to fill, num of weapons, num of tools, num of items.

 

it gets the items from ai_wep_random box_tools and box_items, but at the moment you need to know what ammo to put in each 2nd nested array, this is something we can tweak within a few updates I think.

Link to comment
Share on other sites

Well there is bug in config.sqf

box_items array should not have "ItemKeyKit" inside.

It shouldbe inside box_tools.

 

Causing error:

8:39:55 "WAI: Starting mission destroyed_ural"
 8:39:55 "WAI: Ural Attack mission started at [5521.47,12296.5]"
 8:39:55 "WAI: Spawning in a dynamic box with 2 guns, 6 tools and 36 items"
 8:39:55 Warning Message: No entry 'bin\config.bin/CfgMagazines.ItemKeyKit'.
 8:39:55 Warning Message: No entry '.picture'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.scope'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: Error: creating magazine ItemKeyKit with scope=private
 8:39:55 Warning Message: No entry '.displayName'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.displayNameShort'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.nameSound'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.Library'.
 8:39:55 Warning Message: No entry '.libTextDesc'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.type'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.count'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.maxLeadSpeed'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.initSpeed'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.reloadAction'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.modelSpecial'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 Warning Message: No entry '.ammo'.
 8:39:55 Warning Message: '/' is not a value
 8:39:55 "WAI: Spawned a group of 2 bandits at [5521.47,12296.5,0]"
 8:39:55 "WAI: Spawned a group of 2 bandits at [5521.47,12296.5,0]"
 8:39:55 "WAI: Spawned a group of 2 bandits at [5521.47,12296.5,0]"
 8:39:55 "WAI: Spawned a group of 2 bandits at [5521.47,12296.5,0]"

The box_items array has also typo "ItemEpinephrin"  instead "ItemEpinephrine".

The box_medical  array the same typo.

 

There are syntax error in ikea_convoy.sqf  last closing  "}" has no ";"

Link to comment
Share on other sites

16:36:44 "WAI: AI Config File Loaded"
16:36:44 Error in expression <yz_server\WAI\static\init.sqf";
};

if (wai_mission_system) then {
ExecVM "\z\ad>
16:36:44   Error position: <wai_mission_system) then {
ExecVM "\z\ad>
16:36:44   Error Undefined variable in expression: wai_mission_system
16:36:44 File z\addons\dayz_server\WAI\init.sqf, line 44
Link to comment
Share on other sites

16:36:44 "WAI: AI Config File Loaded"
16:36:44 Error in expression <yz_server\WAI\static\init.sqf";
};

if (wai_mission_system) then {
ExecVM "\z\ad>
16:36:44   Error position: <wai_mission_system) then {
ExecVM "\z\ad>
16:36:44   Error Undefined variable in expression: wai_mission_system
16:36:44 File z\addons\dayz_server\WAI\init.sqf, line 44

https://github.com/f3cuk/WICKED-AI/commit/ad8f41fc496115956aa190dbc621cad60c1557db

Link to comment
Share on other sites

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