Server Crashing
#1

Код:
test
test2
test3
factiontest1
factiontest2
FactionTesteee: 1679252
[debug] Run time error 4: "Array index out of bounds"
[debug]  Accessing element at index 1131124 past array upper bound 9
[debug] AMX backtrace:
[debug] #0 00033c60 in Faction_Save (factionid=4) at lsr.pwn:925
[debug] #1 00034cb8 in public OnFactionCreated () at lsr.pwn:1012
For some reason the "I" is being set to 1679252 for some reason. I dont understand why or how to fix this. Thanks for the help



Код:
Faction_Save(factionid)
{
	static
	    query[2048];
		print("factiontest1");
		format(query, sizeof(query), "UPDATE `factions` SET `factionName` = '%s', `factionColor` = '%d', `factionType` = '%d', `factionRanks` = '%d', `factionLockerX` = '%.4f', `factionLockerY` = '%.4f', `factionLockerZ` = '%.4f', `factionLockerInt` = '%d', `factionLockerWorld` = '%d', `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnInterior` = '%d', `SpawnVW` = '%d'",
		mysql_escape_string(FactionData[factionid][factionName]),
		FactionData[factionid][factionColor],
		FactionData[factionid][factionType],
		FactionData[factionid][factionRanks],
		FactionData[factionid][factionLockerPos][0],
		FactionData[factionid][factionLockerPos][1],
		FactionData[factionid][factionLockerPos][2],
		FactionData[factionid][factionLockerInt],
		FactionData[factionid][factionLockerWorld],
		FactionData[factionid][SpawnX],
		FactionData[factionid][SpawnY],
		FactionData[factionid][SpawnZ],
		FactionData[factionid][SpawnInterior],
		FactionData[factionid][SpawnVW]);
		print("factiontest2");
	for (new i = 0; i < 10; i ++)
	{
	    if (i < 8)
		{
			printf("FactionTesteee: %d", i);
			format(query, sizeof(query), "%s, `factionSkin%d` = '%d', `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionSkins][i], i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
		}
		else
		{
		printf("Testeee: %d", i);
			format(query, sizeof(query), "%s, `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
		}
	}
	print("factiontest3");
	format(query, sizeof(query), "%s WHERE `factionID` = '%d'",
		query,
		FactionData[factionid][factionID]
	);
	print("factiontest4");
	mysql_tquery(MySQLCon, query, "", "");
	print("factiontest5");
	return 1;
}
Reply
#2

Bump
Reply
#3

either compile your gamemode with -d3 flag or put print("1");,print("2");,print("3"); and so on, between every 2-3 lines to see where your script gets before it crashes.
Reply
#4

Код:
test
test2
test3
factiontest1
factiontest2
FactionTesteee: 1679252
[debug] Run time error 4: "Array index out of bounds"
[debug]  Accessing element at index 1131124 past array upper bound 9
[debug] AMX backtrace:
[debug] #0 00033c60 in Faction_Save (factionid=4) at lsr.pwn:925
[debug] #1 00034cb8 in public OnFactionCreated () at lsr.pwn:1012
For some reason the "I" is being set to 1679252 for some reason. I dont understand why or how to fix this. Thanks for the help



Код:
Faction_Save(factionid)
{
	static
	    query[2048];
		print("factiontest1");
		format(query, sizeof(query), "UPDATE `factions` SET `factionName` = '%s', `factionColor` = '%d', `factionType` = '%d', `factionRanks` = '%d', `factionLockerX` = '%.4f', `factionLockerY` = '%.4f', `factionLockerZ` = '%.4f', `factionLockerInt` = '%d', `factionLockerWorld` = '%d', `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnInterior` = '%d', `SpawnVW` = '%d'",
		mysql_escape_string(FactionData[factionid][factionName]),
		FactionData[factionid][factionColor],
		FactionData[factionid][factionType],
		FactionData[factionid][factionRanks],
		FactionData[factionid][factionLockerPos][0],
		FactionData[factionid][factionLockerPos][1],
		FactionData[factionid][factionLockerPos][2],
		FactionData[factionid][factionLockerInt],
		FactionData[factionid][factionLockerWorld],
		FactionData[factionid][SpawnX],
		FactionData[factionid][SpawnY],
		FactionData[factionid][SpawnZ],
		FactionData[factionid][SpawnInterior],
		FactionData[factionid][SpawnVW]);
		print("factiontest2");
	for (new i = 0; i < 10; i ++)
	{
	    if (i < 8)
		{
			printf("FactionTesteee: %d", i);
			format(query, sizeof(query), "%s, `factionSkin%d` = '%d', `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionSkins][i], i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
		}
		else
		{
		printf("Testeee: %d", i);
			format(query, sizeof(query), "%s, `factionWeapon%d` = '%d', `factionAmmo%d` = '%d'", query, i + 1, FactionData[factionid][factionWeapons][i], i + 1, FactionData[factionid][factionAmmo][i]);
		}
	}
	print("factiontest3");
	format(query, sizeof(query), "%s WHERE `factionID` = '%d'",
		query,
		FactionData[factionid][factionID]
	);
	print("factiontest4");
	mysql_tquery(MySQLCon, query, "", "");
	print("factiontest5");
	return 1;
}
Reply
#5

The error is pretty self-explanatory.

"Array index out of bounds" - An index of an array is below 0 or above its size.

For example:
pawn Код:
new aVariable[5];
aVariable[0] = 0;
aVariable[1] = 0;
aVariable[2] = 0;
aVariable[3] = 0;
aVariable[4] = 0;
aVariable[5] = 0;
= The index 5 is invalid.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)