Portal SAMP
[Ajuda] Problema com chat local e código de tag - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Problema com chat local e código de tag (/showthread.php?tid=3087)



Problema com chat local e código de tag - Ferreira - 20/12/2022

Oi pessoal, então tentei criar um sistema de chat local com tag no chat, sou iniciante ainda e deu esse erro n sei oq significa, se alguém conseguir me ajudar agradeço


error 028: invalid subscript (not an array or too many subscripts): "Admin"
(4222) : warning 215: expression has no effect
(4222) : error 001: expected token: ";", but found "]"
(4222) : error 029: invalid expression, assumed zero
(4222) : fatal error 107: too many error messages on one line


Codigo
new string5[128];
    format(string5,sizeof(string5), "%s(%d): %s", PlayerName(playerid),playerid, text);
    print(string5);
    if(!IsPlayerInAnyVehicle(playerid))
    {
        ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
    }
    if(Admin[playerid] > 0 && PlayerDados[playerid][Trabalhando] == 1)
    {
        new string[256];
        format(string, sizeof(string), "%s{FFFFFF}(%d)[{FC4C00}ADM{FFFFFF}] diz: {FFFFFF}%s", PlayerName(playerid),playerid, text);
        SendClientMessageInRange(30.0, playerid, string, -1,-1,-1,-1,-1);
        SetPlayerChatBubble(playerid, sz, -1, 35.0, 10000);
        if(!IsPlayerInAnyVehicle(playerid))
        {
            ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
        }
        return 0;
  }
  }
}


RE: Problema com chat local e código de tag - DelK - 20/12/2022

Como está declarado o Admin[playerid] ?


RE: Problema com chat local e código de tag - xbruno1000x - 20/12/2022

Você copiou de outro gamemode? Pode ser que as variáveis não sejam iguais, e por isso o erro(no caso a variável de admin).


RE: Problema com chat local e código de tag - Ferreira - 20/12/2022

(20/12/2022 19:10)Ferreira Escreveu: Oi pessoal, então tentei criar um sistema de chat local com tag no chat, sou iniciante ainda e deu esse erro n sei oq significa, se alguém conseguir me ajudar agradeço


error 028: invalid subscript (not an array or too many subscripts): "Admin"
(4222) : warning 215: expression has no effect
(4222) : error 001: expected token: ";", but found "]"
(4222) : error 029: invalid expression, assumed zero
(4222) : fatal error 107: too many error messages on one line


Codigo
new string5[128];
    format(string5,sizeof(string5), "%s(%d): %s", PlayerName(playerid),playerid, text);
    print(string5);
    if(!IsPlayerInAnyVehicle(playerid))
    {
        ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
    }
    if(Admin[playerid] > 0 && PlayerDados[playerid][Trabalhando] == 1)
    {
        new string[256];
        format(string, sizeof(string), "%s{FFFFFF}(%d)[{FC4C00}ADM{FFFFFF}] diz: {FFFFFF}%s", PlayerName(playerid),playerid, text);
        SendClientMessageInRange(30.0, playerid, string, -1,-1,-1,-1,-1);
        SetPlayerChatBubble(playerid, sz, -1, 35.0, 10000);
        if(!IsPlayerInAnyVehicle(playerid))
        {
            ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
        }
        return 0;
  }
  }
}

(20/12/2022 19:26)DelK Escreveu: Como está declarado o Admin[playerid] ?
enum pDados

New Admin[MAX_PLAYERS];

(20/12/2022 19:58)xbruno1000x Escreveu: Você copiou de outro gamemode? Pode ser que as variáveis não sejam iguais, e por isso o erro(no caso a variável de admin).

As variáveis estão certas


RE: Problema com chat local e código de tag - White_Blue - 20/12/2022

