Advertisement
DraKiNs

[FS] Sistema de Sinalizador

Jul 6th, 2011
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.38 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define DISTANCIA_SINALIZADOR   (70.0)
  4. #define DIALOG_LOJA     (1110)
  5.  
  6. new
  7.     bool:ComprouSinalizador[MAX_PLAYERS] = {false, ...},
  8.     SinalizadorPlayer[MAX_PLAYERS] = {0xFFFFFFFF, ...};
  9.  
  10. public OnPlayerConnect(playerid)
  11. {
  12.     return ComprouSinalizador[playerid] = true, SinalizadorPlayer[playerid] = -1, true;
  13. }
  14.  
  15.  
  16. public OnPlayerCommandText(playerid, cmdtext[])
  17. {
  18.     if(!strcmp(cmdtext, "/loja", true)) {
  19.         return ShowPlayerDialog(playerid, DIALOG_LOJA, DIALOG_STYLE_LIST, "Loja de Gambiarras", "Sinalizador", "Comprar", "Sair"), true;
  20.     }
  21.     if(!strcmp(cmdtext, "/acender", true)) {
  22.         if(SinalizadorPlayer[playerid] != 0xFFFFFFFF)
  23.             return SendClientMessage(playerid, 0xFFFFFFAA, "[Info] Você já soltou o sinalizador use /apagar");
  24.  
  25.         static
  26.             Float:x,
  27.             Float:y,
  28.             Float:z;
  29.  
  30.         GetPlayerPos(playerid, x, y, z);
  31.  
  32.         for(new i; i < MAX_PLAYERS; ++i) {
  33.             if(!IsPlayerInRangeOfPoint(i, DISTANCIA_SINALIZADOR, x, y, z)) continue;
  34.             SendClientMessage(playerid, 0xFFFFFFAA, "[Info] Um jogador acaba de soltar um sinalizador nas proximidades");
  35.         }
  36.  
  37.         SetTimerEx("OnPlayerCommandText", 10000, false, "is", playerid, "/apagar");
  38.         return SinalizadorPlayer[playerid] = CreateObject(354, x, y, z + (DISTANCIA_SINALIZADOR / 3), 10, 10, DISTANCIA_SINALIZADOR), true;
  39.     }
  40.     if(!strcmp(cmdtext, "/apagar", true)) {
  41.  
  42.         if(SinalizadorPlayer[playerid] == 0xFFFFFFFF)
  43.             return SendClientMessage(playerid, 0xFFFFFFAA, "[Info] Você ainda não soltou o sinalizador use /acender");
  44.  
  45.         SendClientMessage(playerid, 0xFFFFFFAA, "[Info] Sinalizador apagado");
  46.         DestroyObject(SinalizadorPlayer[playerid]);
  47.         return SinalizadorPlayer[playerid] = 0xFFFFFFFF, true;
  48.     }
  49.     return false;
  50. }
  51.  
  52.  
  53. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  54. {
  55.     if(dialogid == DIALOG_LOJA) {
  56.         if(!response)
  57.             return SendClientMessage(playerid, 0xFFFFFFFF, "[Info] Você cancelou a compra dos produtos");
  58.  
  59.         if(!listitem) {
  60.             ComprouSinalizador[playerid] = true;
  61.             SendClientMessage(playerid, 0xFFFFFFFF, "[Info] Você comprou o sinalizador, use /acender");
  62.         }
  63.         return true;
  64.     }
  65.     return false;
  66. }
  67.  
  68.  
  69. // Por Bruno da Silva
  70. // www.ips-team.blogspot.com
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement