Portal SAMP
[Ajuda] Problemas com Stocks e Publics - 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] Problemas com Stocks e Publics (/showthread.php?tid=4167)



Problemas com Stocks e Publics - VictorH0210 - 05/11/2023

Estou desenvolvendo a base de dados da GM e fiz algumas stocks para salvar alguns dados do player, ocorre que ao compilar o arquivo não ocorre erro nenhum (Enquanto a stock não é usada). O Problema ocorre quando utilizo a stock em uma public (OnPlayerConnect). Aparece uma série enorme de erros de variaveis e etc... Parece algo que deveria ser anexado entre a public e a stock. Veja o codigo abaixo:
Código:
stock CarregamentoPlayerInfo(playerid) //Stock para carregar os dados do Player
{
    new pDinheiro, float:pX, float:pY, float:pZ, float:pVida, float:pColete, pArma, pMunicao, str[20];
    SetPlayerMoney(playerid, 0);
    ResetPlayerWeapon(playerid);
    pVida = dini_Float(Arquivo(playerid), "Vida");
    pColete = dini_Float(Arquivo(playerid), "Colete");
    pDinheiro = dini_Int(Arquivo(playerid, "dinheiro");
    pX = dini_Float(Arquivo(playerid, "posX");
    pY = dini_Float(Arquivo(playerid, "posY");
    pZ = dini_Float(Arquivo(playerid, "posZ");
    SetPlayerHealth(playerid, pVida);
    SetPlayerArmor(playerid, pColete);
    SetPlayerMoney(playerid, pDinheiro);
    SetPlayerPos(playerid, pX, pY, pZ);
    for(new i = 0; i <13; i++)
    {
        format(str, 20, "ArmaId", i);
        pArma = dini_Int(Arquivo(playerid), str);
        format(str, 20, "MunicaoId", i);
        pMunicao = dini_Int(Arquivo(playerid), str);
        GivePlayerWeapon(playerid, pArma, pMunicao);
    }
    return 1;
}

public OnPlayerConnect(playerid)
{
    CarregamentoPlayerInfo(playerid);
}


Os erros só ocorrem quando anexo a stock em uma public ou linha de comando, enquanto ela está sem ser anexada não há erro de compilação... segue um print dos erros:

[img][url=https://ibb.co/GC6rtcy][Imagem: Erros.png]


RE: Problemas com Stocks e Publics - xbruno1000x - 05/11/2023

Isso ocorre porque a stock está cheia de erros.

Veja só a quantidade de parêntesis abertos e fechados nessa linha:
Código:
dini_Float(Arquivo(playerid, "posX");
          1       2                1
São 2 parêntesis abertos, porém só um fechando.

Corrigido:
dini_Float(Arquivo(playerid, "posX"));

Faça isso no código completo e não terá problemas.


RE: Problemas com Stocks e Publics - zBreno - 06/11/2023

ResetPlayerMoney(playerid);
ResetPlayerWeapons(playerid);

dini_Exists(const filename[]);
dini_Remove(const filename[]);
dini_Create(const filename[]);
dini_Set(const filename[], const key[], const value[]);
dini_IntSet(const filename[], const key[], value);
dini_FloatSet(const filename[], const key[], Float:value);
dini_BoolSet(const filename[], const key[], bool:value);
dini_Get(const filename[], const key[]);
dini_Int(const filename[], const key[]);
Float:dini_Float(const filename[], const key[]);
bool:dini_Bool(const filename[], const key[]);
dini_Unset(const filename[], const key[]);
dini_Isset(const filename[], const key[]);
DINI_StripNewLine(const string[]);
DINI_fcopytextfile(const filename[], const newfilename[]);
dini_Timeout(const filename[]);
dini_NumKeys(const filename[]);
dini_GetKeyName(const filename[], keyid);
DINI_frenametextfile(const filename[], const newfilename[]);