SA-MP Forums Archive
backtrace - 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: backtrace (/showthread.php?tid=676077)



backtrace - Ertouq - 29.05.2020

Recently on my server I discovered this:


PHP Code:
[18:31:24] [debugRun time error 4"Array index out of bounds"
[18:31:24] [debug]  Attempted to read/write array element at index 65535 in array of size 1000
[18:31:24] [debugAMX backtrace:
[
18:31:24] [debug#0 00063208 in main (playerid=0, params[]=@006e9c2c "2 0") at C:\Users\ert\OneDrive\Escritorio\sv\gamemodes\sv.pwn:3621 
and the command:


PHP Code:
CMD:sethealth(playeridparams[])
{
    new 
idFloat:healthstring[124];
    if(
sscanf(params"uf"idhealth)) return SendClientMessage(playerid, -1"/sethealth (id/name)");
    if(
PlayerInfo[playerid][Admin] < 2) return 0;
    if(
PlayerInfo[id][Logged] == 0) return SendClientMessage(playerid, -1"this player is not logged yet");
    
format(stringsizeof(string), "Admin %s has changed your health to %0.1f."GetName(playerid), health);
    
SendClientMessage(id0x1153EEFFstring);
    
SetPlayerHealth(idhealth);
    return 
1;

I've tried to change but it doesn't work. Thanks!


Re: backtrace - Runn3R - 29.05.2020

PlayerInfo is MAX_PLAYERS aka 1000 and somebody typed the wrong name hence the error cause the name doesn't exists the U parameter returned 65535..

Do a IsPlayerConnected if statement before running the PlayerInfo checks.


Re: backtrace - SharpenBlade - 29.05.2020

Quote:
Originally Posted by Ertouq
View Post
Recently on my server I discovered this:


PHP Code:
[18:31:24] [debugRun time error 4"Array index out of bounds"
[18:31:24] [debug]  Attempted to read/write array element at index 65535 in array of size 1000
[18:31:24] [debugAMX backtrace:
[
18:31:24] [debug#0 00063208 in main (playerid=0, params[]=@006e9c2c "2 0") at C:\Users\ert\OneDrive\Escritorio\sv\gamemodes\sv.pwn:3621 
and the command:


PHP Code:
CMD:sethealth(playeridparams[])
{
    new 
idFloat:healthstring[124];
    if(
sscanf(params"uf"idhealth)) return SendClientMessage(playerid, -1"/sethealth (id/name)");
    if(
PlayerInfo[playerid][Admin] < 2) return 0;
    if(
PlayerInfo[id][Logged] == 0) return SendClientMessage(playerid, -1"this player is not logged yet");
    
format(stringsizeof(string), "Admin %s has changed your health to %0.1f."GetName(playerid), health);
    
SendClientMessage(id0x1153EEFFstring);
    
SetPlayerHealth(idhealth);
    return 
1;

I've tried to change but it doesn't work. Thanks!
PHP Code:
CMD:sethealth(playeridparams[])
{
    if(
PlayerInfo[playerid][Admin] < 2) return 0;
    new 
idFloat:healthstring[124];
    if(
sscanf(params"uf"idhealth)) return SendClientMessage(playerid, -1"/sethealth (id/name) (health)");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"this player is not connected yet");
    if(
PlayerInfo[id][Logged] == 0) return SendClientMessage(playerid, -1"this player is not logged yet");
    
format(stringsizeof(string), "Admin %s has changed your health to %0.1f."GetName(playerid), health);
    
SendClientMessage(id0x1153EEFFstring);
    
SetPlayerHealth(idhealth);
    return 
1;

Try this.


Re: backtrace - Runn3R - 29.05.2020

That's literally what i've said...

Why don't you let people write their own code.


Re: backtrace - Ertouq - 29.05.2020

Quote:
Originally Posted by Runn3R
View Post
That's literally what i've said...

Why don't you let people write their own code.
Don't worry, I did it myself when I read your answer as I understood. Thank you both very much.


Re: backtrace - jasperschellekens - 29.05.2020

Quote:
Originally Posted by Runn3R
View Post
That's literally what i've said...

Why don't you let people write their own code.
Yeah that's something that annoys me too. People posting large piles of shitcode without any expanation or whatsoever...
The quality of posts on sa-mp forums have reduced drastically.

What this forum need is some proper ruling and a few dedicated mods that enforce em.