[Ajuda] DOF2 Nгo pega Numero(int)
#1

Hi!. Estava testando oque eu jб aprendi no Pawno criando um sistema basico de fome, mais quando eu fui ver, o DOF2 nгo estava pegando o numero Int do meu .ini, Se alguem poder ajudar eu agradeзo. :/
pawn Код:
//==============================================================================
#include        <a_samp>
#include        <a_http>
#include        <ZCMD>
#include        <DOF2>
#include        <progress>
//==============================================================================
enum pInfo
{
    pFome,
    pSalva
}
//==============================================================================
forward ProgressBar(playerid);
//==============================================================================
new Bar:vhealth[MAX_PLAYERS] = {INVALID_BAR_ID, ...};
new name[MAX_PLAYER_NAME+1];
new PlayerInfo[MAX_PLAYERS][pInfo];
new File[200];
//==============================================================================
public OnFilterScriptInit()
{
    SetTimer("ProgressBar", 1000, 1);
    return 1;
}

public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, name, sizeof(name));
    format(File, sizeof(File), "pAdmin/Contas/%s.ini", name);
    return Carregar(playerid);
}


public OnPlayerDisconnect(playerid)
{
    DOF2_Exit();
    return 1;
}

public ProgressBar(playerid)
{
        if(PlayerInfo[playerid][pFome] <= 100)
        {
            SetProgressBarValue(vhealth[playerid], PlayerInfo[playerid][pFome]);
            UpdateProgressBar(vhealth[playerid], playerid);
            Salvar(playerid);
        }
}

public OnPlayerSpawn(playerid)
{
    vhealth[playerid] = CreateProgressBar(548.5, 250.0, _, _, 0x00FF00FF, 1000.0);
    ShowProgressBarForPlayer(playerid, vhealth[playerid]);
    return 1;
}
//==============================================================================
stock Carregar(playerid)
{
    PlayerInfo[playerid][pFome] = DOF2_GetInt(File, "pFome");
    return 1;
}

stock Salvar(playerid)
{
    PlayerInfo[playerid][pSalva] = DOF2_SetInt(File, "pFome", PlayerInfo[playerid][pFome]);
    DOF2_SaveFile();
    return 1;
}
//==============================================================================
/*CMD:bar(playerid){
    if(DOF2_FileExists(File))
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Existe.");
    }
    else
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Nгo existe.");
    }
    SendClientMessage(playerid, -1, File);
    SendClientMessage(playerid, -1, PlayerInfo[playerid][pFome]);
    return 1;
}*/
Simplesmente ele nгo retorna nada, mais salvar, salva.
Reply
#2

pawn Код:
stock Carregar(playerid)
{
    PlayerInfo[playerid][pFome] = DOF2_GetInt(File, "pFome");
    return 1;
}

stock Salvar(playerid)
{
    PlayerInfo[playerid][pSalva] = DOF2_SetInt(File, "pFome", PlayerInfo[playerid][pFome]);
    DOF2_SaveFile();
    return 1;
}
Vocк nгo definiu onde estб o arquivo a ser carregado e o local a ser salvo o arquivo.
Reply
#3

Eu defini aqui:
pawn Код:
public OnPlayerConnect(playerid)
{
    GetPlayerName(playerid, name, sizeof(name));
    format(File, sizeof(File), "pAdmin/Contas/%s.ini", name);
    return Carregar(playerid);
}
Vou ter que definir de novo ?
Reply
#4

Tente vбrias maneiras, que uma hora vocк vai achar o problema.
pawn Код:
GetFile(id)
{
    new fileplayer[45];
    format(File, sizeof(File), "pAdmin/Contas/%s.ini", Nome(id));
    return fileplayer;
}

//Uma dica й criar um funзгo para pegar o nome do jogador.
Nome(id)
{
    new nick[25];
    GetPlayerName(id, nick, 24);
    return nick;
}


stock Carregar(playerid)
{
    PlayerInfo[playerid][pFome] = DOF2_GetInt(GetFile(playerid), "pFome");
    return 1;
}

