Advertisement
garfield

[FS]: Mostrar o ping do player encima do radar.

Oct 13th, 2012
354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.35 KB | None | 0 0
  1. #include a_samp
  2.  
  3.  
  4.  
  5. // Criando variáveis de armazenamento.
  6. new
  7.     bool:PlayerSpawned[MAX_PLAYERS char],
  8.     Text:s_Ping[MAX_PLAYERS]
  9. ;
  10.  
  11.  
  12. // Esta public é chamada quando o player connecta
  13. // ao servidor.
  14. // Setando a variável PlayerSpawned para falso
  15. // para não pegar o último valor setado há ela.
  16. public OnPlayerConnect(playerid){
  17.     return PlayerSpawned{playerid} = false, true;
  18. }
  19.  
  20.  
  21. // Esta public é chamada quando player "Nasce".
  22. // Setando a variável PlayerSpawned para true
  23. // para dizer que o player nasceu.
  24. public OnPlayerSpawn(playerid){
  25.     return PlayerSpawned{playerid} = true;
  26. }
  27.  
  28.  
  29. // Esta public é chamada quando iniciamos o script
  30. // ela é chamada somente uma vez.
  31. public OnFilterScriptInit(){
  32.  
  33.     // Criamos uma variável estática que servirá como interador em nosso loop,
  34.     static
  35.         Interator
  36.     ;
  37.    
  38.    
  39.     // Setamos a variável "Interator" como o máximo de players (slots do sever.cfg)
  40.     Interator = GetMaxPlayers();
  41.  
  42.     // Caso a variável "Interador" for maior que "-1" (menos um) ele se auto-decrementa (menos 1).
  43.     for( ; Interator > -1; --Interator){
  44.    
  45.         // Agora, criamos os textdraw para cada player armazenando na array s_Ping,
  46.         s_Ping[Interator] = TextDrawCreate(50.000000, 310.000000, "Ping: 10");
  47.         TextDrawBackgroundColor(s_Ping[Interator], 255);
  48.         TextDrawFont(s_Ping[Interator], 1);
  49.         TextDrawLetterSize(s_Ping[Interator], 0.539999, 1.099999);
  50.         TextDrawColor(s_Ping[Interator], -1);
  51.         TextDrawSetOutline(s_Ping[Interator], 1);
  52.         TextDrawSetProportional(s_Ping[Interator], 1);
  53.        
  54.         // Finalizamos nosso looping com uma chave...
  55.     }
  56.    
  57.     return true;
  58. }
  59.  
  60.  
  61. // Public chamada quando há alterações do ping do player
  62. public OnPlayerUpdate(playerid){
  63.  
  64.     // Checa se o player nasceu
  65.     if(PlayerSpawned{playerid}){
  66.    
  67.         // caso ele nasceu, ele cria a array "MyText" que
  68.         // servirá como string para nosso textdraw.
  69.         static
  70.             MyText[20]
  71.         ;
  72.  
  73.         // Zeramos a array MyText para não pegar
  74.         // a última string válida..
  75.         MyText[0] = EOS;
  76.  
  77.         // Formatemos  o "MyText" com o valor do ping do player.
  78.         format(MyText, 20, "Ping: %d", GetPlayerPing(playerid));
  79.        
  80.         // Mudamos o texto do textdraw para string que foi formatada acima.
  81.         TextDrawSetString(s_Ping[playerid], MyText);
  82.        
  83.         // Exibimos o textdraw para o player.
  84.         TextDrawShowForPlayer(playerid, s_Ping[playerid]);
  85.     }
  86.     return true;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement