Jump to content
Sign in to follow this  
-Coulum-

Ai suppression script help

Recommended Posts

Perhaps something else to consider would be unit resistance to suppression (i.e. SF), but this may be moving too far into Robalo territory.

How do you mean. As is, the script that changes skills should make it so higher skilled units decrease in skill slower and regain skill faster than lower units. What other resistance do you mean?

Back in ARMA days, second's suppression script use bullet type to determine suppression effects. So an AA type weapon like the ZU-23 can have a bigger effect suppressing the infantry. Though I cant remember if it can suppress vehicle or not...

I was thinking the same thing. Right now I am very happy with where the script is at but maybe in the future...

The whole system is set up to ignore shooters in vehicles at present (ie it only runs if vehicle _x == _x). So it's not a bug as such. The idea was that you don't want to be able to suppress a player in a vehicle (imagine being able to suppress a jet by shooting an assault rifle at it from the ground), but the side effect is that a player in a vehicle can't suppress a foot unit.

Yeah that's what I thought the problem was. Your solution looks like it will solve it but I can't test as of now. Thank you and thanks for cleaning my mess up with all the comments and stuff.

Share this post


Link to post
Share on other sites
How do you mean. As is, the script that changes skills should make it so higher skilled units decrease in skill slower and regain skill faster than lower units. What other resistance do you mean?

I'm referring to a unit's inherent resistance to suppression - for example, you'd expect a civilian to be much more susceptible to suppression than a seasoned Spetsnatz brute, regardless of skill level. At the moment, both of these units react to suppression exactly the same if they have the same skill level.

In a perfect world, mission editors would go through and alter the skill level of every unit manually to reflect military training, experience, etc, but this doesn't always happen.

Share this post


Link to post
Share on other sites

Yes but how would that translate to game terms. Would Spetznaz be harder to make go prone or crouched because they are less fearful of supression? Like I said units will decrease in skill at a rate proportional to their courage and general skill...

Okay I think I see what your saying now (sorry my bad, I'm up way to late). Are you suggesting that the Suppression script automatically set a units resistance to suppression and other skills? If so I would say that this is for ASR to do, and I think it does it quite well already. Actually, when I was creating the dynamic skills stuff I was really building it for ASR. I never plan to actually play it with Vanilla, because, like you say, all the soldier have the same stats by default and that makes everyone equally suppressable. But with ASR and the suppression script, elite units will have higher skills and thus suffer less from suppression(in terms of skill loss recovery).

Edited by -Coulum-

Share this post


Link to post
Share on other sites

Yeah, I think I'm overcomplicating things. The system, as it is, is fine, and if you're making it work in conjunction with ASR then even better. :)

Share this post


Link to post
Share on other sites
...imagine being able to suppress a jet by shooting an assault rifle at it from the ground...

That just gave me an idea I think even I might be able to implement - not for jets, though, but for choppers. Machines like the UH60 & MI8 are a bit too easy to take out with, say, an M240 or even more with a vehicle-mounted weapon, especially if flying straight toward the player. The pilots don't take any evasive action at all. If I may 'steal' part of this script, what about a script that instead of suppression has the pilot jink from side to side in a semi-random way? Height changes = bad idea, they crash all to often anyway.

Share this post


Link to post
Share on other sites

Thanks for all the ideas everyone. I can't speak for -Coulum- but I don't really want to turn this into a fine grained AI behavioural modification system for every kind of combatant.

What do we have so far:

All foot mobile units respond to bullets within 10m

Units crouch under friendly fire, but are not suppressed nor do they lose skill

Units are suppressed (crouch/drop) under enemy fire, and lose skill (aiming, accuracy)

Skill is gradually regained if unit is not suppressed

Units are not suppressed by small calibre pistol or SMG fire

Units in vehicles are not suppressed by enemy fire

Units are not affected by fire closer than 25m