stock Salvar(playerid)
{
    PlayerInfo[playerid][pSalva] = DOF2_SetInt(GetFile(playerid), "pFome", PlayerInfo[playerid][pFome]);
    DOF2_SaveFile();
    return 1;
}


//Caso nгo de certo tente:
public OnPlayerConnect(playerid)
{
    Carregar(playerid);
    return 1;
}
Reply
#5

Ficou assim:
pawn Код:
//==============================================================================
#include        <a_samp>
#include        <a_http>
#include        <ZCMD>
#include        <DOF2>
#include        <progress>
//==============================================================================
enum pInfo
{
    pFome,
    pSalva
};
//==============================================================================
forward ProgressBar(playerid);
//==============================================================================
new Bar:vhealth[MAX_PLAYERS] = {INVALID_BAR_ID, ...};
new name[MAX_PLAYER_NAME+1];
new PlayerInfo[MAX_PLAYERS][pInfo];
new File[200];
//==============================================================================
public OnFilterScriptInit()
{
    SetTimer("ProgressBar", 1000, 1);
    return 1;
}

public OnPlayerConnect(playerid)
{
    Carregar(playerid);
    return Carregar(playerid);
}

public OnPlayerSpawn(playerid)
{
    vhealth[playerid] = CreateProgressBar(548.5, 250.0, _, _, 0x00FF00FF, 1000.0);
    ShowProgressBarForPlayer(playerid, vhealth[playerid]);
    return 1;
}

public ProgressBar(playerid)
{
        if(PlayerInfo[playerid][pFome] <= 100)
        {
            SetProgressBarValue(vhealth[playerid], PlayerInfo[playerid][pFome]);
            UpdateProgressBar(vhealth[playerid], playerid);
            Salvar(playerid);
        }
}

public OnPlayerDisconnect(playerid)
{
    DOF2_Exit();
    return 1;
}
//==============================================================================

Nome(id)
{
    //new nick[25];
    GetPlayerName(id, name, sizeof(name));
    return name;
}

GetFile(id)
{
    new fileplayer[45];
    format(File, sizeof(File), "pAdmin/Contas/%s.ini", Nome(id));
    return fileplayer;
}

stock Carregar(playerid)
{
    PlayerInfo[playerid][pFome] = DOF2_GetInt(GetFile(playerid), "pFome");
    return 1;
}

stock Salvar(playerid)
{
    PlayerInfo[playerid][pSalva] = DOF2_SetInt(GetFile(playerid), "pFome", PlayerInfo[playerid][pFome]);
    DOF2_SaveFile();
    return 1;
}
//==============================================================================
CMD:bar(playerid){
    if(DOF2_FileExists(File))
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Existe.");
    }
    else
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Nгo existe.");
    }
    format(File, sizeof(File), "pAdmin/Contas/%s.ini", name);
    SendClientMessage(playerid, -1, File);
    SendClientMessage(playerid, -1, PlayerInfo[playerid][pFome]);
    return 1;
}
Tentei de vбrias formas mais nгo retorna nada :/ fiz em outros Filterscripts mais tambйm nгo retorna nada...
Reply
#6

Olhei o cуdigo e percebi, que vocк nгo fez a verificaзгo se o jogador tem um arquivo, e se nгo tiver criar um, e nгo colocou para salvar as informaзхes quando o jogador sair.
Reply
#7

Bom, Como eu faзo isso ? Por que tipo, Nгo esta pegando do arquivo quando eu logo... entгo nгo vou ter o que salvar.
Reply
#8

Faзa o seguinte:
pawn Код:
stock Carregar(playerid)
{
    if(DOF2_FileExists(GetFile(playerid)))
    {
        PlayerInfo[playerid][pFome] = DOF2_GetInt(GetFile(playerid), "pFome");
    }
    else
    {
        DOF2_CreateFile(GetFile(playerid));
        PlayerInfo[playerid][pFome] = numero;
        // Substitua numero por algum valor que vocк quiser.
    }
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    Salvar(playerid);
    DOF2_Exit();
    return 1;
}
Reply
#9

Crasho o Server =P, Tem skype ?
Reply
#10

Nгo.Deu crash no server na hora de se conectar?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)