Jump to content

Re-Worked WAI 0.173 - Supported System


Recommended Posts

You can use BIS_fnc_findSafePos with the position of the drop as center and a small (like 100m) range to create a new center for the circle you make on the map. I actually do it the other way around:

// This selects thegeneral area where to pawn the box, and this is the center of the marker.
_position = [_spawnMarker,0,_spawnRadius,10,0,2000,0] call BIS_fnc_findSafePos;


//Marker: Just as example for the position
//_event_marker = createMarker [ format ["loot_event_marker_%1", _start_time], _position];

//Calculating a location to place the box on:
_loot_pos = [_position,0,(_markerRadius - 100),20,0,2000,0] call BIS_fnc_findSafePos;



I'd have to change this in every mission?

 

Link to comment
Share on other sites

Wow, ok, not exactly sure where to make all those changes.  I', jusy a hack, shade-tree scripter, lol, but I'll figure it our.  thanks guys.

 

What am looking to do is keep the marker centered but put the ammo box and AI somewhere random in the circle.  if anyone can give me a little more info as to where or how to do this it would be greatly appreciated.

Link to comment
Share on other sites

CustomSpawns.sqf allows you too..  I have Skalisty Island setup as bandit HQ...

20 ai on the ground patroling

7 kords/Dskm

1 stinger pod

4 heli paradrops (Mi17sh rockets, players have learned not to shot at them)

GN-185T on patrol

3 GPK Patrols

4 RHIB patrols

3 milt barracks

and a random lot crate with almost every possible item/weapon..(every restart new items/weapons)

 

I had another setup at NWAF and NEAF, but players started to rage :)

I also had to remove the L39 on patrol over NWAF :(     would hunt players until dead....

I liked the C130 paradrops but the planes wouldn't despawn after returning to spawn location...

I also edited to allow Ai to keep magizines(nvgs/painkillers/gold bar/etc) on death.  Gun would just disappear...

 

any chance on getting this? pretty new to this custom spawn thing and im trying to get some ideas on how to use it, also it just sounds badass

Link to comment
Share on other sites

I have an entire missions package built for WAI but it will only work on Napf as many of the positions and quests are coded for things in that map. For instance I built a "UFO Crash" mission that spawns in the dish array. It's just a Ka137, but it's a blast watching the players work it out when they see it for the first time. Most have never played wasteland so it's new to them. There's a beachhead invasion with patrol boats and air support, missions with waves of attackers spawned by the players as they clear the first group, a mission that seemingly is quite easy until they get cut off and surrounded, stuff like that. WAI has simple parameters but you can craft some interesting scenarios with a little effort.

 

My servers are themed out as "Legion owns Napf" so the missions all reflect this. The AI share a common uniform, the in-game messaging is written to reflect this, it's all tied together in a nice package and not disjointed. Makes for a good experience.

 

I sent Vampire my missions for inclusion into his projects if he wanted and I'd be happy to show you guys how to customize your missions if you want. I don't want to post mine as they are though because I've put a lot of work and testing in them but I'd damn sure spend some time with you in TS and explain for you how to customize yours. As a way to help you guys by example here is a custom mission I run:

private ["_playerPresent","_cleanmission","_currenttime","_starttime","_missiontimeout","_vehname","_veh","_position","_vehclass","_vehdir","_objPosition"];

_vehclass = "CH_47F_EP1_DZE";
_vehname	= getText (configFile >> "CfgVehicles" >> _vehclass >> "displayName");
_position = [18419,5880.08,0.002];
diag_log format["WAI: Mission Death Valley Started At %1",_position];

_veh = createVehicle [_vehclass,_position, [], 0, "CAN_COLLIDE"];
_vehdir = round(random 360);
_veh setDir _vehdir;
clearWeaponCargoGlobal _veh;
clearMagazineCargoGlobal _veh;
_veh setVariable ["ObjectID","1",true];
PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_veh];
diag_log format["WAI: Mission Death Valley spawned a %1",_vehname];

_objPosition = getPosATL _veh;

_rndnum = round (random 3) + 4;
[[18438.7, 5819.19, 0],                  //position
_rndnum,				  //Number Of units
1,					      //Skill level 0-1. Has no effect if using custom skills
"Random",			      //Primary gun set number. "Random" for random weapon set.
4,						  //Number of magazines
"",						  //Backpack "" for random or classname here.
"CZ_Special_Forces_GL_DES_EP1_DZ",						  //Skin "" for random or classname here.
"Random",				  //Gearset number. "Random" for random gear set.
true
] call spawn_group;