While I'm sure we could implement everything given time, there's going to reach a point where the sheer amount of calculations involved make the script stop working properly on a per frame basis. And since it's reacting to bullets, it needs to work fast.

Share this post


Link to post
Share on other sites

^^ this tpw! This is perfect as it is.

The only thing I don't understand is why you don't want them to become suppressed by small arms - surely a bullet is a bullet :) However I'm happy to go with your recommendations.

This thread and the LOS thread are my two favourites presently. Keep up the good work guys.

Share this post


Link to post
Share on other sites

Sorry if this has been mentioned, but would allowFleeing be a workable addition to the script? In games like Close Combat and Combat Mission where suppressive fire is important in manoeuvring your forces effectively, units could break under sustained and heavy fire (depending on type of unit, skill and a huge amount of other variables) and either flee from the map or back to another position.

I have hardly any experience with scripting beyond basic stuff so this is just a suggestion. I don't want to be adding another mountain to your workload!

Anyway, great work so far and an excellent addition to the game.

Share this post


Link to post
Share on other sites

I hear ya Kremator

That's why there's now 3 versions of the script, which should suit just about everyone (or not).

Basic (stance modifier)

/*
ALL INFANTRY UNITS ON MAP WILL REACT IF ANY BULLETS PASS WITHIN 10m   
BULLETS FIRED FROM LESS THAN 25m ARE IGNORED    

Authors: TPW & -Coulum-
Last changed: 20120622    
*/

//Allow time for ASR AI skills to propagate
sleep 30;

//Start hint   
0 = [] spawn {sleep 3;hintsilent "AI suppress active"; sleep 3; hintsilent ""};   

private ["_stanceregain","_unit","_bc","_shots","_ball"];    

//Main function  
tpw_ai_sup =    
{   
   {  
   if (alive _x) then   
       {
       _unit = _x;     
       _stanceregain = _unit getvariable ["stanceregain", -1]; 

       if (_stanceregain == -1) then   
           {     
           _unit setvariable ["stanceregain", diag_ticktime]; 
           _unit addeventhandler ["fired",{tpw_fired = _this select 0;tpw_bullet = _this select 6}]; 
		}; 

       if ( diag_ticktime >= _stanceregain) then   
           { 
		_unit setvariable ["supshots", 0];  
           _unit setunitpos "auto"; 
           }; 

       if !(isnull tpw_bullet) then   
           {  
           _bc = count ((getposatl _unit) nearobjects ["bulletbase",10]);  
           if (_bc > 0) then   
               { 
               if ((tpw_fired distance _unit) > 25) then   
                   {  
                  	_unit setvariable ["stanceregain", diag_ticktime + 10];  
				_shots = _unit getvariable "supshots";  
				_unit setvariable ["supshots", _shots + _bc];  
				_shots = _unit getvariable "supshots"; 
				_unit setunitpos "middle";
				if (_shots > 5) then  
					{ 
					_unit setunitpos "down"; 
					};  
                   };  
               };  
           };  
       };   
   } foreach allunits;  
};  

//Call function using per frame eventhandler so computer doesn't explode  
[tpw_ai_sup,0] call cba_fnc_addPerFrameHandler;  

  • Units react to bullets passing within 10m
  • Affects all units, in vehicles or not
  • Units react identically to any kind of bullet fired from more than 25m away
  • Units react to identically bullets from any side
  • 1-5 bullets -->kneel/crouch
  • >5 bullets --> drop/crawl
  • Units regain previous stance after 10 seconds without nearby bullets

Light (stance modifier)

/*
ALL INFANTRY UNITS ON MAP WILL REACT IF ANY BULLETS PASS WITHIN 10m   
BULLETS FIRED FROM LESS THAN 25m ARE IGNORED    
BULLETS FROM SMG AND PISTOLS ARE IGNORED   
BULLETS FROM OWN SIDE CAUSE UNIT TO KNEEL/CROUCH   
BULLETS FROM ENEMY SIDE CAUSE UNIT TO KNEEL/DROP  

Authors: TPW & -Coulum-
Last changed: 20120622    
*/

