backtraces - I cant seem to find the problem
#1

Код:
[debug] Run time error 4: "Array index out of bounds"
[debug]  Accessing element at index 61 past array upper bound 46
[debug] AMX backtrace:
[debug] #0 00023120 in public WeaponSpawningBitch () from test.amx
pawn Код:
forward
WeaponSpawningBitch();
public WeaponSpawningBitch()
{
foreach(Player, i)
{
new weapon = GetPlayerWeapon(i);
if(weapon != 46 && weapon != 40 && weapon > 0 && Weapon[i][weap] == false)
{
SendClientMessage(i, COLOR_W, ""SX" Weapon change detected. Resetting your weapons.");
ResetPlayerWeaponsEx(i);
}
}
return 1;
}
2nd problem:
Код:
[debug] AMX backtrace:
[debug] #0 00036644 in public CB_OnPlayerKeyStateChange (0x00000001, 0x00000004, 0x00000000) from test.amx
[debug] #1 0001f260 in ?? (0x00000001, 0x00000004, 0x00000000) from test.amx
[debug] #2 00007e54 in public OnPlayerKeyStateChange (0x00000001, 0x00000004, 0x00000000) from test.amx
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(TPLI[playerid][InEvent] != 1)
{
if((newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) || (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) )
{
switch(GetPlayerWeapon(playerid))
{
case 24:
{
if(Ammos[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid))
{
new Float:pos[3], Float:hp;
GetPlayerName(playerid, name[playerid], 24);
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
ClearAnimations(playerid, 1);
ApplyAnimation(playerid, "PED", "XPRESSscratch", 0.0, 1, 0, 0, 0, 650, 1);
GameTextForPlayer(playerid, "~r~Stop c-bugging!", 1500, 5);
SetPlayerPos(playerid, pos[0], pos[1], pos[2]+0.7);
GetPlayerHealth(playerid, hp);
SetPlayerHealth(playerid, hp-5);
CheckC[playerid] = 0;
}
return 1;
}
}
}
if(CheckC[playerid] == 1)
{
switch(WeaponID[playerid])
{
case 24:
{
if((newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK )
{
if(Ammos[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid))
{
new Float:pos[3], Float:hp;
GetPlayerName(playerid, name[playerid], 24);
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
ClearAnimations(playerid, 1);
ApplyAnimation(playerid, "PED", "XPRESSscratch", 0.0, 1, 0, 0, 0, 650, 1);
GameTextForPlayer(playerid, "~r~Stop c-bugging!", 1500, 5);
SetPlayerPos(playerid, pos[0], pos[1], pos[2]+0.7);
GetPlayerHealth(playerid, hp);
SetPlayerHealth(playerid, hp-5);
CheckC[playerid] = 0;
}
}
}
}
}
else if(((newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP))) ||
(newkeys & KEY_FIRE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP)) ||
(NotMoving[playerid] && (newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE)) ||
(NotMoving[playerid] && (newkeys & KEY_FIRE)) ||
(newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ||
(oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) )
{
CrouchTimer[playerid] = SetTimerEx("CheckCB", 3000, 0, "d", playerid);
CheckC[playerid] = 1;
WeaponID[playerid] = GetPlayerWeapon(playerid);
Ammos[playerid][GetPlayerWeapon(playerid)] = GetPlayerAmmo(playerid);
return 1;
}
}
return 1;
}
This happened when a guy with a hack connected!
The server didn't crash, everything worked fine, it restarted his weapons and didn't let him c-bug, but it showed these backtraces.
Reply
#2

bump. 1 day has passed. I still haven't found the solution to this.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)