#1

Why did debug that ejects when I die? Plss help

Код:
[22:24:57] [debug] Run time error 4: "Array index out of bounds"
[22:24:57] [debug]  Accessing element at index 65535 past array upper bound 14
[22:24:57] [debug] AMX backtrace:
[22:24:57] [debug] #0 002ecc18 in ?? (... <3 arguments>) at C:\Users\Zvezda\Downloads\mod (1)\All Stars RolePlay v1.0.0\gamemodes\ASRP.pwn:14281
[22:24:57] [debug] #1 000097a8 in public OnPlayerDeath (playerid=0, killerid=65535, reason=54) at C:\Users\Zvezda\Downloads\mod (1)\All Stars RolePlay v1.0.0\pawno\include\YSI\y_hooks/impl.inc:753
Reply
#2

Post line 14281

Edit: Actually under OnPlayerDeath check if killer ID is valid before you use it.
Reply
#3

OnPlayerDeath that I am put everything okay?
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    ResetPlayerWeaponsEx(playerid);
    for(new i = 0; i < sizeof OruzjeOtkriveno; i++) OruzjeOtkriveno[i][playerid] = -1;
   	AntiFakekill[playerid]++;
	SetTimerEx("AntiFakeKillTimer_H", 600,false,"i",playerid);
	AttachObjectRemove(playerid);
	KosiDrogu[playerid] = 0;
    SvercaMats[playerid] = 0;
    SvercaMunicije[playerid] = 0;
	KillTimer_H(ZauzimanjeAC[playerid]);
    DisablePlayerCheckpoint(playerid);
	PosaoGPS[playerid] = 0;
	HealthSynced[playerid] = 0;
	IgracSpawnan[playerid] = 0;
	DisablePlayerCheckpoint(playerid);
	Lovi[playerid] = 0;
	if(PI[playerid][pFPS] == 1)
    {
	    SetCameraBehindPlayer(playerid);
	    DestroyObject(FPS[playerid]);
    }
	if(RonilacOprema[playerid] != 1)
	{
		DestroyPlayerProgressBar(playerid, oxygen[playerid]);
		TextDrawHideForPlayer(playerid, OxygenTD[0]);
		TextDrawHideForPlayer(playerid, OxygenTD[1]);
		oxygen[playerid] = INVALID_PLAYER_BAR_ID;
	 	hRonilac[playerid] = 0;
 	}
	if(AdminUbio[playerid] == 0 && IgracNaEventu[playerid] == 0 && Uwaru[playerid] == 0)
	{
	    Umire[playerid] = 1;
	    PrikaziSmrtTD(playerid);
		if(killerid != INVALID_PLAYER_ID)
		{
		    new killstring[200];
		    new deathreason[20];
		    if(reason == 0) { deathreason = "Rucno"; }
		    else if(reason == 36 || reason == 35 || reason == 40 || reason == 16) { deathreason = "Eksplozija"; }
		    else if(reason == 18 || reason == 37) { deathreason = "Zapaljen"; }
		    else if(reason == 51) { deathreason = "Eksplozija"; }
		    else if(reason == 50) { deathreason = "Ubistvo Helisom"; }
		    else { GetWeaponName(reason, deathreason, sizeof(deathreason)); }
		    format(killstring, sizeof(killstring),"{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je ubio igraca %s [ID:%d] - Vrsta: %s", Ime_Igraca(killerid),killerid, Ime_Igraca(playerid),playerid, deathreason);
		    StaffPoruka(COLOR_BELA, killstring);
		}
		else
		{
		    new killstring[126];
		    new text[30];
		    if(reason == 51) { text = "Eksplozija"; }
		    else if(reason == 53) { text = "Davljenje"; }
		    else if(reason == 54) { text = "Sudar/Pad"; }
		    else { text = "Death"; }
		    format(killstring, sizeof(killstring),"{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je umro. [%s]", Ime_Igraca(playerid), playerid, text);
		    StaffPoruka(COLOR_BELA, killstring);
		}
	    if(killerid != INVALID_PLAYER_ID)
	    {
	    	PI[killerid][Ubistava]++; PI[playerid][Smrti]++;
			ResetujVar(playerid);
			if(IgracPolicajac(killerid))
			{
			    PI[killerid][TrazeniNivo] = 0;
				SetPlayerWantedLevel_Ex(killerid,0);
		 	}
	    }
	    if(killerid != INVALID_PLAYER_ID)
	    {
			if(!IgracPolicajac(killerid) && IsPlayerConnected(playerid))
			{
				if(PI[killerid][Zatvor] == 0)
				{
                    PI[killerid][TrazeniNivo] = 3;
				    SetPlayerWantedLevel_Ex(killerid,3);
					PostaviWanted(killerid, "Ubistvo", "Nepoznat");
				}
			}
		}
		if(killerid != INVALID_PLAYER_ID)
	    {
			if(GetPlayerWantedLevel_Ex(killerid) > 18)
			{
				PI[killerid][TrazeniNivo] += 18;
				SetPlayerWantedLevel_Ex(killerid, PI[playerid][TrazeniNivo]);
			}
		}
		if(killerid != INVALID_PLAYER_ID)
	    {
			if(IsPlayerConnected(killerid) && GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
			{
				format(nellys,sizeof(nellys), "{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je uradio Drive By nad igracem %s [ID:%d]!", Ime_Igraca(killerid), killerid, Ime_Igraca(playerid), playerid);
			    StaffPoruka(COLOR_BELA, nellys);
			}
		}
		if(WantedPoint[playerid] > 0)
		{
			new wanted = WantedPoint[playerid];
			new diecash = 0;
		    while(WantedPoint[playerid] > 0)
		    {
		        diecash += 150;
		        WantedPoint[playerid] --;
		    }
		    SendLocalMessage(playerid, "(( Izgubili ste $%d zbog umiranja sa %d trazenih poena.", diecash, wanted);
		  	g_NovacMinus(playerid, diecash);
			format(nellys, sizeof(nellys), "{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je umro sa wanted level-om: %d.", GetName(playerid),playerid,PI[playerid][TrazeniNivo]);
	 		StaffPoruka(COLOR_WHITE, nellys);
	 		strmid(PI[playerid][pZlocinText], "Nema", 0, strlen("Nema"), 255);
	        strmid(PI[playerid][pPrijavioText], "Nema", 0, strlen("Nema"), 255);
	        strmid(PI[playerid][pPocinioText], "Nema", 0, strlen("Nema"), 255);
			format(nellys,sizeof(nellys),"[HQ]: Zlocinac %s je umro sa wanted levelom(%d).", GetName(playerid),PI[playerid][TrazeniNivo]);
			FamilyPoruka(1, TEAM_BLUE_COLOR, nellys);
			FamilyPoruka(2, TEAM_BLUE_COLOR, nellys);
			PI[playerid][TrazeniNivo] = 0;
			SetPlayerWantedLevel_Ex(playerid, PI[playerid][TrazeniNivo]);
			SavePlayer(playerid);
		}
		WantedPoint[playerid] = 0;
	}
	AdminUbio[playerid] = 0;
	IgracNaEventu[playerid] = 0;
	if(IgracVojnik[playerid] == 1)
 	{
 	    Vojska--;
 	    EventSlotovi--;
 	    IgracVojnik[playerid] = 0;
 	}
 	if(PlayerBlind[playerid] == true)
	{
		PlayerBlind[playerid] = false;
		PlayerTextDrawHide(playerid, poveztd[playerid][0]);
		PlayerTextDrawHide(playerid, poveztd[playerid][1]);
	}
	if(TrakaStavljena[playerid] == true)
	{
		TrakaStavljena[playerid] = false;
	}
 	if(IgracTerorista[playerid] == 1)
 	{
 	    Teroristi--;
 	    EventSlotovi--;
 	    IgracTerorista[playerid] = 0;
 	}
 	if(IgracNaBaseball[playerid] == 1)
	{
		IgracNaBaseball[playerid] = 0;
		palicaekipa--;
		EventSlotovi--;
	}
	if(IgracNaMaraton[playerid] == 1)
	{
		IgracNaMaraton[playerid] = 0;
		Maratonci--;
		EventSlotovi--;
	}
	if(hSmetlar[playerid] == true)
	{
		DestroyPlayerObject(playerid,hSmece[playerid]);
	 	hSmetlar[playerid] = false;
	 	hVreca[playerid] = 0;
		hSmece[playerid] = -255;
	  	DisablePlayerCheckpoint(playerid);
	}
	if(EventVozilo[playerid] != -1)
 	{
 	    for(new sl = 0; sl < sizeof(MestoKartTrka); sl++)
		{
		    if(MestoKartTrka[sl] == EventVozilo[playerid])
			{
				MestoKartTrka[sl] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new sf = 0; sf < sizeof(MestoSFTrka); sf++)
		{
		    if(MestoSFTrka[sf] == EventVozilo[playerid])
   			{
				MestoSFTrka[sf] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new sc = 0; sc < sizeof(MestoInfTrka); sc++)
		{
		    if(MestoInfTrka[sc] == EventVozilo[playerid])
	  		{
				MestoInfTrka[sc] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new sq = 0; sq < sizeof(MestoGliserTrka); sq++)
		{
		    if(MestoGliserTrka[sq] == EventVozilo[playerid])
	  		{
				MestoGliserTrka[sq] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new dd = 0; dd < sizeof(MestoSeaTrka); dd++)
		{
	        if(MestoSeaTrka[dd] == EventVozilo[playerid])
			{
				MestoSeaTrka[dd] = INVALID_VEHICLE_ID;
				break;
		    }
		}
		DestroyVehicle(EventVozilo[playerid]);
 	    EventVozilo[playerid] = -1;
 	}
	if(gPlayerUsingLoopingAnim[playerid])
	{
		gPlayerUsingLoopingAnim[playerid] = 0;
	}
	if(Vucen[playerid] != 9999)
	{
		KillTimer_H(VuciTimer[Vucen[playerid]]);
		IDVucenogIgraca[Vucen[playerid]] = 9999;
		Vucen[playerid] = 9999;
	}
	if(IDVucenogIgraca[playerid] != 9999)
	{
		KillTimer_H(VuciTimer[playerid]);
		IDVucenogIgraca[playerid] = 9999;
		Vucen[IDVucenogIgraca[playerid]] = 9999;
	}
 	if(Uwaru[killerid] == 1)
	{
	    new str[64];
		if(PI[killerid][pAlfa] == 1)
		{
		    alfa++;
 			format(str,sizeof(str),"~b~ALFA TIM: ~w~ %d",alfa);
			TextDrawSetString(WarTD[6], str);
			SetTimerEx("WarRespawn", 4000, false, "i", playerid);
		}
		else if(PI[killerid][pBeta] == 1)
		{
		    beta++;
 			format(str,sizeof(str),"~w~%d ~r~:BETA TIM",beta);
			TextDrawSetString(WarTD[7], str);
			SetTimerEx("WarRespawn", 4000, false, "i", playerid);
		}
	}
    return 1;
}
Reply
#4

When i try this i only get some errors
Quote:

for(new i = 0; i < sizeof OruzjeOtkriveno; i++) OruzjeOtkriveno[i][playerid] = -1;

This line..
Errors:
Quote:

error 017: undefined symbol "ResetPlayerWeaponsEx"
error 017: undefined symbol "OruzjeOtkriveno"
error 017: undefined symbol "OruzjeOtkriveno"
error 017: undefined symbol "i"
fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Reply
#5

to put it this way?

Код:
for(new i = 0; i < sizeof OruzjeOtkriveno; i++)
{
OruzjeOtkriveno[i][playerid] = -1;
}
Reply
#6

Quote:
Originally Posted by BraunScripter123
Посмотреть сообщение
to put it this way?

Код:
for(new i = 0; i < sizeof OruzjeOtkriveno; i++)
{
OruzjeOtkriveno[i][playerid] = -1;
}
Just define them.
Reply
#7

for(new i = 0; i < sizeof(OruzjeOtkriveno); i++)
Reply
#8

Not to that wiped himself again and ejects..Whayy ??
Reply
#9

Quote:
Originally Posted by BraunScripter123
Посмотреть сообщение
Not to that wiped himself again and ejects..Whayy ??
Huh i dont understand..
Reply
#10

Quote:
Originally Posted by BraunScripter123
Посмотреть сообщение
OnPlayerDeath that I am put everything okay?
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    ResetPlayerWeaponsEx(playerid);
    for(new i = 0; i < sizeof OruzjeOtkriveno; i++) OruzjeOtkriveno[i][playerid] = -1;
   	AntiFakekill[playerid]++;
	SetTimerEx("AntiFakeKillTimer_H", 600,false,"i",playerid);
	AttachObjectRemove(playerid);
	KosiDrogu[playerid] = 0;
    SvercaMats[playerid] = 0;
    SvercaMunicije[playerid] = 0;
	KillTimer_H(ZauzimanjeAC[playerid]);
    DisablePlayerCheckpoint(playerid);
	PosaoGPS[playerid] = 0;
	HealthSynced[playerid] = 0;
	IgracSpawnan[playerid] = 0;
	DisablePlayerCheckpoint(playerid);
	Lovi[playerid] = 0;
	if(PI[playerid][pFPS] == 1)
    {
	    SetCameraBehindPlayer(playerid);
	    DestroyObject(FPS[playerid]);
    }
	if(RonilacOprema[playerid] != 1)
	{
		DestroyPlayerProgressBar(playerid, oxygen[playerid]);
		TextDrawHideForPlayer(playerid, OxygenTD[0]);
		TextDrawHideForPlayer(playerid, OxygenTD[1]);
		oxygen[playerid] = INVALID_PLAYER_BAR_ID;
	 	hRonilac[playerid] = 0;
 	}
	if(AdminUbio[playerid] == 0 && IgracNaEventu[playerid] == 0 && Uwaru[playerid] == 0)
	{
	    Umire[playerid] = 1;
	    PrikaziSmrtTD(playerid);
		if(killerid != INVALID_PLAYER_ID)
		{
		    new killstring[200];
		    new deathreason[20];
		    if(reason == 0) { deathreason = "Rucno"; }
		    else if(reason == 36 || reason == 35 || reason == 40 || reason == 16) { deathreason = "Eksplozija"; }
		    else if(reason == 18 || reason == 37) { deathreason = "Zapaljen"; }
		    else if(reason == 51) { deathreason = "Eksplozija"; }
		    else if(reason == 50) { deathreason = "Ubistvo Helisom"; }
		    else { GetWeaponName(reason, deathreason, sizeof(deathreason)); }
		    format(killstring, sizeof(killstring),"{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je ubio igraca %s [ID:%d] - Vrsta: %s", Ime_Igraca(killerid),killerid, Ime_Igraca(playerid),playerid, deathreason);
		    StaffPoruka(COLOR_BELA, killstring);
		}
		else
		{
		    new killstring[126];
		    new text[30];
		    if(reason == 51) { text = "Eksplozija"; }
		    else if(reason == 53) { text = "Davljenje"; }
		    else if(reason == 54) { text = "Sudar/Pad"; }
		    else { text = "Death"; }
		    format(killstring, sizeof(killstring),"{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je umro. [%s]", Ime_Igraca(playerid), playerid, text);
		    StaffPoruka(COLOR_BELA, killstring);
		}
	    if(killerid != INVALID_PLAYER_ID)
	    {
	    	PI[killerid][Ubistava]++; PI[playerid][Smrti]++;
			ResetujVar(playerid);
			if(IgracPolicajac(killerid))
			{
			    PI[killerid][TrazeniNivo] = 0;
				SetPlayerWantedLevel_Ex(killerid,0);
		 	}
	    }
	    if(killerid != INVALID_PLAYER_ID)
	    {
			if(!IgracPolicajac(killerid) && IsPlayerConnected(playerid))
			{
				if(PI[killerid][Zatvor] == 0)
				{
                    PI[killerid][TrazeniNivo] = 3;
				    SetPlayerWantedLevel_Ex(killerid,3);
					PostaviWanted(killerid, "Ubistvo", "Nepoznat");
				}
			}
		}
		if(killerid != INVALID_PLAYER_ID)
	    {
			if(GetPlayerWantedLevel_Ex(killerid) > 18)
			{
				PI[killerid][TrazeniNivo] += 18;
				SetPlayerWantedLevel_Ex(killerid, PI[playerid][TrazeniNivo]);
			}
		}
		if(killerid != INVALID_PLAYER_ID)
	    {
			if(IsPlayerConnected(killerid) && GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
			{
				format(nellys,sizeof(nellys), "{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je uradio Drive By nad igracem %s [ID:%d]!", Ime_Igraca(killerid), killerid, Ime_Igraca(playerid), playerid);
			    StaffPoruka(COLOR_BELA, nellys);
			}
		}
		if(WantedPoint[playerid] > 0)
		{
			new wanted = WantedPoint[playerid];
			new diecash = 0;
		    while(WantedPoint[playerid] > 0)
		    {
		        diecash += 150;
		        WantedPoint[playerid] --;
		    }
		    SendLocalMessage(playerid, "(( Izgubili ste $%d zbog umiranja sa %d trazenih poena.", diecash, wanted);
		  	g_NovacMinus(playerid, diecash);
			format(nellys, sizeof(nellys), "{0099FF}** [AS-AC] ** {FFFFFF}%s [ID:%d] je umro sa wanted level-om: %d.", GetName(playerid),playerid,PI[playerid][TrazeniNivo]);
	 		StaffPoruka(COLOR_WHITE, nellys);
	 		strmid(PI[playerid][pZlocinText], "Nema", 0, strlen("Nema"), 255);
	        strmid(PI[playerid][pPrijavioText], "Nema", 0, strlen("Nema"), 255);
	        strmid(PI[playerid][pPocinioText], "Nema", 0, strlen("Nema"), 255);
			format(nellys,sizeof(nellys),"[HQ]: Zlocinac %s je umro sa wanted levelom(%d).", GetName(playerid),PI[playerid][TrazeniNivo]);
			FamilyPoruka(1, TEAM_BLUE_COLOR, nellys);
			FamilyPoruka(2, TEAM_BLUE_COLOR, nellys);
			PI[playerid][TrazeniNivo] = 0;
			SetPlayerWantedLevel_Ex(playerid, PI[playerid][TrazeniNivo]);
			SavePlayer(playerid);
		}
		WantedPoint[playerid] = 0;
	}
	AdminUbio[playerid] = 0;
	IgracNaEventu[playerid] = 0;
	if(IgracVojnik[playerid] == 1)
 	{
 	    Vojska--;
 	    EventSlotovi--;
 	    IgracVojnik[playerid] = 0;
 	}
 	if(PlayerBlind[playerid] == true)
	{
		PlayerBlind[playerid] = false;
		PlayerTextDrawHide(playerid, poveztd[playerid][0]);
		PlayerTextDrawHide(playerid, poveztd[playerid][1]);
	}
	if(TrakaStavljena[playerid] == true)
	{
		TrakaStavljena[playerid] = false;
	}
 	if(IgracTerorista[playerid] == 1)
 	{
 	    Teroristi--;
 	    EventSlotovi--;
 	    IgracTerorista[playerid] = 0;
 	}
 	if(IgracNaBaseball[playerid] == 1)
	{
		IgracNaBaseball[playerid] = 0;
		palicaekipa--;
		EventSlotovi--;
	}
	if(IgracNaMaraton[playerid] == 1)
	{
		IgracNaMaraton[playerid] = 0;
		Maratonci--;
		EventSlotovi--;
	}
	if(hSmetlar[playerid] == true)
	{
		DestroyPlayerObject(playerid,hSmece[playerid]);
	 	hSmetlar[playerid] = false;
	 	hVreca[playerid] = 0;
		hSmece[playerid] = -255;
	  	DisablePlayerCheckpoint(playerid);
	}
	if(EventVozilo[playerid] != -1)
 	{
 	    for(new sl = 0; sl < sizeof(MestoKartTrka); sl++)
		{
		    if(MestoKartTrka[sl] == EventVozilo[playerid])
			{
				MestoKartTrka[sl] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new sf = 0; sf < sizeof(MestoSFTrka); sf++)
		{
		    if(MestoSFTrka[sf] == EventVozilo[playerid])
   			{
				MestoSFTrka[sf] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new sc = 0; sc < sizeof(MestoInfTrka); sc++)
		{
		    if(MestoInfTrka[sc] == EventVozilo[playerid])
	  		{
				MestoInfTrka[sc] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new sq = 0; sq < sizeof(MestoGliserTrka); sq++)
		{
		    if(MestoGliserTrka[sq] == EventVozilo[playerid])
	  		{
				MestoGliserTrka[sq] = INVALID_VEHICLE_ID;
				break;
 			}
		}
		for(new dd = 0; dd < sizeof(MestoSeaTrka); dd++)
		{
	        if(MestoSeaTrka[dd] == EventVozilo[playerid])
			{
				MestoSeaTrka[dd] = INVALID_VEHICLE_ID;
				break;
		    }
		}
		DestroyVehicle(EventVozilo[playerid]);
 	    EventVozilo[playerid] = -1;
 	}
	if(gPlayerUsingLoopingAnim[playerid])
	{
		gPlayerUsingLoopingAnim[playerid] = 0;
	}
	if(Vucen[playerid] != 9999)
	{
		KillTimer_H(VuciTimer[Vucen[playerid]]);
		IDVucenogIgraca[Vucen[playerid]] = 9999;
		Vucen[playerid] = 9999;
	}
	if(IDVucenogIgraca[playerid] != 9999)
	{
		KillTimer_H(VuciTimer[playerid]);
		IDVucenogIgraca[playerid] = 9999;
		Vucen[IDVucenogIgraca[playerid]] = 9999;
	}
 	if(Uwaru[killerid] == 1)
	{
	    new str[64];
		if(PI[killerid][pAlfa] == 1)
		{
		    alfa++;
 			format(str,sizeof(str),"~b~ALFA TIM: ~w~ %d",alfa);
			TextDrawSetString(WarTD[6], str);
			SetTimerEx("WarRespawn", 4000, false, "i", playerid);
		}
		else if(PI[killerid][pBeta] == 1)
		{
		    beta++;
 			format(str,sizeof(str),"~w~%d ~r~:BETA TIM",beta);
			TextDrawSetString(WarTD[7], str);
			SetTimerEx("WarRespawn", 4000, false, "i", playerid);
		}
	}
    return 1;
}
Which specific line is the warning on? And show us the definitions of the arrays on that line along with the code that sets their index variable.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)