(20/12/2022 19:59)Ferreira Escreveu:
(20/12/2022 19:10)Ferreira Escreveu: Oi pessoal, então tentei criar um sistema de chat local com tag no chat, sou iniciante ainda e deu esse erro n sei oq significa, se alguém conseguir me ajudar agradeço


error 028: invalid subscript (not an array or too many subscripts): "Admin"
(4222) : warning 215: expression has no effect
(4222) : error 001: expected token: ";", but found "]"
(4222) : error 029: invalid expression, assumed zero
(4222) : fatal error 107: too many error messages on one line


Codigo
new string5[128];
    format(string5,sizeof(string5), "%s(%d): %s", PlayerName(playerid),playerid, text);
    print(string5);
    if(!IsPlayerInAnyVehicle(playerid))
    {
        ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
    }
    if(Admin[playerid] > 0 && PlayerDados[playerid][Trabalhando] == 1)
    {
        new string[256];
        format(string, sizeof(string), "%s{FFFFFF}(%d)[{FC4C00}ADM{FFFFFF}] diz: {FFFFFF}%s", PlayerName(playerid),playerid, text);
        SendClientMessageInRange(30.0, playerid, string, -1,-1,-1,-1,-1);
        SetPlayerChatBubble(playerid, sz, -1, 35.0, 10000);
        if(!IsPlayerInAnyVehicle(playerid))
        {
            ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
        }
        return 0;
  }
  }
}

(20/12/2022 19:26)DelK Escreveu: Como está declarado o Admin[playerid] ?
enum pDados

New Admin[MAX_PLAYERS];

(20/12/2022 19:58)xbruno1000x Escreveu: Você copiou de outro gamemode? Pode ser que as variáveis não sejam iguais, e por isso o erro(no caso a variável de admin).

As variáveis estão certas

Para usar as variaveis de um enumerador, primeiro é necessário criar uma array.

Código PHP:
enum pDados {
Admin
};

new array[
MAX_PLAYERS][pDados];

Uso: array[MAX_PLAYERS][Admin] ... 



RE: Problema com chat local e código de tag - Ferreira - 20/12/2022

(20/12/2022 20:10)White_Blue Escreveu:
(20/12/2022 19:59)Ferreira Escreveu:
(20/12/2022 19:10)Ferreira Escreveu: Oi pessoal, então tentei criar um sistema de chat local com tag no chat, sou iniciante ainda e deu esse erro n sei oq significa, se alguém conseguir me ajudar agradeço


error 028: invalid subscript (not an array or too many subscripts): "Admin"
(4222) : warning 215: expression has no effect
(4222) : error 001: expected token: ";", but found "]"
(4222) : error 029: invalid expression, assumed zero
(4222) : fatal error 107: too many error messages on one line


Codigo
new string5[128];
    format(string5,sizeof(string5), "%s(%d): %s", PlayerName(playerid),playerid, text);
    print(string5);
    if(!IsPlayerInAnyVehicle(playerid))
    {
        ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
    }
    if(Admin[playerid] > 0 && PlayerDados[playerid][Trabalhando] == 1)
    {
        new string[256];
        format(string, sizeof(string), "%s{FFFFFF}(%d)[{FC4C00}ADM{FFFFFF}] diz: {FFFFFF}%s", PlayerName(playerid),playerid, text);
        SendClientMessageInRange(30.0, playerid, string, -1,-1,-1,-1,-1);
        SetPlayerChatBubble(playerid, sz, -1, 35.0, 10000);
        if(!IsPlayerInAnyVehicle(playerid))
        {
            ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
        }
        return 0;
  }
  }
}

(20/12/2022 19:26)DelK Escreveu: Como está declarado o Admin[playerid] ?
enum pDados

New Admin[MAX_PLAYERS];

(20/12/2022 19:58)xbruno1000x Escreveu: Você copiou de outro gamemode? Pode ser que as variáveis não sejam iguais, e por isso o erro(no caso a variável de admin).

As variáveis estão certas

