23.03.2011, 20:04
Код:
/* [FS] Sistema de Cвncer
Decidi criar este sistema porque nunca vi um igual, e para ser original e nгo andar sempre a fazer os mesmos scripts decidi criar.
Nгo estб 100% pronto, mas, cada um adapte ao seu sistema e pode fazer alteraзхes (desde que mantenha os crйditos originais).
Criador: Diogo_Bras
Versгo: 0.1 BETA
Bugs: Deve conter alguns, nгo testei tudo ao promenor. */
#include <a_samp>
//New's
new Cancer[MAX_PLAYERS] = 0;// Cвncer 1 = Cвncer do estфmago, Cвncer 2 = Cвncer na cabeзa, Cвncer 3 = Cвncer Pulmonar, Cвncer 4 = Cвncer da pele
new CancerCura[MAX_PLAYERS] = 0;
new Float:Saude;
new CancerAleatorio;
//Forwards
forward ObterCancer(playerid);
//Defines
#define Azul 0x4682B4
#define Amarelo 0xEEAD0EFF
#define Vermelho 0xEE0000FF
public OnFilterScriptInit()
{
SetTimer("ObterCancer", TEMPO, false); //TEMPO - Coloca o tempo que quiser
}
public ObterCancer(playerid)
{
if(Cancer[playerid] < 1)
{
for(new i=0;i<500;i++)
{
CancerAleatorio = random(4);
switch(CancerAleatorio)
{
case 0: //Cвncer no estфmago
{
Cancer[i] = 1;
SendClientMessage(i, Amarelo, "Vocк estб com um problema super grave, tudo indica que vocк ganhou um cвncer no estфmago!");
SendClientMessage(i, Amarelo, "Um cвncer no estфmago pode ser fatal, aja rбpido...");
SendClientMessage(i, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetPlayerCheckpoint(playerid, Cordenada:X, Cordenada:Y, Cordenada:Z, 5); //Aqui coloca as cordenadas onde quer que fique o checkpoint
}
case 1: //Cвncer 2 = Cвncer na cabeзa
{
Cancer[i] = 2;
SendClientMessage(i, Amarelo, "Vocк estб num estado critico, ganhou um cвncer na cabeзa!");
SendClientMessage(i, Amarelo, "Nгo perca tempo, tem de tomar uma atitude o mais rбpido possнvel...");
SendClientMessage(i, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinar vermelho no mapa.");
SetPlayerCheckpoint(playerid, Cordenada:X, Cordenada:Y, Cordenada:Z, 5); //Aqui coloca as cordenadas onde quer que fique o checkpoint
}
case 2: //Cвncer 3 = Cвncer Pulmonar
{
Cancer[i] = 3;
SendClientMessage(i, Amarelo, "Foi-lhe diagnosticado cвncer nos pulmхes!");
SendClientMessage(i, Amarelo, "Um cвncer nos pulmхes pode provocar imensas dores, nгo fique parado...");
SendClientMessage(i, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetPlayerCheckpoint(playerid, Cordenada:X, Cordenada:Y, Cordenada:Z, 5); //Aqui coloca as cordenadas onde quer que fique o checkpoint
}
case 3: //Cвncer da pele
{
Cancer[i] = 4;
SendClientMessage(i, Amarelo, "Vocк possuн um cвncer de pele!");
SendClientMessage(i, Amarelo, "Um cвncer na pele pode-lhe provocar vбrios ferimentos, atй a morte...");
SendClientMessage(i, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetPlayerCheckpoint(playerid, Cordenada:X, Cordenada:Y, Cordenada:Z, 5); //Aqui coloca as cordenadas onde quer que fique o checkpoint
}
}
return 1;
}
}
else
{
if(Cancer[playerid] == 1) //Cвncer no estфmago
{
GetPlayerHealth(playerid, Saude);
SetPlayerHealth(playerid, Saude-8);
SendClientMessage(playerid, Vermelho, "O cвncer no estфmago estб-lhe a provocar ferimentos na saъde.");
SendClientMessage(playerid, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetTimerEx("ObterCancer", TEMPO, false, "i", playerid); //TEMPO - Coloca o tempo que quiser
}
else if(Cancer[playerid] == 2) //Cвncer 2 = Cвncer na cabeзa
{
GetPlayerHealth(playerid, Saude);
SetPlayerHealth(playerid, Saude-19);
SendClientMessage(playerid, Vermelho, "O cвncer na cabeзa estб-lhe a provocar dores dulorosas.");
SendClientMessage(playerid, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetTimerEx("ObterCancer", TEMPO, false, "i", playerid); //TEMPO - Coloca o tempo que quiser
}
else if(Cancer[playerid] == 3) //Cвncer 3 = Cвncer Pulmonar
{
GetPlayerHealth(playerid, Saude);
SetPlayerHealth(playerid, Saude-6);
SendClientMessage(playerid, Vermelho, "O cвncer nos pulmхes estб-lhe a provocar danos na saъde.");
SendClientMessage(playerid, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetTimerEx("ObterCancer", TEMPO, false, "i", playerid); //TEMPO - Coloca o tempo que quiser
}
else if(Cancer[playerid] == 4) //Cвncer da pele
{
GetPlayerHealth(playerid, Saude);
SetPlayerHealth(playerid, Saude-12);
SendClientMessage(playerid, Vermelho, "O cвncer na pele estб-lhe a provocar ferimentos rбpidos.");
SendClientMessage(playerid, Vermelho, "Vб de urgкncia para o hospital, ele estб indicado por um sinal vermelho no mapa.");
SetTimerEx("ObterCancer", TEMPO, false, "i", playerid); //TEMPO - Coloca o tempo que quiser
}
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
Cancer[playerid] = 0;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/curarcancer", true) == 0)
{
if (CancerCura[playerid] == 1 || IsPlayerInRangeOfPoint(playerid, 4.0, Cordenada:X, Cordenada:Y, Cordenada:Z)) //Aqui coloca as cordenadas do checkpoint que criou em cima.
{
Cancer[playerid] = 0;
CancerCura[playerid]--;
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, Azul, "Vocк conseguiu curar o seu cвncer. Tenha cuidado, para nгo ganhar nenhum tipo de infeзхes.");
DisablePlayerCheckpoint(playerid);
}
else
{
SendClientMessage(playerid, Amarelo,"Vocк nгo adquiu a cura para o cвncer.");
SendClientMessage(playerid, Amarelo, "Para obter a cura do cвncer, vб para o hospital que estб indicado por um sinal vermelho no seu mapa.");
}
return 1;
}
return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
CancerCura[playerid]++;
SendClientMessage(playerid, 0x33CCFFAA, "Vocк chegou ao hospital, jб pode curar o seu cвncer");
SendClientMessage(playerid, 0x33CCFFAA, "Use /curarcancer para obter a cura para o seu cвncer");
return 1;
}
O script tem bugs, tambйm foi feito um pouco rбpido de mais... mas, quando tiver tempo corrigo isso e melhoro o explicamento de tudo

Podem alterar, desde que matenham os crйditos originais!
Pastebin - http://pastebin.com/YF3YuYjZ


