Primeiramente no TOPO Digite:
pawn Código:
new bool:TaNoX1[MAX_PLAYERS]; // Cria uma array com técnica de borleana.new Quantos; // Para contar quantos players tem em tal lugar.
Okay, depois de ter criado isto,
vamos em OnPlayerCommandText
pawn Código:
if(!strcmp("/X1", cmdtext, true)){if(Quantos == 2) return SendClientMessage(playerid, Vermelho," X1 está cheio, tente mais tarde.");SendClientMessageToAll(Branco,"[INFO] Alguém foi para x1 de duas pessoas, vai duelar também! ( / X1 ) ");SetPlayerPos(playerid,1494.0419, -1136.7343, 135.8281);Quantos += 1;TaNoX1[playerid] = true;return 1;}
Explicação:
if(Quantos == 2) < verifica Quandos players digitaram o comando. e se for igual a 2 ele manda a mensagem.
SendClientMessageToAll < Manda mensagem para todos que alguem foi para x1.
SetPlayerPos < Seta a posição do player.
Quantos += 1; < Adiciona Numero a variavel.
TaNoX1[playerid] = true; < Declara que ele está no x1 e seta para true (sim).
Agora vamos ao OnPlayerDeath
Adicione a na public.
pawn Código:
if(TaNoX1[playerid] == true){OnPlayerSpawn(playerid);OnPlayerSpawn(killerid)new string[50+MAX_PLAYER_NAME];new Nome[40][MAX_PLAYERS];new Nomi[40][MAX_PLAYERS];TaNoX1[playerid] = false;TaNoX1[killerid] = false;GetPlayerName(killerid, Nomi[killerid], 40);GetPlayerName(playerid, Nome[playerid], 40);format(string, sizeof(string),"[INFO] Mr.%s Ganhou no x1 contra %s.",Nomi[killerid], Nome[killerid]);SendClientMessageToAll(Branco, string);Quantos = 0;}
if(TaNoX1[playerid] == true) < verifica se está no x1.
OnPlayerSpawn(playerid); < manda nascer quem morreu
OnPlayerSpawn(killerid); < Manda Nascer Quem matou
TaNoX1[playerid] = false; < Declara Que Não está no X1 ( Quem morreu )
TaNoX1[killerid] = false; < Declara Que Não está no X1 ( Quem Matou )
GetPlayerName(killerid, Nomi[killerid], 40); < Pega o Nome de quem Matou
GetPlayerName(playerid, Nome[playerid], 40); < Pega o Nome de quem morreu
format(string, sizeof(string),"[INFO] Mr.%s Ganhou no x1 contra %s.",Nomi[killerid], Nome[killerid]); < Formata a string
SendClientMessageToAll(Branco, string); < manda a mensagem.
Créditos
- > [FeK]Garfield
Testadores & ajudantes
- > Cobertosinho
- > JVSell
Código pronto para os preguiçosos
pawn Código:
#include <a_samp> #define Branco \ 0xFAFAFAFF #define Vermelho \ 0xFF0023FF new bool:TaNoX1[MAX_PLAYERS], Quantos ; public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp("/X1", cmdtext, true, 4)) { if(Quantos == 2) return SendClientMessage(playerid, Vermelho," X1 está cheio, tente mais tarde."); SendClientMessageToAll(Branco,"[INFO] Alguém foi para x1 de duas pessoas, vai duelar também! ( / X1 ) "); SetPlayerPos(playerid,1494.0419, -1136.7343, 135.8281); Quantos += 1; TaNoX1[playerid] = true; return true; } return false; } public OnPlayerDeath(playerid, killerid, reason) { if(TaNoX1[playerid] == true) { new string[50+MAX_PLAYER_NAME], Nome[40][MAX_PLAYERS], Nomi[40][MAX_PLAYERS] ; TaNoX1[playerid] = false; TaNoX1[killerid] = false; GetPlayerName(killerid, Nomi[killerid], 40); GetPlayerName(playerid, Nome[playerid], 40); format(string, sizeof(string),"[INFO] Mr.%s Ganhou no x1 contra %s.",Nomi[killerid], Nome[killerid]); SendClientMessageToAll(Branco, string); Quantos = 0; } return true; }