[[18479.8, 5834.96, 0],                  //position
8,						  //Number Of units
1,					      //Skill level 0-1. Has no effect if using custom skills
"Random",			      //Primary gun set number. "Random" for random weapon set.
4,						  //Number of magazines
"",						  //Backpack "" for random or classname here.
"CZ_Special_Forces_GL_DES_EP1_DZ",						  //Skin "" for random or classname here.
"Random",				  //Gearset number. "Random" for random gear set.
true
] call spawn_group;

[[[18470.8, 5799.16, 0],[18460.5, 5830.6, 0],[18467.1, 5819.52, 0]], //position(s) (can be multiple).
"M2StaticMG",             //Classname of turret
0.5,					  //Skill level 0-1. Has no effect if using custom skills
"CZ_Special_Forces_GL_DES_EP1_DZ",			  //Skin "" for random or classname here.
0,						  //Primary gun set number. "Random" for random weapon set. (not needed if ai_static_useweapon = False)
2,						  //Number of magazines. (not needed if ai_static_useweapon = False)
"",						  //Backpack "" for random or classname here. (not needed if ai_static_useweapon = False)
"Random",				  //Gearset number. "Random" for random gear set. (not needed if ai_static_useweapon = False)
true
] call spawn_static;

[[18438.7, 5819.19, 0],    //Position to patrol
[18438.7, 5819.19, 0],	             // Position to spawn chopper at
300,					//Radius of patrol
6,                     //Number of waypoints to give
"UH1H_DZ",		        //Classname of vehicle (make sure it has driver and two gunners)
0						//Skill level of units 
] spawn heli_patrol;

[[18438.7, 5819.19, 0],  //Position that units will be dropped by
[0,0,0],                           //Starting position of the heli
600,                               //Radius from drop position a player has to be to spawn chopper
"UH1H_DZ",                         //Classname of chopper (Make sure it has 2 gunner seats!)
7,                                 //Number of units to be para dropped
1,                                 //Skill level 0-1 or skill array number if using custom skills "Random" for random Skill array.
"Random",                          //Primary gun set number. "Random" for random weapon set.
4,                                 //Number of magazines
"",                                //Backpack "" for random or classname here.
"CZ_Special_Forces_GL_DES_EP1_DZ",                      //Skin "" for random or classname here.
"Random",                          //Gearset number. "Random" for random gear set.
False                               //True: Heli will stay at position and fight. False: Heli will leave if not under fire. 
] spawn heli_para;


