DOF2 Nгo pega Numero(int) -
CLANdok - 08.10.2014
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.
Re: DOF2 Nгo pega Numero(int) -
MultiKill - 08.10.2014
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.
Re: DOF2 Nгo pega Numero(int) -
CLANdok - 08.10.2014
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 ?
Re: DOF2 Nгo pega Numero(int) -
MultiKill - 08.10.2014
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;
}
Re: DOF2 Nгo pega Numero(int) -
CLANdok - 08.10.2014
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...
Re: DOF2 Nгo pega Numero(int) -
MultiKill - 08.10.2014
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.
Re: DOF2 Nгo pega Numero(int) -
CLANdok - 08.10.2014
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.
Re: DOF2 Nгo pega Numero(int) -
MultiKill - 08.10.2014
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;
}
Re: DOF2 Nгo pega Numero(int) -
CLANdok - 08.10.2014
Crasho o Server =P, Tem skype ?
Re: DOF2 Nгo pega Numero(int) -
MultiKill - 08.10.2014
Nгo.Deu crash no server na hora de se conectar?