Jump to content
t-800a

[RELEASE] T8 Units - a less dynamic AI creator

Recommended Posts

Please let me share with you a quick hack I've done to use T8 Units to spawn groups outside an area and make them patrol this area.

I needed that to simulate an increase of patrols in a zone while not spawning the units directly in the zone (and of course I wanted all the usual T8 Units features).

 

I'm doing that in 3 steps:

- spawn as usual the units at some QRF marker (but using "call" to get the units returnd by the function)

- filter the list of units to get the unique groups

- delete the assigned waypoints and call the T8 patrol function (for example) for each group

 

No T8 Units code was modified, I'm just doing that through my spawn AI code.

WZ_QRF_W_AI_Spawn=
[
	[[PAT2, "WZ_QRF_W"], ["PATROL"] ],
	[[PAT2, "WZ_QRF_W"], ["PATROL"] ]
];

myunits = [WZ_QRF_W_AI_Spawn] call T8U_fnc_Spawn;
// myunits is an array of units, not of groups !!
mygroups = [];

{
    // create an array - mygroups - containing the list of groups from the spawned units
    _tempgrp = group _x;
    if (!( _tempgrp in mygroups)) then { mygroups pushback _tempgrp;}; 
} forEach myunits;

{
    // delete currently assigned waypoints - code from kju
    while {(count (waypoints _x)) > 0} do
        {
        deleteWaypoint ((waypoints _x) select 0);
    };
    // tell the infantry group to start patroling WZ_AO1 
    [ _x, "WZ_AO1", true ] spawn T8U_tsk_fnc_patrol;
} forEach mygroups;
  • Like 1

Share this post


Link to post
Share on other sites

Hello,

Maybe i overwatch it, but i can vind a script called fn_HALO.sqf in your mission folder, but i cannot find an example how it works.
Can you help me with it?

 

Kind regards,

Semper

Share this post


Link to post
Share on other sites

Hello,

Maybe i overwatch it, but i can vind a script called fn_HALO.sqf in your mission folder, but i cannot find an example how it works.

Can you help me with it?

 

Kind regards,

Semper

 

T8U_var_SupportUnitsEAST = [ _smallGroupVar, _smallGroupVar ];
T8U_var_SupportUnitsWEST = [[ "B_soldier_TL_F", "B_medic_F","B_soldier_F" ], [ "B_soldier_TL_F", "B_medic_F", "B_soldier_F" ] ];
T8U_var_SupportUnitsRESISTANCE = [];
The global variables T8U_var_SupportUnitsEAST, T8U_var_SupportUnitsWEST and T8U_var_SupportUnitsRESISTANCE are an array of groups which define groups that could be called in as additional help. At the moment groups, which are spawned via T8 Units, that have an officer or squad leader as their group leader are able to call in a group as HALO support. These groups are defined in those global vars. If you don’t want any HALO support, leave the arrays empty.

Share this post


Link to post
Share on other sites

Hello, Best script spawn units, works very well to linux server, This is very cool. Thx

  • Like 2

Share this post


Link to post
Share on other sites

updated to V.061

  • new Task: OCCUPY
  • multi-marker support for PATROL type tasks
  • fixes in wp-positon finding
OCCUPY:

The group occupies nearby houses.

OCCUPY is compared to GARRISON more static, units won’t move during occupation. Also units will be more grouped together, and they will only choose building positions which offer some visibility to the outside of the building.

If there are not enough houses available, the group or remaining units will do a simple patrol.

Updated download links in the first post.

  • Like 6

Share this post


Link to post
Share on other sites

The new version has been frontpaged on the Armaholic homepage.

 

news_download_a3_3.png

T8 Units - a less dynamic AI creator v060

** documentation, script, example mission and all other files and docs bundled in one download!

*** Armaholic now supports authors with donation button/links. When you have any donation/support links please contact me!

  • Like 2

Share this post


Link to post
Share on other sites

