Errors on console
#1

[09:58:24] [debug] Run time error 4: "Array index out of bounds"
[09:58:24] [debug] Accessing element at index 399 past array upper bound 301
[09:58:24] [debug] AMX backtrace:
[09:58:24] [debug] #0 0003b28c in public Streamer_OnPlayerDisconnect () from SAMP.amx
[09:58:24] [debug] #1 native CallLocalFunction () [004743b0] from samp-server.exe
[09:58:24] [debug] #2 000074d8 in public Itter_OnPlayerDisconnect () from SAMP.amx
[09:58:24] [debug] #3 native CallLocalFunction () [004743b0] from samp-server.exe
[09:58:24] [debug] #4 00006ac4 in ?? () from SAMP.amx
[09:58:24] [debug] #5 00000634 in public OnPlayerDisconnect () from SAMP.amx

How can i solved this?
Reply
#2

post OnPlayerDisconnect
Reply
#3

[09:58:24] [debug] Accessing element at index 399 past array upper bound 301
You are using an array under OnPlayerDisconnect wrong and thats why it crashes ^^
Reply
#4

Код:
public OnPlayerDisconnect(playerid)
{
    

	//gActivePlayers[playerid]--;
	new string1[128];
	new sendername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, sendername, sizeof(sendername));
	format(string1, sizeof(string1), "* Jucatorul %s (%d) a parasit serverul (/quit)!", sendername, playerid);
	ProxDetector(50.0, playerid, string1, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
	woodman[playerid] = 0;
	curatj[playerid] = 0;
    RemovePlayerAttachedObject(playerid, 2);
	//OnPlayerUpdate(playerid);
	PlayerInfo[playerid][pAdjustable] = 1;
	SetPVarInt(playerid,"KilledFlood",0);
	if(WarMan1 == playerid) WarMan1 = 999;
	if(WarMan2 == playerid) WarMan2 = 999;
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(IsPlayerConnected(i))
	    {
	        if(TaxiAccepted[i] < 999)
	        {
		        if(TaxiAccepted[i] == playerid)
		        {
		            TaxiAccepted[i] = 999;
		            GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Left the game", 5000, 1);
		            TaxiCallTime[i] = 0;
		            DisablePlayerCheckpoint(i);
		        }
	        }
	        else if(BusAccepted[i] < 999)
	        {
		        if(BusAccepted[i] == playerid)
		        {
		            BusAccepted[i] = 999;
		            GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1);
		            BusCallTime[i] = 0;
		            DisablePlayerCheckpoint(i);
		        }
	        }
	    }
	}
	if(WantedLevel[playerid] >= 1)
	{
	    new price = WantedLevel[playerid] * 1000;
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
 			if(IsACop(i) && CrimInRange(30.0, playerid,i))
	    	{
	    	    new string[512];
			    GetPlayerName(playerid, sendername, sizeof(sendername));
		    	PlayerInfo[playerid][pJailed] = 1;
			    PlayerInfo[playerid][pJailTime] = (WantedLevel[playerid])*(600);
			    format(string, sizeof(string), "Dispecer: %s a intrat in jail [%d puncte wanted] deoarece a folosit comanda /quit in perimetrul unui politist!", sendername, WantedLevel[playerid]);
			    SendEnemyMessage(TEAM_BLUE_COLOR, string);
				format(string, sizeof(string), "Jucatorul %s a intrat in jail (posibil /quit cu wanted) si ai primit %s$!", sendername, FormatNumber(price));
				SCM(i, COLOR_WHITE, string);
				GivePlayerCash(i, price);
				GivePlayerCash(playerid, -price);
			}
		}
	}
	if(JoinedGunGame[playerid] > 0)
	{
		if(JoinedGunGame[playerid] ==  2)
		{
		    if(Echipa2 > 0)
		    {
				Echipa2 -= 1;
		    }
		}
		else if(JoinedGunGame[playerid] ==  1)
		{
		    if(Echipa1 > 0)
		    {
		        Echipa1 -= 1;
		    }
		}
	}
	if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3)
	{
	    DestroyObject(RB1[playerid]);
	    DestroyObject(RB2[playerid]);
	    DestroyObject(RB3[playerid]);
	    DestroyObject(RB4[playerid]);
	    DestroyObject(RB5[playerid]);
	    DestroyObject(RB6[playerid]);
	    DestroyObject(RB7[playerid]);
	    DestroyObject(RB8[playerid]);
	    DestroyObject(RB9[playerid]);
	    DestroyObject(RB10[playerid]);
	    DestroyObject(RB11[playerid]);
	    DestroyObject(RB12[playerid]);
	    DestroyObject(RB13[playerid]);
	    DestroyObject(RB14[playerid]);
	    DestroyObject(RB15[playerid]);
	    DestroyObject(RB16[playerid]);
	    DestroyObject(RB17[playerid]);
	    DestroyObject(RB18[playerid]);
	    DestroyObject(RB19[playerid]);
	    DestroyObject(RB20[playerid]);
	}
	if(GettingCK[playerid] < 999)
	{
	    if(IsPlayerConnected(GettingCK[playerid]))
	    {
	        SendClientMessage(GettingCK[playerid], COLOR_YELLOW, "Your Character Kill has left the server, try again later.");
	        OnCK[GettingCK[playerid]] = 999;
	    }
	}
	if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
	{
	    if(IsPlayerConnected(TransportDriver[playerid]))
		{
		    new string[64];
		    TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
		    TransportTime[TransportDriver[playerid]] = 0;
		    TransportCost[TransportDriver[playerid]] = 0;
		    format(string, sizeof(string), "~w~Pasagerul a iesit~n~~g~Ai strans $%s",FormatNumber(TransportCost[playerid]));
		    GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
		}
	}
	if(GotHit[playerid] > 0)
	{
	    if(GetChased[playerid] < 999)
	    {
	        if(IsPlayerConnected(GetChased[playerid]))
	        {
	        	SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Tinta ta a parasit serverul!");
	            GoChase[GetChased[playerid]] = 999;
			}
	    }
	}
	if(PlayerPaintballing[playerid] != 0)
	{
	    PaintballPlayers --;
	}
	if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0)
	{
	    KartingPlayers --;
	}
	if(PlayersChannel[playerid] < 999)
	{
		IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1;
	}
	if(HireCar[playerid] != 299)
	{
		gLastDriver[HireCar[playerid]] = 300;
		gCarLock[HireCar[playerid]] = 0;
		UnLockCar(HireCar[playerid]);
	}
	if (gLastCar[playerid] > 0)
	{
		gLastDriver[gLastCar[playerid]] = 300;
		if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
		{
			gCarLock[gLastCar[playerid]] = 0;
			UnLockCar(gLastCar[playerid]);
		}
	}
	if(GunGame == 2)
	{
			    new echipa01 = 0;
			    new echipa02 = 0;
	    		for(new pla = 0; pla <= MAX_PLAYERS; pla++)
		        {
		            if(IsPlayerConnected(pla))
	    			{
						if(JoinedGunGame[pla] == 1)
	    			    {
                            echipa01++;
						}
						if(JoinedGunGame[pla] == 2)
	    			    {
                            echipa02++;
						}
	    			}
		        }
		        if(echipa01 == 0)
				{
				    for(new pla = 0; pla <= MAX_PLAYERS; pla++)
			        {
			            if(IsPlayerConnected(pla))
		    			{
		    			    SendClientMessage(pla, COLOR_WHITE, "Echipa numarul 2 a castigat eventul GunGame.");
		    			    if(JoinedGunGame[pla] == 2)
		    			    {
		    			        SendClientMessage(pla, COLOR_WHITE, "Felicitari! Ai primit 50.000$, deoarece echipa ta a castigat eventul GunGame si ai ramas in viata.");
	                            GivePlayerCash(pla,50000);
	                            ConsumingMoney[pla] = 1;
	                            new hour,minute,second;
								new year, month,day;
								gettime(hour,minute,second);
								getdate(year, month, day);
								new string[512];
								GetPlayerName(pla, sendername, sizeof(sendername));
								format(string, sizeof(string), "%s a primit (winner gungame) $50.000  (%d/%d/%d ora: %d:%d:%d )", sendername, day, month, year, hour,minute,second);
								PayLog(string);
							}
		    			}
					}
					OmoaraInvingatori();
					GunGame = 0;
				}
				if(echipa02 == 0)
				{
				    for(new pla = 0; pla <= MAX_PLAYERS; pla++)
			        {
			            if(IsPlayerConnected(pla))
		    			{
		    			    SendClientMessage(pla, COLOR_WHITE, "Echipa numarul 1 a castigat eventul GunGame.");
		    			    if(JoinedGunGame[pla] == 1)
		    			    {
		    			        SendClientMessage(pla, COLOR_WHITE, "Felicitari! Ai primit 50.000$, deoarece echipa ta a castigat eventul GunGame si ai ramas in viata.");
	                            GivePlayerCash(pla,50000);
	                            ConsumingMoney[pla] = 1;
	                            new hour,minute,second;
								new year, month,day;
								gettime(hour,minute,second);
								getdate(year, month, day);
								new string[512];
								GetPlayerName(pla, sendername, sizeof(sendername));
								format(string, sizeof(string), "%s a primit (winner gungame) $50.000  (%d/%d/%d ora: %d:%d:%d )", sendername, day, month, year, hour,minute,second);
								PayLog(string);
							}
		    			}
					}
					OmoaraInvingatori();
					GunGame = 0;
				}
	}
    if(TransportDuty[playerid] == 1)
	{
		TaxiDrivers -= 1;
	}
    else if(TransportDuty[playerid] == 2)
	{
		BusDrivers -= 1;
	}
	if(PlayerInfo[playerid][pJob] == 10)
	{
	    if(JobDuty[playerid] == 1) { Medics -= 1; }
	}
	else if(PlayerInfo[playerid][pJob] == 7)
	{
	    if(JobDuty[playerid] == 1) { Mechanics -= 1; }
	}
	GetPlayerName(playerid, sendername, sizeof(sendername));
	OnPlayerUpdate(playerid);
	numplayers--;
	SaveAccounts();
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)