10.06.2011, 17:29
Quote:
PHP код:
|
e uma pregunta: qdo for apagar o fogo tem q digitar /bm tda vez? q for apagar?
olha como ta..
sу adcionei a coordenada ali onde vc falou pra aparecer os fogos e talz.. e diminui o tempo pra testar n fikar esperando 10minutos
Код:
#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] = { {1945.0302,-1770.4335,13.3906}, //TROQUE PELAS COORDENADAS QUE O FOGO PODE ESTAR {1352.3875,-1756.2349,13.5078} //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", 70000, true); // diminui o tempo pra testar pra n precisar fikar esperando 10minutos pra ir apagar o fogo 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 !