SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 17/04/2017, 07:30 PM   #1
Chainksain
Big Clucker
 
Chainksain's Avatar
 
Join Date: Apr 2010
Location: Brazil
Posts: 55
Reputation: 0
Exclamation Bug Sinistro

Oi pessoal estou aqui pedindo ajuda de vocês de novo.. a umas semanas atras vim aqui no forum com um probleminha besta (pura falta de atenção minha) q foi resolvido facilmente

mas agora erstou com um bug muito mais sério e desta vez não é falta de atenção, eu realmente preciso de ajuda porém não é bem nos códigos em si...

O meu problema é o seguinte.. no meu servidor está acontecendo um bug que eventualmente quando alguém morre em GZ/Contrato/Procurado ele nao conta.. nao conta pt na gz, se for contrtato não conta como cumprido e se for procurado não vai preso... o problema eh q este bug acontece eventualmente(tem hora q acontece e tem hora que não) por tanto está sendo muito dificil identificar o problema, além do mais que eu não faço a mínima idéia do que possa estar causando este bug, logo, por ser um gm muito grande, não sei nem por onde começar.. pedi ajuda a uns amigos e todos inicialmente tiveram a mesma suspeita que eu: Deve ser no OnPlayerDeath, porém eu vasculhei toda essa public varias vezes e não encontrei nada...

alguém ai ja teve esse bug no sv ou algo parecido? alguma dica q vcs possam me dar?

pq sera q esse bug soh acontece de vez em quando e não toda hora?


esta é a public OnPlayerDeath do meu GM:

