Advertisement
Cody09

FarView Spielerlabel v.1.2

Jan 24th, 2012
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.64 KB | None | 0 0
  1. /*
  2. *Scriptname:    -> FarView Spielerlabel
  3. *
  4. *Autoren:       -> Scripted by: Cody09 (http://forum.sa-mp.de/index.php?page=User&userID=8426)
  5. *
  6. *Requirements:  -> Samp 0.3c (and higher)
  7. *
  8. *Changelog:     -> ~ v.1.0
  9. *                       ->> Release
  10. *               -> ~ v.1.1
  11. *                       ->> Kleine fixxes an den Labeln
  12. *               -> ~ v.1.2
  13. *                       ->> Version mit Auswahl zwischen Foreach/ohne Foreach eingebaut
  14. *
  15. *Beschreibung:  -> Dieses Script bietet z.B. Admins Spieler und Infos über den Spieler je nach Konfiguration z.B. 250m weit sehen.
  16. *
  17. *Rechte:        -> Du darfst diese/s Map/Script:    -Auf deinem Server verwenden
  18. *                                                   -Bearbeiten
  19. *                                                   -Credits nicht entfernen(Dies nennt man höflichkeit ;))
  20. *                                                   -nicht Veröffentlichen(bzw. nur auf Anfrage bei Cody09
  21. *                                                   -Nicht verkaufen!
  22. */
  23.  
  24. //-------------Defines---------------
  25. #define FILTERSCRIPT
  26. #define Function:%0(%1) forward%0(%1); public%0(%1)
  27. #define COLOR_GREY 0xA0A0A0FF
  28.  
  29. #define SetWerte(%0); GetPlayerName(%0,LabelName,MAX_PLAYER_NAME);\
  30. GetPlayerHealth(%0,LabelLeben);\
  31. GetPlayerArmour(%0,LabelArmour);\
  32. LabelLevel = CallRemoteFunction("GetPlayerFarLevel", "d", %0);
  33.  
  34. //-------------Includes--------------
  35. #include <a_samp>
  36.  
  37. //-------------Einstellungen---------
  38. #define Sichtweite_von_den_Labels 250           /*Standart(250)  Hier kannst du die Sichtweite von den Spielerlabels verändern. Empfehlung: Nicht über ca. 300m da ab einer gewissen Distanz
  39.                                                                                                                                             der Streamer nicht mehr Streamt.*/
  40. #define Neuling_Farbe_verwenden                 // Auskommentieren wenn du keine extra Farbe für Level 1´er verwenden möchtest
  41. //#define Ich_verwende_foreach                  // Auskommentieren wenn du kein foreach benutzten möchtest (für Neulinge empfehle ich deaktiviert lassen
  42.  
  43. #define Farbe_Normales_Level    0xFF00E1FF      // Hier kannst du die Farbe bestimmen, die User mit einem Normalen Level haben, also kein Admin sind und wenn du "Neuling_Farbe_verwenden" aktiviert hast nicht Level 1 sind
  44. #define Farbe_Admin             0xF50000FF      // Hier kannst du die Farbe bestimmen, die User mit einem Admin Level haben
  45. #define Farbe_Neuling           0x00FFFAFF      // Hier kannst du die Farbe bestimmen, die User mit dem Level 1 haben wenn "Neuling_Farbe_verwenden" aktiviert ist
  46. //-------------New`s-----------------
  47. new PlayerText3D:LabelID[MAX_PLAYERS][MAX_PLAYERS];
  48. new LabelName[MAX_PLAYER_NAME],Float:LabelLeben,Float:LabelArmour,LabelLevel;
  49. new farstring[80];
  50.  
  51. //------------Kleiner Code :D--------
  52. #if defined Neuling_Farbe_verwenden
  53.     #undef Farbe_Neuling
  54.     #define Farbe_Neuling 0xFF00E1FF
  55. #endif
  56. #if defined Ich_verwende_foreach
  57.     #include <foreach>
  58. #endif
  59.  
  60.                        
  61. public OnFilterScriptInit()
  62. {
  63.     print("\n--------------------------------------");
  64.     print(" FarView Spielerlabel Filterscript");
  65.     print(" Scripted by: Cody09");
  66.     print("--------------------------------------\n");
  67.  
  68.     SetTimer("TimerUpdate",3642,1);
  69.     return 1;
  70. }
  71. public OnFilterScriptExit()
  72. {
  73.     #if defined Ich_verwende_foreach
  74.     foreach (Character,ii)
  75.     {
  76.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3  && GetPVarInt(ii, "hatlabel") == 1)
  77.         {
  78.             foreach (Character,i)
  79.             {
  80.                 DeletePlayer3DTextLabel(ii,LabelID[ii][i]);
  81.             }
  82.         }
  83.     }
  84.     #else
  85.     for(new ii = 0; ii < MAX_PLAYERS; ii++)
  86.     {
  87.         if((!IsPlayerConnected(ii)) || (IsPlayerNPC(ii))) continue;
  88.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3  && GetPVarInt(ii, "hatlabel") == 1)
  89.         {
  90.             for(new i = 0; i < MAX_PLAYERS; i++)
  91.             {
  92.                 if((!IsPlayerConnected(i)) || (IsPlayerNPC(i))) continue;
  93.                 DeletePlayer3DTextLabel(ii,LabelID[ii][i]);
  94.             }
  95.         }
  96.     }
  97.     #endif
  98.     return 1;
  99. }
  100. public OnPlayerConnect(playerid)
  101. {
  102.     SetPVarInt(playerid, "hatlabel",0);
  103.     #if defined Ich_verwende_foreach
  104.     foreach (Character, ii)
  105.     {
  106.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3  && GetPVarInt(ii, "hatlabel") == 1)
  107.         {
  108.             SetWerte(playerid);
  109.             format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,playerid,LabelLeben,LabelArmour,LabelLevel);
  110.             if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", playerid) >= 1)
  111.             {
  112.                 LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0xF50000FF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
  113.             }
  114.             else
  115.             {
  116.                 if(LabelLevel == 1)
  117.                 {
  118.                     LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0x00FFFAFF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
  119.                 }
  120.                 else
  121.                 {
  122.                     LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0xFF00E1FF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
  123.                 }
  124.             }
  125.         }
  126.     }
  127.     #else
  128.     for(new ii = 0; ii < MAX_PLAYERS; ii++)
  129.     {
  130.         if((!IsPlayerConnected(ii)) || (IsPlayerNPC(ii))) continue;
  131.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3  && GetPVarInt(ii, "hatlabel") == 1)
  132.         {
  133.             SetWerte(playerid);
  134.             format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,playerid,LabelLeben,LabelArmour,LabelLevel);
  135.             if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", playerid) >= 1)
  136.             {
  137.                 LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0xF50000FF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
  138.             }
  139.             else
  140.             {
  141.                 if(LabelLevel == 1)
  142.                 {
  143.                     LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0x00FFFAFF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
  144.                 }
  145.                 else
  146.                 {
  147.                     LabelID[ii][playerid] = CreatePlayer3DTextLabel(ii,farstring,0xFF00E1FF,0,0,0.9,250,playerid,INVALID_VEHICLE_ID,1);
  148.                 }
  149.             }
  150.         }
  151.     }
  152.     #endif
  153.     return 1;
  154. }
  155. Function: TimerUpdate()
  156. {
  157.     #if defined Ich_verwende_foreach
  158.     foreach (Character, ii)
  159.     {
  160.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3 && GetPVarInt(ii, "hatlabel") == 1)
  161.         {
  162.             foreach (Character, i)
  163.             {
  164.                 SetWerte(i);
  165.                 if(IsPlayerInAnyVehicle(i))format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]\nCar ID:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel,GetPlayerVehicleID(i));
  166.                 else format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel);
  167.  
  168.                 if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", i) >= 1)
  169.                 {
  170.                     UpdatePlayer3DTextLabelText(ii,LabelID[ii][i], 0xF50000FF, farstring);
  171.                 }
  172.                 else
  173.                 {
  174.                     if(LabelLevel == 1)
  175.                     {
  176.                         UpdatePlayer3DTextLabelText(ii,LabelID[ii][i], 0x00FFFAFF, farstring);
  177.                     }
  178.                     else
  179.                     {
  180.                         UpdatePlayer3DTextLabelText(ii,LabelID[ii][i], 0xFF00E1FF, farstring);
  181.                     }
  182.                 }
  183.             }
  184.         }
  185.     }
  186.     #else
  187.     for(new ii = 0; ii < MAX_PLAYERS; ii++)
  188.     {
  189.         if((!IsPlayerConnected(ii)) || (IsPlayerNPC(ii))) continue;
  190.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3 && GetPVarInt(ii, "hatlabel") == 1)
  191.         {
  192.             for(new i = 0; i < MAX_PLAYERS; i++)
  193.             {
  194.                 if((!IsPlayerConnected(i)) || (IsPlayerNPC(i))) continue;
  195.                 SetWerte(i);
  196.                 if(IsPlayerInAnyVehicle(i))format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]\nCar ID:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel,GetPlayerVehicleID(i));
  197.                 else format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel);
  198.  
  199.                 if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", i) >= 1)
  200.                 {
  201.                     UpdatePlayer3DTextLabelText(ii,LabelID[ii][i], 0xF50000FF, farstring);
  202.                 }
  203.                 else
  204.                 {
  205.                     if(LabelLevel == 1)
  206.                     {
  207.                         UpdatePlayer3DTextLabelText(ii,LabelID[ii][i], 0x00FFFAFF, farstring);
  208.                     }
  209.                     else
  210.                     {
  211.                         UpdatePlayer3DTextLabelText(ii,LabelID[ii][i], 0xFF00E1FF, farstring);
  212.                     }
  213.                 }
  214.             }
  215.         }
  216.     }
  217.     #endif
  218. }
  219. public OnPlayerDisconnect(playerid, reason)
  220. {
  221.     #if defined Ich_verwende_foreach
  222.     foreach (Character, ii)
  223.     {
  224.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3  && GetPVarInt(ii, "hatlabel") == 1)
  225.         {
  226.             DeletePlayer3DTextLabel(ii,LabelID[ii][playerid]);
  227.         }
  228.     }
  229.     #else
  230.     for(new ii = 0; ii < MAX_PLAYERS; ii++)
  231.     {
  232.         if((!IsPlayerConnected(ii)) || (IsPlayerNPC(ii))) continue;
  233.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", ii) >= 3  && GetPVarInt(ii, "hatlabel") == 1)
  234.         {
  235.             DeletePlayer3DTextLabel(ii,LabelID[ii][playerid]);
  236.         }
  237.     }
  238.     #endif
  239.     return 1;
  240. }
  241. public OnPlayerCommandText(playerid, cmdtext[])
  242. {
  243.     if(strcmp("/adminlabeloff",cmdtext,true)==0)
  244.     {
  245.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", playerid) >= 3)
  246.         {
  247.             if(GetPVarInt(playerid, "hatlabel") == 1)
  248.             {
  249.                 SendClientMessage(playerid, COLOR_GREY,"Labels ausgeschaltet");
  250.                 #if defined Ich_verwende_foreach
  251.                 foreach (Character, i)DeletePlayer3DTextLabel(playerid,LabelID[playerid][i]);
  252.                 #else
  253.                 for(new i = 0; i < MAX_PLAYERS; i++)
  254.                 {
  255.                     if((!IsPlayerConnected(i)) || (IsPlayerNPC(i))) continue;
  256.                     DeletePlayer3DTextLabel(playerid,LabelID[playerid][i]);
  257.                 }
  258.                 #endif
  259.                 SetPVarInt(playerid, "hatlabel",0);
  260.             }
  261.             else SendClientMessage(playerid, COLOR_GREY,"Du hast schon die Label abgeschaltet");
  262.         }
  263.         return 1;
  264.     }
  265.     if(strcmp("/adminlabelon",cmdtext,true)==0)
  266.     {
  267.         if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", playerid) >= 3)
  268.         {
  269.             if(GetPVarInt(playerid, "hatlabel") == 0)
  270.             {
  271.                 SendClientMessage(playerid, COLOR_GREY,"Labels eingeschaltet");
  272.                 #if defined Ich_verwende_foreach
  273.                 foreach (Character, i)
  274.                 {
  275.                     SetWerte(i);
  276.                     if(IsPlayerInAnyVehicle(i))format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]\nCar ID:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel,GetPlayerVehicleID(i));
  277.                     else format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel);
  278.  
  279.                     if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", i) >= 1)
  280.                     {
  281.                         LabelID[playerid][i] = CreatePlayer3DTextLabel(playerid,farstring,0xF50000FF,0,0,0.9,250,i,INVALID_VEHICLE_ID,1);
  282.                     }
  283.                     else
  284.                     {
  285.                         if(LabelLevel == 1) LabelID[playerid][i] = CreatePlayer3DTextLabel(playerid,farstring,0x00FFFAFF,0,0,0.9,250,i,INVALID_VEHICLE_ID,1);
  286.                         else LabelID[playerid][i] = CreatePlayer3DTextLabel(playerid,farstring,0xFF00E1FF,0,0,0.9,250,i,INVALID_VEHICLE_ID,1);
  287.                     }
  288.                 }
  289.                 #else
  290.                 for(new i = 0; i < MAX_PLAYERS; i++)
  291.                 {
  292.                     if((!IsPlayerConnected(i)) || (IsPlayerNPC(i))) continue;
  293.                     SetWerte(i);
  294.                     if(IsPlayerInAnyVehicle(i))format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]\nCar ID:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel,GetPlayerVehicleID(i));
  295.                     else format(farstring, sizeof(farstring), "%s(%d)\n\nHP:[%.2f]\nARMOUR:[%.2f]\nLevel:[%d]",LabelName,i,LabelLeben,LabelArmour,LabelLevel);
  296.  
  297.                     if(CallRemoteFunction("GetPlayerFarAdminLevel", "d", i) >= 1)
  298.                     {
  299.                         LabelID[playerid][i] = CreatePlayer3DTextLabel(playerid,farstring,0xF50000FF,0,0,0.9,250,i,INVALID_VEHICLE_ID,1);
  300.                     }
  301.                     else
  302.                     {
  303.                         if(LabelLevel == 1) LabelID[playerid][i] = CreatePlayer3DTextLabel(playerid,farstring,0x00FFFAFF,0,0,0.9,250,i,INVALID_VEHICLE_ID,1);
  304.                         else LabelID[playerid][i] = CreatePlayer3DTextLabel(playerid,farstring,0xFF00E1FF,0,0,0.9,250,i,INVALID_VEHICLE_ID,1);
  305.                     }
  306.                 }
  307.                 #endif
  308.                 SetPVarInt(playerid, "hatlabel",1);
  309.             }
  310.             else SendClientMessage(playerid, COLOR_GREY,"Du hast die Label schon angezeigt");
  311.         }
  312.         return 1;
  313.     }
  314.     return 0;
  315. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement