Advertisement
Guest User

Untitled

a guest
Jun 16th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.97 KB | None | 0 0
  1. new bool:EventoExistindo;
  2. new bool:IsplayerInEvento[MAX_PLAYERS];
  3. new Float:EventoX, Float:EventoY, Float:EventoZ, EventoInterior;
  4. #define EVENTO 1
  5.  
  6. #define dcmd(%1,%2) if (!strcmp((%2)[1], #%1, true, (strlen((#%1)))) && ((((%2)[(strlen((#%1))) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%2)[(strlen((#%1))) + 1] == ' ') && (dcmd_%1(playerid, (%2)[(strlen((#%1))) + 2]))))) return 1
  7. public OnPlayerCommandText(playerid, cmdtext[])
  8. {
  9.     dcmd(evento, cmdtext);
  10.     return 0;
  11. }
  12. dcmd_evento(playerid, params[])
  13. {
  14.     new tmp[256], idx, cmd;
  15.     new string[128];
  16.     tmp = strtok(params, idx);
  17.  
  18.     if(!strlen(tmp))
  19.         return SendClientMessage(playerid,-1,"Uso: /evento [criar/fechar/armas/ir]");
  20.     if(strcmp(tmp, "criar", true)==0)
  21.         cmd = 1;
  22.     else if(strcmp(tmp, "fechar", true)==0)
  23.         cmd = 2;
  24.     else if(strcmp(tmp, "armas", true)==0)
  25.         cmd = 3;
  26.     else if(strcmp(tmp, "ir", true)==0)
  27.     cmd = 4;
  28.     else return SendClientMessage(playerid,-1,"Uso: /evento [criar/fechar/armas/ir]");
  29.  
  30.     if(cmd == 1)
  31.     {
  32.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é um administrador do servidor!");
  33.         ShowPlayerDialog(playerid, EVENTO, DIALOG_STYLE_INPUT, "Criar evento!", "Digite um nome para o evento:", "Avançar", "Cancelar");
  34.         if(EventoExistindo == true) return SendClientMessage(playerid, -1, "Já tem um evento criado /evento fechar");
  35.         EventoExistindo = true;
  36.     }
  37.     if(cmd == 2)
  38.     {
  39.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é um administrador do servidor!");
  40.         if(EventoExistindo == false) return SendClientMessage(playerid,-1, "[ ERROR ] >>Nem um evento existente!");
  41.         new str[128]; new nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, nome, sizeof(nome));
  42.         format(str, sizeof(str), "O administrador %s fechou o evento que estava ativo", nome);
  43.     }
  44.     if(cmd == 3)
  45.     {
  46.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é um administrador do servidor!");
  47.         if(EventoExistindo == false) return SendClientMessage(playerid,-1, "[ ERROR ] >>Nem um evento existente!");
  48.         ShowPlayerDialog(playerid, EVENTO+1, DIALOG_STYLE_INPUT, "Evento Armas", "Escolha o id da arma que vocÊ dara a quem está no evento:", "Avançar", "Cancelar");
  49.     }
  50.     if(cmd == 4)
  51.     {
  52.         if(EventoExistindo == false) return SendClientMessage(playerid,-1,"Não há nenhum evento acontecendo!");
  53.         IsplayerInEvento[playerid] = true;
  54.         SetPlayerPos(playerid, EventoX, EventoY, EventoZ);
  55.         SetPlayerInterior(playerid, EventoInterior);
  56.         GameTextForPlayer(playerid, "Bem vindo ao evento", 100, 0);
  57.     }
  58.  
  59.     return 1;
  60. }
  61. strtok(const string[], &index)
  62. {
  63.     new length = strlen(string);
  64.     while ((index < length) && (string[index] <= ' '))
  65.     {
  66.         index++;
  67.     }
  68.  
  69.     new offset = index;
  70.     new result[20];
  71.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  72.     {
  73.         result[index - offset] = string[index];
  74.         index++;
  75.     }
  76.     result[index - offset] = EOS;
  77.     return result;
  78. }
  79. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  80. {
  81.      if(dialogid == EVENTO)
  82.     {
  83.  
  84.         if(!response)
  85.         {
  86.             EventoExistindo = false;
  87.             SendClientMessage(playerid, -1, "[EVENTO] >> Você cancelou o evento!");
  88.         }
  89.         else
  90.         {
  91.             GetPlayerPos(playerid, EventoX, EventoY, EventoZ);  
  92.             EventoInterior = GetPlayerInterior(playerid);
  93.             new nome[MAX_PLAYER_NAME];    new str[128];
  94.             GetPlayerName(playerid, nome, sizeof(nome));
  95.  
  96.             format(str, sizeof(str), "O administrador %s Criou um evento de: %s | /evento ir", nome, inputtext);
  97.             SendClientMessageToAll(-1, str);
  98.         }
  99.     }
  100.     if(dialogid == EVENTO+1)
  101.     {
  102.         if(!response)
  103.         {
  104.             SendClientMessage(playerid, -1, "[EVENTO] Comando cancelado");
  105.         }
  106.         else
  107.         {
  108.             new arma, amo;
  109.             arma = strval(inputtext);
  110.             amo = 99999;
  111.             if(arma < 0 ) return SendClientMessage(playerid, -1, "[EVENTO - ERROR] >> Não tem armas com id 0");
  112.             new str[128]; new nome[MAX_PLAYER_NAME], narma[15]; GetPlayerName(playerid, nome, sizeof(nome));
  113.             GetWeaponName(arma, narma, sizeof(narma));
  114.             format(str, sizeof(str), "O administrador %s deu %s a todos no evento!", nome, narma);
  115.             SendClientMessageToAll(-1, str);
  116.             for(new i = 0; i < MAX_PLAYERS; i++)
  117.             {
  118.                 if(IsplayerInEvento[i] == true)
  119.                 {
  120.                 GivePlayerWeapon(i, arma, amo); //quem estiver de /evento ir ira ganha
  121.                 }
  122.             }
  123.         }
  124.     }
  125.      return 1;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement