Advertisement
Dimon_UA

Untitled

Oct 21st, 2014
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Inmission GUI with players names and airstrike target icon
  2. #define __GcVP(uvarname) (uiNamespace getVariable #uvarname)
  3. private["_i","_name","_xname","_unit","_lifestate","_text","_control","_pos","_veh","_dst"];
  4.  
  5. //if (!(local player)) exitWith{};
  6.  
  7. sleep 1;
  8.  
  9. disableSerialization;
  10. //_currentCutDisplay = _this select 0;
  11.  
  12. 1 cutRsc ["Hud","PLAIN",0];
  13. ctrlq = [];
  14. veh = [];
  15. pos = [];
  16. dst = [];
  17. textq = [];
  18. mask = [];
  19. nameq = [];
  20. xname = [];
  21. lifestate = [];
  22. onEachFrame {
  23. if (alive player) then
  24. {
  25. //  sleep 0.01;
  26.     unitID = 0;
  27.         //_i=1;
  28.         {      
  29. //          if ((isPlayer _x) && {_x!=player} && {!(isNull _x)}) then
  30.             if (_x!=player && {!(isNull _x)}) then
  31.             {
  32. //              _control=_currentCutDisplay displayCtrl (500+_i);
  33.                 if (effectiveCommander vehicle _x == _x) then {unitID = unitID + 1};
  34.                 ctrlq = __GcVP(HDPU) displayCtrl (5200 + unitID);
  35.                 veh=vehicle _x;
  36.                 pos=visiblePosition veh;
  37.                 pos=worldToScreen pos;
  38.                 if ((count pos)!=0) then
  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. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement