WTF? The brilliant bugtracker isn't accepting PBO or SQM! It won't even let me remove the invalid SQM file type, so enjoy having an irrelevant screenshot of A2 instead. Also, it takes a long time to fill out a good bug report, so the form timeout is really obnoxious. Remind me what you couldn't have used devheaven? Here is the text version of repro mission:
version=12;
class Mission
{
addOns[]=
{
"A3_Characters_F_BLUFOR",
"A3_Characters_F_OPFOR",
"a3_map_stratis",
"A3_Structures_F_Walls"
};
addOnsAuto[]=
{
"A3_Characters_F_BLUFOR",
"A3_Characters_F_OPFOR",
"A3_Structures_F_Walls",
"a3_map_stratis"
};
randomSeed=1762223;
class Intel
{
resistanceWest=0;
startWeather=0.1;
startWind=0.099999994;
startWaves=0.099999994;
forecastWeather=0.1;
forecastWind=0.099999994;
forecastWaves=0.099999994;
forecastLightnings=0.099999994;
year=2035;
month=7;
day=6;
hour=14;
minute=15;
startFogBase=0.001;
forecastFogBase=0.001;
startFogDecay=0.0049999999;
forecastFogDecay=0.0049999999;
};
class Groups
{
items=2;
class Item0
{
side="WEST";
class Vehicles
{
items=1;
class Item0
{
position[]={1679.1724,5.5,5524.8608};
azimut=183.14183;
id=0;
side="WEST";
vehicle="B_soldier_M_F";
player="PLAYER COMMANDER";
leader=1;
skill=0.60000002;
init="shots = 0; this addeventhandler [""fired"", {shots = shots +1;}]; this allowdammage false; 0 = this spawn {while {true} do {hintsilent format [""knowsabout: %1 \nshots fired: %2"", ai knowsAbout player, shots]; sleep 0.1}};";
};
};
};
class Item1
{
side="EAST";
class Vehicles
{
items=1;
class Item0
{
position[]={1677.4756,5.5,5503.3018};
azimut=173.72935;
id=1;
side="EAST";
vehicle="O_Soldier_F";
leader=1;
skill=0.60000002;
text="ai";
};
};
};
};
class Vehicles
{
items=1;
class Item0
{
position[]={1679.1486,5.5,5522.5693};
azimut=173.72935;
id=2;
side="EMPTY";
vehicle="Land_CncWall1_F";
leader=1;
skill=0.60000002;
};
};
};
class Intro
{
addOns[]=
{
"a3_map_stratis"
};
addOnsAuto[]=
{
"a3_map_stratis"
};
randomSeed=13170605;
class Intel
{
timeOfChanges=1800.0002;
startWeather=0.30000001;
startWind=0.1;
startWaves=0.1;
forecastWeather=0.30000001;
forecastWind=0.1;
forecastWaves=0.1;
forecastLightnings=0.1;
year=2035;
month=7;
day=6;
hour=14;
minute=15;
startFogBase=0.001;
forecastFogBase=0.001;
startFogDecay=0.0049999999;
forecastFogDecay=0.0049999999;
};
};
class OutroWin
{
addOns[]=
{
"a3_map_stratis"
};
addOnsAuto[]=
{
"a3_map_stratis"
};
randomSeed=14678934;
class Intel
{
timeOfChanges=1800.0002;
startWeather=0.30000001;
startWind=0.1;
startWaves=0.1;
forecastWeather=0.30000001;
forecastWind=0.1;
forecastWaves=0.1;
forecastLightnings=0.1;
year=2035;
month=7;
day=6;
hour=14;
minute=15;
startFogBase=0.001;
forecastFogBase=0.001;
startFogDecay=0.0049999999;
forecastFogDecay=0.0049999999;
};
};
class OutroLoose
{
addOns[]=
{
"a3_map_stratis"
};
addOnsAuto[]=
{
"a3_map_stratis"
};
randomSeed=11739500;
class Intel
{
timeOfChanges=1800.0002;
startWeather=0.30000001;
startWind=0.1;
startWaves=0.1;
forecastWeather=0.30000001;
forecastWind=0.1;
forecastWaves=0.1;
forecastLightnings=0.1;
year=2035;
month=7;
day=6;
hour=14;
minute=15;
startFogBase=0.001;
forecastFogBase=0.001;
startFogDecay=0.0049999999;
forecastFogDecay=0.0049999999;
};
};
Now you'll have to make your own init.sqf with the following language in order to repro:
[] spawn {
//for [{_i=1}, {_i>=1}, {_i=1}] do
//{
while {true} do {
sleep(0.1);
_nt = ai nearTargets 1000;
if (count(_nt)>0) then
{
for [{_j=0}, {_j<count(_nt)}, {_j=_j+1}] do
{
//scopeName "checkplayer";
_ct = _nt select _j;
//if ((_ct select 4) == targetr || (_ct select 4) == targetg) then {
_loc = _ct select 0;
_rad = _ct select 5;
// hintSilent format["%1", [_loc distance player, _rad]];
//[ShapeName, AnimationName, Type, TimerPeriod, LifeTime, Position, MoveVelocity, RotationVelocity, Weight, Volume, Rubbing, Size, Color, AnimationPhase, RandomDirectionPeriod, RandomDirectionIntensity, OnTimer, BeforeDestroy, Object]
drop ["\A3\data_f\cl_basic", "", "Billboard", 1, 1, _loc, [0, 0, 0], 0.05, 0.005, 0.0042, 1, [0.5,0.5], [[1,1,1,1],[1,1,1,0]], [0,1,0,1,0,1], 0.2, 0.2, "", "", ""];
if (_rad > 0) then
{
_bdiv = 20 / (_rad * 3);
if (_bdiv<1) then {_bdiv = 1;};
for [{_k=0},{_k<360},{_k=_k+_bdiv}] do
{
_pos = [(_loc select 0) + (sin(_k)*_rad), (_loc select 1) + (cos(_k)*_rad), _loc select 2];
drop ["\A3\data_f\cl_basic", "", "Billboard", 1, 1, _pos, [0, 0, 0], 0.01, 0.005, 0.0042, 0, [0.25,0.25], [[1,0,0,1],[1,0,0,0]], [0,1,0,1,0,1], 0.2, 0.2, "", "", ""];
};
};
//breakOut "checkplayer";
//};
};
};
};
};
Further tickets are pending to inquire why, in this case, the AI requires so unnaturally long to respond to a nearby gunshot.