Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- new bool:EventoExistindo;
- new bool:IsplayerInEvento[MAX_PLAYERS];
- new Float:EventoX, Float:EventoY, Float:EventoZ, EventoInterior;
- #define EVENTO 1
- #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
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(evento, cmdtext);
- return 0;
- }
- dcmd_evento(playerid, params[])
- {
- new tmp[256], idx, cmd;
- new string[128];
- tmp = strtok(params, idx);
- if(!strlen(tmp))
- return SendClientMessage(playerid,-1,"Uso: /evento [criar/fechar/armas/ir]");
- if(strcmp(tmp, "criar", true)==0)
- cmd = 1;
- else if(strcmp(tmp, "fechar", true)==0)
- cmd = 2;
- else if(strcmp(tmp, "armas", true)==0)
- cmd = 3;
- else if(strcmp(tmp, "ir", true)==0)
- cmd = 4;
- else return SendClientMessage(playerid,-1,"Uso: /evento [criar/fechar/armas/ir]");
- if(cmd == 1)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é um administrador do servidor!");
- ShowPlayerDialog(playerid, EVENTO, DIALOG_STYLE_INPUT, "Criar evento!", "Digite um nome para o evento:", "Avançar", "Cancelar");
- if(EventoExistindo == true) return SendClientMessage(playerid, -1, "Já tem um evento criado /evento fechar");
- EventoExistindo = true;
- }
- if(cmd == 2)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é um administrador do servidor!");
- if(EventoExistindo == false) return SendClientMessage(playerid,-1, "[ ERROR ] >>Nem um evento existente!");
- new str[128]; new nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, nome, sizeof(nome));
- format(str, sizeof(str), "O administrador %s fechou o evento que estava ativo", nome);
- }
- if(cmd == 3)
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Você não é um administrador do servidor!");
- if(EventoExistindo == false) return SendClientMessage(playerid,-1, "[ ERROR ] >>Nem um evento existente!");
- 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");
- }
- if(cmd == 4)
- {
- if(EventoExistindo == false) return SendClientMessage(playerid,-1,"Não há nenhum evento acontecendo!");
- IsplayerInEvento[playerid] = true;
- SetPlayerPos(playerid, EventoX, EventoY, EventoZ);
- SetPlayerInterior(playerid, EventoInterior);
- GameTextForPlayer(playerid, "Bem vindo ao evento", 100, 0);
- }
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == EVENTO)
- {
- if(!response)
- {
- EventoExistindo = false;
- SendClientMessage(playerid, -1, "[EVENTO] >> Você cancelou o evento!");
- }
- else
- {
- GetPlayerPos(playerid, EventoX, EventoY, EventoZ);
- EventoInterior = GetPlayerInterior(playerid);
- new nome[MAX_PLAYER_NAME]; new str[128];
- GetPlayerName(playerid, nome, sizeof(nome));
- format(str, sizeof(str), "O administrador %s Criou um evento de: %s | /evento ir", nome, inputtext);
- SendClientMessageToAll(-1, str);
- }
- }
- if(dialogid == EVENTO+1)
- {
- if(!response)
- {
- SendClientMessage(playerid, -1, "[EVENTO] Comando cancelado");
- }
- else
- {
- new arma, amo;
- arma = strval(inputtext);
- amo = 99999;
- if(arma < 0 ) return SendClientMessage(playerid, -1, "[EVENTO - ERROR] >> Não tem armas com id 0");
- new str[128]; new nome[MAX_PLAYER_NAME], narma[15]; GetPlayerName(playerid, nome, sizeof(nome));
- GetWeaponName(arma, narma, sizeof(narma));
- format(str, sizeof(str), "O administrador %s deu %s a todos no evento!", nome, narma);
- SendClientMessageToAll(-1, str);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsplayerInEvento[i] == true)
- {
- GivePlayerWeapon(i, arma, amo); //quem estiver de /evento ir ira ganha
- }
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement