// Filter Script de Doenca.
// Teste de funcionalidade
#include <a_samp>
#include <a_players>
#define Vermelho 0xAA3333AA
#define FILTERSCRIPT
// Nome das Doencas e/ou cura
#define AIDS 0
#define GRIPE 1
#define CURADO 2
forward Doencas (playerid);
forward VerificarDoentes (playerid);
new Remedio [1];
new Doente [MAX_PLAYERS];
new Sorteio [4]{
{AIDS}
{GRIPE}
{CURADO}
{CURADO};
}
public OnFilterScriptInit ()
{
Remedio [0] = CreatePickup (1241,23,1876.3054,2237.0911,11.1250);
SetTimer("Doencas", 200000, true);//Chama funcao a cada 5 minutos.
SetTimer("VerificarDoentes", 80000, true);//Chama funcao a cada 2 minutos.
return 1;
}
public Doencas(playerid);//A cada 5 minutos essa callback dara uma doenca ao player.
for(new i=0 i < MAX_PLAYERS; i++)
{
SendClientMessage(i, Vermelho, Fique atento, voce pode estar doente)
new rand = random (sizeof (Sorteio));
if(rand == AIDS)
{
Doente[playerid] = AIDS;
}
else if(rand == GRIPE)
{
Doente[playerid] = GRIPE;
}
else if(rand == CURADO)
if(Doente[playerid] >= 1)
{
Doente[playerid] = 0;
}
}
return 1;
}
public VerificarDoentes(playerid); // a cada minuto este callback sera chamado e tirara um tanto da vida.
for(new i = 0 i < MAX_PLAYERS; i++)
{
new Float:Vida;
SetPlayerHealth (playerid, Vida);
if(Doente[i] == AIDS)
{
SetPlayerHealth (playerid, Vida-40);
SendClientMessage (playerid, "Voce esta com AIDS, em breve morrera, procure assistencia");
}
else if(Doente[i] == GRIPE)
{
SetPlayerHealth (playerid, Vida-10);
SendClientMessage (playerid, "Voce esta gripado, procure um medico para nao piorar");
}
return 1;
}
public OnPlayerDeath (playerid)
{
if(Doente[playerid] == AIDS || Doente[playerid] == GRIPE)
{
Doente[playerid] = CURADO; //Se o player morreu com uma das doencas ele esta curado.
SendClientMessage (playerid, Vermelho, "Vocк morreu e foi curado de todas as doenзas");
}
return 1;
}
public OnPlayerPickupPickup (playerid, pickupid)
{//Ao passar em cima do icone da pilula.
if (Pickup == Remedio)
{
SendTextForPlayer (playerid, "Use /curar para ser curado", 1000, 5);
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/curar", true)== 0)
{
if (IsPlayerInRangeOfPoint(playerid, 3.0,1876.3054,2237.0911,11.1250);
{
if (Doente[playerid] == AIDS || Doente[playerid] == GRIPE)
{
Doente[playerid] = CURADO
SendClientMessage (playerid, Vermelho, "Voce esta curado agora. Desfrute sua vida!");
}
else
{
SendClientMessage (playerid, Vermelho, "Voce nao esta doente. Nao precisa ser curado.");
}
}
else
{
SendClientMessage (playerid, Vermelho, "Voce nao esta no local de cura. Va ao hospital.");
}
return 1;
}
return 0;
}
// Terminado. Meu primeiro FS com a ajuda de outros FS's. ((Ainda estou aprendendo ne?!))
// =D

|
forward Doencas (playerid);
forward VerificarDoentes (playerid); |