Para usar as variaveis de um enumerador, primeiro é necessário criar uma array.

Código PHP:
enum pDados {
Admin
};

new array[
MAX_PLAYERS][pDados];

Uso: array[MAX_PLAYERS][Admin] ... 

Botei igual VC mandou aí o erro continua lá, mas deu warning em todas as includes


RE: Problema com chat local e código de tag - White_Blue - 21/12/2022

(20/12/2022 23:53)Ferreira Escreveu:
(20/12/2022 20:10)White_Blue Escreveu:
(20/12/2022 19:59)Ferreira Escreveu:
(20/12/2022 19:10)Ferreira Escreveu: Oi pessoal, então tentei criar um sistema de chat local com tag no chat, sou iniciante ainda e deu esse erro n sei oq significa, se alguém conseguir me ajudar agradeço


error 028: invalid subscript (not an array or too many subscripts): "Admin"
(4222) : warning 215: expression has no effect
(4222) : error 001: expected token: ";", but found "]"
(4222) : error 029: invalid expression, assumed zero
(4222) : fatal error 107: too many error messages on one line


Codigo
new string5[128];
    format(string5,sizeof(string5), "%s(%d): %s", PlayerName(playerid),playerid, text);
    print(string5);
    if(!IsPlayerInAnyVehicle(playerid))
    {
        ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
    }
    if(Admin[playerid] > 0 && PlayerDados[playerid][Trabalhando] == 1)
    {
        new string[256];
        format(string, sizeof(string), "%s{FFFFFF}(%d)[{FC4C00}ADM{FFFFFF}] diz: {FFFFFF}%s", PlayerName(playerid),playerid, text);
        SendClientMessageInRange(30.0, playerid, string, -1,-1,-1,-1,-1);
        SetPlayerChatBubble(playerid, sz, -1, 35.0, 10000);
        if(!IsPlayerInAnyVehicle(playerid))
        {
            ApplyAnimation(playerid, "PED", "IDLE_CHAT", 4.1, 0, 1, 0, 0, 3000, 1);
        }
        return 0;
  }
  }
}

(20/12/2022 19:26)DelK Escreveu: Como está declarado o Admin[playerid] ?
enum pDados

New Admin[MAX_PLAYERS];

(20/12/2022 19:58)xbruno1000x Escreveu: Você copiou de outro gamemode? Pode ser que as variáveis não sejam iguais, e por isso o erro(no caso a variável de admin).

As variáveis estão certas

Para usar as variaveis de um enumerador, primeiro é necessário criar uma array.

Código PHP:
enum pDados {
Admin
};

new array[
MAX_PLAYERS][pDados];

Uso: array[MAX_PLAYERS][Admin] ... 

Botei igual VC mandou aí o erro continua lá, mas deu warning em todas as includes
Mande o código de como você está fazendo.


RE: Problema com chat local e código de tag - strelo - 25/12/2022

Parece que você está tentando acessar um elemento do array "Admin" sem inicializá-lo ou sem garantir que ele exista. O erro "invalid subscript" significa que você está tentando acessar um elemento de um array usando um índice inválido ou fora dos limites do array.

Para resolver esse problema, você deve primeiro verificar se o array "Admin" foi inicializado e se o elemento com o índice "playerid" existe nele. Você pode fazer isso verificando se o tamanho do array é maior que o índice que você está tentando acessar. Algo como:

if(sizeof(Admin) > playerid && Admin[playerid] > 0) {
// acessar o elemento do array aqui
}

Além disso, você também deve verificar se o array "PlayerDados" foi inicializado e se o elemento com o índice "playerid" existe nele. Da mesma forma que no exemplo acima:

if(sizeof(PlayerDados) > playerid && PlayerDados[playerid][Trabalhando] == 1) {
// acessar o elemento do array aqui
}

Espero que isso ajude a resolver o seu problema. Se você tiver mais dúvidas, não hesite em perguntar.