Restarting server
#1

[15:38:01] [debug] Run time error 4: "Array index out of bounds"
[15:38:01] [debug] Accessing element at index 65535 past array upper bound 999
[15:38:01] [debug] AMX backtrace:
[15:38:01] [debug] #0 001ad480 in public cmd_giverank (18, 1986584 from saints.amx
[15:38:01] [debug] #1 native CallLocalFunction () from samp03svr
[15:38:01] [debug] #2 000086f4 in public OnPlayerCommandText (18, 19865776) from saints.amx
Help...
Reply
#2

Kind of hard to diagnose without code. I'm guessing it's related to INVALID_PLAYER_ID.
Reply
#3

well and how do I resolve?
Reply
#4

Show the code! >_>
Reply
#5

Код:
CMD:giverank(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
if(togpin[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "{FFFFCC}Eroare: Contul tau este blocat. Scrie /unlockacc pentru a il debloca si pentru a folosi aceasta comanda.");
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pLeader] >= 1)
{
new para1,level,string[250],giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string2[250];
if(sscanf(params, "ui", para1,level)) return SendClientMessage(playerid, 0xFFFFFFFF,"{B8DBFF}Syntax: /giverank <Name/Playerid> <Rank(1-6)>");
if(level > 6 || level < 1) return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}Dont go below number 1 or above number 6.");
if(PlayerInfo[para1][pMember] != PlayerInfo[playerid][pLeader]) return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}This member is not in your faction.");
if(PlayerInfo[para1][pLeader] > 0) return SCM(playerid,COLOR_WHITE,"{FFB870}This player is a leader.");
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pRank] = level;
format(string, sizeof(string), "* Leader %s promoted you to rank %d.", sendername,level);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "*You have given %s Rank %d.", giveplayer,level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
//
format(string, sizeof(string), "Liderul %s l-a promovat pe %s la rang %d.", sendername, giveplayer, level);
SendFamilyMessage(PlayerInfo[playerid][pMember], COLOR_LIGHTBLUE, string);
//
new str[128];
format(str,sizeof(str),"UPDATE users SET `Rank`='%d' WHERE `name`='%s'",PlayerInfo[para1][pRank],giveplayer);
mysql_query(SQL,str);
format(string2,sizeof(string2),"%s Got rank %d by %s.",giveplayer,level,sendername);
Factionlog(PlayerInfo[para1][pMember],PlayerInfo[para1][pSQLID],string2);
}
else return SendClientMessage(playerid, COLOR_WHITE, "{FFFFCC}Error: Player not connected.");
}
else return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}Only leaders can use this command.");
}
return 1;
}
Reply
#6

up?pppp
Reply
#7

upppp
Reply
#8

pawn Код:
CMD:giverank(playerid, params[])
{
    if(gPlayerLogged[playerid] == 0)        return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
    if(togpin[playerid] == 0)               return SendClientMessage(playerid, COLOR_LIGHTRED, "{FFFFCC}Eroare: Contul tau este blocat. Scrie /unlockacc pentru a il debloca si pentru a folosi aceasta comanda.");
    if(PlayerInfo[playerid][pLeader] < 1)   return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}Only leaders can use this command.");

    new para1,level;
    if(sscanf(params, "ui", para1,level))   return SendClientMessage(playerid, 0xFFFFFFFF,"{B8DBFF}Syntax: /giverank <Name/Playerid> <Rank(1-6)>");
    if(!IsPlayerConnected(para1))       return SendClientMessage(playerid, COLOR_WHITE, "{FFFFCC}Error: Player not connected.");
    if(level > 6 || level < 1)              return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}Dont go below number 1 or above number 6.");
    if(PlayerInfo[para1][pMember] != PlayerInfo[playerid][pLeader]) return SendClientMessage(playerid, COLOR_WHITE, "{FFB870}This member is not in your faction.");
    if(PlayerInfo[para1][pLeader] > 0)      return SCM(playerid,COLOR_WHITE,"{FFB870}This player is a leader.");

    new giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME],string[250];
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
   
    PlayerInfo[para1][pRank] = level;
   
    format(string, sizeof(string), "* Leader %s promoted you to rank %d.", sendername,level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
   
    format(string, sizeof(string), "*You have given %s Rank %d.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
   
    format(string, sizeof(string), "Liderul %s l-a promovat pe %s la rang %d.", sendername, giveplayer, level);
    SendFamilyMessage(PlayerInfo[playerid][pMember], COLOR_LIGHTBLUE, string);
   
    format(string,sizeof(string),"UPDATE users SET `Rank`='%d' WHERE `name`='%s'",PlayerInfo[para1][pRank],giveplayer);
    mysql_query(SQL,string);
   
    format(string,sizeof(string),"%s Got rank %d by %s.",giveplayer,level,sendername);
    Factionlog(PlayerInfo[para1][pMember],PlayerInfo[para1][pSQLID],string);

    return 1;
}
This should give no warnings
Reply
#9

Hello!

Try this:
PHP код:
CMD:giverank(playerid,params[])
{
    if(
gPlayerLogged[playerid] == 0)return SendClientMessage(playeridCOLOR_LIGHTRED"You need to login first.");
    if(
togpin[playerid] == 0)return SendClientMessage(playeridCOLOR_LIGHTRED"{FFFFCC}Eroare: Contul tau este blocat. Scrie /unlockacc pentru a il debloca si pentru a folosi aceasta comanda.");
    if(
IsPlayerConnected(playerid))
    {
        if(
PlayerInfo[playerid][pLeader] >= 1)
        {
            new 
para1,level,string[145],giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
            if(
sscanf(params,"ui",para1,level))return SendClientMessage(playerid0xFFFFFFFF,"{B8DBFF}Syntax: /giverank <Name/Playerid> <Rank(1-6)>");
            if(!
IsPlayerConnected(para1))return SendClientMessage(playeridCOLOR_WHITE"{FFFFCC}Error: Player not connected.");
            if(
PlayerInfo[para1][pMember] != PlayerInfo[playerid][pLeader])return SendClientMessage(playeridCOLOR_WHITE"{FFB870}This member is not in your faction.");
            if(
PlayerInfo[para1][pLeader] > 0)return SCM(playerid,COLOR_WHITE,"{FFB870}This player is a leader.");
            
GetPlayerName(para1,giveplayer,sizeof giveplayer);
            
GetPlayerName(playerid,sendername,sizeof sendername);
            
PlayerInfo[para1][pRank] = level;
            
format(string,sizeof string,"* Leader %s promoted you to rank %d.",sendername,level);
            
SendClientMessage(para1,COLOR_LIGHTBLUE,string);
            
format(stringsizeof(string), "*You have given %s Rank %d."giveplayer,level);
            
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
            
format(stringsizeof(string), "Liderul %s l-a promovat pe %s la rang %d."sendernamegiveplayerlevel);
            
SendFamilyMessage(PlayerInfo[playerid][pLeader], COLOR_LIGHTBLUEstring);
            
format(string,sizeof string,"UPDATE `users` SET `Rank`='%i' WHERE `name`='%s'",PlayerInfo[para1][pRank],giveplayer);
            
mysql_query(SQL,string);
            
format(string,sizeof string,"%s Got rank %d by %s.",giveplayer,leve,sendername);
            
Factionlog(PlayerInfo[para1][pMember],PlayerInfo[para1][pSQLID],string);
        }
        else return 
SendClientMessage(playeridCOLOR_WHITE"{FFB870}Only leaders can use this command.");
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)