// 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); |