10.06.2011, 15:55
PHP код:
//FEITO POR SHADOWW5 ! FEITO POR SHADOWW5 !
//FEITO POR SHADOWW5 ! FEITO POR SHADOWW5 !
//FEITO POR SHADOWW5 ! FEITO POR SHADOWW5 !
#include <a_samp>
#define FILTERSCRIPT
#define HOLDING(%0) \
((newkeys & (%0)) == (%0))
#define RELEASED(%0) \
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
#define MAX_FOGO 2 //TROQUE PELA QUANTIDADE DE LOCAIS QUE VOCК COLOCAR AQUI EMBAIXO \/
new Float:Fogo[MAX_FOGO][3] = {
{0.0, 0.0, 0.0}, //TROQUE PELAS COORDENADAS QUE O FOGO PODE ESTAR
{0.1, 0.1, 0.1} //TROQUE PELAS COORDENADAS QUE O FOGO PODE ESTAR
};
new Servico[MAX_PLAYERS];
new Apagando[MAX_PLAYERS];
new Checagem[MAX_PLAYERS];
new F;
new Fire;
new Bombeiro[MAX_PLAYERS];
forward Check(playerid);
forward Fogoo();
public OnPlayerConnect(playerid)
{
Apagando[playerid] = 0;
Checagem[playerid] = 0;
Servico[playerid] = 0;
return 1;
}
public OnGameModeInit()
{
SetTimer("Fogoo", 600000, true); // 10 MINUTOS
F = 0;
return 1;
}
public Fogoo()
{
new fire = random(sizeof(Fogo));
if(F == 0)
{
Fire = CreateObject(18691, Fogo[fire][0], Fogo[fire][1], Fogo[fire][2], 0.0, 0.0, 0.0);
F++;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Bombeiro[i] == 1 && Servico[i] == 0)
{
new str[128];
format(str, sizeof(str), "Hб um novo foco de incкndio ! Siga o checkpoint com um carro de bombeiros ou com um extintor agora !!", Fogo[fire][0], Fogo[fire][1], Fogo[fire][2]);
SendClientMessage(i, -1, str);
SetPlayerCheckpoint(i, Fogo[fire][0], Fogo[fire][1], Fogo[fire][2], 8.0);
Servico[i] = 1;
return 1;
}
}
return 1;
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(Servico[playerid] == 1)
{
new extintor[2];
GetPlayerWeaponData(playerid, 9, extintor[0], extintor[1]);
if(GetPlayerState(playerid) == 2 && GetVehicleModel(GetPlayerVehicleID(playerid)) == 407 || extintor[0] != 42) return SendClientMessage(playerid, -1, "Vocк nгo estб em um carro de bombeiros ou nгo estб com um extintor !");
SendClientMessage(playerid, -1, "Vocк acaba de chegar no foco de incendio ! Aponte o extintor ou o jato d'agua para o fogo por 5 segundos para apagб-lo.");
Servico[playerid] = 2;
return 1;
}
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
if(Servico[playerid] == 2)
{
SendClientMessage(playerid, -1, "Vocк saiu do foco de incendio sem apagб-lo ...");
Servico[playerid] = 1;
return 1;
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(HOLDING(KEY_FIRE) && Servico[playerid] == 2)
{
SetTimerEx("Check", 1000, false, "i", playerid);
Checagem[playerid] = 1;
return 1;
}
if(RELEASED(KEY_FIRE) && Servico[playerid] == 2)
{
Checagem[playerid] = 0;
return 1;
}
return 1;
}
public Check(playerid)
{
if(Checagem[playerid] == 1)
{
Apagando[playerid]++;
Checagem[playerid]++;
SetTimerEx("Check", 1000, false, "i", playerid);
return 1;
}
if(Checagem[playerid] == 2)
{
Apagando[playerid]++;
Checagem[playerid]++;
SetTimerEx("Check", 1000, false, "i", playerid);
return 1;
}
if(Checagem[playerid] == 3)
{
Apagando[playerid]++;
Checagem[playerid]++;
SetTimerEx("Check", 1000, false, "i", playerid);
return 1;
}
if(Checagem[playerid] == 4)
{
Apagando[playerid]++;
Checagem[playerid]++;
SetTimerEx("Check", 1000, false, "i", playerid);
return 1;
}
if(Checagem[playerid] == 5 && Apagando[playerid] == 5)
{
SendClientMessage(playerid, -1, "Parabйns ! Vocк apagou o fogo !");
Checagem[playerid] = 0;
Apagando[playerid] = 0;
Servico[playerid] = 0;
DestroyObject(Fire);
F --;
return 1;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/bm", true) == 0)
{
if(Bombeiro[playerid] == 1) return SendClientMessage(playerid, -1, "Vocк jб й bombeiro.");
SendClientMessage(playerid, -1, "Vocк acaba de tornar-se um bombeiro");
Bombeiro[playerid] = 1;
return 1;
}
return 0;
}
//FEITO POR SHADOWW5 ! FEITO POR SHADOWW5 !
//FEITO POR SHADOWW5 ! FEITO POR SHADOWW5 !
//FEITO POR SHADOWW5 ! FEITO POR SHADOWW5 !