Estava sem nada pra fazer entгo fiz aqui pra vc.
pawn Код:
// FS Eventos Codado por Kuddy
#include <a_samp>
#include <foreach>
new bool:PlayerNoEvento[MAX_PLAYERS];
public OnFilterScriptInit()
{
printf("FS eventos codado por Kuddy carregado");
return 1;
}
public OnPlayerConnect(playerid)
{
if(PlayerNoEvento[playerid])
{
PlayerNoEvento[playerid] = false;
UpdateEvento();
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(PlayerNoEvento[playerid])
{
PlayerNoEvento[playerid] = false;
UpdateEvento();
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(PlayerNoEvento[playerid])
{
PlayerNoEvento[playerid] = false;
UpdateEvento();
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(PlayerNoEvento[playerid])
{
PlayerNoEvento[playerid] = false;
UpdateEvento();
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/iniciarevento", cmdtext, true, 10) == 0)
{
IniciarEvento();
SendClientMessage(playerid, -1, "Evento iniciado");
return 1;
}
if (strcmp("/cancelarevento", cmdtext, true, 10) == 0)
{
CancelarEvento();
SendClientMessage(playerid, -1, "Evento cancelado");
return 1;
}
return 0;
}
#define DIALOG_EVENTO 13325
IniciarEvento()
{
foreach(Player, pid) ShowPlayerDialog(pid, DIALOG_EVENTO, DIALOG_STYLE_MSGBOX, " >> Evento << ","Vocк quer participar do evento filho?\n Vamos, vai ser legal!", "Participar", "Nao");
SetTimer("LetesPray", 10000, false);
return 1;
}
new bool:EventoComecou;
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response && dialogid == DIALOG_EVENTO)
{
if(EventoComecou) return SendClientMessage(playerid, -1, "Demorou ;/");
PlayerNoEvento[playerid] = true;
SendClientMessage(playerid, 0x008000AA, "Kuddy's Event System:{FFFFFF} Vocк estб no evento!");
}
return 1;
}
forward LetesPray();
public LetesPray()
{
SendClientMessageToAll(-1, "Cetaloka!!!");
printf("Cetaloka");
foreach(Player, pid)
{
if(!PlayerNoEvento[pid])
{
SendClientMessage(pid, 0x008000AA, "Kuddy's Event System:{FFFFFF} O evento comeзou mбs vocк nгo irб participar!!!");
}
else
{
// Posiзгo e armas abaixo
SetPlayerPos(pid, 708.6522,1935.4539,5.5391); // Coordenadas X, Y, Z
GivePlayerWeapon(pid, 31, 9999); // M4 Infinita
}
}
return 1;
}
UpdateEvento()
{
new Counter = 0;
foreach(Player, pid) if(PlayerNoEvento[pid]) Counter ++;
if(Counter == 1) // Se restar apenas 1 sobrevivente no evento
{
foreach(Player, pid)
{
if(PlayerNoEvento[pid])
{
SendClientMessage(pid, -1, "Vocк ganhou o evento!");
// Funзхes do que vai acontecer quando o player ganhar o evento aqui
}
}
}
}
CancelarEvento()
{
foreach(Player, pid)
{
if(PlayerNoEvento[pid])
{
SpawnPlayer(pid);
}
}
return 1;
}
#edit: vocк irб precisar da include foreach feita pelo ******.