Accessing element at negative index -400
#1

Hello everybody! Today I put crashdetect.dll plugin to my server to check errors. And I get this error in server-log file:

Код:
[22:24:35] [debug] Run time error 4: "Array index out of bounds"
[22:24:35] [debug]  Accessing element at negative index -400
[22:24:35] [debug] AMX backtrace:
[22:24:35] [debug] #0 0000cff4 in ?? () from SAMP.amx
[22:24:35] [debug] #1 001bb3d8 in public Kuro () from SAMP.amx
This happens in this code, because if I coment this callback called "Kuro" I don't see errors. Take that code:


Код:
new Float:TrDegalai[MAX_VEHICLES];//In top of my gm.

forward Kuro();
public Kuro()
{
	for(new vehicleid=0; vehicleid<MAX_VEHICLES; vehicleid++)
	{
		printf("Vehicleid %d",vehicleid);
		if(ArNaudojaDegalus(vehicleid))
		{
			if(GetVehicleBakas(vehicleid) >= 30 && GetVehicleBakas(vehicleid) <= 200)
			{
				switch(random(10))
				{
					case 0: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-20;
					case 1: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-18;
					case 2: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-14;
					case 3: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-2;
					case 4: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-10;
					case 5: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-15;
					case 6:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-16;
					case 7: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-7;
					case 8:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-5;
					case 9: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-11;
				}
			}
			else if(GetVehicleBakas(vehicleid) > 200 && GetVehicleBakas(vehicleid) <= 2000)
			{
				switch(random(10))
				{
					case 0:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-150;
					case 1:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-100;
					case 2:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-89;
					case 3: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-20;
					case 4:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-28;
					case 5:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-40;
					case 6:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-120;
					case 7: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-169;
					case 8: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-57;
					case 9:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-66;
				}
			}
			else if(GetVehicleBakas(vehicleid) > 2000)
			{
				switch(random(10))
				{
					case 0: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-800;
					case 1:	TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-950;
					case 2: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-156;
					case 3: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-789;
					case 4: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-500;
					case 5: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-658;
					case 6: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-123;
					case 7: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-169;
					case 8: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-57;
					case 9: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-648;
				}
			}
			else if(GetVehicleBakas(vehicleid) < 30)
			{
				switch(random(10))
				{
					case 0: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-4;
					case 1: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-5;
					case 2: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-1;
					case 3: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-2;
					case 4: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-3;
					case 5: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-1;
					case 6: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-4;
					case 7: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-3;
					case 8: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-2;
					case 9: TrDegalai[vehicleid] = GetVehicleBakas(vehicleid)-1;
				}
			}
		}
	}
	return 1;
}
Can anyone say there is the problem, because I can't find it here.
Reply
#2

new model = (GetVehicleModel(vehicleid))-400;

Some this kind of code somewhere in your script.
Reply
#3

For goodness' sake, please use only English names in your code! How are we supposed to know what "ArNaudojaDegalus" means?!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)