Nice so OCCUPY actually keeps the units in the building? I've had trouble with other AI scripts that put units in buildings they always end up running out when shit goes down, destroying any QRF building searches I had planned.

Share this post


Link to post
Share on other sites

It depends a bit.

But if you wish you could tell them to stay on their positions. (via. disableAI "MOVE")

[[ _myGorup, "myMarker" ], [ "OCCUPY†], [ true, false, false ]]
may or may not move - not forced to stay

[[ _myGorup, "myMarker" ], [ "OCCUPYâ€, true ], [ true, false, false ]]
forced to stay - will only move out if units are called for help within my script (which again you can setup as you wish)

downside: units are unable to turn and will keep watching their assigned direction (out of windows and doors)

Share this post


Link to post
Share on other sites
Hello, Script called "fn_loiter.sqf" in your mission folder, but i cannot find an example how it works.

Can you help me with it?

 

I would very much like to see your instructions in txt. I can not be translated into Russian . English writing by Google.

 

Kind regards,

Alex

Share this post


Link to post
Share on other sites

Hello,

 

is there an option to spawn T8 Units via trigger ?

Oh there is an option...it is called T8U_fnc_TriggerSpawn

Share this post


Link to post
Share on other sites

Oh there is an option...it is called T8U_fnc_TriggerSpawn

 

Yes, but be aware that those Triggers created by script are only local to where the script is executed, so mostly the server.

 

But you could also just put your [ ... ] spawn T8U_fnc_spawn in the Trigger in your mission.

 

In the "on activation" part:

if ( !isNil "T8U_fnc_Spawn" ) then { [ SpawnThisUnits ] spawn T8U_fnc_Spawn; };

Hello, Script called "fn_loiter.sqf" in your mission folder, but i cannot find an example how it works.

Can you help me with it?

I would very much like to see your instructions in txt. I can not be translated into Russian . English writing by Google.

It's explained on the last side of the unit definitions PDF, but it's more of a relic, not a really nice script.

I could upload you the doc files of the manuals, if that would help you translate them?

Share this post


Link to post
Share on other sites

 

Yes, but be aware that those Triggers created by script are only local to where the script is executed, so mostly the server.

 

But you could also just put your [ ... ] spawn T8U_fnc_spawn in the Trigger in your mission.

 

In the "on activation" part:

if ( !isNil "T8U_fnc_Spawn" ) then { [ SpawnThisUnits ] spawn T8U_fnc_Spawn; };

 

Okay! But if i try fnc trigger with:

[ _bigGroup,"T8_Trigger1",100,"this","WEST","PRESENT",false,"",""] call T8U_fnc_TriggerSpawn; 

 

T8 brings up an error:

Error in expression <ndition", "_trigger" ];
 
_unitsArray = param [ 0, "NO-UNITS-SET", [""]];
_marke>
18:21:41   Error position: <param [ 0, "NO-UNITS-SET", [""]];
_marke>
 
 If i try:
[ "_bigGroup","T8_Trigger1",100,"this","WEST","PRESENT",false,"",""] call T8U_fnc_TriggerSpawn;
No error pops up but nothing happens.
 
Also nothing happens if i try this (if ( !isNil "T8U_fnc_Spawn" ) then { [ SpawnThisUnits ] spawn T8U_fnc_Spawn; };) in an trigger which has been set via editor.

Share this post


Link to post
Share on other sites

Okay! But if i try fnc trigger with:

[ _bigGroup,"T8_Trigger1",100,"this","WEST","PRESENT",false,"",""] call T8U_fnc_TriggerSpawn; 

[...]

 

The groups / units array you defined must be in a global variable, and unique for this, no underscore infront of it!

Maybe you should go with sth. like NEO_units_trigger01 = [ ... ];

And then you can referr to them as [ "NEO_units_trigger01", "T8_Trigger1",100,"this","WEST","PRESENT",false,"",""] call T8U_fnc_TriggerSpawn;

Share this post


Link to post
Share on other sites

It's explained on the last side of the unit definitions PDF, but it's more of a relic, not a really nice script.
I could upload you the doc files of the manuals, if that would help you translate them?

 

 

I would be very grateful to you. doc files it's good!  Sorry for my english) Lately I only use your script. I admire your work. Thank you!

Share this post


Link to post
Share on other sites

Is there anything that can be done to be able to use some of the older house models,. like the mosque in Zargabad.

 

http://i.imgur.com/hOCFgv8.pngAll the AI that you see in the bottom of this image was spawned with:

[ [ _groupArrayInsFireTeam + _groupArrayInsFireTeam + _groupArrayInsFireTeam + _groupArrayInsFireTeam, "mainbuilding" ], [ "OCCUPY", true ], [ true, false, false ]]

 

The mosque buidling is marked with a icon as marker.

Share this post


Link to post
Share on other sites

I'm having an issue with the unit caching when using T8U_fnc_Zone.

 

it will return 0 groups being cache'd when debug is on, with debug is off I get this script error:

16:14:01 Error in expression <his ] call T8U_fnc_debugLog; }; };
if ( !_created    OR {( typeName _created ) isEq>
16:14:01   Error position: <!_created    OR {( typeName _created ) isEq>
16:14:01   Error !: Type String, expected Bool
16:14:01 File D:\My Documents\Arma 3 - Other Profiles\Kerc%20Kasha\missions\co40_belka.chernarus\T8\fnc\fn_cache.sqf, line 25

 

the units naturally do not cache and will remain on the map

Share this post


Link to post
Share on other sites

I'm having an issue with the unit caching when using T8U_fnc_Zone.

 

it will return 0 groups being cache'd when debug is on, with debug is off I get this script error:

16:14:01 Error in expression <his ] call T8U_fnc_debugLog; }; };
if ( !_created    OR {( typeName _created ) isEq>
16:14:01   Error position: <!_created    OR {( typeName _created ) isEq>
16:14:01   Error !: Type String, expected Bool
16:14:01 File D:\My Documents\Arma 3 - Other Profiles\Kerc%20Kasha\missions\co40_belka.chernarus\T8\fnc\fn_cache.sqf, line 25

the units naturally do not cache and will remain on the map

 

 

 

Would you mind replacing your fn_cache.sqf with the one from gitHub and see if it works?

 

https://github.com/T-800a/T8_Units/blob/master/T8/fnc/fn_cache.sqf

Share this post


Link to post
Share on other sites

Would you mind replacing your fn_cache.sqf with the one from gitHub and see if it works?

 

https://github.com/T-800a/T8_Units/blob/master/T8/fnc/fn_cache.sqf

 

same deal, comparing the github version with the one i have and there's zero changes

 

edit:

I guess you meant the dev version?

https://github.com/T-800a/T8_Units/blob/development/T8/fnc/fn_cache.sqf

i havent tested it yet, will report back

Edited by kerc kasha

Share this post


Link to post
Share on other sites

I don't have so clear what I need to do to call an Attack with a  Radio Trigger in MP.

 

I have defined in T8_missionEXEC the group and the "attack" :

_grupopeque = [ "LOP_AFR_Infantry_AT", "LOP_AFR_Infantry_Corpsman", "LOP_AFR_Infantry_Rifleman" ];
ataquecampamento =
[
 [ [ _grupopeque, "p1", RESISTANCE ], [ "ATTACK", "campamento" ] ]
];

 and the trigger in act :

if ( !isNil "T8U_fnc_Spawn" ) then { [ ataquecampamento ] spawn T8U_fnc_Spawn; };

But only work in single player, when I test the mision in MP nothing happend... Can somebody help me ?

 

Thx

Share this post


Link to post
Share on other sites

But only work in single player, when I test the mision in MP nothing happend... Can somebody help me ?

Would you mind sharing the mission, so I can have a look?

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

×