[Ajuda] Onplayerdeath bugando as vezes
#1

Me ajuda pessoal, meu onplayerdeath ta bugando, fiz atй umas marcagens de MORREU 1, MORREU 2, MORREU 3, MORREU 4, KILLER ID:
pra ver atй onde ta indo, onde ta bugando, mas nгo sei como resolver, resolvi alguns problemas, mas as vezes ta dando problema no MORREU 2

O killerid fica como 65535 e nгo entra na condicional if(killerid != INVALID_PLAYER_ID) {

Alguйm pode me ajudar a fixar isso?

Код:
public OnPlayerDeath(playerid, killerid, reason)
{
	SendClientMessage(playerid, COLOR_GRAD2, "MORREU 1");
	PlayerCuffed[playerid] = 0;
	stealuniform[playerid] = false;
	deaths[playerid] += 1;
	// voltar pos que morreu
	GetPlayerPos(playerid, deathpos[playerid][0], deathpos[playerid][1], deathpos[playerid][2]);
	deathposINT[playerid] = GetPlayerInterior(playerid);
	morto[playerid] = 1;
	if(killerid != INVALID_PLAYER_ID) {
		SendClientMessage(playerid, COLOR_GRAD2, "MORREU 2");
		
		// chat kill ao matar
		new gunname[32], pt[64], fName[MAX_PLAYER_NAME], sName[MAX_PLAYER_NAME];
		GetWeaponName(reason,gunname,sizeof(gunname));
		GetPlayerName(playerid,fName,MAX_PLAYER_NAME);
		GetPlayerName(killerid,sName,MAX_PLAYER_NAME);
		format(pt, sizeof(pt), "(( %s killed %s with %s. ))", sName, fName, gunname);
		SendClientMessage(playerid, 0xFFFFFFAA,pt);
		SendClientMessage(killerid, 0xFFFFFFAA,pt);
		ABroadCast(COLOR_YELLOW,pt,1); // msg adm

		// AUTO PEGA MONEY BAG
		if(moneybag[playerid] > 0) {
			new string[64];
			format(string, sizeof(string), "You took %s's moneybag with %i$", PlayerName(playerid), moneybag[playerid]);
			SendClientMessage(killerid, COLOR_GREEN, string);
			moneybag[killerid] += moneybag[playerid];
		}

		// AUTO SU
		new crimestring[64];
		if(!IsACop(killerid)) {
			if(wanted[playerid] < 1) {
				wanted[killerid] += 15;
				format(crimestring, sizeof(crimestring), "Committed A Crime - Murder Innocent - Wanted level: +15, total: %i", wanted[killerid] );
			} else {
				wanted[killerid] += 1;
				format(crimestring, sizeof(crimestring), "Committed A Crime - Murder - Wanted level: +1, total: %i", wanted[killerid] );
			}
		}
		kills[killerid] += 1;
	}
	new strkillx[64];
	format(strkillx, sizeof(strkillx), "ID DO KILLER %i", killerid);
	SendClientMessage(killerid, COLOR_WHITE, strkillx);
	SendClientMessage(playerid, COLOR_WHITE, strkillx);
	moneybag[playerid] = 0;
	SendClientMessage(playerid, COLOR_GRAD2, "MORREU 3");
	if(SpawnKill[playerid] == true) {
		SpawnKill[playerid] = false;
		KillTimer(timerantispawnkill[playerid]);
	}
	SendClientMessage(playerid, COLOR_GRAD2, "MORREU 4");
	return 1;
}
Reply
#2

Bem, apague o if(killerid != INVALID_PLAYER_ID) e suas chaves, e coloque todos os cуdigos assim:

PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
   if(
killerid != INVALID_PLAYER_ID) {
   
// todo cуdigo aqui. ( nгo esqueзa de apagar o que eu mencionei ).
   
}
   return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)