View difference between Paste ID: E5a4QqnK and 8T2zz02r
SHOW: | | - or go back to the newest paste.
1
//Inmission GUI with players names and airstrike target icon
2-
private ["_unitID","_name","_text","_ctrl","_pos","_veh","_dst"];
2+
3
private["_i","_name","_xname","_unit","_lifestate","_text","_control","_pos","_veh","_dst"];
4
5
//if (!(local player)) exitWith{};
6-
while {true} do {
6+
7-
	_unitID = 0;
7+
sleep 1;
8-
	sleep 0.03;
8+
9-
	{
9+
10-
	    if (effectiveCommander vehicle _x == _x) then {_unitID = _unitID + 1};
10+
//_currentCutDisplay = _this select 0;
11-
		_ctrl = __GcVP(HDPU) displayCtrl (5200 + _unitID);
11+
12-
		_veh = vehicle _x;
12+
13-
		_dst = round (_veh distance (vehicle player));
13+
ctrlq = [];
14-
		ctrlShow [_ctrl,false];
14+
veh = [];
15-
		_ctrl ctrlSetStructuredText parseText "";
15+
pos = [];
16-
		if (alive _x) then {
16+
dst = [];
17-
			_pos = getPosATL _veh;
17+
textq = [];
18-
			_mask = "<t size='%4' shadow='1' align='center' color='%5'>%1<t color='%6'>%2<br/><t color='%7'>%3m</t>";
18+
mask = [];
19-
			if (_veh != _x)  then {
19+
nameq = [];
20-
				_text = "<br/>["+gettext(configFile >> "CfgVehicles" >> (typeof _veh) >> "displayName")+"]";
20+
xname = [];
21-
				_name = parseText format [_mask,name _x,_text,_dst,1.0,"#AAFFAA","#FFFFFF","#AAAAFF"];
21+
lifestate = [];
22-
				_pos set [2,(_pos select 2)+5]
22+
onEachFrame {
23-
			} else {
23+
if (alive player) then
24-
				
24+
{
25-
				_text = (if (damage _x > 0.1) then {"<br/>[Ранен]"} else {""});
25+
//	sleep 0.01;
26-
				_name = parseText format [_mask,name _x,_text,_dst,1.0,"#AAFFAA","#FF0000","#AAAAFF"];
26+
	unitID = 0;
27-
				_pos set [2,(_pos select 2)+4];
27+
		//_i=1;
28
		{		
29-
			_pos = worldToScreen _pos;		
29+
//			if ((isPlayer _x) && {_x!=player} && {!(isNull _x)}) then 
30-
			if ((count _pos)!= 0) then {				
30+
			if (_x!=player && {!(isNull _x)}) then 
31-
				ctrlShow [_ctrl,true];			
31+
			{
32-
				_ctrl ctrlSetStructuredText _name;
32+
//				_control=_currentCutDisplay displayCtrl (500+_i);
33-
				_ctrl ctrlSetPosition [(_pos select 0)-0.125,_pos select 1];
33+
				if (effectiveCommander vehicle _x == _x) then {unitID = unitID + 1};
34-
				_ctrl ctrlCommit 0;
34+
				ctrlq = __GcVP(HDPU) displayCtrl (5200 + unitID);
35-
				waitUntil {ctrlCommitted _ctrl}
35+
				veh=vehicle _x;
36-
			}
36+
				pos=visiblePosition veh;
37-
		}
37+
				pos=worldToScreen pos;
38-
	} foreach allUnits
38+
				if ((count pos)!=0) then
39-
}
39+
				{	
40
					nameq=parseText "";	
41
					if (!(visibleMap) && {(alive player)}) then 
42
					{
43
						pos=visiblePosition veh;
44
						dst=round (veh distance (vehicle player));
45
						if ( ((vehicle _x)!=(vehicle player)) && {dst<=FFA_MARKERS_DISTANCE} ) then //&& ((_x in (units player)) || (FFA_MARKERS_TYPE!=FFA_MARKERS_GROUP)) 
46
						{
47
							xname = name vehicle _x;	//!!!
48
							nameq=parseText "";		
49
							if (veh!=_x)  then
50
							{
51
								if (((_x==(effectiveCommander veh)) && {FFA_MARKERS_TYPE!=FFA_MARKERS_INFANTRY})) then //((_x in (units player)) && (FFA_MARKERS_TYPE==FFA_MARKERS_GROUP))
52
								{
53
				 					if (dst<=((FFA_MARKERS_DISTANCE)/4)) then 
54
									{
55
										textq = gettext(configFile >> "CfgVehicles" >> (typeof veh) >> "displayName");
56
										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>";
57
										nameq=parseText format[mask,xname,textq,dst,0.7,"#AAFFAA","#FFFFFF","#AAAAFF"];
58
										pos=[pos select 0,pos select 1,(pos select 2)+4];
59
									} else {
60
										mask="<t size='%1' shadow='true' align='center' color='%2'>.</t>";
61
										nameq=parseText format[mask,2.0,"#AAFFAA"];
62
										pos=[pos select 0,pos select 1,(pos select 2)+4];
63
									};
64
								} else {
65
									nameq=parseText "";
66
								};
67
							} else {
68
								if ((FFA_MARKERS_TYPE!=FFA_MARKERS_VEHICLES)) then
69
								{
70
/* 										mask="<t size='%1' shadow='true' align='center' color='%2'>.</t>";
71
										nameq=parseText format[mask,2.0,"#AAFFAA"];
72
										pos=[pos select 0,pos select 1,(pos select 2)+4];		 */						
73
 									pos=[pos select 0,pos select 1,(pos select 2)+2.5];												
74
									if (dst<=((FFA_MARKERS_DISTANCE)/10)) then 
75
									{		
76
										lifestate=_x getVariable "FFA_LIFESTATE";				
77
										if !(isnil ("lifestate")) then 
78
										{
79
											switch (_x getVariable "FFA_LIFESTATE") do
80
											{
81
												case FFA_LIFESTATE_HEALTHY:
82
												{
83
													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/>";
84
													nameq=parseText format[mask,xname,dst,0.7,"#AAFFAA","#AAAAFF"];						
85
												};
86
												case FFA_LIFESTATE_INJURED:
87
												{
88
													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>";
89
													nameq=parseText format[mask,xname,localize "STR_MAP_Injured",dst,0.7,"#AAFFAA","#FFD700","#AAAAFF"];
90
												};
91
												case FFA_LIFESTATE_WOUNDED:
92
												{
93
													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>";
94
													nameq=parseText format[mask,xname,localize "STR_MAP_WOUNDED",dst,0.7,"#AAFFAA","#FFA500","#AAAAFF"];
95
												};
96
												case FFA_LIFESTATE_DYING:
97
												{
98
													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>";
99
													nameq=parseText format[mask,xname,localize "STR_MAP_Dying",dst,0.7,"#AAFFAA","#FF0000","#AAAAFF"];
100
												};
101
												case FFA_LIFESTATE_DEAD:
102
												{
103
													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>";
104
													nameq=parseText format[mask,xname,localize "STR_MAP_Dead",dst,0.7,"#AAFFAA","#363636","#AAAAFF"];
105
												};	
106
107
												default 
108
												{
109
													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/>";
110
													nameq=parseText format[mask,xname,dst,0.7,"#AAFFAA","#AAAAFF"];
111
												};
112
											};
113
										} else {
114
											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/>";
115
											nameq=parseText format[mask,xname,dst,0.7,"#AAFFAA","#AAAAFF"];
116
										};
117
									} else {
118
										mask="<t size='%1' shadow='true' align='center' color='%2'>.</t>";
119
										nameq=parseText format[mask,2.0,"#AAFFAA"];
120
									}; 
121
								} else {
122
									nameq=parseText "";	
123
								};		
124
							};
125
126
						} else {
127
							ctrlShow[ctrlq,false];
128
							ctrlq ctrlSetStructuredText parseText "";
129
							ctrlq ctrlCommit 0;
130
							waitUntil {ctrlCommitted ctrlq};
131
						};
132
					};
133
					pos=worldToScreen pos;
134
					if ((count pos)!=0) then
135
					{
136
						ctrlShow[ctrlq,true];				
137
						ctrlq ctrlSetStructuredText nameq;
138
						ctrlq ctrlSetPosition [(pos select 0)-0.125,pos select 1];
139
						ctrlq ctrlCommit 0;
140
						waitUntil {ctrlCommitted ctrlq};
141
					}else {
142
						ctrlShow[ctrlq,false];
143
						ctrlq ctrlSetStructuredText parseText "";
144
						ctrlq ctrlCommit 0;
145
						waitUntil {ctrlCommitted ctrlq};			
146
										
147
					};
148
				} else {
149
					ctrlShow[ctrlq,false];
150
					ctrlq ctrlSetStructuredText parseText "";
151
					ctrlq ctrlCommit 0;
152
					waitUntil {ctrlCommitted ctrlq};
153
				};
154
			};
155
//			_i=_i + 1;
156
//		}ForEach playableUnits;
157
		}ForEach allUnits;
158
};
159
};