//Allow time for ASR AI skills to propagate
sleep 30;

//Start hint   
0 = [] spawn {sleep 3;hintsilent "AI suppress active"; sleep 3; hintsilent ""};   

private ["_stanceregain","_unit","_bc","_shots","_ball"];    

//Pistol and SMG  ammo to ignore   
tpw_mags =["30rnd_9x19_MP5",   
"30rnd_9x19_MP5SD",   
"15Rnd_9x19_M9",   
"15Rnd_9x19_M9SD",   
"7Rnd_45ACP_1911",   
"7Rnd_45ACP_1911",  
"8Rnd_9x18_Makarov",  
"8Rnd_9x18_MakarovSD",  
"64Rnd_9x19_Bizon",  
"64Rnd_9x19_SD_Bizon",  
"13Rnd_9mm_SLP",  
"17Rnd_9x19_glock17",  
"6Rnd_45ACP",  
"30Rnd_9x19_UZI",  
"30Rnd_9x19_UZI_SD"];  

//Main function  
tpw_ai_sup =    
{   
   {  
   if (alive _x) then   
       {
       _unit = _x;     
       _stanceregain = _unit getvariable ["stanceregain", -1]; 

       if (_stanceregain == -1) then   
            {     
           _unit setvariable ["stanceregain", diag_ticktime]; 
           _unit addeventhandler ["fired",{tpw_fired = _this select 0;tpw_mag = _this select 5; tpw_bullet = _this select 6}];  
           }; 

       if ( diag_ticktime >= _stanceregain) then   
           { 
		_unit setvariable ["supshots", 0];  
           _unit setunitpos "auto"; 
           }; 

       if !(isnull tpw_bullet) then   
           {  
           _bc = count ((getposatl _unit) nearobjects ["bulletbase",10]);  
           if (_bc > 0) then   
               { 
               if ((tpw_fired distance _unit) > 25) then   
                   {  
                   if !(tpw_mag in tpw_mags) then   
                       { 
					_unit setvariable ["stanceregain", diag_ticktime + 10];  
                       _shots = _unit getvariable "supshots";  
                       _unit setvariable ["supshots", _shots + _bc];  
                       _shots = _unit getvariable "supshots"; 
                       _unit setunitpos "middle";                                     
                       if ((side tpw_fired != side _unit) && (vehicle _unit == _unit)) then   
                           {
						if (_shots > 5) then  
                               { 
                               _unit setunitpos "down"; 
                               };  
                           };   
                       };  
                   };  
               };  
           };  
       };   
   } foreach allunits;  
};  

//Call function using per frame eventhandler so computer doesn't explode  
[tpw_ai_sup,0] call cba_fnc_addPerFrameHandler; 

  • Units react to bullets passing within 10m
  • Only units not in vehicles are affected
  • Bullets fired from less than 25m away are ignored
  • Bullets from small calibre pistols and SMG are ignored
  • Units react differently according to the side of the shooter
  • 1-5 bullets --> kneel/crouch
  • >5 bullets --> drop/crawl only if enemy shooter fired bullets
  • Units regain previous stance after 10 seconds without nearby bullets

Full (stance and skill modifier)

/*
ALL INFANTRY UNITS ON MAP WILL REACT IF ANY BULLETS PASS WITHIN 10m   
BULLETS FIRED FROM LESS THAN 25m ARE IGNORED    
BULLETS FROM SMG AND PISTOLS ARE IGNORED   
BULLETS FROM OWN SIDE CAUSE UNIT TO KNEEL/CROUCH   
BULLETS FROM ENEMY SIDE CAUSE UNIT TO KNEEL/DROP, AND A TEMPORARY DECREASE IN SKILL  
SKILLS WILL GRADUALLY RETURN ONCE UNIT IS NOT SUPPRESSED

Authors: TPW & -Coulum-
Last changed: 20120622    
*/

