error 033: array must be indexed (variable "AfkText")
#1

hello i created new script /afk script with 3Dtextplayer

pawn Код:
new AfkText[MAX_PLAYERS];
pawn Код:
if(!strcmp(cmdtext, "/afk", true, 4)) // 4 is the length of /afk
    {
    if(!cmdtext[4])return SendClientMessage(playerid, 0xFF0000FF, "Santax: /afk reason");
    if(!cmdtext[5])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    if(!cmdtext[6])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    if(!cmdtext[7])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    if(!cmdtext[8])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    {
        new str[128];
        PlayerAfk[playerid] = 1;
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "{FFA1A1}.::|-{FF8000} %s Is{C77D87} Now{FBDF89} Afk {FFFFFF}Because :{C9FFAB} %s {FFA1A1}-|::.", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        TogglePlayerControllable(playerid,0);
        AfkText = Create3DTextLabel(str, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);//line 5368
        SetPlayerHealth(playerid,10000000.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "{6EF83C}You Cannot{F81414} Move Because{F3FF02} Afk Use{FFAF00} /Back {B7FF00}To Back From Afk !");
    }
    return 1;
    }
ERROR

Код:
(5368) : error 033: array must be indexed (variable "AfkText")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#2

pawn Код:
new Text3D:AfkText[MAX_PLAYERS];
pawn Код:
if(!strcmp(cmdtext, "/afk", true, 4)) // 4 is the length of /afk
    {
    if(!cmdtext[4])return SendClientMessage(playerid, 0xFF0000FF, "Santax: /afk reason");
    if(!cmdtext[5])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    if(!cmdtext[6])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    if(!cmdtext[7])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    if(!cmdtext[8])return SendClientMessage(playerid, 0xFF0000FF, "Please Don't Abuse Afk ! You Reason Must 8-40 Words !");
    {
        new str[128];
        PlayerAfk[playerid] = 1;
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "{FFA1A1}.::|-{FF8000} %s Is{C77D87} Now{FBDF89} Afk {FFFFFF}Because :{C9FFAB} %s {FFA1A1}-|::.", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        TogglePlayerControllable(playerid,0);
        AfkText[playerid] = Create3DTextLabel(str, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);//line 5368
        SetPlayerHealth(playerid,10000000.0);
        SendClientMessage(playerid, 0xFFFFFFFF, "{6EF83C}You Cannot{F81414} Move Because{F3FF02} Afk Use{FFAF00} /Back {B7FF00}To Back From Afk !");
    }
    return 1;
    }
Tell me if this fixes it
Reply
#3

and how to Destroy 3D Text Lable after use /back

pawn Код:
if(strcmp(cmdtext, "/back", true) == 0)
    {
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "{FF8000}* %s has {C0C0C0}now{FFF1AF} back from {C3C3C3}afk  ", str);
        SendClientMessageToAll(0xFFFF00AA, str);
        TogglePlayerControllable(playerid,1);
        PlayerAfk[playerid] = 0;
        SetPlayerHealth(playerid,100);
        return 1;
     }
Reply
#4

1) You should at least have the decency to thank the guy who helped you!
2)
pawn Код:
Delete3DTextLabel(AfkText[playerid]);
Reply
#5

pawn Код:
if(strcmp(cmdtext, "/back", true) == 0)
    {
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "{FF8000}* %s has {C0C0C0}now{FFF1AF} back from {C3C3C3}afk  ", str);
        SendClientMessageToAll(0xFFFF00AA, str);
        TogglePlayerControllable(playerid,1);
        Delete3DTextLabel(AfkText[playerid]);
        SetPlayerHealth(playerid,100);
        return 1;
     }
I just noticed that you are using Create3DTextLabel for a player, instead you should use Attach3DTextLabelToPlayer for a better function
Reply
#6

tnx all
Reply
#7

i should make

pawn Код:
new Text3D:AfkText[MAX_PLAYERS];
or

pawn Код:
new Text3D:AfkText[MAX_PLAYER_NAME];
Reply
#8

Quote:
Originally Posted by Guest123
Посмотреть сообщение
i should make

pawn Код:
new Text3D:AfkText[MAX_PLAYERS];
or

pawn Код:
new Text3D:AfkText[MAX_PLAYER_NAME];
Making it MAX_PLAYER_NAME will limit it to only 24 players since maximum available name length is 24. You have to make it MAX_PLAYERS because it will include all players available, I hope you get the point.
Reply
#9

Quote:
Originally Posted by Guest123
Посмотреть сообщение
i should make

pawn Код:
new Text3D:AfkText[MAX_PLAYERS];
or

pawn Код:
new Text3D:AfkText[MAX_PLAYER_NAME];
Use This :
pawn Код:
new Text3D:AfkText[MAX_PLAYERS];
Reply
#10

this is your problem
pawn Код:
AfkText[playerid] = Create3DTextLabel(str, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);//line 5368
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)