Portal SAMP
[Ajuda] Erro em módulos - 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] Erro em módulos (/showthread.php?tid=1824)



Erro em módulos - Nexus - 09/11/2021

Boa noite.
Estou tendo problemas em modularizar uma parte do meu gamemode. Ao chamar uma stock de alguns dos módulos no gamemode, recebo o erro "undefined symbol". Notei que esse erro ocorre somente a partir do segundo módulo incluído no gamemode. Por exemplo:


Gamemode:
Código:
#include "../modules/systems/systemA.pwn"
#include "../modules/systems/systemB.pwn"

public OnGameModeInit()
{
    functionA();

    functionB();

    return true;
}

Módulo systemA:
Código:
stock functionA()
{
    print("Função A executada");
}

Módulo systemB:
Código:
stock functionB()
{
    print("Função B executada");
}

Somente a função da stock do módulo systemA é executada. A stock do módulo systemB é dada como não definida pelo erro "undefined symbol".
Alguma sugestão de como posso resolver?



RE: Erro em módulos - EXPEDITO_011 - 09/11/2021

(09/11/2021 22:32)Nexus Escreveu: Boa noite.
Estou tendo problemas em modularizar uma parte do meu gamemode. Ao chamar uma stock de alguns dos módulos no gamemode, recebo o erro "undefined symbol". Notei que esse erro ocorre somente a partir do segundo módulo incluído no gamemode. Por exemplo:


Gamemode:
Código:
#include "../modules/systemA.pwn"
#include "../modules/systemB.pwn"

public OnGameModeInit()
{
    functionA();

    functionB();

    return true;
}

Módulo systemA:
Código:
stock functionA()
{
    print("Função A executada");
}

Módulo systemB:
Código:
stock functionB()
{
    print("Função B executada");
}

Somente a função da stock do módulo systemA é executada. A stock do módulo systemB é dada como não definida pelo erro "undefined symbol".
Alguma sugestão de como posso resolver?

Tente Sem O Stock Só
functionB()
return print("Função B Executada");


RE: Erro em módulos - Nexus - 09/11/2021

(09/11/2021 22:40)EXPEDITO_011 Escreveu:
(09/11/2021 22:32)Nexus Escreveu: Boa noite.
Estou tendo problemas em modularizar uma parte do meu gamemode. Ao chamar uma stock de alguns dos módulos no gamemode, recebo o erro "undefined symbol". Notei que esse erro ocorre somente a partir do segundo módulo incluído no gamemode. Por exemplo:


Gamemode:
Código:
#include "../modules/systemA.pwn"
#include "../modules/systemB.pwn"

public OnGameModeInit()
{
    functionA();

    functionB();

    return true;
}

Módulo systemA:
Código:
stock functionA()
{
    print("Função A executada");
}

Módulo systemB:
Código:
stock functionB()
{
    print("Função B executada");
}

Somente a função da stock do módulo systemA é executada. A stock do módulo systemB é dada como não definida pelo erro "undefined symbol".
Alguma sugestão de como posso resolver?

Tente Sem O Stock Só
functionB()
return print("Função B Executada");

Tentei. Continuo recebendo o erro.


RE: Erro em módulos - ipsLuan - 09/11/2021

Eu sempre quando desenvolvo em módulos, coloco a public no próprio arquivo do módulo usando y_hooks.


RE: Erro em módulos - Nexus - 09/11/2021

(09/11/2021 23:34)ipsLuan Escreveu: Eu sempre quando desenvolvo em módulos, coloco a public no próprio arquivo do módulo usando y_hooks.

Como meu servidor usa o plugin SampVoice, não é possível utilizar a biblioteca YSI, por conta da incompatibilidade entre o plugin e a biblioteca.


RE: Erro em módulos - Dr Editor - 10/11/2021

Provavelmente está utilizando o compilador do Zeex. Tente com o nativo para ver se funciona.
Acabei de tentar pelo nativo e chamou ambas funções.

(09/11/2021 22:40)EXPEDITO_011 Escreveu: Tente Sem O Stock Só
functionB()
return print("Função B Executada");

Isso não muda absolutamente nada com relação ao problema.


RE: Erro em módulos - Nexus - 11/11/2021

Notei que o problema só ocorre quando os módulos estão dentro de mais de uma pasta.
Editei o tópico colocando o diretório de forma que o erro realmente ocorra.