Jump to content
Sign in to follow this  
sickboy

6thSense.eu AI-Manager (Spawn, Wayp Gen, AI Enh)

Recommended Posts

well, thanks for the explanation - so this is a mission maker package!

I thought you are talking about some kind of a mod or an update which will be required by most servers soon.

Anyhow, thanks for such a polite and understanding explanation Sickboy. Always appreciate your comments!

Sry mate, your post was nothing like sounding like a question or whatsoever.

Just a dig up of a thread that was nicely burried until I was ready to release some new info.

This is from the first post, first row of this thread, part of the readme, and the wiki

Quote[/b] ]6thSense.eu AI Manager v0.11 for ArmA, by Sickboy (sb_at_6thSense.eu)

Public Alpha, Feedback and ideas welcome!

Meant as a tool for mission makers to create a dynamic, random and challenging Coop Mission.

Share this post


Link to post
Share on other sites

6thSense.eu AI-Manager v0.2beta1

[*] Switched from old SIX_Base to new SIX_Misc, 99% SIX_Misc functionality in mission script form

[*] Revised code to accomodate for low Global Variable usage

[*] Added createObjective & ObjHandler functionality (Though basic atm). Review the (ADV) missions esp on Sara

[*] Added SIX_Islands versions of AI_Manager (For 6thSenseMod Users)

[*] Missions now "Scale" to the amount of players... Turn off AI slots (+Leave empty) to also reduce amount of enemies

Beta2 should add waypoint functionality. v0.3 (later) should have revised AI systems.

This is my last release of AI-Manager before my holidays for 2-3 weeks. After my return I intend to pick up AI-Manager development again as Nr 1 :-)

Share this post


Link to post
Share on other sites

Hi, i just tried using the beta 0.2, started up the editor with your demo missions.

However, when i go to preview the mission i get the message:

Script SIX_Misc\S

slite_srv.sqf not found

Then no AI squads are spawned and the script doesnt seem to function. Am i doing something wrong? I havent modified the demo missions yet.

Not sure if you're on your holiday you posted about above still,

But Cheers in advance!

Share this post


Link to post
Share on other sites

Thanks for the report Jack mate. I will hopefully have some minutes time tonight to be looking into it... Stay tuned.

Share this post


Link to post
Share on other sites

Updated AI-Manager to v0.2beta2:

[*] Resolved issues with SIX_Misc-Script Version vs Addon Version

Download Here

Back from holidays since a few days and getting ready to expand AI-M.

"Pack1" has undergone many changes, and especially SIX_Misc (ScriptVersion included in AI-M Missions), which even forms the base for AI-M has undergone much changes.

Even though I will improve those in the future, the base framework is done and will not be changed, as such it's time for AI-M again :-)

Progression might be slow though, there's a lot planned and I probably rewrite some parts of AI-M anyways as I've progressed since my last real work on AI-M smile_o.gif

Share this post


Link to post
Share on other sites

Thanks for the response and quick fix!

=)

I'll redownload and give it a try when i get a spare minute =)

Cheers

Share this post


Link to post
Share on other sites

Hi again Sickboy,

Thanks for fixing my previous bug report, unfortunately i have discovered another bug:

When using the demo missions i get the message that xxUnits have spawned, with xxgroups with xxvehicles in xxzones. Unfortunately the infantry are nowhere to be found in the zones. However, the vehicles spawn correctly. This seems to be present in all the demo missions. (specifically the vanilla beginner map on Rahmadi).

Also if i try the ADV maps on Sahrani, me and my squad spawn in the ocean, and get a script error in the top left. Im no scripter or anything but im guessing that it this is the same problem which im experiencing on the beginner rahmadi maps.. but instead of my group spawning in the ocean, the enemy AI are spawning in the ocean. Or at least thats my guess, but i'll let you look into it cause you know your stuff! :P

Cheers again,

Jack

Share this post


Link to post
Share on other sites

Ufff, ehrr, sry for late answer! If you have SIX_Pack1 installed, make sure you got the latest version of the SIX_Misc.

I will however take a look tonight again aswell.

Share this post


Link to post
Share on other sites

sickboy,