//Allow time for ASR AI skills to propagate
sleep 30;

//Start hint   
0 = [] spawn {sleep 3;hintsilent "AI suppress active"; sleep 3; hintsilent ""};   

private ["_stanceregain","_skillregain","_unit","_bc","_shots","_originalaccuracy","_originalshake","_originalcourage","_general","_ball"];    

//Pistol and SMG  ammo to ignore   
tpw_mags =["30rnd_9x19_MP5",   
"30rnd_9x19_MP5SD",   
"15Rnd_9x19_M9",   
"15Rnd_9x19_M9SD",   
"7Rnd_45ACP_1911",   
"7Rnd_45ACP_1911",  
"8Rnd_9x18_Makarov",  
"8Rnd_9x18_MakarovSD",  
"64Rnd_9x19_Bizon",  
"64Rnd_9x19_SD_Bizon",  
"13Rnd_9mm_SLP",  
"17Rnd_9x19_glock17",  
"6Rnd_45ACP",  
"30Rnd_9x19_UZI",  
"30Rnd_9x19_UZI_SD"];  

//Main function  
tpw_ai_sup =    
{   
   {  
   //hint format["accuracy = %1, shake = %2, courage = %3, general = %4",(ai skill "aimingaccuracy"),(ai skill "aimingshake"),(ai skill "courage"),(ai skill "general")]; // Dsiplay skills for unit named "AI"
   if (alive _x) then   
       {
       _unit = _x;     
       _skillregain = _unit getvariable ["skillregain", -1];   
       _stanceregain = _unit getvariable ["stanceregain", -1]; 

       if (_stanceregain == -1) then   
            {     
           _unit setvariable ["stanceregain", diag_ticktime]; 
           _unit setvariable ["skillregain", diag_ticktime];   
           _unit addeventhandler ["fired",{tpw_fired = _this select 0;tpw_mag = _this select 5; tpw_bullet = _this select 6}];  
           _originalaccuracy = _unit skill "aimingaccuracy"; 
           _unit setvariable ["originalaccuracy", _originalaccuracy];  
           _originalshake = _unit skill "aimingshake";  
           _unit setvariable ["originalshake", _originalshake]; 
           _originalcourage = _unit skill "courage"; 
           _unit setvariable ["originalcourage", _originalcourage];  
           _general = _unit skill "general"; 
           _unit setvariable ["general", _general]; 
           }; 

       if ( diag_ticktime >= _stanceregain) then   
           { 
		_unit setvariable ["supshots", 0];  
           _unit setunitpos "auto"; 
           _originalcourage = _unit getvariable "originalcourage"; 
           _general = _unit getvariable "general";   
           if((_unit skill "courage") < _originalcourage) then  
               {  
               _unit setskill ["courage",(_unit skill "courage")+(_general)*(0.003)];   
               }; 
           }; 

       if (diag_ticktime >= _skillregain) then  
           { 
           _originalaccuracy = _unit getvariable "originalaccuracy";    
           _originalshake = _unit getvariable "originalshake";             
           _originalcourage = _unit getvariable "originalcourage"; 
           _general = _unit getvariable "general";       
           if((_unit skill "aimingaccuracy") < _originalaccuracy) then  
               {  
               _unit setskill ["aimingaccuracy",(_unit skill "aimingaccuracy")+((_originalaccuracy-(_unit skill "aimingaccuracy"))*.01)];   
               }; 
           if((_unit skill "aimingshake") < _originalshake) then  
               {  
               _unit setskill ["aimingshake",(_unit skill "aimingshake")+((_originalshake-(_unit skill "aimingshake"))*.01)];  
               };     
           }; 

       if !(isnull tpw_bullet) then   
           {  
           _bc = count ((getposatl _unit) nearobjects ["bulletbase",10]);  
           if (_bc > 0) then   
               { 
               if ((tpw_fired distance _unit) > 25) then   
                   {  
                   if !(tpw_mag in tpw_mags) then   
                       { 
                   _unit setvariable ["skillregain", diag_ticktime + (random 4)-((_unit getvariable "general")+(_unit getvariable "originalcourage"))];   
                       _unit setvariable ["stanceregain", diag_ticktime + 10];  
                       _shots = _unit getvariable "supshots";  
                       _unit setvariable ["supshots", _shots + _bc];  
                       _shots = _unit getvariable "supshots"; 
                       _originalaccuracy = _unit getvariable "originalaccuracy";   
                       _originalshake = _unit getvariable "originalshake"; 
                       _originalcourage = _unit getvariable "originalcourage";  
                       _general = _unit getvariable "general";
                       _unit setunitpos "middle";                                     
                       if ((side tpw_fired != side _unit) && (vehicle _unit == _unit)) then   
                           {
                           _unit setskill ["aimingaccuracy",_originalaccuracy*_originalcourage*_general-(_shots*(1-_general)*.003)];  
                           _unit setskill ["aimingshake",_originalshake*_originalcourage*_general-(_shots*(1-_general)*.003)]; 
                           _unit setskill ["courage",_originalcourage*_originalcourage*_general-(_shots*(1-_general)*.003)];
						if (_shots > 5) then  
                               { 
                               _unit setunitpos "down"; 
                               };  
                           };   
                       };  
                   };  
               };  
           };  
       };   
   } foreach allunits;  
};  

