Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Luetin 09 has had this problem for well over a year on the occassions he does defence missions. On several recent missions he had units coded by Bacon (EU Ahoy world servers I believe) which behaved much better. A Youtube video of one of the missions is currently available at the following link (https://www.youtube.com/watch?v=A13yjLK0wss) and Luetin's channel is here (https://www.youtube.com/channel/UC8RfCCzWsMgNspTI-GTFenQ ). You can look at the code that is entered in.
Similar issues were also presented on another forum (https://www.reddit.com/r/arma/comments/34qfl8/making_ai_more_agressive/ )
I have recently been playing around in the editor using bits from both these sources. Using the local server execution commands through the ares mod in zeus I type in the following which seems to make the AI a lot more aggressive. They don't necessarily try to rush through everything but it is a lot better than vanilla AI units.
{if (side _x == east) then {_x allowFleeing 0; _x setCombatMode "RED"; {_x setskill ["courage",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x disableAI "AUTOCOMBAT"}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x disableAI "PATH"}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x disableAI "SUPPRESSION"}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setSpeedMode "FULL"}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["aimingAccuracy",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["aimingShake",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["aimingSpeed",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["commanding",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["general",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["reloadSpeed",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["spotDistance",1]}foreach units _x;};}foreach allgroups;
{if (side _x == east) then { {_x setskill ["spotTime",1]}foreach units _x;};}foreach allgroups;
For your situation, it may be best to try typing into the init box something like the following (my syntax is probably not perfect):-
this allowFleeing 0; this setCombatMode "Red"; this setskill["courage",1]; this disableAI "AUTOCOMBAT"; this disableAI "PATH"; this disableAI "SUPPRESSION"; this setSpeedMode "FULL";
I hope this helps. If you get a good code then please let everyone know.
if (side _x == east) then {
_x allowFleeing 0;
_x setCombatMode "RED";
_x setskill ["courage",1];
_x disableAI "AUTOCOMBAT";
_x disableAI "PATH";
_x disableAI "SUPPRESSION";
_x setSpeedMode "FULL";
_x setskill ["aimingAccuracy",1];
_x setskill ["aimingShake",1];
_x setskill ["aimingSpeed",1];
_x setskill ["commanding",1];
_x setskill ["general",1];
_x setskill ["reloadSpeed",1];
_x setskill ["spotDistance",1];
_x setskill ["spotTime",1];
}forEach units allgroups;
Untested!
if (_type isKindOf "Man") then
{
_groupSoldier = (allEastGroups select AllEastGroupsIndex); // Solves issue with overflowing group count
AllEastGroupsIndex = + 1;
if (AllEastGroupsIndex > AllEastGroupsIndexMax) then
{
AllEastGroupsIndex = 0;
};
_unit = _groupSoldier createUnit [_type, _spawnLocation,[],random 3,"NONE"];
_unit setdir random 360;
_unit setskill ["courage", 1];
_unit setskill ["commanding", 1];
_unit disableAI "SUPPRESSION";
_unit disableAI "COVER";
_unit disableAI "FSM";
AIunits = AIunits + [_unit];
_wp = _groupSoldier addWaypoint [posTarget, 0];
[_groupSoldier, 1] setWaypointType "HOLD";
_groupSoldier setCombatMode "RED";
_groupSoldier setBehaviour "COMBAT";
_groupSoldier allowFleeing 0;
_groupSoldier setSpeedMode "FULL";
_unit spawn
{
sleep (random 10);
while {alive _this} do
{
_startPos = Position _this;
sleep 15;
_currentPos = Position _this;
if ( (_startPos distance _currentPos) < 1 ) then
{
_this DoMove posTarget;
if ( (_currentPos distance posTarget) > 30 ) then
{
_this setDamage ((damage _this) + 0.1);
};
};
};
};
};