Hopefull 2 requests that are useful for others as well:

1. Any chance you can remove the direct references to param1 and param2 in your demo missions with objectives (replacing with a global variable)?

I am implementing this as portion of a persistent mission and will be using a dialog interface to trigger the objective starts and it would be easier instead of having to find and set a global variable for any uses of param1 or param2 in your script for each additional update you do.

2. An "escape" command that deletes all units, triggers, etc. What I need is a clean "start" for the next objective to be run. If this already exists I apologize as I couldn't find the command needed.

Thanks your work is amazing as always!

Edit: I also have a bug report for beta2 mission set, with AIM_OBJ1_SIDE=2 or 3 (Racs or Civ) in the cfg_Zones.sqf the script generates a scalar bool error referencing six_aim_groups_scalar.

Share this post


Link to post
Share on other sites

Hi, guys

Just wondered have you guys got this AI manager working via Triggers as i have over 15 zones and to populate them all would just stop the server in its tracks.

I have tried making a trigger and then insering the line

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">gz1=["sec1", 0, getMarkerPos "sec1", 152, [6, [6, 12]], [3, [10, 16]], [2, [1, 3]], [2, [2, 2]], [], "TRACK", "AI:", [2, []]] call six_fCreateZone;HINT " TRIGGER DONE"

But I get no units created in my sec1 but do not get any error messages either any ideas?

I using Version 0.2beta2, as when i use 0.2Alpha2 i get allsorts of errors. I have tried version 0.11 also i get sleep# errors in that one.

Can you guys help me out.

Share this post


Link to post
Share on other sites

Hey, I love the idea of this script package but being a newbie to scripting I'm having trouble integrating into my mission.

I have been taking out the relevant blocks of code from one of the example missions init.sqf and adding it to my own missions init.sqf. (Leaving out the mission specific stuff) I have the other required folders etc in my missions folder. When running the mission I get this error at briefing:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Error in expression <then{_m setMarkerText _tx};

}

else

