Stralioti

Sistema Administração - By : Fábio Stralioti - GTA TORCIDAS

Nov 19th, 2014
758
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 18.43 KB | None | 0 0
  1. /*
  2.  FILTERSCRIPT CRIADO POR : FÁBIO STRALIOTI
  3.  SCRIPTER FÓRUM GTA TORCIDAS !
  4.  
  5. ******** ************ *********  **** *************
  6. ******** ************ *********  **** *************
  7. ****     ****    **** ****   **  **** *****   *****
  8. ****     ****    **** ****   **  **** *****   *****
  9. ******** ************ *********  **** *****   *****
  10. ******** ************ *********  **** *****   *****
  11. ****     ****    **** ****   **  **** *****   *****
  12. ****     ****    **** *********  **** *************
  13. ****     ****    **** *********  **** *************
  14.  
  15. */
  16.  
  17. #include <a_samp>
  18. #include <zcmd>
  19. #include <dof2>
  20. #include <sscanf>
  21.  
  22. #pragma tabsize 0
  23.  
  24. #define FILTERSCRIPT
  25. #if defined FILTERSCRIPT
  26.  
  27. public OnFilterScriptInit()
  28. {
  29.     print("\n--------------------------------------");
  30.     print("Filterscript Sistema de Administração 1.0");
  31.     print("Feito por : Fábio Stralioti");
  32.     print("--------------------------------------\n");
  33.     return 1;
  34. }
  35.  
  36. enum PlayerAdmin
  37. {
  38.     Level
  39. }
  40. new pAdmin[MAX_PLAYERS][PlayerAdmin];
  41. new False=false;
  42. new gSpectateID[MAX_PLAYERS];
  43. new gSpectateType[MAX_PLAYERS];
  44.  
  45. #define SendFormattedMessageToAll(%0,%1,%2) do{new _string[128]; format(_string,sizeof(_string),%1,%2); SendClientMessageToAll(%0,_string);} while(False)
  46. #define ADMIN_SPEC_TYPE_PLAYER 1
  47. #define ADMIN_SPEC_TYPE_NONE 0
  48.  
  49. public OnPlayerConnect(playerid)
  50. {
  51.  new arquivi[34], nomeplayer[MAX_PLAYER_NAME];
  52.  GetPlayerName(playerid, nomeplayer, sizeof(nomeplayer));
  53.  format(arquivi, sizeof(arquivi), "Admins/%s.ini", nomeplayer);
  54.  pAdmin[playerid][Level] = DOF2_GetInt(arquivi, "Level");
  55.  
  56.  SendClientMessage(playerid, -1,"Este Servidor usa o Sistema de Administração feito por : Fábio Stralioti");
  57.  return 1;
  58. }
  59.  
  60. public OnPlayerDisconnect(playerid)
  61. {
  62.  new arquiva[34], playernome[MAX_PLAYER_NAME];
  63.  GetPlayerName(playerid, playernome, sizeof(playernome));
  64.  format(arquiva, sizeof(arquiva), "Admins/%s.ini", playernome);
  65.  if (!DOF2_FileExists(arquiva)) {
  66.     DOF2_CreateFile(arquiva);
  67.  
  68.     DOF2_SetInt(arquiva, "Level", pAdmin[playerid][Level]);
  69.     DOF2_SaveFile();
  70.     }
  71.   else {
  72.     DOF2_SetInt(arquiva, "Level", pAdmin[playerid][Level]);
  73.     DOF2_SaveFile();
  74.     }
  75.  return 0;
  76. }
  77.  
  78. public OnFilterScriptExit()
  79. {
  80.  DOF2_Exit();
  81.  return 1;
  82. }
  83.  
  84. CMD:creditosfs(playerid)
  85. {
  86.  SendClientMessage(playerid, -1,"Filterscript feito por : Fábio Stralioti");
  87.  SendClientMessage(playerid, -1,"www.equipegtatorcidas.com");
  88.  return 1;
  89. }
  90.  
  91. CMD:comandosadmin(playerid)
  92. {
  93.  new dialogrande[1024];
  94.  format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"/asay, /jetpack, /tr, /ir, /vidat, /dararma, /kick, /pinfo, /setadmin, /ban, /vida, /congelar, /descongelar, /olhar, /olharoff\n");
  95.  return 1;
  96. }
  97.  
  98. CMD:setadmin(playerid, params[])
  99. {
  100.  new id, level, string[256], string2[256], ganhou[MAX_PLAYER_NAME], deu[MAX_PLAYER_NAME];
  101.  if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Você não é um Administrador Logado Na RCON.");
  102.  if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Use /setadmin [id] [LEVEL]");
  103.  if (level < 0 || level > 5) return SendClientMessage(playerid, -1, "Level inválido. Use de 1 á 5 .");
  104.  if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador não está online.");
  105.  GetPlayerName(id, ganhou, sizeof(ganhou));
  106.  GetPlayerName(playerid, deu, sizeof(deu));
  107.  format(string, sizeof(string), "Você deu admin level %s para o %s", GetLevelAdmin(level), ganhou);
  108.  SendClientMessage(playerid, -1, string);
  109.  format(string2, sizeof(string2), "O admin %s deu admin level %s para você.", deu , GetLevelAdmin(level));
  110.  SendClientMessage(id, -1, string2);
  111.  pAdmin[id][Level] =  level;
  112.  return 1;
  113. }
  114.  
  115. CMD:pinfo(playerid, params[])
  116. {
  117.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1, "Você não é um Administrador");
  118.  new tmp[256], idx, string[128];
  119.  tmp = strtok(params, idx);
  120.  
  121.     new id;
  122.     if(!IsNumeric(tmp))
  123.         id = ReturnPlayerID(tmp);
  124.     else
  125.         id = strval(tmp);
  126.  
  127.     if(!strlen(tmp))
  128.         return SendClientMessage(playerid, -1, "Uso: /pinfo [id]");
  129.  
  130.     if(!IsPlayerConnected(id))
  131.         return SendClientMessage(playerid, -1, "ID inválido!");
  132.  
  133.     format(string, sizeof(string), "|__________ Informações de %s __________|", GetName(id));
  134.     SendClientMessage(playerid, -1,string);
  135.  
  136.     new ip[24];
  137.     new Float:health;
  138.     new Float:armour;
  139.     new ammo = GetPlayerAmmo(id);
  140.     new ping = GetPlayerPing(id);
  141.     new money = GetPlayerMoney(id);
  142.     new level = GetPlayerScore(id);
  143.  
  144.     GetPlayerHealth(id,health);
  145.     GetPlayerArmour(id,armour);
  146.     GetPlayerIp(id, ip, sizeof ip);
  147.  
  148.     format(string, sizeof(string), "IP: %s", ip);
  149.     SendClientMessage(playerid, -1,string);
  150.     format(string, sizeof(string), "Level: %d", level);
  151.     SendClientMessage(playerid, -1,string);
  152.     format(string, sizeof(string), "Vida: %.1f", health);
  153.     SendClientMessage(playerid, -1,string);
  154.     format(string, sizeof(string), "Colete: %.1f", armour);
  155.     SendClientMessage(playerid, -1,string);
  156.     format(string, sizeof(string), "Munição da arma na mão: %d", ammo);
  157.     SendClientMessage(playerid, -1,string);
  158.     format(string, sizeof(string), "Ping: %d", ping);
  159.     SendClientMessage(playerid, -1,string);
  160.     format(string, sizeof(string), "Dinheiro: %d", money);
  161.     SendClientMessage(playerid, -1,string);
  162.     return 1;
  163. }
  164.  
  165. CMD:asay(playerid, params[])
  166. {
  167.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  168.  new Nome[MAX_PLAYER_NAME], string[128];
  169.  GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
  170.  if(isnull(params)) return SendClientMessage(playerid, -1, "/asay [Mensagem]");
  171.  format(string, sizeof(string), "[Global Administrador] %s: %s", Nome, params);
  172.  SendClientMessageToAll(-1, string);
  173.  return 1;
  174. }
  175.  
  176. CMD:jetpack(playerid)
  177. {
  178.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  179.  new name[MAX_PLAYER_NAME], string[23 + MAX_PLAYER_NAME];
  180.  GetPlayerName(playerid, name, sizeof(name));
  181.  format(string, sizeof(string), "O Administrador %s criou um jetpack", name);
  182.  SendClientMessageToAll(-1, string);
  183.  SetPlayerSpecialAction(playerid, 2);
  184.  return 1;
  185. }
  186.  
  187. CMD:dararma(playerid, params[])
  188. {
  189.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  190.  new ID,IDA,BLS;
  191.  if(sscanf(params,"udi",ID,IDA,BLS)) return SendClientMessage(playerid,-1,"/dararma [id] [id da arma] [munição]");
  192.  if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"O jogador não está conectado");
  193.  GivePlayerWeapon(ID,IDA,BLS);
  194.  new string[128];
  195.  new str[100];
  196.  format(str,sizeof(str),"Você deu á %s uma arma ID: %d com %d de munição!",GetPlayerNameEx(ID),IDA,BLS);
  197.  SendClientMessage(playerid,-1,str);
  198.  format(string,sizeof(string),"O(a)Administrador(a) %s lhe deu uma arma ID: %d com %d de munição!",GetPlayerNameEx(playerid),IDA,BLS);
  199.  SendClientMessage(ID,-1,string);
  200.  return 1;
  201. }
  202.  
  203. CMD:tr(playerid, params[])
  204. {
  205.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  206.  new id, Float: x, Float: y, Float: z, string[256], string2[256], namep[MAX_PLAYER_NAME], namead[MAX_PLAYER_NAME];
  207.  if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1,"Use: /tr [id]");
  208.  if(id == playerid) return SendClientMessage(playerid, -1, "Você não pode trazer em você mesmo");
  209.  if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1,"Este jogador não está online");
  210.  GetPlayerName(playerid, namead, sizeof(namead));
  211.  GetPlayerName(id, namep, sizeof(namep));
  212.  format(string, sizeof(string), "Trouxe o player %s até você.", namep);
  213.  format(string2, sizeof(string2), "%s  trouxe você até ele.", namead);
  214.  SendClientMessage(playerid, -1, string);
  215.  SendClientMessage(id, -1, string2);
  216.  GetPlayerPos(playerid, x, y, z);
  217.  SetPlayerPos(id, x+1, y+1, z);
  218.  return 1;
  219. }
  220.  
  221. CMD:kick(playerid, params[])
  222. {
  223.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  224.  new tmp[256], tmp2[256], idx;
  225.  tmp = strtok(params, idx);
  226.         tmp2 = strtok2(params, idx);
  227.  
  228.             if(!strlen(tmp)||!strlen(tmp2))
  229.                         return SendClientMessage(playerid,-1,"/kick [id] [motivo]");
  230.  
  231.             new id;
  232.                 if(!IsNumeric(tmp))
  233.                         id = ReturnPlayerID(tmp);
  234.                 else
  235.                         id = strval(tmp);
  236.  
  237.                 if(!IsPlayerConnected(id))
  238.                 return SendClientMessage(playerid, -1, "ID inválido!");
  239.  
  240.        new cargos[64], string[128];
  241.        if(pAdmin[playerid][Level] == 1) { cargos = "Administrador"; }
  242.        if(pAdmin[playerid][Level] == 2) { cargos = "Administrador"; }
  243.        if(pAdmin[playerid][Level] == 3) { cargos = "Administrador"; }
  244.        if(pAdmin[playerid][Level] == 4) { cargos = "Administrador"; }
  245.        if(pAdmin[playerid][Level] == 5) { cargos = "Game Master"; }
  246.        format(string, sizeof(string), "FSystem: %s foi kickado pelo %s %s pelo motivo: %s", GetName(id),cargos,GetName(playerid),tmp2);
  247.        SendClientMessageToAll(0xFF7777AA, string);
  248.        Kick(id);
  249.        return 1;
  250. }
  251.  
  252. CMD:vida(playerid, params[])
  253. {
  254.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1, "Você não é um Administrador");
  255.  new health, giveplayer[MAX_PLAYER_NAME+1], sendername[MAX_PLAYER_NAME+1], idx, string[264], tmp[264], giveplayerid;
  256.  GetPlayerName(playerid, sendername, sizeof(sendername));
  257.  GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
  258.  tmp = strtok(params, idx);
  259.  if(!strlen(tmp))
  260.     {
  261.         SendClientMessage(playerid,-1,"Uso: /vida [id do player] [vida]");
  262.         return 1;
  263.     }
  264.  giveplayerid = strval(tmp);
  265.  tmp = strtok(params, idx);
  266.  if(!strlen(tmp))
  267.     {
  268.         SendClientMessage(playerid,-1,"Uso: /vida [id do player] [vida]");
  269.         return 1;
  270.     }
  271.     health = strval(tmp);
  272.     if(health < 0 || health > 100)
  273.     {
  274.         SendClientMessage(playerid,-1,"Quantidade de vida inválida!");
  275.         return 1;
  276.     }
  277.             if(IsPlayerConnected(giveplayerid))
  278.             {
  279.                 SetPlayerHealth(giveplayerid,health);
  280.                 GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
  281.                 format(string, 256, "** %s deu vida para %s", GetName(playerid), giveplayer);
  282.                 MensagemLocal(giveplayerid, -1, string, 60);
  283.             }
  284.     return 1;
  285. }
  286.  
  287. CMD:olhar(playerid, params[])
  288. {
  289.  if(pAdmin[playerid][Level] >= 1)return SendClientMessage(playerid, -1,"Você não é um Administrador");
  290.  new tmp[256];
  291.  new specplayerid, idx;
  292.  tmp = strtok(params, idx);
  293.  specplayerid = strval(tmp);
  294.  
  295.  if(!IsPlayerConnected(specplayerid))
  296.  {
  297.   SendClientMessage(playerid, -1, "Player não encontrado.");
  298.   return 1;
  299.   }
  300.  
  301.  TogglePlayerSpectating(playerid, 1);
  302.  PlayerSpectatePlayer(playerid, specplayerid);
  303.  SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  304.  gSpectateID[playerid] = specplayerid;
  305.  gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
  306.  SendClientMessage(playerid, -1, "Atenção Administrador você entrou no modo espectador, para sair digite /olharoff");
  307.  return 1;
  308. }
  309.  
  310. CMD:olharoff(playerid, params[])
  311. {
  312.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1, "Você não é um Administrador");
  313.  TogglePlayerSpectating(playerid, 0);
  314.  gSpectateID[playerid] = INVALID_PLAYER_ID;
  315.  gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  316.  SendClientMessage(playerid, -1, "Você saiu do modo espectador");
  317.  return 1;
  318. }
  319.  
  320. CMD:ir(playerid, params[])
  321. {
  322.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  323.  new id = strval(params);
  324.  if(isnull(params)) return SendClientMessage(playerid, -1, "/ir [playerid]");
  325.  if(id == playerid) return SendClientMessage(playerid, -1, "Você não pode ir em você mesmo");
  326.  if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "O player não está conectado");
  327.  new Float:X2, Float:Y2, Float:Z2, Pname[24];
  328.  GetPlayerPos(id, X2, Y2, Z2);
  329.  GetPlayerName(id, Pname, 24);
  330.  SetPlayerPos(playerid, X2, Y2, Z2);
  331.  new String[56];
  332.  format(String, sizeof(String), "Você foi ate %s(%d)", Pname, id);
  333.  SendClientMessage(playerid, -1, String);
  334.  return 1;
  335. }
  336.  
  337. CMD:vidat(playerid)
  338. {
  339.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  340.  new i;
  341.  SetPlayerHealth(i,100);
  342.  new string2[72];
  343.  format(string2, sizeof(string2), "%s deu vida para todos",(playerid));
  344.  SendClientMessageToAll( -1, string2);
  345.  SendClientMessage(playerid, -1, "Você deu vida para todos");
  346.  return 1;
  347. }
  348.  
  349. CMD:congelar(playerid, params[])
  350. {
  351.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  352.   new tmp[256], idx, string[128];
  353.         tmp = strtok(params, idx);
  354.  
  355.         new id;
  356.         if(!IsNumeric(tmp))
  357.                 id = ReturnPlayerID(tmp);
  358.         else
  359.                 id = strval(tmp);
  360.  
  361.         if(!strlen(tmp))
  362.             return SendClientMessage(playerid, -1, "/congelar [id]");
  363.  
  364.         if(!IsPlayerConnected(id))
  365.                 return SendClientMessage(playerid, -1, "ID inválido!");
  366.  
  367.                 TogglePlayerControllable(id, 0);
  368.  
  369.                 format(string, 128, "%s foi congelado pelo %s.", GetName(id), GetName(playerid));
  370.                 MensagemLocal(id, -1, string, 60);
  371.  
  372.         return 1;
  373.  
  374. }
  375.  
  376. CMD:descongelar(playerid, params[])
  377. {
  378.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  379.     new tmp[256], idx, string[128];
  380.         tmp = strtok(params, idx);
  381.  
  382.         new id;
  383.         if(!IsNumeric(tmp))
  384.                 id = ReturnPlayerID(tmp);
  385.         else
  386.                 id = strval(tmp);
  387.  
  388.         if(!strlen(tmp))
  389.             return SendClientMessage(playerid, -1, "/descongelar [id]");
  390.  
  391.         if(!IsPlayerConnected(id))
  392.                 return SendClientMessage(playerid, -1, "ID inválido!");
  393.  
  394.                 TogglePlayerControllable(id, 1);
  395.  
  396.                 format(string, 128, "%s foi descongelado pelo %s.", GetName(id), GetName(playerid));
  397.                 MensagemLocal(id, -1, string, 60);
  398.  
  399.         return 1;
  400.  
  401. }
  402.  
  403. CMD:tapa(playerid, params[])
  404. {
  405.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  406.         new tmp[256], Float:health, Float:pos[3], idx;
  407.                 tmp = strtok(params, idx);
  408.  
  409.                 new id;
  410.                 if(!IsNumeric(tmp))
  411.                         id = ReturnPlayerID(tmp);
  412.                 else
  413.                         id = strval(tmp);
  414.  
  415.                 if(!strlen(tmp))
  416.                     return SendClientMessage(playerid, -1, "/tapa [id]");
  417.  
  418.                 if(!IsPlayerConnected(id))
  419.                         return SendClientMessage(playerid, -1, "ID inválido!");
  420.  
  421.                 GetPlayerHealth(id, health);
  422.                 SetPlayerHealth(id, health-5);
  423.                 GetPlayerPos(id, pos[0], pos[1], pos[2]);
  424.                 SetPlayerPos(id, pos[0], pos[1], pos[2]+5);
  425.  
  426.                 new string[128];
  427.                 format(string, 256, "%s levou um tapa de %s", GetName(id), GetName(playerid));
  428.                 MensagemLocal(id, -1, string, 60);
  429.  
  430.         return 1;
  431. }
  432.  
  433. CMD:ban(playerid, params[])
  434. {
  435.  if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
  436.  new tmp[256], tmp2[256], idx;
  437.  tmp = strtok(params, idx);
  438.  tmp2 = strtok2(params, idx);
  439.  
  440.  new id;
  441.  if(!IsNumeric(tmp))
  442.     id = ReturnPlayerID(tmp);
  443.     else
  444.     id = strval(tmp);
  445.  
  446.  if(!IsPlayerConnected(id))
  447.   return SendClientMessage(playerid, -1, "ID inválido!");
  448.  
  449.  SendFormattedMessageToAll(-1, "FSystem: %s foi Banido pelo %s %s | Motivo: %s", GetName(id), GetLevelAdmin(playerid), GetName(playerid), tmp2);
  450.  Ban(id);
  451.  return 1;
  452. }
  453.  
  454. stock GetLevelAdmin(levelid)
  455. {
  456.     new str[50];
  457.     if(levelid == 1)
  458.     {
  459.         str = "1";
  460.     }
  461.     else if (levelid == 2)
  462.     {
  463.         str = "2";
  464.     }
  465.     else if (levelid == 3)
  466.     {
  467.         str = "3";
  468.     }
  469.     else if (levelid == 4)
  470.     {
  471.         str = "4";
  472.     }
  473.     else if (levelid == 5)
  474.     {
  475.         str = "5";
  476.     }
  477.     return str;
  478. }
  479.  
  480. strtok(const string[], &index)
  481. {
  482.     new length = strlen(string);
  483.     while ((index < length) && (string[index] <= ' '))
  484.     {
  485.         index++;
  486.     }
  487.  
  488.     new offset = index;
  489.     new result[20];
  490.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  491.     {
  492.         result[index - offset] = string[index];
  493.         index++;
  494.     }
  495.     result[index - offset] = EOS;
  496.     return result;
  497. }
  498.  
  499. stock strtok2(const string[], &index)
  500. {
  501.  new lenGT = strlen(string);
  502.  while ((index < lenGT) && (string[index] <= ' '))
  503. {
  504.  index++;
  505. }
  506.  new offset = index;
  507.  new result[70];
  508.  while ((index < lenGT) && ((index - offset) < (sizeof(result) - 1)))
  509. {
  510.  result[index - offset] = string[index];
  511.  index++;
  512. }
  513.  result[index - offset] = EOS;
  514.  return result;
  515. }
  516.  
  517. stock ReturnPlayerID(PlayerName[])
  518. {
  519.         new found=0, id;
  520.         for(new i=0; i <= MAX_PLAYERS; i++)
  521.         {
  522.             if(IsPlayerConnected(i))
  523.             {
  524.                 new foundname[MAX_PLAYER_NAME+1];
  525.                 GetPlayerName(i, foundname, MAX_PLAYER_NAME+1);
  526.                 new namelen = strlen(foundname);
  527.                 new bool:searched=false;
  528.                 for(new pos=0; pos <= namelen; pos++)
  529.                 {
  530.                     if(searched != true)
  531.                     {
  532.                         if(strfind(foundname,PlayerName,true) == pos)
  533.                         {
  534.                             found++;
  535.                             id = i;
  536.                         }
  537.                     }
  538.                 }
  539.             }
  540.         }
  541.  
  542.         if(found == 1)
  543.             return id;
  544.         else
  545.             return INVALID_PLAYER_ID;
  546. }
  547.  
  548. stock GetName(playerid)
  549. {
  550.     new
  551.         pName[MAX_PLAYER_NAME];
  552.  
  553.     GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  554.     return pName;
  555. }
  556.  
  557. IsNumeric(const string[])
  558. {
  559.  for (new i = 0, j = strlen(string); i < j; i++)
  560. {
  561.  if (string[i] > '9' || string[i] < '0') return 0;
  562. }
  563.  return 1;
  564. }
  565.  
  566. stock GetPlayerNameEx(playerid)
  567. {
  568.  new pName[25];
  569.  GetPlayerName(playerid, pName, sizeof(pName));
  570.  return pName;
  571. }
  572.  
  573. stock GetDistanceBetweenPlayers(playerid,playerid2)
  574. {
  575.  new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  576.  new Float:tmpdis;
  577.  GetPlayerPos(playerid,x1,y1,z1);
  578.  GetPlayerPos(playerid2,x2,y2,z2);
  579.  tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  580.  return floatround(tmpdis);
  581. }
  582.  
  583. stock MensagemLocal(playerid, cor, text[], distancia)
  584. {
  585.     for(new i=0; i <= MAX_PLAYERS; i++)
  586.     if(GetDistanceBetweenPlayers(playerid, i) <= distancia)
  587.     {
  588.         if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
  589.         {
  590.             new string[128];
  591.             format(string, 128, text);
  592.             SendClientMessage(i,cor,string);
  593.         }
  594.     }
  595.     return 1;
  596. }
  597.  
  598. #else
  599. #endif
Advertisement
Add Comment
Please, Sign In to add comment