05.08.2013, 23:46
Quote:
creio que o problema nao esteja nesse codigo mas sim na Public OnPlayerDeath
posta ela aew. |
Код:
public OnPlayerDeath(playerid, killerid, reason) { //============================================================================================================================================ // AntiFakeKill //============================================================================================================================================ if(killerid != INVALID_PLAYER_ID) { if(CallRemoteFunction("GetPlayerAdminLevel","i",playerid) < 1) { if(playerid == killerid) { new dbg15[100],pname[30]; GetPlayerName(playerid, pname, sizeof(pname)); format(dbg15, sizeof(dbg15), "[ADM]: Possнvel Fake-Kill prуprio de: %s (%i) - O player foi kickado automaticamente",playerid,pname); CallRemoteFunction("MessageToAdmins","is",COLOUR_AVISO,dbg15); Kick(playerid); } if(TickCounter - LastDeathTick[playerid] < 1) { new dbg15[100],pname[30]; GetPlayerName(playerid, pname, sizeof(pname)); format(dbg15, sizeof(dbg15), "[ADM]: Possнvel Fake-Kill mъltiplo de: %s (%i) - O player foi kickado automaticamente",playerid,pname); CallRemoteFunction("MessageToAdmins","is",COLOUR_AVISO,dbg15); Kick(playerid); return 0; } LastDeathTick[playerid] = TickCounter; } } //============================================================================================================================================ TextDrawHideForPlayer(playerid, Textdraw10); TextDrawHideForPlayer(playerid, Textdraw3); VPlayerMissao[playerid] = 0; //LOADER KillTimer(TeleLockTimer[playerid]); //RESETAR ARMAS POR SEGURANЗA ResetPlayerWeapons(playerid); TextDrawHideForPlayer(playerid,Status[playerid]); TextDrawHideForPlayer(playerid, Textdraw1); TextDrawHideForPlayer(playerid, Textdraw3); TextDrawHideForPlayer(playerid, TxDNotificador); new str_rec[128]; new str_ganhou[128]; new killer_name[MAX_PLAYER_NAME]; new playerid_name[MAX_PLAYER_NAME]; GetPlayerName(killerid, killer_name, MAX_PLAYER_NAME); GetPlayerName(playerid, playerid_name, MAX_PLAYER_NAME); if(killerid == INVALID_PLAYER_ID) { //SUICIDIDO //ANTI-ABUSO SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); SendoAbusado[playerid] = 0; LastKillerID[playerid] = INVALID_PLAYER_ID; } else { //ANTI-ABUSO NewKillerID[playerid] = killerid; if(NewKillerID[playerid] == LastKillerID[playerid] && ConnectedPlayers() > 4 && LastKillerID[playerid] != INVALID_PLAYER_ID && Arena[playerid] != 0){ SendoAbusado[playerid]++; if(SendoAbusado[playerid] > 6){ SendoAbusado[playerid] = 0; new LogString[150]; format(LogString, sizeof(LogString), "[ADM]: Possнvel abuso de score de %s (%i) [Matando: %s (%i)] [7x Kill+]", killer_name, killerid, playerid_name, playerid); CallRemoteFunction("SaveToFile","ss","AbusosScore",LogString); CallRemoteFunction("MessageToAdmins","is",COLOUR_AVISO,LogString); }}else{SendoAbusado[playerid] = 0;} LastKillerID[playerid] = killerid; //QUADRO DE MORTES SendDeathMessage(killerid,playerid,reason); // QUADRO DE MORTE //PLAYERID MATOU ALGUEM - $1000 if (ArenaTipo[killerid] != 4 && ArenaTipo[killerid] != 5){ SetPlayerScore(killerid,GetPlayerScore(killerid)+1); //+1 DE SCORE ScoreNaSessao[killerid]++; //Mensagens CheckAndShowScoreMarks(killerid); CallRemoteFunction("GivePlayerCash", "ii", killerid, 1000); // DINHEIRO }else{SendClientMessage(killerid, COLOUR_AVISO, "[ARENA]: As mortes nesta arena nгo serгo contabilizadas como score.");} //SPREE DAS ARENAS if(Arena[killerid] == 1){ArenaKills[killerid]++;} //ARENA A/D if(AAD_Team[killerid] == 1 && AAD_EmProgresso == 1 && AAD_Vai[killerid] == 1){AAD_Kills_1++;AAD_KillsPerPlayer[killerid]++;} if(AAD_Team[killerid] == 2 && AAD_EmProgresso == 1 && AAD_Vai[killerid] == 1){AAD_Kills_2++;AAD_KillsPerPlayer[killerid]++;} // PREMIO POR GANHAR ARENA if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 1 || ArenaTipo[playerid] == 4 || ArenaTipo[playerid] == 5){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[ARENA DM]: {FFFFFF}%s {00FF00}derrotou {FFFFFF}%s", killer_name, playerid_name); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 100); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~QUE VERGONHA MORREU!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MUITO BOM!", 3000, 5); if (ArenaTipo[playerid] != 4 && ArenaTipo[playerid] != 5){ SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); SendClientMessage(killerid, COLOUR_AVISO, "[ARENA]: Parabens vocк ganhou $3000 mais colete e saъde."); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000);}}} // PREMIO POR GANHAR COMBATE if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 6){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[COMBATE]: {FFFFFF}%s {00FF00}aniquilou {FFFFFF}%s", killer_name, playerid_name); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 100); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~NAO FOI DESTA VEZ!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MENOS UM!", 3000, 5); if (ArenaTipo[playerid] != 4 && ArenaTipo[playerid] != 5){ SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); SendClientMessage(killerid, COLOUR_AVISO, "[COMBATE]: Parabens vocк ganhou $3000 mais colete e saъde."); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000);}}} // PREMIO POR GANHAR COMBATE if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 7){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[COMBATE SNIPER]: {FFFFFF}%s {00FF00}aniquilou {FFFFFF}%s", killer_name, playerid_name); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 0); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~NAO FOI DESTA VEZ!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MENOS UM!", 3000, 5); if (ArenaTipo[playerid] != 4 && ArenaTipo[playerid] != 5){ SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); SendClientMessage(killerid, COLOUR_AVISO, "[COMBATE SNIPER]: Parabens vocк ganhou $3000 mais saъde."); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000);}}} // PREMIO POR GANHAR ARENA (PORRADA) if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 2){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[ARENA DM]: {FFFFFF}%s {00FF00}derrotou {FFFFFF}%s", killer_name, playerid_name); SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~QUE VERGONHA MORREU!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MUITO BOM!", 3000, 5); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 0); SendClientMessage(killerid, COLOUR_AVISO, "[ARENA]: Parabens vocк ganhou $3000 mais saъde."); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000);}} // PREMIO POR GANHAR ARENA X1 if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 3){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[X1] {FFFFFF}%s {00FF00}derrotou {FFFFFF}%s {00FF00}[X1]", killer_name, playerid_name); CallRemoteFunction("SaveToFile","ss","X1",ssss1); SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~QUE VERGONHA MORREU!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MUITO BOM!", 3000, 5); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 100); SendClientMessage(killerid, COLOUR_AVISO, "[X1]: Parabens vocк ganhou $3000!"); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000); SetTimerEx("timed_spawn",1000,0, "i", killerid);}} // PREMIO POR GANHAR ARENA X1 NOVA RUN if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 13){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[X1] {FFFFFF}%s {00FF00}derrotou {FFFFFF}%s {00FF00}[X1]", killer_name, playerid_name); CallRemoteFunction("SaveToFile","ss","X1",ssss1); SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~QUE VERGONHA MORREU!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MUITO BOM!", 3000, 5); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 100); SendClientMessage(killerid, COLOUR_AVISO, "[X1]: Parabens vocк ganhou $3000!"); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000); SetTimerEx("timed_spawn",1000,0, "i", killerid);}} // PREMIO POR GANHAR ARENA X1 NOVA WALK if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 14){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[X1 WALK] {FFFFFF}%s {00FF00}derrotou {FFFFFF}%s {00FF00}[X1 WALK]", killer_name, playerid_name); CallRemoteFunction("SaveToFile","ss","X1",ssss1); SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~QUE VERGONHA MORREU!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MUITO BOM!", 3000, 5); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 100); SendClientMessage(killerid, COLOUR_AVISO, "[X1]: Parabens vocк ganhou $3000!"); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000); SetTimerEx("timed_spawn",1000,0, "i", killerid);}} // PREMIO POR GANHAR ARENA X1 WALK if(Arena[playerid] == 1){if(ArenaTipo[playerid] == 8){ new ssss1[150]; format(ssss1, sizeof(ssss1), "{00FF00}[X1 WALK] {FFFFFF}%s {00FF00}derrotou {FFFFFF}%s {00FF00}[X1 WALK]", killer_name, playerid_name); CallRemoteFunction("SaveToFile","ss","X1W",ssss1); SendClientMessageToAll(COLOUR_INFORMACAO, ssss1); GameTextForPlayer(playerid,"~r~~n~~n~~n~~n~QUE VERGONHA MORREU!", 3000, 5); GameTextForPlayer(killerid,"~g~~n~~n~~n~~n~MUITO BOM!", 3000, 5); SetPlayerHealth(killerid, 100); SetPlayerArmour(killerid, 100); SendClientMessage(killerid, COLOUR_AVISO, "[X1]: Parabens vocк ganhou $3000!"); CallRemoteFunction("GivePlayerCash", "ii", killerid, 3000); SetTimerEx("timed_spawn",1000,0, "i", killerid); }} //EventoRecarregarLife if(NoEvento[killerid] == 1) { if(EventoAtivo == 1 && NoEvento[playerid] == 1 && EventoRecarregarLife == true) { SetPlayerHealth(killerid,100.0); if(EventoDarColete == 1) SetPlayerArmour(killerid,100.0); } } // BONUS DE KILL DE ARMA if(Arena[killerid] == 0){ if(reason == 42){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NO EXTINTOR: $250 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 250);} if(reason == 41){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NO SPRAY: $500 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 500);} if(reason == 9){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NA MOTOSSERRA: $750 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 750);} if(reason == 24){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NA DESERT EAGLE: $1000 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 1000);} if(reason == 23){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NA PISTOLA: $1250 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 1250);} if(reason == 22){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NAS PISTOLAS: $1500 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 1500);} if(reason == 34){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NO SNIPER RIFLE: $1750 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 1750);} if(reason == 33){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NO RIFLE: $2000 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 2000);} if(reason == 1){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NO SOCO INGLES: $2250 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 2250);} if(reason == 0){SendClientMessage(killerid, COLOUR_INFORMACAO, "[[[ BФNUS POR MATAR NA PORRADA: $2500 ]]]");CallRemoteFunction("GivePlayerCash", "ii", killerid, 2500);}} //CAMERA if(Arena[playerid] == 0){ if(IsPlayerSpawned(killerid)){ GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~n~~r~MORTO!",2000,3); new Float:X, Float:Y, Float:Z, Float:X2, Float:Y2; GetXYInFrontOfPlayer(playerid, X2, Y2, -4); GetPlayerPos(playerid, X, Y, Z); SetPlayerCameraPos(playerid, X2, Y2, Z +3); SetPlayerCameraLookAt(playerid, X, Y, Z);}} //Killspree arena messages if(Arena[killerid] == 1 && ArenaTipo[killerid] != 3 && ArenaTipo[killerid] != 8){ ProcessarArenaKillSpree(playerid,killerid);} // CHECAR SE PLAYER ESTA NO VEICULO if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER){ //ANTI HELI-KILL if(reason == 50 && Arena[killerid] == 0) { switch(GetVehicleModel( GetPlayerVehicleID(killerid) )) { case 548,425,417,487,488,497,563,447,469,465,501:{ HeliKills[killerid]++; switch(HeliKills[killerid]){ case 1: GameTextForPlayer(killerid,"~r~AVISO ~n~~n~~y~NA PROXIMA~n~VOCE SERA PRESO",5000,3);} if(HeliKills[killerid] > 1){ new assss5[128]; format(assss5, sizeof(assss5), "%s foi preso por matar com a hйlice do helicуptero.", killer_name); CallRemoteFunction("LJail","ii",killerid,300000); SendClientMessageToAll(COLOUR_AVISO, assss5); SendClientMessage(killerid, COLOUR_BRANCO, "Й PROIBIDO MATAR NA HЙLICE. VOCК FOI PUNIDO POR ISSO. (5 minutos)");}}}} //ANTI-DB if(reason == 28 || reason == 29 || reason == 32){ switch(GetVehicleModel( GetPlayerVehicleID(killerid))){case 509,481,510:{ new assss5[128];format(assss5, sizeof(assss5), "%s foi preso por atirar pra fora do veнculo", killer_name); CallRemoteFunction("GivePlayerCash", "ii", killerid, -10000); SetPlayerScore(killerid,GetPlayerScore(killerid)-2); ScoreNaSessao[killerid]--; CallRemoteFunction("LJail","ii",killerid,300000); SendClientMessage(killerid, COLOUR_AVISO, ""); SendClientMessage(killerid, COLOUR_AVISO, "VOCК FOI PRESO POR ATIRAR DE VEICULO, SEU NOOB."); SendClientMessage(killerid, COLOUR_AVISO, "ALЙM DE SER PRESO, PERDEU -1 DE SCORE E $10000"); SendClientMessage(killerid, COLOUR_AVISO, "TEMPO DE PRISГO: 5 MINUTOS"); SendClientMessage(killerid, COLOUR_AVISO, ""); SendClientMessage(killerid, COLOUR_AVISO, "Se continuar fazendo DB poderб ser kickado ou banido."); SendClientMessage(killerid, COLOUR_AVISO, "");}}}} //DAR RECOMPENSA if(Arena[playerid] == 0){if(GetPlayerState(killerid) == PLAYER_STATE_ONFOOT){ if(GetPlayerWantedLevel(playerid) == 1){format(str_ganhou, sizeof(str_ganhou), "%s ganhou a recompensa de $10000 por matar %s", killer_name, playerid_name);SendClientMessageToAll(COLOUR_INFORMACAO, str_ganhou);CallRemoteFunction("GivePlayerCash", "ii", killerid, 10000);} if(GetPlayerWantedLevel(playerid) == 2){format(str_ganhou, sizeof(str_ganhou), "%s ganhou a recompensa de $20000 por matar %s", killer_name, playerid_name);SendClientMessageToAll(COLOUR_INFORMACAO, str_ganhou);CallRemoteFunction("GivePlayerCash", "ii", killerid, 20000);} if(GetPlayerWantedLevel(playerid) == 3){format(str_ganhou, sizeof(str_ganhou), "%s ganhou a recompensa de $30000 por matar %s", killer_name, playerid_name);SendClientMessageToAll(COLOUR_INFORMACAO, str_ganhou);CallRemoteFunction("GivePlayerCash", "ii", killerid, 30000);} if(GetPlayerWantedLevel(playerid) == 4){format(str_ganhou, sizeof(str_ganhou), "%s ganhou a recompensa de $40000 por matar %s", killer_name, playerid_name);SendClientMessageToAll(COLOUR_INFORMACAO, str_ganhou);CallRemoteFunction("GivePlayerCash", "ii", killerid, 40000);} if(GetPlayerWantedLevel(playerid) == 5){format(str_ganhou, sizeof(str_ganhou), "%s ganhou a recompensa de $50000 por matar %s", killer_name, playerid_name);SendClientMessageToAll(COLOUR_INFORMACAO, str_ganhou);CallRemoteFunction("GivePlayerCash", "ii", killerid, 50000);} if(GetPlayerWantedLevel(playerid) == 6){format(str_ganhou, sizeof(str_ganhou), "%s ganhou a recompensa de $60000 por matar %s", killer_name, playerid_name);SendClientMessageToAll(COLOUR_INFORMACAO, str_ganhou);CallRemoteFunction("GivePlayerCash", "ii", killerid, 60000);}}} // ATUALIZAR CONTADOR DE KILLSPREE if(GetPlayerState(killerid) == PLAYER_STATE_ONFOOT){ if(Arena[killerid] == 0){ Spree[killerid] = Spree[killerid]+1; Spree[playerid] = 0; SetPlayerWantedLevel(playerid, 0);} // MENSAGEM DE RECOMPENSA $10000 if(Arena[killerid] == 0){if(Spree[killerid] == 10){ format(str_rec, sizeof(str_rec), "PROCURADO: %s (Recompensa: $10000)", killer_name);SendClientMessageToAll(COLOUR_ERRO, str_rec); SetPlayerWantedLevel(killerid, 1);} // MENSAGEM DE RECOMPENSA $20000 if(Spree[killerid] == 20){ format(str_rec, sizeof(str_rec), "PROCURADO: %s (Recompensa: $20000)", killer_name);SendClientMessageToAll(COLOUR_ERRO, str_rec); SetPlayerWantedLevel(killerid, 2);} // MENSAGEM DE RECOMPENSA $30000 if(Spree[killerid] == 30){ format(str_rec, sizeof(str_rec), "PROCURADO: %s (Recompensa: $30000)", killer_name);SendClientMessageToAll(COLOUR_ERRO, str_rec); SetPlayerWantedLevel(killerid, 3);} // MENSAGEM DE RECOMPENSA $40000 if(Spree[killerid] == 40){ format(str_rec, sizeof(str_rec), "PROCURADO: %s (Recompensa: $40000)", killer_name);SendClientMessageToAll(COLOUR_ERRO, str_rec); SetPlayerWantedLevel(killerid, 4);} // MENSAGEM DE RECOMPENSA $50000 if(Spree[killerid] == 50){ format(str_rec, sizeof(str_rec), "PROCURADO: %s (Recompensa: $50000)", killer_name);SendClientMessageToAll(COLOUR_ERRO, str_rec); SetPlayerWantedLevel(killerid, 5);} // MENSAGEM DE RECOMPENSA $60000 if(Spree[killerid] == 60){ format(str_rec, sizeof(str_rec), "PROCURADO: %s (Recompensa: $60000)", killer_name);SendClientMessageToAll(COLOUR_ERRO, str_rec); SetPlayerWantedLevel(killerid, 6);}} } } if(ArenaTipo[playerid] == 3){X1 = X1-1;ArenaTipo[playerid] = 0;Arena[playerid] = 0;} //Arena[playerid] = 0; //ArenaTipo[playerid] = 0; //SetPlayerHealth(playerid, 100.0); return 1; }