{

_m=createMarkerLocal [_this select 0, _this>

Error position: <createMarkerLocal [_this select 0, _this>

Error 0 elements provided, 3 expected

This seems to be referring to the file: \SIX_BASE\f\fCreateMarker

But Im at a loss as to why the error is cropping up, as it dosent in the example missions. If I comment out the line I get no errors but Im sure that will break the scripts anyway. Can someone help?

Thanks in advance!

Share this post


Link to post
Share on other sites

I found the easiest way to use the script so far is to use the zones, but as i making a large mission I waiting for some one to get back to me on the triggers.

However to get the script to wprk is not all that hard.

In the init.sqf of your mission you will need to add the following code.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">// 6thSense.eu AIManager - Init - by Sickboy (sb_at_6thSense.eu)

// Execute Mission Specific Inits

// Configuration

SIX_RF=["MORTICUS"]; // Put ur name in the array for debugging tools (only avail in 6thSenseMod) & markers

SIX_NOTPUBLIC=true;

//SIX_debug_lvl=15; // Enable GL2 Debugging Level

//SIX_debug_miss=true; // Enable Mission Debug

// Player Team, Currently only support 1 when using GroupLink2

six_pt=[wpt1]; // Enter the Players Team

// Runs at the beginning of init on server and client

if(name player in SIX_RF)then{six_debug_miss=true;};

skiptime param1;

// Initialize BackEngine

call compile preprocessFile "SIX_BASE\s\init.sqf";

if(six_isServer)then

{

// Runs on Server and ServerClient (Ingame Server Hosting by Client)

// Execute Zone Configuration

};

if(six_isClient)then

{

// Runs on Client and ServerClient (Ingame Server Hosting by Client)

};

// Start AIM (More configuration in cfg_Zones.sqf)

[] execVM "SIX_AIM\s\init.sqf";

// WaitUntil AI-M has sucessfully Initialized

waitUntil{sleep 1; six_aim_ready};

// Runs after AI-M has sucessfully Initialized on server and client

if(six_isServer)then

{

// Runs on Server and ServerClient (Ingame Server Hosting by Client)

};

Once you have this code in the init.sqf file the rest is easy if you only have a few zones etc.

Make sure you copy over all the files

SIX_AIM

SIX_MISC (BETA2 VERSION)

SIX_BASE (ALPHA VERSION)

SPECT

STRINGTABLE.CSV

Then add maker on map any size "obj1" and then open script

SIX_AIM\C\cfg_zones.sqf the rest is simple

MOrticus

Share this post


Link to post
Share on other sites

Hmm, I still get the same error. Note I am using the BAS framework. Also I don't have folder SIX_MISC and I've added the line from stringtable.csv to the end of my existing stringtable.csv

edit: I downloaded 0.2 and now I get a whole different set of errors?

edit 2: So I rolled back to v0.11 and the extra errors go away. When I insert the code:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">// Put players on right position etc and create markers.

private ["_mis","_play","_playpos"];

_mis=param2;

if(param2>10)then{_mis=_mis-10;};

AIM_OBJ1=format["obj%1",_mis];

_play=format["%1_play",AIM_OBJ1];

_playpos=getMarkerPos _play;

_play setMarkerTypeLocal "Start";

{if(local _x)then{_x setPos _playpos}} foreach (units (six_pt select 0));

AIM_OBJ1 setMarkerTypeLocal "PickUp";

AIM_OBJ1 setMarkerSizeLocal [1,1];

AIM_OBJ1_POS=getMarkerPos AIM_OBJ1;

Into my from an example mission init.sqf into my own init.sqf the first error I talked abour dissappears but it always creates a zone way out in the ocean?

Share this post


Link to post
Share on other sites
Hmm, I still get the same error. Note I am using the BAS framework. Also I don't have folder SIX_MISC and I've added the line from stringtable.csv to the end of my existing stringtable.csv

edit: I downloaded 0.2 and now I get a whole different set of errors?

edit 2: So I rolled back to v0.11 and the extra errors go away. When I insert the code:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">// Put players on right position etc and create markers.

private ["_mis","_play","_playpos"];

_mis=param2;

if(param2>10)then{_mis=_mis-10;};

AIM_OBJ1=format["obj%1",_mis];

_play=format["%1_play",AIM_OBJ1];

_playpos=getMarkerPos _play;

_play setMarkerTypeLocal "Start";

{if(local _x)then{_x setPos _playpos}} foreach (units (six_pt select 0));

AIM_OBJ1 setMarkerTypeLocal "PickUp";

AIM_OBJ1 setMarkerSizeLocal [1,1];

AIM_OBJ1_POS=getMarkerPos AIM_OBJ1;

Into my from an example mission init.sqf into my own init.sqf the first error I talked abour dissappears but it always creates a zone way out in the ocean?

First of all you are using the objective code in your init after rolling back to v.11 which doesn't support objectives. There is NO way this will work. If you want to us v.11 you will need to use the init code contained in that specific version.

If you decided to use the most recent beta2 version then can you confirm you have markers named "obj1" -> "obj10" and markers "obj1_play" through "obj10_play" in the mission?

Share this post


Link to post
Share on other sites

You'll have to excuse my fumbling about here but as I said Im new to ARMA scripting. Thanks for all the help so far!

Ok so I switched back to 6th-AIM_v0.2alpha2. I placed the obj1 to obj10 and obj1_start to obj10_start markers in my mission. It runs without errors now! Though due to the way I have set the rest of my mission up it will only run the first mission and the other markers sit around, but thats ok for now. Where I am totally confused is to how I could go about customizing the package. I want simply to use it to populate areas I define (bases/towns) with a mix of units and get them to talk to each other, patrol, act smarter than the BIS standard units. I think this is possible but I'm at a loss as to how to do it. The way the example mission is set up has thrown me.

p.s Incidentally whats the max number of AI units (inf/tanks/air) that can exist in MP without grinding to a halt?

Share this post


Link to post
Share on other sites

It depends on the server you are using but as a rule, i think the game as a rule starts to get real laggy after about 135 groups (average 5 - 10 men a group) or 35 Dead Vehicles, a lot depends on the systems you are running it on.

I have had over 600 units mixed with 100 groups and it run ok but it did start to lagg and takes forever to join the game.

I have myself been looking to modify the script so i can spawn groups via triggers but all the documentation with the AI manager tells you how to do it but it does not work or at least i have not been able to get it to work. if some one could help me with this i would be very greatfull.

Share this post


Link to post
Share on other sites

OK guys i am still waiting for some one to give me a hand here. I am not wanting to use the cfg_zone.sqf, as i have too many zones to spawn al the AI at once. I am looking for a way to use triggers to spawn each zone in turn. but the documentation on this AI manager is not very clear,

I have tried setting up triggers with the following

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">gz1 =["sec1", 0, getMarkerPos "sec1", 199, [6, [6, 12]], [3, [10, 16]], [2, [1, 3]], [2, [2, 2]], [], "RANDOM", "AI:", [2, []]] call six_fCreateZone;

but i still get nothing created in the zone but yet no error messages can anyone please help.

Share this post


Link to post
Share on other sites

Morticus it seems so far to me a good dedicated server might be able to handle 15 zones. I currently have 7 basic zones with varying levels of population and I have yet to come across a problem testing it on my local machine.

Share this post


Link to post
Share on other sites

Hmmm, maybe you are right i tryed it on another server and works ok at 50% CPU thats a Duel 4600AMD as on my 3800 AMD single 64bit CPU it sits at 100% all the time and the men move like 5m then jump 5m at a time. Although I am spawning over 800 units in 86 groups at once.

Thats why I was hoping to be able to spawn say 2 or 3 zones at a time then as you move further in trigger the next 2 or 3 zones and so on.

If you have any ideas how to do this please let me know.

Share this post


Link to post
Share on other sites

I tried your method and it didn't work for me either, but you seem to be far more familiar with ARMA scripting than me.

I haven't run into any serious performance issues yet. A little lag when it first populates the zones but then again my global AI population is only 400. I'm trying to get some people to help me play test and see if its enough!

Edit: Is it possible to hide the zone markers from players?

Share this post


Link to post
Share on other sites

I have never hidden markers from Players but i have found that if the markers ar just required to spawn men you could place a object in the zone name it X and then create the maker at the position of object X then when all groups have spawned you could remove the marker again

This all depends if you want it a global marker or a local marker, As far as i am aware units are spawned local to the machine all except the squad leaders they are global (i think)

to create a global marker you can use the following:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

_X = getpos X;

createMarker [markerX,position _X];

markerX setmarkershape "Icon";

markerX setmarkerType "dot";

markerX setmarkerSize [10,10];

markerX setmarkertext markerX;

or for a local marker just change the createmarker to createmarkerlocal, and the others to setmarkershapelocal and so on.

hope that helps a little as i am still learning scripting.

Then once each zone has mad its men at the bottom of the cfgzone script i suppose you could then use the deletemarker command.  not tried it but it may work as you want it.

Hope this helps,

Share this post


Link to post
Share on other sites
Wondering where to get the 0.2 beta

Updated AI-Manager to v0.2beta2:

[*] Resolved issues with SIX_Misc-Script Version vs Addon Version

Download Here

After my holidays my job took me on for a hot ride, im slowly getting back into editing... first getting my mods back on par, rly hope to get back on AI-M In a few weeks smile_o.gif

Share this post


Link to post
Share on other sites

For full changelog, downloads and Info, check our renewed wiki at the BIKI biggrin_o.gif

http://community.bistudio.com/wiki/6thSense.eu:AI-Manager

v0.2beta4

[*] Resolved Resistance and Civilian Side not working (BUGID5). Warning, if you are using also 6thSense.eu:Pack1 Please update Pack1 to v0.3

[*] Changed knowsabout value check to 1.5, creating a better and more real enemy awareness and alarm systems

[*] Removed "InfoShare" script, unneeded especially considering the share capabilities of ArmA AI through AI Centers per Side

[*] Added more variants for 6thSenseMod

Share this post


Link to post
Share on other sites

Minor Update

v0.2beta5

[*] Fixed wrong RACS units listed in AI-Manager Config, RACS by default have Desert Camo and as such I choose Woodland as default camo, putting the def (desert) camo on config position 1

[*] Multiplied the amount of 6thSenseMod missions by 2. Now possible to play from each side to each other side.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×