Code:
public OnPlayerDeath(playerid, killerid, reason)
{
	if(!IsPlayerConnected(playerid))
		return 1;
	if(TaNaLan[playerid])
		return QuandoMorrerNikoLanHouse(playerid, killerid, reason);
	if(IsPlayerConnected(killerid))
	{
		if(NikoDeuDano[killerid][playerid] < 60)
			return 1;
		if(AntiMultiKill[killerid] > 60)
		{
			AntiMultiKill[killerid] += 60;
			return 1;
		}
		AntiMultiKill[killerid] += 10;
	}
	if(BugSamp[playerid])
		return 1;
	BugSamp[playerid] = true;
	SetTimerEx("NikoResetVar",10000,false,"ii",playerid,4);
    if(Player[playerid][FirstSpawn] == true)
        return 1;
	
	if(PlayerBarraAtiva[playerid])
	{
		EscondeNikoOponenteVidaBarra(playerid);
		TaEmCombateCom[playerid] = INVALID_PLAYER_ID;
		TaEmCombate[playerid] = 0;
		SaiuDeCombate(playerid);
	}
	SetarNikoColeteJogador(playerid, 0.0);
	if(TaNoMapa[playerid])
	{
	    TaNoMapa[playerid] = false;
	    Descongelar(playerid);
		if(MovePlayerTimer[playerid] > -1)
			KillTimer(MovePlayerTimer[playerid]);
		if(MapTimer[playerid] > -1)
			KillTimer(MapTimer[playerid]);
		if(VehFocus[playerid] > -1)
			KillTimer(VehFocus[playerid]);
		MovePlayerTimer[playerid] = -1;
		MapTimer[playerid] = -1;
		VehFocus[playerid] = -1;
		Degrees[playerid] = 0.0;
		TextDrawHideForPlayer(playerid, MapsTD);
		TextDrawHideForPlayer(playerid, Coordenadas[playerid]);
		TextDrawHideForPlayer(playerid, MapsAltimeterPlus);
		TextDrawHideForPlayer(playerid, MapsAltimeterMinus);
		TextDrawHideForPlayer(playerid, MapsAltimeterLines);
		TextDrawHideForPlayer(playerid, MapsMainAltLine[playerid]);
		if (OldPlayerVehID[playerid] > -1)
		{
			OldPlayerVehID[playerid] = INVALID_VEHICLE_ID;
			OldPlayerSeat[playerid] = -1;
		}
	}
	
	new string[128];
	Player[playerid][Spawned] = false;
    Conce[playerid] = 0;
	pizzaexit[playerid] = 0;
	cluckinexit[playerid] = 0;
    burgerexit[playerid] = 0;
    storeexit[playerid] = 0;
 	cherifeexit[playerid] = 0;
	Player[playerid][pLocal] = 255;
	Player[playerid][pSeatBelt] = 0;
	Player[playerid][pCapacete] = 0;
	IpodNikoDesligar(playerid);
	DropWeapons(playerid);
	
    foreach(new x : Player)
 		if(GetPlayerState(x) == PLAYER_STATE_SPECTATING && Player[x][gSpectateID] == playerid)
              AdvanceSpectate(x);
		
    if(PlayerTied[playerid] > 0)
	{
	    format(string, sizeof(string), "[Atenção] O BOPE fracassou no sequestro de %s. O refém foi morto.",Player[playerid][pNome]);
	    EnviaNikoMensagemTodos(COLOR_OOC, string, MSG_NEWS);
	    PlayerTied[playerid] = 0;
	}
	//EM CORRIDA
	if(gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
	{
		NikoDesativarCP(playerid);
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
	}
	
	// Ao Celular
	if(IsPlayerConnected(Mobile[playerid]))
	{
		SendClientMessage ( playerid, COLOR_LIGHTBLUE, "** A ligação caiu..." );
		SendClientMessage ( Mobile [ playerid ], COLOR_LIGHTBLUE, "** Ninguém na linha..." ); //OnPlayerDisconnect
		
		if ( !RingTone [ playerid ] && !RingTone [ Mobile [ playerid ] ] )
		{
			new cost = ( CallCost[playerid] / 2 );
		    format(string, sizeof(string), "~w~a chamada custou~n~~r~R$ %d", cost );
			GameTextForPlayer(Mobile[playerid], string, 5000, 1);
			GameTextForPlayer(playerid, string, 5000, 1);
			
		    GivePlayerGP ( Mobile[playerid], - cost );
		    GivePlayerGP ( playerid, - cost );
			
		    if(SBizzInfo[2][sbProducts] > 0)
		    {
			    ProdutoSB(2,2*cost);
		    }
		}
		CallCost[playerid] = 0;
		CallCost[Mobile[playerid]] = 0;
		DesligarCel(Mobile[playerid]);
		DesligarCel(playerid);
	}
	
	if(NikoGuerraAQFASystem[ngsLigada])
		QuandoJogadorMorrerNikoGuerra(playerid, killerid, reason);
	
	if(IsPlayerConnected(killerid))
	{
		if(PlayerBarraAtiva[killerid])
		{
			EscondeNikoOponenteVidaBarra(killerid);
			TaEmCombateCom[killerid] = INVALID_PLAYER_ID;
			TaEmCombate[killerid] = 0;
			SaiuDeCombate(killerid);
		}
		WarCode_PlayerDeath(playerid, killerid, reason);
		
		
		if(GetPVarInt(killerid,"TaNoEvento") == 1 || (NikoGuerraAQFASystem[ngsLigada] && PertenceAQFA(playerid) && PertenceAQFA(killerid)) || GetPlayerZone(killerid) != 999)
		{
			Player[killerid][pWZKills]++;
			Player[playerid][pWZDeaths]++;
		}
		else if(Player[killerid][pMember] == TEAM_HITMAN && Vitima[killerid] == playerid)
		{
			Player[killerid][pWZKills]++;
			Player[playerid][pWZDeaths]++;
		}
		
		Player[killerid][pKills]++;
		Player[playerid][pDeaths]++;
		
		if(Player[playerid][pLeader] == TEAM_PREF)
		{
			format(string, sizeof(string), "[Atenção] O Prefeito %s foi assassinado por %s!", Player[playerid][pNome] , Player[killerid][pNome]);
			EnviaNikoMensagemTodos(COLOR_YELLOW, string, MSG_NEWS);
		}
		//PAINT BALL
		if(PlayerPaintballing[playerid] != 0)
		{
			new killer[MAX_PLAYER_NAME];
			PlayerPaintballKills[killerid]++;
			format(string, sizeof(string), "Você matou %d pessoas nesta partida.",PlayerPaintballKills[killerid]);
			SendClientMessage(killerid, COLOR_YELLOW, string);
			
			if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
			{
				PaintballWinner = killerid;
				PaintballWinnerKills = PlayerPaintballKills[killerid];
				GetPlayerName(killerid, killer, sizeof(killer));
				
				foreach(new i : Player)
					if(PlayerPaintballing[i] != 0)
					{
						format(string, sizeof(string), "%s está liderando o paintball com %d pontos.",Player[killerid][pNome],PaintballWinnerKills);
						SendClientMessage(i, COLOR_YELLOW, string);
					}
			}
			return 1;
		}
		
		//Driver By
		if(IsPlayerInAnyVehicle(killerid) && DriverBY[playerid] == -1)
		{
			if(!PertenceAQFA(killerid) || !PertenceAQFA(playerid))
			{
				DriverBY[playerid] = killerid;
				SetTimerEx("NikoResetVar",600*1000,false,"ii",playerid,1);
				//SendClientMessage(killerid, COLOR_YELLOW, "Você infringiu uma lei do servidor cometendo DRIVE-BY !");
				SendClientMessage(playerid, COLOR_YELLOW, "Você foi atropelado. Este DB foi proposital? Caso tenha sido denuncie no /forum ");
			}
		}
		
		//Evento
		if((GetPVarInt(playerid,"TaNoEvento") == 1) && Evento[eTrancado])
		{
			new contador=0;
			new morreu[128];
			SetPVarInt(playerid,"TaNoEvento",0);
			foreach(new i : Player)
				if(GetPVarInt(i,"TaNoEvento") == 1)
					contador++;
			
			if(contador > 1)
				format(morreu,sizeof(morreu),"{ff7e19}%s{4290fe} matou {ff7e19}%s{4290fe} no evento! Ainda faltam{ff7e19} %d{4290fe} disputando o prêmio de: R$:%s", pNick(killerid), pNick(playerid), contador, NumeroComPonto(NikoEventoPremio));
			else
			{
				foreach(new i : Player)
					if(GetPVarInt(i,"TaNoEvento") == 1)
						contador = i;
				format(morreu,sizeof(morreu),"{ff7e19}%s{4290fe} Morreu no evento! {ff7e19} %s{4290fe} é o campeão do prêmio de: R$:%s",pNick(playerid),pNick(contador),NumeroComPonto(NikoEventoPremio));
			}
			return SendClientMessageToAll(-1,morreu);
		}
		
		//Spawn Kill
		if(SpawnTime[playerid] > 0) 
			if(Player[playerid][pLevel] > 2 && PlayerPaintballing[playerid] == 0)
			{
				format(string, sizeof(string), "%s (id: %i) cometeu SpawnKill em %s e foi kickado", Player[killerid][pNome], killerid, Player[playerid][pNome]);
				EnviaNikoMensagemTodos(COLOR_OOC,string, MSG_PUN);
				printf("kickado por spawnkill");
				OnKick(killerid);
			}
		//MATAR EM LOCAL PROIBIDO
		if(IsPlayerConnected(killerid))
			if(Player[killerid][pJailed] == Player[playerid][pJailed] && Player[playerid][pJailed] > 0)
				NikoPrender(killerid, 20, 1, "Matar em Local Proibido");
				
		//chat kill
	 	if(Player[playerid][pHeadValue] <=0 || Vitima[killerid] != playerid)
		{
			new chatkill[128], gunname[32];
			GetWeaponName(reason, gunname, sizeof(gunname));
			format(chatkill, sizeof(chatkill), "{FFFFFF}O jogador {FF9500}%s {FFFFFF}te matou com uma {FF0000}%s", Player[killerid][pName], gunname);
			SendClientMessage(playerid, COLOR_RED, chatkill);
		}
				
		//CONTRATO
		new bool:contrato = false;
		if(Player[playerid][pHeadValue] > 0  && GetPVarInt(killerid,"TaNoEvento") == 0)
			if(Player[killerid][pMember] == TEAM_HITMAN)
				if(Vitima[killerid] == playerid)
				{
					contrato = true;
					GivePlayerGP(killerid, Player[playerid][pHeadValue]);
					AumentarReconhecimento(killerid);
					new strung[128];
					format(string,128,"Um assassino cumpriu o contrato à cabeca de %s e adquiriu um valor de R$%d",Player[playerid][pNome],Player[playerid][pHeadValue]);
					format(strung,128,"O assassino %s cumpriu o contrato à cabeca de %s e adquiriu um valor de R$%d",Player[killerid][pNome],Player[playerid][pNome],Player[playerid][pHeadValue]);
					foreach(new i : Player)
						if(Player[i][pMember] == TEAM_HITMAN)
							SendClientMessage(i, COLOR_GROOVE, strung);
						else
							SendClientMessage(i, COLOR_GROOVE, string);
					Player[playerid][pHeadValue] = 0;
					SendoProcurado[playerid] = false;
					Procurando[killerid] = false;
					ConquistaInfo[killerid][contratos]++;
				}
		//Sistema de Procurado
		//if(GetPVarInt(killerid,"TaNoEvento") == 0 && (!NikoGuerraAQFASystem[ngsLigada] || !(PertenceAQFA(playerid) || PertenceAQFA(killerid))))
		if(GetPVarInt(killerid,"TaNoEvento") == 0 && !(Player[playerid][pMember] == TEAM_FA && Player[killerid][pMember] == TEAM_ALQAEDA))
		{
			new zone1 = GetPlayerZone(playerid);
			new zone2 = GetPlayerZone(killerid);
			
			if(IsACop(killerid))
			{
				if(Player[playerid][pProcurado] > 0 && !(Player[killerid][pMember] == TEAM_FA && Player[playerid][pMember] == TEAM_ALQAEDA))
				{
				    if(Player[killerid][pMember] != TEAM_MUNICIPAL)
					{
						if(Player[playerid][pLevel] > 2)
						{
							new Float:X, Float:Y, Float:Z;
							GetPlayerPos(killerid, X, Y, Z);
							new ajudantes = 0;
							foreach(new i : Player)
								if(NikoDeuDano[i][playerid] > 0)
									if(NikoPlayerRaio(i, 30, X, Y, Z) && (Player[i][pMember] == Player[killerid][pMember]) && i != killerid)
										ajudantes++;
							
							
							new recompensa = Player[playerid][pProcurado]*250;
							if(recompensa > 5000)
								recompensa = 5000;
							recompensa = recompensa + ajudantes*1000;
							if(recompensa > 10000)
								recompensa = 10000;
							
							format(string,sizeof(string),"{ff0000}[BSL]:{4290fe} Parabéns Senhor! Você recebeu: R$: %s por prender um procurado com %d estrelas com ajuda de %d outros COPs.",NumeroComPonto(recompensa), Player[playerid][pProcurado], ajudantes);
							SendClientMessage(killerid,-1,string);
							Player[killerid][pPrendeu]++;
							AumentarReconhecimento(killerid);
							if(EmFuga[playerid]<999)
							{
					            if(EmFuga[playerid]==13)
									CofreOrgInfo[Player[killerid][pMember]][mat] += 13*999;
								else
								{
								    format(string,sizeof(string),"{ff0000}[BSL]:{4290fe} Você recebeu um bônus de R$ %d por impedir um assalto!.",ROB_CASH);
									SendClientMessage(killerid,-1,string);
									recompensa += ROB_CASH;
								}
								AumentarReconhecimento(killerid);
							}
							GivePlayerGP(killerid,recompensa/2);
							CofreOrgInfo[Player[killerid][pMember]][mony] += recompensa/2;

							foreach(new i : Player)
								if(NikoDeuDano[i][playerid] > 0)
									if(NikoPlayerRaio(i, 30, X, Y, Z) && (Player[i][pMember] == Player[killerid][pMember]) && i != killerid)
									{
										GivePlayerGP(i,recompensa);
										format(string,sizeof(string),"{ff0000}[BSL]:{4290fe} Parabéns Senhor! Você recebeu: R$: %s por ajudar a prender um procurado com %d estrelas.",NumeroComPonto(recompensa), Player[playerid][pProcurado]);
										SendClientMessage(i,-1,string);
										Player[i][pPrendeu]++;
									}
									
							format(thestring,sizeof(thestring),"Você foi preso por: %s com nível: %d de procurado e será solto pagando a /fianca de: %s.",Player[killerid][pNome], Player[playerid][pProcurado], NumeroComPonto(Player[playerid][pProcurado]*1000));
							SendClientMessage(playerid,-1,thestring);
							Player[killerid][pWZKills]++;
							Player[playerid][pWZDeaths]++;
							new TodosOsBens = Player[playerid][pBank] + Player[playerid][pCash];
							if(TodosOsBens < 1000000)
								TodosOsBens = 1000000;
								
							if(Player[killerid][pMember] == TEAM_PM)
								NikoPrender(playerid,Player[playerid][pProcurado]*2,2,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_PF)
								NikoPrender(playerid,Player[playerid][pProcurado]*2,3,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_BOPE)
								NikoPrender(playerid,Player[playerid][pProcurado]*2,4,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_FA)
								NikoPrender(playerid,Player[playerid][pProcurado]*2,5,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_PC)
								NikoPrender(playerid,Player[playerid][pProcurado]*2,6,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
						}
						else
						{
							format(thestring,sizeof(thestring),"Você foi preso por: %s com nível: %d de procurado e será solto pagando a /fianca de: %s.",Player[killerid][pNome], Player[playerid][pProcurado], NumeroComPonto(Player[playerid][pProcurado]*1000));
							SendClientMessage(playerid,-1,thestring);
							Player[killerid][pWZKills]++;
							Player[playerid][pWZDeaths]++;
							new TodosOsBens = Player[playerid][pBank] + Player[playerid][pCash];
							if(TodosOsBens < 1000000)
								TodosOsBens = 1000000;
								
							if(Player[killerid][pMember] == TEAM_PM)
								NikoPrender(playerid,Player[playerid][pProcurado]*1,2,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_PF)
								NikoPrender(playerid,Player[playerid][pProcurado]*1,3,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_BOPE)
								NikoPrender(playerid,Player[playerid][pProcurado]*1,4,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_FA)
								NikoPrender(playerid,Player[playerid][pProcurado]*1,5,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
							else if(Player[killerid][pMember] == TEAM_PC)
								NikoPrender(playerid,Player[playerid][pProcurado]*1,6,"",1000,Player[playerid][pProcurado]*TodosOsBens/100);
						}
					}
				}
				else if(IsACivil(playerid) || Player[playerid][pMember] == TEAM_BOMBE)
				{
					format(thestring,sizeof(thestring),"COP Matando Civil (%s) não-procurado", Player[playerid][pNome]);
					NikoPrender(killerid, 40, 1, thestring);
					format(thestring,sizeof(thestring),"{ff0000}[BSL Anti-DM]:{ffffff} Você é um COP e matou um civil que não era procurado (%s). Consequência: Bangu 40min.", Player[playerid][pNome]);
					SendClientMessage(killerid,-1,thestring);
					format(thestring,sizeof(thestring),"%s foi para o bangu por matar civil não procurado (%s).", Player[killerid][pNome], Player[playerid][pNome]);
					WriteLog("Bangu",thestring);
				}
				/*else if(IsACrime(playerid) && !(Player[killerid][pMember] == TEAM_FA && Player[playerid][pMember] == TEAM_ALQAEDA))
				{
					format(thestring,sizeof(thestring),"COP Matando Criminoso (%s) não-procurado", Player[playerid][pNome]);
					NikoPrender(killerid, 40, 1, thestring);
					format(thestring,sizeof(thestring),"{ff0000}[BSL Anti-DM]:{ffffff} Você é um COP e matou um Criminoso que não era procurado (%s). Consequência: Bangu 40min.", Player[playerid][pNome]);
					SendClientMessage(killerid,-1,thestring);
					format(thestring,sizeof(thestring),"%s foi para o bangu por matar Criminoso não procurado (%s).", Player[killerid][pNome], Player[playerid][pNome]);
					WriteLog("Bangu",thestring);
				}*/
				else if(IsACop(playerid) || Player[playerid][pMember] == TEAM_PREF)
				{
					CopDM[playerid] = killerid;
					SetTimerEx("NikoResetVar",120*1000,false,"ii",playerid,10);
					SendClientMessage(killerid, COLOR_YELLOW, "Você infringiu uma lei do servidor cometendo DM !");
					SendClientMessage(playerid, COLOR_YELLOW, "Você foi morto por um COP. Este DM foi proposital? Caso tenha sido digite /copdm");
				}
			}
			else if(IsACrime(killerid))
			{
			    	if(IsACivil(playerid) || Player[playerid][pMember] == TEAM_BOMBE)
				{
					if(zone2 != 999)
					{
						if(NikoDeuDano[playerid][killerid] < 6)
						{
							SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou por bala perdida um civil que NÃO te atacou nos últimos 60 segundos. Consequência: +16 Níveis de Procurado");
							AddNivelProcurado(killerid,1000,"Matar Civil Sem Revide por Bala Perdida",12);
						}
						else if(Player[playerid][pConnectTime] < 6*3600)
						{
							SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou por bala perdida um civil que criou a conta há pouco tempo. Consequência: +8 Níveis de Procurado");
							AddNivelProcurado(killerid,1000,"Matar Civil Iniciante por Bala Perdida",8);
						}
						else
						{
							SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou um civil por bala-perdida e ganhou 4 níveis de procurado.");
							AddNivelProcurado(killerid,1000,"Matar Civil por Bala Perdida",4);
						}
					}
					else
					{
						if(NikoDeuDano[playerid][killerid] < 6)
						{
							SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou um civil que NÃO te atacou nos últimos 60 segundos. Consequência: +20 Níveis de Procurado");
							AddNivelProcurado(killerid,1000,"Matar Civil Sem Revide",15);
						}
						else if(Player[playerid][pConnectTime] < 6*3600)
						{
							SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou um civil que criou a conta há pouco tempo. Consequência: +10 Níveis de Procurado");
							AddNivelProcurado(killerid,1000,"Matar Civil Iniciante",10);
						}
						else
						{
							SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou um civil fora da zona de guerra e ganhou 6 níveis de procurado.");
							AddNivelProcurado(killerid,1000,"Matar Civil",6);
						}
					}
				}
				else if(IsACop(playerid))
				{
					SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou um Membro da Lei fora da zona de guerra e ganhou 2 níveis de procurado.");
					AddNivelProcurado(killerid,1000,"Matar COP",2);
				}
				else if(IsACrime(playerid))
				{
					if(zone2 == 999)
					{
						SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você matou um Gangster fora da zona de guerra e ganhou 1 nível de procurado.");
						AddNivelProcurado(killerid,1000,"Homicidio",1);
					}
				}
				Player[playerid][pAssassinado] = killerid;
				Player[playerid][pAssassinadoID] = killerid;
				format(Player[playerid][pAssassinadoNick], 24, Player[killerid][pName]);
				SetTimerEx("NikoResetVar",210000,false,"ii",playerid,8);
				SendClientMessage(playerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você foi assassinado! Poderá ir até à delegacia de polícia e abrir um boletim de ocorrência, /bo.");
				if(Player[killerid][pLevel] <= 2)
					MostrarDMInfo(killerid);
				
			}
			else if(IsACivil(killerid))
			{
			    if(IsACivil(playerid) || Player[playerid][pMember] == TEAM_BOMBE)
				{
					if(NikoDeuDano[playerid][killerid] < 6)
					{
						SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você é civil e matou outro civil que NÃO te atacou nos últimos 60 segundos. Consequência: +20 Níveis de Procurado");
						AddNivelProcurado(killerid,1000,"Civil Matando Civil Sem Revide",20);
					}
					else if(Player[playerid][pConnectTime] < 6*3600)
					{
						SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você é civil e matou outro civil que criou a conta há pouco tempo. Consequência: +10 Níveis de Procurado");
						AddNivelProcurado(killerid,1000,"Civil Matando Civil Iniciante",10);
					}
					else
					{
						SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você é civil e matou outro civil. Consequência: +5 Níveis de Procurado");
						AddNivelProcurado(killerid,1000,"Civil Matando Civil",5);
					}
				}
				else if(IsACop(playerid))
				{
					SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você é civil e matou um COP. Consequência: +6 Níveis de Procurado");
					AddNivelProcurado(killerid,1000,"Civil Matando COP",6);
				}
				else if(IsACrime(playerid))
				{
					SendClientMessage(killerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você é civil e cometeu um homicídio. Consequência: +4 Níveis de Procurado");
					AddNivelProcurado(killerid,1000,"Civil Matando Gangster",4);
				}
				Player[playerid][pAssassinado] = killerid;
				Player[playerid][pAssassinadoID] = killerid;
				format(Player[playerid][pAssassinadoNick], 24, Player[killerid][pName]);
				SetTimerEx("NikoResetVar",6000000,false,"ii",playerid,8);
				SendClientMessage(playerid,-1,"{ff0000}[BSL Anti-DM]:{ffffff} Você foi assassinado! Poderá ir até à delegacia de polícia e abrir um boletim de ocorrência, /bo.");
				if(Player[killerid][pLevel] <= 2)
					MostrarDMInfo(killerid);
			}
		}
	}
	else
	{
		if((GetPVarInt(playerid,"TaNoEvento") == 1) && Evento[eTrancado]) 
		{
			new contador=0;
			new morreu[128];
			SetPVarInt(playerid,"TaNoEvento",0);
			foreach(new i : Player)
				if(GetPVarInt(i,"TaNoEvento") == 1)
					contador++;
			
			if(contador > 1)
				format(morreu,sizeof(morreu),"{ff7e19}%s{4290fe} Morreu no evento! Ainda faltam{ff7e19} %d{4290fe} disputando o prêmio de: R$:%s",pNick(playerid),contador,NumeroComPonto(NikoEventoPremio));
			else
			{
				foreach(new i : Player)
					if(GetPVarInt(i,"TaNoEvento") == 1)
						contador = i;
				format(morreu,sizeof(morreu),"{ff7e19}%s{4290fe} Morreu no evento! {ff7e19} %s{4290fe} é o campeão do prêmio de: R$:%s",pNick(playerid),pNick(contador),NumeroComPonto(NikoEventoPremio));
			}
			SendClientMessageToAll(-1,morreu);
		}
	}
	
	//Botar no Hospital
	if(SpawnTime[playerid] < 1 && !AdminDuty[playerid] && Player[playerid][pJailTime] == 0)
	{
		TempoHospital[playerid] = 20;
		if(Player[playerid][pPlano] > 0)
			Player[playerid][pPlano]--;
	}
	if(CarShopping[playerid] == true)
	{
		CarShopping[playerid] = false;
		NikoDestruirVeiculo(ShopCar[playerid]);
		ShopCar[playerid] = INVALID_VEHICLE_ID;
	    carbrowse[playerid] = 0;
		SetPlayerVirtualWorld(playerid, 0);
		Player[playerid][pVW] = 0;
		//printf("kickado no carshopping");
	    //OnKick(playerid);
 	}
 	
 	EmFuga[playerid]=999;
 	Cumplice[playerid]=false;
 	
	return 1;
}

Se alguém puder me ajudar agradeço desde já.
__________________
Code:
[FilterScript] Relógio Cool

Last edited by Chainksain; 18/04/2017 at 01:47 AM.
Chainksain is offline   Reply With Quote
Old 17/04/2017, 08:38 PM   #2
ViniBorn
Godfather
 
ViniBorn's Avatar
 
Join Date: Aug 2010
Location: Brasília
Posts: 5,285
Reputation: 703
Default Re: Bug Sinistro

Faz um debug verificando se o valor de killerid/playerid é válido
__________________




CONTATO: www.facebook.com/vinibornpawn

ViniBorn is offline   Reply With Quote
Old 19/04/2017, 03:42 AM   #3
Chainksain
Big Clucker
 
Chainksain's Avatar
 
Join Date: Apr 2010
Location: Brazil
Posts: 55
Reputation: 0
Default Re: Bug Sinistro

cara fiz o debug e esta normal.. killerid retorna o id de quem amtou e playerid retorna o id de quem morreu..

ta foda esse bug..
__________________
Code:
[FilterScript] Relógio Cool
Chainksain is offline   Reply With Quote
Old 21/04/2017, 04:27 AM   #4
Chainksain
Big Clucker
 
Chainksain's Avatar
 
Join Date: Apr 2010
Location: Brazil
Posts: 55
Reputation: 0
Default Re: Bug Sinistro

up

alguem tem mais alguma solução ou dica?
__________________
Code:
[FilterScript] Relógio Cool
Chainksain is offline   Reply With Quote
Old 21/04/2017, 12:22 PM   #5
HoodScript
Big Clucker
 
Join Date: Dec 2016
Location: Itajaí , SC
Posts: 180
Reputation: 24
Default Re: Bug Sinistro

Quote:
Originally Posted by Chainksain View Post
up

alguem tem mais alguma solução ou dica?

Remova todos os returns pois eles servem como uma barreira pra n seguir com o código abaixo deles
HoodScript is offline   Reply With Quote
Old 26/04/2017, 03:11 AM   #6
Chainksain
Big Clucker
 
Chainksain's Avatar
 
Join Date: Apr 2010
Location: Brazil
Posts: 55
Reputation: 0
Default Re: Bug Sinistro

Quote:
Originally Posted by HoodScript View Post
Remova todos os returns pois eles servem como uma barreira pra n seguir com o código abaixo deles
cara, mas não tem nenhum return colocado onde nao deveria, soh tem 2 return pra fla a verdade sendo um deles o da public e o outro que eh justamente pra encerrar a public mesmo pra n seguir com o cóodigo numa deterrminada seituação lá, fora isso esta td normal mas o bug continua
__________________
Code:
[FilterScript] Relógio Cool

Last edited by Chainksain; 26/04/2017 at 08:00 AM.
Chainksain is offline   Reply With Quote
Old 30/04/2017, 04:22 AM   #7
Chainksain
Big Clucker
 
Chainksain's Avatar
 
Join Date: Apr 2010
Location: Brazil
Posts: 55
Reputation: 0
Default Re: Bug Sinistro

fiz um debug no meu gm e descobri que realmente o problema é que as vezes não está identificando o killerid.

e agora? o que fazer?
__________________
Code:
[FilterScript] Relógio Cool
Chainksain is offline   Reply With Quote
Old 30/04/2017, 02:38 PM   #8
[NNF]Maicon72
Little Clucker
 
[NNF]Maicon72's Avatar
 
Join Date: Sep 2010
Posts: 36
Reputation: 5
Default Re: Bug Sinistro

Quando vi isso
Code:
return QuandoMorrerNikoLanHouse(playerid, killerid, reason);
Já sabia que era o BSL

na verdade esse problema é causado por um tipo de hask que altera os danos (não estou lembrado do nome) que da conflito com o sistema atual.
uns 3 anos atrás quando ainda era admin/player lembro que uns engraçadinhos usavam ele e chegaram até postar no fórum. parece que agora voltaram a usar novamente (confirmei com um admin, e conheço de longe as peças que tão usando, aehausidhuHEUHAUHA).

bem, espero que isso ajude
__________________
[NNF]Maicon72 is offline   Reply With Quote
Old 30/04/2017, 07:52 PM   #9
Chainksain
Big Clucker
 
Chainksain's Avatar
 
Join Date: Apr 2010
Location: Brazil
Posts: 55
Reputation: 0
Default Re: Bug Sinistro

dei uma olhada fiz umas alterações aki vamos ver se resolve, vlw ai a força, mecher com esse tipo de gm eh meio chato principalmente qdo a gnt não conhece direito xD

mas com o tempo a gnt passa a conhecer
__________________
Code:
[FilterScript] Relógio Cool
Chainksain is offline   Reply With Quote
Old 02/05/2017, 10:00 PM   #10
[BOPE]Seu._.Madruga
Gangsta
 
[BOPE]Seu._.Madruga's Avatar
 
Join Date: Nov 2011
Location: São Paulo - SP
Posts: 757
Reputation: 51
Default Re: Bug Sinistro

Faça debugs com printf no começo meio e fim da public OnPlayerDeath aonde se encontra seus códigos, tenho certeza que lá possui algum return que não está deixando o código ser executado por completo.
__________________

_\|/_ Ei vey é Nozes _\|/_

Nick: LeozinIMPERATUS

Patente: Coronel 3

Página Oficial: Leonardo " lbs " Bradoks
Programação em Foco
Atualmente focado ao competitivo de Point Blank
Email | Página Pessoal | Skype
O topo da inteligência é alcançar a humildade
[BOPE]Seu._.Madruga is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Off] Bug sinistro AlucardSnow Português/Portuguese 6 05/07/2013 01:16 AM
[AJUDA] Bug Sinistro GuiihCamargo Português/Portuguese 21 25/03/2012 10:22 PM
[AJUDA] Bug Sinistro ;x GuiihCamargo Português/Portuguese 6 07/03/2012 01:32 AM
[Help Here] BUG sinistro! Lós Português/Portuguese 6 23/08/2011 08:49 PM


All times are GMT. The time now is 02:10 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.