//Call function using per frame eventhandler so computer doesn't explode  
[tpw_ai_sup,0] call cba_fnc_addPerFrameHandler; 

  • Units react to bullets passing within 10m
  • Only units not in vehicles are affected
  • Bullets fired from less than 25m away are ignored
  • Bullets from small calibre pistols and SMG are ignored
  • Units react differently according to the side of the shooter
  • Friendly shooter: >0 bullets --> kneel/crouch
  • Enemy shooter: 1-5 bullets --> kneel/crouch, >5 bullets -->drop/crawl
  • Friendly shooter: no skill reduction
  • Enemy shooter: skills reduced according to number of bullets
  • Units regain previous stance after 10 seconds without nearby bullets
  • Units gradually regain skills after 5 or so seconds without bullets

Obviously these scripts will be added to and refined!

Share this post


Link to post
Share on other sites
Thanks for all the ideas everyone. I can't speak for -Coulum- but I don't really want to turn this into a fine grained AI behavioural modification system for every kind of combatant.

Yes I can agree with that. I think sometimes the deeper you delve into the ai the more your gambling to get massive bugs and what not. For now, I think that what we have is fine. Of course everyone has the script and can try what they like, but I think that the addon versions should be as tpw has listed, at least for the present.

First post updated.

Edited by -Coulum-

Share this post


Link to post
Share on other sites

Alright, swo suggestions if you actually go with an addon version. (i actually think that having it as a script is quite convenient, on my end).

