Array must be indexed.
#1

So I made a stock which is overall fine except for one error which keeps me from compiling my script.

Error:
Код:
C:\Users\iSoomro\Desktop\NameIt Server - MySQL\gamemodes\tm-mysql.pwn(3581) : error 033: array must be indexed (variable "pName")
Stock:
pawn Код:
stock GetOrgOfLeader(playerid)
{
    if(IsPlayerLeader(playerid))
    {
        for(new i = 0; i < MAX_ORGS; i++)
        {
            if(pName(playerid) == OrgInfo[i][oLeader])
            {
                return i;
            }
        }
    }
    return 0;
}
Occurrence Line (3581):
pawn Код:
if(pName(playerid) == OrgInfo[i][oLeader])
EDIT: And a pName stock
pawn Код:
stock pName(playerid)
{
    new PlayerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
    return PlayerName;
}
Seeking a quick help.
Reply
#2

In 'If' you cant make 'if(string == string)' you only can 'if(number == number)'.
Reply
#3

You need to use strcmp.

pawn Код:
stock GetOrgOfLeader(playerid)
{
    if (IsPlayerLeader(playerid))
    {
        for (new i = 0; i < MAX_ORGS; i++)
        {
            if (!strcmp(pName(playerid), OrgInfo[i][oLeader]) && OrgInfo[i][oLeader][0] != '\0')
            {
                return i;
            }
        }
    }
    return 0;
}
Reply
#4

Oh shit! I am so stupid. I'll just use strcmp. Thanks anyway. +rep.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)