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