- Could you let the tpw_mags array out of the addon (so that mission makers can include whatever new pistols/smgs they want in it? I'm thinking RH pistol and SMGs packs, for example)? Or maybe have it in a config file?

- What would happen if we'd go with something like

if isServer then {
[tpw_ai_sup,0] call cba_fnc_addPerFrameHandler; 
};

Would it be enough in an MP environment? I don't see anything that would be messed up, but i don't have a dedi to test it. Would somebody be kind enough to try it?

Share this post


Link to post
Share on other sites

No worries BlackMamb, I will make the addons configurable via an hpp file userconfig. Pistol and SMG mags can be modified from there. Players could also add silenced mags too.

Your MP suggestion should work, but I'm neither an MP person nor do I have any server experience, so I can't tell you for sure. If someone wants to help make this primarily SP enhancing system work in MP then I welcome it, because I'm not going to bust a neurone doing it.

I'll have the addons up within a day.

Alright, swo suggestions if you actually go with an addon version. (i actually think that having it as a script is quite convenient, on my end).

- Could you let the tpw_mags array out of the addon (so that mission makers can include whatever new pistols/smgs they want in it? I'm thinking RH pistol and SMGs packs, for example)? Or maybe have it in a config file?

- What would happen if we'd go with something like

if isServer then {
[tpw_ai_sup,0] call cba_fnc_addPerFrameHandler; 
};

Would it be enough in an MP environment? I don't see anything that would be messed up, but i don't have a dedi to test it. Would somebody be kind enough to try it?

Share this post


Link to post
Share on other sites

To speed this up even further, would FSM format be useful or overkill ?

Share this post


Link to post
Share on other sites

Des anyone think the sleep 30 part is too long? For my end 5 secs was enough. Though only few AI were in it, like 40 or 50

Share this post


Link to post
Share on other sites
To speed this up even further, would FSM format be useful or overkill ?

FSM does have an "event" for detected bullet hits (see DCExplosion (4)) but when i tested this some time ago the results were not quite what i expected taking into account the given description: "Ammo impact (explosion or a bullet hit) detected (seen or heard)".

Share this post


Link to post
Share on other sites
Des anyone think the sleep 30 part is too long? For my end 5 secs was enough. Though only few AI were in it, like 40 or 50

I don't think it matters that much anyway, as having a firefight with the player involved in the first 30 seconds is not very likely. (now that i think about it, maybe it would cause a few problems in some cutscenes, is all.)

Share this post


Link to post
Share on other sites
Thanks for all the ideas everyone. I can't speak for -Coulum- but I don't really want to turn this into a fine grained AI behavioural modification system for every kind of combatant.

FWIW, I meant that I think I could (& would like to try, anyway) make a separate chopper jinking script, if I may pinch part of -coulum-'s and your code :)

Wouldn't fit too well in this addon, I agree.

Cheers

O.

Share this post


Link to post
Share on other sites
I don't think it matters that much anyway, as having a firefight with the player involved in the first 30 seconds is not very likely. (now that i think about it, maybe it would cause a few problems in some cutscenes, is all.)

No it matters very much. If the suppression script (skills version) runs before asr assigns skills all asr skills will be overwritten by the default ones. It doesn't mean that you can't have any fighting in that time, just it must be without the suppression script. If you are executing the suppression script from an init.sqf, the init should look something like this.

sleep 20;
nul = [] execvm "suppressionscript.sqf"; 

Yiu guys are probably right 30 seconds is probably overkill. I am not sure on the exact amount of time that ars takes to initiate. With only a few units "sleep 10" will do, but I am nots sure how it would play out with more units, hence why I suggested 20-30. Its up to you though.

FWIW, I meant that I think I could (& would like to try, anyway) make a separate chopper jinking script, if I may pinch part of -coulum-'s and your code

Wouldn't fit too well in this addon, I agree.

Cheers

O.

Have at it Orcinus! I am interested to see how you do it. Good luck.

As for multilayer. I have no idea what needs to be done to make this mod compatible. Would simply running the script (not the mod) on the dedicated server not work? Anybody with a server willing to give it a test?

Edited by -Coulum-

Share this post


Link to post
Share on other sites

That is exactly what i meant, Coulum. 30 seconds is probably overkill but it doesn't matter that much.

Edit: and for the multiplayer, as i said, it's probably already compatible, we just need to make sure it's running on the server only. Waiting for testing though.

Edited by BlackMamb

Share this post


Link to post
Share on other sites

Ah yes I misunderstood then, sorry. When you said "it doesn't matter" I thought you meant that the waiting time isn't neccesary. But you just meant that the wait isn't going to really affect gameplay. My bad.

Share this post


Link to post
Share on other sites
Have at it Orcinus! I am interested to see how you do it. Good luck.

Cheers, -Coulum- :)

Haven't had time to think it through properly, but I'm considering adapting the script so that any AI chopper pilot will be made to react to heavy fire (# of bullets within 10m >x) by jinking, semi randomly, i.e., set a waypoint say 500m ahead but off the line of flight by (semirandom) 25-50 degrees, then moving the waypoint around every frame or 2 while bullets are still passing near the chopper. If the rate of fire drops below a threshold ((bullets within 10m </=x) ), the waypoint is deleted.

Refinements would be several, like setting the distance to the temporary waypoint proportional to the speed of the chopper.

Only semi-random as I don't want the chopper jinking towards enemies firing from one side. However I think I won;t worry about direction of fire until I see if it works at all (the KISS principle), Problematic anyway of fire comes from several directions. In any event it would be most useful against fire coming from units roughly along the line of flight, AI firing from the side have a harder time, as do humans.

Probably more elegant ways to do it (& what I'm thinking of may not work anyway - I still assert the title of shittiest coder in this thread :) ) but in a week or two I should have found out if it works at all.

Share this post


Link to post
Share on other sites

Just one quick thought, back about that sleep related to ASR_ai. What's gonna happen to units that are spawned "on the fly", during the mission?

The script will already be running, so it will probably override ASR in that case, right?

Share this post


Link to post
Share on other sites

Let me know if you need a hand. It's the least I can do to pay you back for your ideas, enthusiasm and support.

Cheers, -Coulum- :)

Haven't had time to think it through properly, but I'm considering adapting the script so that any AI chopper pilot will be made to react to heavy fire (# of bullets within 10m >x) by jinking, semi randomly, i.e., set a waypoint say 500m ahead but off the line of flight by (semirandom) 25-50 degrees, then moving the waypoint around every frame or 2 while bullets are still passing near the chopper. If the rate of fire drops below a threshold ((bullets within 10m </=x) ), the waypoint is deleted.

Refinements would be several, like setting the distance to the temporary waypoint proportional to the speed of the chopper.

Only semi-random as I don't want the chopper jinking towards enemies firing from one side. However I think I won;t worry about direction of fire until I see if it works at all (the KISS principle), Problematic anyway of fire comes from several directions. In any event it would be most useful against fire coming from units roughly along the line of flight, AI firing from the side have a harder time, as do humans.

Probably more elegant ways to do it (& what I'm thinking of may not work anyway - I still assert the title of shittiest coder in this thread :) ) but in a week or two I should have found out if it works at all.

---------- Post added at 07:27 ---------- Previous post was at 07:20 ----------

Yep, any units spawned after the suppression script will be picked up essentially in 1 frame, way before asr_ai would have time to modify them. I'll have to ponder that some more. I'll look more closely at Robalo's scripts, just in case he sets a variable that we could access.

Just one quick thought, back about that sleep related to ASR_ai. What's gonna happen to units that are spawned "on the fly", during the mission?

The script will already be running, so it will probably override ASR in that case, right?

Share this post


Link to post
Share on other sites

Saw Orcinus' post in a few other threads about this future addon, may I ask when is it going to be released or can I just PBO this up myself? Itching for this one lol.. You guys help make Arma 2 the best infantry/combat in general sim out there. Thanks for all this work.

Share this post


Link to post
Share on other sites
Let me know if you need a hand. It's the least I can do to pay you back for your ideas, enthusiasm and support.

Nah, the addon you two have produced is more than ample payback for my input. Had a chance to play a couple of brief tests with the latest beta, the latest suppression_side PBO, & the latest asr_ai.

Absolutely wonderful - firefights are really amazing now. Tougher as well - you need to think even more carefully about planning your route, where you want teams to move to, etc. (but the whole tactics/planning thing is a big part of why I am addicted to this game).

Apart from that, many thanks for the offer - I'm sure I will need help :D

@DeltaFiveOne: the last PBO's work very well if you don't want to mess with the latest scripts in the editor; I'm sure that there will be updates to the PBOs soon. As for PBOing for your own use, that's within the forum rules AIUI - as long as you don't distribute them without author permission.

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  

×