SA-MP Forums Archive
run time error 4 :" Arrray index out of bounds - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: run time error 4 :" Arrray index out of bounds (/showthread.php?tid=659215)



run time error 4 :" Arrray index out of bounds - skiplovebra - 27.09.2018

Код:
[22:24:21] [debug] Run time error 4: "Array index out of bounds"
[22:24:21] [debug] AMX backtrace:
[22:24:21] [debug] #0 0053ce3c in public OnPlayerEnterCheckpoint (playerid=0) at ./File/GTA-RP.pwn:94466
Код:
		if(DoubleXP)
                {
					SendClientMessageEx(playerid, COLOR_YELLOW, "Ban da duoc 2 diem ky nang truck thay vi 1 diem.");
					PlayerInfo[playerid][pTruckSkill] += 2;
                    if(TruckerTogetther[playerid] != INVALID_PLAYER_ID)
                    {
                        SendClientMessageEx(TruckerTogetther[playerid], COLOR_YELLOW, "Ban da duoc 2 diem ky nang truck thay vi 1 diem.");
                        PlayerInfo[TruckerTogetther[playerid]][pTruckSkill] += 2;
                    }
					PlayerInfo[playerid][pXP] += PlayerInfo[playerid][pLevel] * XP_RATE * 2;
				}
				else if(PlayerInfo[playerid][pDoubleEXP] > 0 && !DoubleXP)
				{
					format(string, sizeof(string), "Ban da duoc 2 ky nang truck thay vi 1 diem. Ban co %d gio con lai de nhan doi EXP token.", PlayerInfo[playerid][pDoubleEXP]);
					SendClientMessageEx(playerid, COLOR_YELLOW, string);
					PlayerInfo[playerid][pTruckSkill] += 2;
                    if(TruckerTogetther[playerid] != INVALID_PLAYER_ID)
                    {
                        if(PlayerInfo[TruckerTogetther[playerid]][pDoubleEXP] > 0)
                        {
                            format(string, sizeof(string), "Ban da duoc 2 ky nang truck thay vi 1 diem. Ban co %d gio con lai de nhan doi EXP token.", PlayerInfo[TruckerTogetther[playerid]][pDoubleEXP]);
                            SendClientMessageEx(TruckerTogetther[playerid], COLOR_YELLOW, string);
                            PlayerInfo[TruckerTogetther[playerid]][pTruckSkill] += 2;
                        }
                    }
					PlayerInfo[playerid][pXP] += PlayerInfo[playerid][pLevel] * XP_RATE * 2;
				}
				else
				{
					PlayerInfo[playerid][pTruckSkill] += 1;
                    if(TruckerTogetther[playerid] != INVALID_PLAYER_ID)
                    {
                        PlayerInfo[TruckerTogetther[playerid]][pTruckSkill] += 1;
                    }
					PlayerInfo[playerid][pXP] += PlayerInfo[playerid][pLevel] * XP_RATE;
				}

				if(PlayerInfo[playerid][pDaily_Status] == 1 && PlayerInfo[playerid][pDaily_Step] == 2 && PlayerInfo[playerid][pDaily_Step_Status] == 0)
				{
					PlayerInfo[playerid][pDaily_Count]++;

					if(PlayerInfo[playerid][pDaily_Count] == DAILY_TRUCK_DELIVER_TURN)
					{
						PlayerInfo[playerid][pDaily_Step_Status] = 1;
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Ban da hoan thanh nhiem vu so 2: 'Giao 5 chuyen Truck' hay tro lai gap NPC de nhan nhiem vu tiep theo.");
					}
				}

				if(TruckerTogetther[playerid] != INVALID_PLAYER_ID)
				{
					if(PlayerInfo[TruckerTogetther[playerid]][pDaily_Status] == 1 && PlayerInfo[TruckerTogetther[playerid]][pDaily_Step] == 2 && PlayerInfo[TruckerTogetther[playerid]][pDaily_Step_Status] == 0)
					{
						PlayerInfo[TruckerTogetther[playerid]][pDaily_Count]++;

						if(PlayerInfo[TruckerTogetther[playerid]][pDaily_Count] == DAILY_TRUCK_DELIVER_TURN)
						{
							PlayerInfo[TruckerTogetther[playerid]][pDaily_Step_Status] = 1;
							SendClientMessageEx(TruckerTogetther[playerid], COLOR_LIGHTBLUE, "Ban da hoan thanh nhiem vu so 2: 'Giao 5 chuyen Truck' hay tro lai gap NPC de nhan nhiem vu tiep theo.");
						}
					}
				}

				if(PlayerInfo[playerid][pDaily_Status] == 1 && PlayerInfo[playerid][pDaily_Step] == 10 && PlayerInfo[playerid][pDaily_Step_Status] == 0)
				{
					PlayerInfo[playerid][pDaily_Count]++;

					if(PlayerInfo[playerid][pDaily_Count] == DAILY_TRUCK_DELIVER_TURN)
					{
						PlayerInfo[playerid][pDaily_Step_Status] = 1;
						SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Ban da hoan thanh nhiem vu so 10: 'Giao 5 chuyen Truck' hay tro lai gap NPC de nhan nhiem vu tiep theo.");
					}
				}

				if(TruckerTogetther[playerid] != INVALID_PLAYER_ID)
				{
					if(PlayerInfo[TruckerTogetther[playerid]][pDaily_Status] == 1 && PlayerInfo[TruckerTogetther[playerid]][pDaily_Step] == 10 && PlayerInfo[TruckerTogetther[playerid]][pDaily_Step_Status] == 0)
					{
						PlayerInfo[TruckerTogetther[playerid]][pDaily_Count]++;

						if(PlayerInfo[TruckerTogetther[playerid]][pDaily_Count] == DAILY_TRUCK_DELIVER_TURN)
						{
							PlayerInfo[TruckerTogetther[playerid]][pDaily_Step_Status] = 1;
							SendClientMessageEx(TruckerTogetther[playerid], COLOR_LIGHTBLUE, "Ban da hoan thanh nhiem vu so 10: 'Giao 5 chuyen Truck' hay tro lai gap NPC de nhan nhiem vu tiep theo.");
						}
					}
				}

				TruckUsed[playerid] = INVALID_VEHICLE_ID;
				TruckUsed[TruckerTogetther[playerid]] = INVALID_VEHICLE_ID;
				TruckerTogetther[playerid] = INVALID_PLAYER_ID;
			    TruckerTogetther[TruckerTogetther[playerid]] = INVALID_PLAYER_ID;
				DeletePVar(playerid, "TruckDeliver");
