Error in console at command
#1

Error:
Код:
[13:34:34] [CMD] Punct.: /war
[13:34:34] [debug] Run time error 4: "Array index out of bounds"
[13:34:34] [debug]  Accessing element at index 19 past array upper bound 18
[13:34:34] [debug] AMX backtrace:
[13:34:34] [debug] #0 0002cdd4 in public OnPlayerCommandText (playerid=0, cmdtext[]=@0x00349d5c "/war") at C:\~Jocuri~\Trucking samp\gamemodes\v3.4.pwn:1049
Command /war:
Код:
	if(strcmp(cmd, "/war", true) == 0 || strcmp(cmd, "/razboi", true) == 0)
	{
	    new pName[MAX_PLAYER_NAME];
	    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
	    if(joinwar != 0)
	    {
	        return 1;
	    }
		if(!IsAMember(playerid))
		{
		    return 1;
		}
		if(PlayerInfo[playerid][pRank] < 5)
		{
		    return 1;
		}
		for(new i=1; i<=sizeof(TeritoriuInfo); i++) // Line 1049
		{
		    if(PlayerToPoint(4.0, playerid, TeritoriuInfo[i][tPozX3], TeritoriuInfo[i][tPozY3], TeritoriuInfo[i][tPozZ3]) && PlayerInfo[playerid][pFactiune] != TeritoriuInfo[i][tOwned])
		    {
		        if(TeritoriuInfo[i][tTime] < 5)
		        {
		            format(string, sizeof(string), "Teritoriul poate fi atacat numai peste %d ore.", 5-TeritoriuInfo[i][tTime]);
		            SCM(playerid, c_alb,string);
		            return 1;
		        }
		        new nrwarzone=0;
		        for(new j=1; j<sizeof(TeritoriuInfo); j++)
		        {
         			if(TeritoriuInfo[j][tOwned] == PlayerInfo[playerid][pFactiune])
         			{
         			    nrwarzone++;
         			}
		        }
		        if(nrwarzone > 4)
		        {
		    		SendClientMessage(playerid, c_alb, "O mafie nu poate detine mai mult de 4 teritorii.");
		            return 1;
		        }
		        for(new j=0; j<=MAX_PLAYERS; j++)
		        {
		            if(IsPlayerConnected(j))
	    			{
		    			GangZoneShowForPlayer(j, turf[i], 0x6AFFFCBE);
					}
		        }
		        joinwar = 1;
				SetTimer("StopWarJoin", 60000, 0);
				//SetTimer("StopWarJoin",60000,0);
				new ttext[35];
				if(TeritoriuInfo[i][tOwned] == 4)
				{
				    ttext = "{258127}Familia Mararu{0076F9}";
				}
				else if(TeritoriuInfo[i][tOwned] == 5)
				{
				    ttext = "{9B5137}Familia Spoitoru{0076F9}";
				}
				else if(TeritoriuInfo[i][tOwned] == 6)
				{
				    ttext = "{D084D7}Familia Mondialu{0076F9}";
				}
				else if(TeritoriuInfo[i][tOwned] == 7)
				{
				    ttext = "{009F98}Familia Gigiok{0076F9}";
				}
				new tttext[35];
				if(PlayerInfo[playerid][pFactiune] == 4)
				{
				    tttext = "{258127}Familia Mararu{0076F9}";
				}
				else if(PlayerInfo[playerid][pFactiune] == 5)
				{
				    tttext = "{9B5137}Familia Spoitoru{0076F9}";
				}
				else if(PlayerInfo[playerid][pFactiune] == 6)
				{
				    tttext = "{D084D7}Familia Mondialu{0076F9}";
				}
				else if(PlayerInfo[playerid][pFactiune] == 7)
				{
				    tttext = "{009F98}Familia Gigiok{0076F9}";
				}
				waratack = PlayerInfo[playerid][pFactiune];
				wars[playerid] = 1;
				new zona[25];
		   			if(TeritoriuInfo[i][tID] == 1)
		   			{
		   			    zona = "{FFFFFF}Docuri S";
					}
					else if(TeritoriuInfo[i][tID] == 2)
		   			{
		   			    zona = "{FFFFFF}Docuri D";
					}
					else if(TeritoriuInfo[i][tID] == 3)
		   			{
		   			    zona = "{FFFFFF}Sub Portocala S";
					}
					else if(TeritoriuInfo[i][tID] == 4)
		   			{
		   			    zona = "{FFFFFF}Sub Portocala D";
					}
					else if(TeritoriuInfo[i][tID] == 5)
		   			{
		   			    zona = "{FFFFFF}Sub Cocos";
					}
					else if(TeritoriuInfo[i][tID] == 6)
		   			{
		   			    zona = "{FFFFFF}Ferma Jos";
					}
					else if(TeritoriuInfo[i][tID] == 7)
		   			{
		   			    zona = "{FFFFFF}Dillmore S";
					}
					else if(TeritoriuInfo[i][tID] == 8 )
		   			{
		   			    zona = "{FFFFFF}Dillmore D";
					}
					else if(TeritoriuInfo[i][tID] == 9)
		   			{
		   			    zona = "{FFFFFF}Laptarie";
					}
					else if(TeritoriuInfo[i][tID] == 10)
		   			{
		   			    zona = "{FFFFFF}Ferma $";
					}
					else if(TeritoriuInfo[i][tID] == 11)
		   			{
		   			    zona = "{FFFFFF}Old Town";
					}
					else if(TeritoriuInfo[i][tID] == 12)
		   			{
		   			    zona = "{FFFFFF}Cutii";
					}
					else if(TeritoriuInfo[i][tID] == 13)
		   			{
		   			    zona = "{FFFFFF}Uzina LS";
					}
					else if(TeritoriuInfo[i][tID] == 14)
		   			{
		   			    zona = "{FFFFFF}Baza Chilliad";
					}
					else if(TeritoriuInfo[i][tID] == 15)
		   			{
		   			    zona = "{FFFFFF}Ferma Sus";
					}
					else if(TeritoriuInfo[i][tID] == 16)
		   			{
		   			    zona = "{FFFFFF}Turnuri";
					}
					else if(TeritoriuInfo[i][tID] == 17)
		   			{
		   			    zona = "{FFFFFF}BayaSide";
					}
					else if(TeritoriuInfo[i][tID] == 18 )
		   			{
		   			    zona = "{FFFFFF}Busteni";
					}
				format(string, sizeof(string), "[WAR] {FFFFFF}%s{0076F9} ataca un teritoriu ce apartine %s.",tttext,ttext);
				new string2[250];
				format(string2, sizeof(string2), "[WAR] {0076F9}Razboiul se duce pe teritoriul '%s{0076F9}'. Feriti-va de acea zona.",zona);
				for(new j=0;j<=MAX_PLAYERS;j++)
				{
				    if(IsPlayerConnected(j))
	    			{
	    			    //if(IsAMember(j))
	    			    //{
	    			        SendClientMessage(j, 0xFF6246FF,string);
	    			        SendClientMessage(j, 0xFF6246FF,string2);
	    			    //}
	    			}
				}
		        warid = i;
		    }
		}
	    return 1;
	}
TeritoriuInfo:
Код:
enum _TINFO
{
	tID,
	tOwner[256],
	tOwned,
	tTime,
	Float:tPozX1,
	Float:tPozY1,
	Float:tPozX2,
	Float:tPozY2,
	Float:tPozX3,
	Float:tPozY3,
	Float:tPozZ3
}
new TeritoriuInfo[19][_TINFO];
P.S. In database i have 18 TeritoriuInfo. ( 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 )
Reply
#2

The index starts from 0 and the last valid bound is 18:
pawn Код:
for(new i=0; i<sizeof(TeritoriuInfo); i++)
Reply
#3

Thanks

+ credits

Hmm.. i can't give you +REP.. i dont know why, buy thanks you again.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)