[_position,"Death Valley"] execVM "\z\addons\dayz_server\WAI\missions\compile\markers.sqf";
_hint = parseText format["<t align=center' color='#ff0000' shadow='2' size='1.75'>DEATH VALLEY!</t><br/><t  align='center' color='#ffffff'>Legion is gathering forces in a valley, team up and go wipe out them out! </t&gt];
customRemoteMessage = ['hint', _hint];
publicVariable "customRemoteMessage";

_missiontimeout = true;
_cleanmission = false;
_playerPresent = false;
_starttime = floor(time);
while {_missiontimeout} do {
	sleep 5;
	_currenttime = floor(time);
	{if((isPlayer _x) AND (_x distance _position <= 150)) then {_playerPresent = true};}forEach playableUnits;
	if (_currenttime - _starttime >= wai_mission_timeout) then {_cleanmission = true;};
	if ((_playerPresent) OR (_cleanmission)) then {_missiontimeout = false;};
};
if (_playerPresent) then {
	[_veh,[_vehdir,_objPosition],_vehclass,true,"0"] call custom_publish;
	waitUntil
	{
		sleep 5;
		_playerPresent = false;
		{if((isPlayer _x) AND (_x distance _position <= 30)) then {_playerPresent = true};}forEach playableUnits;
		(_playerPresent)
	};
	diag_log format["WAI: Mission Death Valley Ended At %1",_position];
	_hint = parseText format["<t align=center' color='#00FF11' shadow='2' size='1.75'>SUCCESS!</t><br/><t  align='center' color='#ffffff'>Survivors have taken Death Valley!</t&gt];
    customRemoteMessage = ['hint', _hint];
    publicVariable "customRemoteMessage";
} else {
	clean_running_mission = True;
	deleteVehicle _veh;
	{_cleanunits = _x getVariable "missionclean";
	if (!isNil "_cleanunits") then {
		switch (_cleanunits) do {
			case "ground" : {ai_ground_units = (ai_ground_units -1);};
			case "air" : {ai_air_units = (ai_air_units -1);};
			case "vehicle" : {ai_vehicle_units = (ai_vehicle_units -1);};
			case "static" : {ai_emplacement_units = (ai_emplacement_units -1);};
		};
		deleteVehicle _x;
		sleep 0.05;
	};	
	} forEach allUnits;
	
	diag_log format["WAI: Mission Death Valley Timed Out At %1",_position];
	_hint = parseText format["<t align=center' color='#ff1133' shadow='2' size='1.75'>FAILED</t><br/><t  align='center' color='#ffffff'>Survivors did not secure Death Valley!</t&gt];
    customRemoteMessage = ['hint', _hint];
    publicVariable "customRemoteMessage";
};
missionrunning = false;

This spawns a pretty hard mission located in a valley in the SE part of Napf. Players think it's easy as they have the high ground, but there are a couple of suprises as they work the mission. This has nice pop-ups for mission spawn, success or failure, and is pretty easy to edit for other places/missions. I'd appreciate admins respecting my "Legion" idea but I'm happy to share and help you make your own missions.

 

BTW, as a bit of advice it's a good idea to spend time speccing your players run your custom stuff. They are very good at finding things you hadn't thought of and it also lets you reinforce parts of the mission that are too easy or tone down things that are too hard. My missions go through several rewrites as they are played on-server to account for my guys figuring them out or finding them too hard. It's a process and doing it right requires some effort on your part as the mission designer. It works too, as we are considering whitelisting because the player base is getting larger than I want to manage.

Link to comment
Share on other sites

Ok guys and script gurus! I am confused on how the Skill level works and how it can be lowered?

 

This is what I have right now that I pulled off here that someone said would make the AI weaker but they are still hard as hell. 

 

["aimingAccuracy",1.00],
["aimingShake",0.20],
["aimingSpeed",1.00],
["endurance",1.00],
["spotDistance",1.00],
["spotTime",1.00],
["courage",1.00],
["reloadSpeed",1.00],
["commanding",1.00],
["general",1.00]
 
What I do not understand is that does 1.00 mean good and say 0.20 mean bad? 
 
BTW all of the people here working hard on scripts are some of the best I have ever seen!
Link to comment
Share on other sites

What I'm curious about (and have not gotten a solid answer to) is whether the AI skill adjustments are a product of the server setting for AI skill. This would explain the wide variation in settings having so different effects. The section I'm talking about is this one:


		class Flags
		{
<SNIP>
		skillFriendly=1;
		precisionFriendly=1;
		skillEnemy=0.29999998;
		precisionEnemy=0.75;
	};

Is the AI brains decided at several stages and modified at each one? It would seem that the profile sets them to a certain skill then the AI spawning of WAI further modifies them down more. Can anyone answer this with sureness?

Link to comment
Share on other sites

Hello, 

 

I have read throught forum, but the only thing I found against vehicles is use RPGs, which is legit loot of 1.0.4.2 crash sites. 

 

Anyone else noticed the AI's won't attack players when use vehicles. On my server  with Vodnik could drive throught, AI's won't shoot enemy vehicles. :/

Link to comment
Share on other sites

Hello, 

 

I have read throught forum, but the only thing I found against vehicles is use RPGs, which is legit loot of 1.0.4.2 crash sites. 

 

Anyone else noticed the AI's won't attack players when use vehicles. On my server  with Vodnik could drive throught, AI's won't shoot enemy vehicles. :/

 From what i understand they wont attack the vodnik because they cannot destroy it, as soon as you get out you will be engaged. im not sure if the vodnik trick still works in 1.0.4.2 because as you said RPG's can now be used which means you can arm AI with them. This causes them to engage and quite happily destroy a vodnik. i havent tried arming ai with high power snipers [think m107] maybe that will cause them to attack?

Link to comment
Share on other sites

Hey experts! I have another question. I am running an Epoch Taviana server and the missions work but my custom spawns of groups are not. I have them like this example below.

 

//Bridge Entrance//
[[13388.028, 8667.3604,0.001], //position
4,  //Number Of units
1,      //Skill level 0-1 or skill array number if using custom skills "Random" for random Skill array.
"Random",      //Primary gun set number. "Random" for random weapon set.
4,  //Number of magazines
"",  //Backpack "" for random or classname here.
"Bandit2_DZ",  //Skin "" for random or classname here.
"Random"                  //Gearset number. "Random" for random gear set.
] call spawn_group;
 
 
When I check the .RPT it shows 0 groups spawned..
Link to comment
Share on other sites

If am I right in the dayz_server\WAI\init.sqf set this:

 

// Make AI Hostile to Survivors
WEST setFriend [EAST,0];
EAST setFriend [WEST,0];
// Make AI Hostile to Zeds
EAST setFriend [CIVILIAN,0];
CIVILIAN setFriend [EAST,0];
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



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