Error 94466
Код:
TruckUsed[playerid] = INVALID_VEHICLE_ID;
				TruckUsed[TruckerTogetther[playerid]] = INVALID_VEHICLE_ID;
				TruckerTogetther[playerid] = INVALID_PLAYER_ID;
			    TruckerTogetther[TruckerTogetther[playerid]] = INVALID_PLAYER_ID;
				DeletePVar(playerid, "TruckDeliver");



Re: run time error 4 :" Arrray index out of bounds - Variable™ - 27.09.2018

Code?


Re: run time error 4 :" Arrray index out of bounds - skiplovebra - 27.09.2018

Quote:
Originally Posted by Variable™
Посмотреть сообщение
Code?
Bump


Re: run time error 4 :" Arrray index out of bounds - Variable™ - 27.09.2018

What are you bumping? Show code.

Edit: You added code after my reply nvm.


Re: run time error 4 :" Arrray index out of bounds - skiplovebra - 27.09.2018

Quote:
Originally Posted by Variable™
Посмотреть сообщение
What are you bumping? Show code.
I have shown the above already?


Re: run time error 4 :" Arrray index out of bounds - NaS - 27.09.2018

Код:
TruckerTogetther[playerid] = INVALID_PLAYER_ID;
TruckerTogetther[TruckerTogetther[playerid]] = INVALID_PLAYER_ID;
You set TruckerTogetther to INALID_PLAYER_ID and then use it as index.
That's your index out of bounds error.

Store the first value in a local variable, then reset it for playerid and after that use the local variable to reset the other player's TruckerTogetther index.


Re: run time error 4 :" Arrray index out of bounds - skiplovebra - 27.09.2018

Quote:
Originally Posted by NaS
Посмотреть сообщение
Код:
TruckerTogetther[playerid] = INVALID_PLAYER_ID;
TruckerTogetther[TruckerTogetther[playerid]] = INVALID_PLAYER_ID;
You set TruckerTogetther to INALID_PLAYER_ID and then use it as index.
That's your index out of bounds error.

Store the first value in a local variable, then reset it for playerid and after that use the local variable to reset the other player's TruckerTogetther index.
I have another error in this section
Код:
new mypoint = -1;
				for (new i=0; i<MAX_POINTS; i++)
				{
					if(strcmp(Points[i][Name], "LOS SANTOS Docks", true) == 0)
					{
						mypoint = i;
					}
				}
				for(new i = 0; i < sizeof(FamilyInfo); i++)
				{
					if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
					{
						Misc_Save();
						FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(200);
					}
			 	}
			}
Error
Код:
if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)



Re: run time error 4 :" Arrray index out of bounds - NaS - 27.09.2018

Check if mypoint isn't -1 before the second loop. -1 means no slot was found and would cause another array index out of bounds error.