13
« on: March 28, 2012, 07:00:48 am »
[FFA_LIFESTATE_HEALTHY=1;
FFA_LIFESTATE_INJURED=2;
FFA_LIFESTATE_DYING=3;
FFA_LIFESTATE_DEAD=4;
FFA_PLAYERINAGONY=false;
FFA_MARKERS_INFANTRY=0;
FFA_MARKERS_VEHICLES=1;
FFA_MARKERS_BOTH=2;
FFA_MARKERS_GROUP=3;
FFA_MARKERS_DISTANCE=700;
FFA_MARKERS_TYPE=2;
FFA_CURRENTMARKER_DISTANCE=5;
FFA_CURRENTMARKER_TYPE=2;
FFA_PRIVATEVEHICLES=[];
FFA_TOTALPLAYERS={[ES1,ES2,ES3,ES4,ES5,ES6,ES7,ES8,ES9,ES10,ES11,ES12,ES13,ES14,ES15,ES16,ES17,ES18,ES19,ES20,ES21,ES22,ES23,ES24,ES25,ES26,ES27,ES28,ES29,ES30,ES31,ES32,ES33,ES34,ES35,ES36,ES37,ES38,ES39,ES40,ES41,ES42,ES43,ES44,ES45,ES46,ES47,ES48,ES49,ES50,ES51,ES52,ES53,ES54,ES55,ES56,ES57,ES58,ES59]};//list of players slots
FFA_CURRENTPLAYERS=[];
//Inmission GUI with players names and airstrike target icon
private["_i","_name","_unitname","_unit","_lifestate","_text","_control","_pos","_veh","_dst"];
if (!(local player)) exitWith{};
sleep 1;
disableSerialization;
_currentCutDisplay = _this select 0;
while {(alive player) && !((vehicle player) isKindOf "BIS_Steerable_Parachute")} do
{
{
_a=0;
{
if (side player != side _x) then
{
call compile format["ES%1 = %2",_a,_x];_a=_a+1;
}
//hint format["ES%1 = %2",_a,_x];
}foreach playableunits;
//ES1=_x;
if ((FFA_MARKERS_DISTANCE > 0) ) then //|| ((currentWeapon player)=="LaserDesignator") || ((typeOf (vehicle player)) in FFA_ASSAULTAIR)) then
{
if (FFA_MARKERS_DISTANCE > 0) then
{
for [{_i=1},{_i<=30},{_i=_i+1}] do
{
_unit=[] call compile format ["ES%1",_i];
_control=_currentCutDisplay displayCtrl (900+_i);
_uid=getPlayerUID _unit;
_veh=vehicle _unit;
_dst=round (_veh distance (vehicle player));
if ((isPlayer _unit) && (_unit!=player) && !(isNull _unit) && ((vehicle _unit)!=(vehicle player)) && (_dst<=FFA_MARKERS_DISTANCE) && ((_unit in (units player)) || (FFA_MARKERS_TYPE!=FFA_MARKERS_GROUP)) && !(visibleMap) && (alive player)) then
// if ((_unit!=player) && !(isNull _unit) && ((vehicle _unit)!=(vehicle player)) && (_dst<=FFA_MARKERS_DISTANCE) && ((_unit in (units player)) || (FFA_MARKERS_TYPE!=FFA_MARKERS_GROUP)) && !(visibleMap) && (alive player)) then
{
_unitname=name _unit;
_pos=getPosATL _veh;
if (_veh!=_unit) then
{
if (((_unit==(effectiveCommander _veh)) && (FFA_MARKERS_TYPE!=FFA_MARKERS_INFANTRY)) || ((_unit in (units player)) && (FFA_MARKERS_TYPE==FFA_MARKERS_GROUP))) then
{
_text = gettext(configFile >> "CfgVehicles" >> (typeof _veh) >> "displayName");
_mask="<t size='%4' shadow='true' align='center' color='%5'>%1</t><br/><t size='%4' shadow='true' align='center' color='%6'>[%2]</t><br/><t size='%4' shadow='true' align='center' color='%7'>%3m</t>";
_name=parseText format[_mask,_unitname,"ID: "+_uid+" "+_text,_dst,0.6,"#AACCAA","#FFFFFF","#AAAAFF"];
_pos=[_pos select 0,_pos select 1,(_pos select 2)];
}
else
{
_name=parseText "";
};
}
else
{
if ((FFA_MARKERS_TYPE!=FFA_MARKERS_VEHICLES)) then
{
_lifestate=1;//_unit getVariable "FFA_LIFESTATE";
_pos=[_pos select 0,_pos select 1,(_pos select 2)];
_name=parseText "";
switch (_lifestate) do
{
case FFA_LIFESTATE_HEALTHY:
{
//_mask="<t size='%3' shadow='true' align='center' color='%4'>%1</t><br/><t size='%3' shadow='true' align='center' color='%5'>%2m</t><br/>";
//_name=parseText format[_mask,_unitname,_dst,1.0,"#AAFFAA","#AAAAFF"];
_mask="<t size='%4' shadow='true' align='center' color='%5'>%1</t><br/><t size='%4' shadow='true' align='center' color='%6'>[%2]</t><br/><t size='%4' shadow='true' align='center' color='%7'>%3m</t>";
_name=parseText format[_mask,"["+_unitname+"]","ID: "+_uid,_dst,0.6,"#AAFFAA","#FFFFFF","#AAAAFF"];
_pos=[_pos select 0,_pos select 1,(_pos select 2)];
};
case FFA_LIFESTATE_INJURED:
{
_mask="<t size='%4' shadow='true' align='center' color='%5'>%1</t><br/><t size='%4' shadow='true' align='center' color='%6'>[%2]</t><br/><t size='%4' shadow='true' align='center' color='%7'>%3m</t>";
_name=parseText format[_mask,"["+_unitname+"]",localize "STR_MAP_Injured",_dst,1.0,"#AAFFAA","#FF0000","#AAAAFF"];
};
case FFA_LIFESTATE_DYING:
{
_mask="<t size='%4' shadow='true' align='center' color='%5'>%1</t><br/><t size='%4' shadow='true' align='center' color='%6'>[%2]</t><br/><t size='%4' shadow='true' align='center' color='%7'>%3m</t>";
_name=parseText format[_mask,_unitname,localize "STR_MAP_Dying",_dst,1.0,"#AAFFAA","#FF0000","#AAAAFF"];
};
case FFA_LIFESTATE_DEAD:
{
_mask="<t size='%4' shadow='true' align='center' color='%5'>%1</t><br/><t size='%4' shadow='true' align='center' color='%6'>[%2]</t><br/><t size='%4' shadow='true' align='center' color='%7'>%3m</t>";
_name=parseText format[_mask,_unitname,localize "STR_MAP_Dead",_dst,1.0,"#AAFFAA","#FF0000","#AAAAFF"];
};
};
}
else
{
_name=parseText "";
};
};
_pos=worldToScreen _pos;
if ((count _pos)!=0) then
{
ctrlShow[_control,true];
_control ctrlSetStructuredText _name;
_control ctrlSetPosition [(_pos select 0)-0.125,_pos select 1];
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
}
else
{
ctrlShow[_control,false];
_control ctrlSetStructuredText parseText "";
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
};
}
else
{
ctrlShow[_control,false];
_control ctrlSetStructuredText parseText "";
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
};
};
};
if (((currentWeapon player)=="LaserDesignator") || (((typeOf (vehicle player)) in FFA_ASSAULTAIR) && ((player==driver (vehicle player)) || (player==gunner (vehicle player))))) then
{
if (count FFA_DESIGNATION_TARGET > 0) then
{
_dst=round((vehicle player) distance FFA_DESIGNATION_TARGET);
_text=round(90+FFA_DESIGNATION_TIME-time);
_mask="<t size='%4' shadow='true' align='center' color='%5'>%1</t><br/><t size='%4' shadow='true' align='center' color='%6'>%2sec</t><br/><t size='%4' shadow='true' align='center' color='%7'>%3m</t><br/><t><img image='gui\selector_selectedmission_ca.paa' align='center' color='%5' size='3.0'></t>";
_name=parseText format[_mask,localize "STR_MAP_AirStrike",_text,_dst,1.0,"#FF0000","#FFFFFF","#AAAAFF"];
_pos=worldToScreen FFA_DESIGNATION_TARGET;
if (count _pos > 0) then
{
_control=_currentCutDisplay displayCtrl (991);
ctrlShow[_control,true];
_control ctrlSetPosition [(_pos select 0)-0.125,(_pos select 1)-0.125];
_control ctrlSetStructuredText _name;
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
};
if (_text <= 0) then
{
FFA_DESIGNATION_TARGET=[];
};
}
else
{
_control=_currentCutDisplay displayCtrl (991);
ctrlShow[_control,false];
_control ctrlSetStructuredText parseText "";
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
};
}
else
{
_control=_currentCutDisplay displayCtrl (991);
ctrlShow[_control,false];
_control ctrlSetStructuredText parseText "";
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
};
}
else
{
for [{_i=1},{_i<=30},{_i=_i+1}] do
{
_control=_currentCutDisplay displayCtrl (900+_i);
ctrlShow[_control,false];
_control ctrlSetStructuredText parseText "";
_control ctrlCommit 0;
waitUntil {ctrlCommitted _control};
};
//sleep 10+(random 10);
//sleep 0.0001;
};
}foreach playableunits;
};/code]