26.07.2018, 02:52
estou tendo problemas para salvar e setar quando o player loga(skin, dinheiro, vida, colete), quando ele loga ele seta vida e colete cheio, e nao seta o que esta no arquvos deles, alguem pfv, se disponibilizaria para me ajudar a encontrar os bugs desse sistema e me ajudaria a retirar(claramente nao quero que vc faзa pra mim, pois estou aprendendo, entгo me aponte erros que posso arrumar e testar!), OBG <3
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
format(gfile, sizeof(gfile), "Contas/%s.txt", Pname(playerid));
switch(dialogid) {
case Registro: {
if(!response)
{
SendClientMessage(playerid, 0xFF0000AA, "[ ERRO ]Vocк escolheu sair!");
Kick(playerid);
}
if(!strlen(inputtext))
{
SendClientMessage(playerid, -1, "[ {FFFFFF}ERRO ]Digite uma senha para se registrar!");
format(str, sizeof(str), "Ola, seja bem vindo pela primeira vez Sr.%s !", Pname(playerid));
ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_PASSWORD, "{FFFFFF}REGISTRO", str, "Registro", "Cancelar");
}
else
{
DOF2_CreateFile(gfile);
DOF2_SetString(gfile, "Senha", inputtext);
DOF2_SetInt(gfile, "Skin", pInfo[playerid][pSkin]);
DOF2_SetInt(gfile, "Dinheiro", pInfo[playerid][pDinheiro]);
DOF2_SetFloat(gfile, "Vida", pInfo[playerid][pVida]);
DOF2_SetFloat(gfile, "Colete", pInfo[playerid][pColete]);
DOF2_SetInt(gfile, "Level", pInfo[playerid][pLevel]);
DOF2_SetInt(gfile, "Ajudante", pInfo[playerid][Ajudante] = false);
DOF2_SetInt(gfile, "Moderador", pInfo[playerid][Moderador] = false);
DOF2_SetInt(gfile, "Corregedor", pInfo[playerid][Corregedor] = false);
DOF2_SetInt(gfile, "Administrador", pInfo[playerid][Administrador] = false);
DOF2_SetInt(gfile, "Master", pInfo[playerid][Master] = false);
DOF2_SetInt(gfile, "Oculto", pInfo[playerid][Oculto] = false);
DOF2_SaveFile();
SpawnPlayer(playerid);
SetPlayerSkin(playerid, 137);
GivePlayerMoney(playerid, 5000);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 100);
}
}
case Login: {
if(!response)
{
SendClientMessage(playerid, 0xFF0000AA, "[ ERRO ]Vocк escolheu sair!");
Kick(playerid);
}
if(!strlen(inputtext))
{
SendClientMessage(playerid, -1, "[{FFFFFF}ERRO ] Digite Sua senha para logar no servidor!");
format(str, sizeof(str), "Ola, seja bem vindo ao servidor novamente!");
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "{FFFFFF}LOGIN", str, "Login", "Cancelar");
}
if(strcmp(inputtext, DOF2_GetString(gfile, "Senha")) == 0)
{
pInfo[playerid][pLevel] = GetPlayerScore(playerid);
pInfo[playerid][pDinheiro] = GetPlayerMoney(playerid);
pInfo[playerid][pSkin] = DOF2_GetInt(gfile, "Skin");
pInfo[playerid][pVida] = DOF2_GetFloat(gfile, "Vida");
pInfo[playerid][pColete] = DOF2_GetFloat(gfile, "Colete");
pInfo[playerid][pDinheiro] = DOF2_GetInt(gfile, "Dinheiro");
pInfo[playerid][Ajudante] = DOF2_GetBool(gfile, "Ajudante");
pInfo[playerid][Moderador] = DOF2_GetBool(gfile, "Moderador");
pInfo[playerid][Corregedor] = DOF2_GetBool(gfile, "Corregedor");
pInfo[playerid][Administrador] = DOF2_GetBool(gfile, "Administrador");
pInfo[playerid][Master] = DOF2_GetBool(gfile, "Master");
pInfo[playerid][Oculto] = DOF2_GetBool(gfile, "Oculto");
pInfo[playerid][pVida] = DOF2_GetFloat(gfile, "Vida");
SpawnPlayer(playerid);
SendClientMessage(playerid, -1, "{FFFFFF}Login efeituado com sucesso!");
SetPlayerHealth(playerid, pInfo[playerid][pVida]);
SetPlayerArmour(playerid, pInfo[playerid][pColete]);
GivePlayerMoney(playerid, pInfo[playerid][pDinheiro]);
SetPlayerSkin(playerid, pInfo[playerid][pSkin]);
}
else
{
format(str, sizeof(str), "Ola, seja bem vindo ao servidor novamente!");
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "{FFFFFF}LOGIN", str, "Login", "Cancelar");
}
}
}
return 1;
}
PHP код:
public OnPlayerDisconnect(playerid, reason)
{
new string[64], Float:health, Float:armour;
format(string, sizeof(string), "»O player %s se desconectou ao servidor!", Pname(playerid));
SendClientMessageToAll(-1, string);
format(gfile, sizeof(gfile), "Contas/%s.txt", Pname(playerid));
if(DOF2_FileExists(gfile))
{
GetPlayerHealth(playerid, health);
GetPlayerArmour(playerid, armour);
DOF2_SetInt(gfile, "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetFloat(gfile, "Vida", health);
DOF2_SetFloat(gfile, "Colete", armour);
DOF2_SetInt(gfile, "Skin", GetPlayerSkin(playerid));
DOF2_SetInt(gfile, "Level", GetPlayerScore(playerid));
DOF2_SetBool(gfile, "Ajudante", pInfo[playerid][Ajudante]);
DOF2_SetBool(gfile, "Moderador", pInfo[playerid][Moderador]);
DOF2_SetBool(gfile, "Corregedor", pInfo[playerid][Corregedor]);
DOF2_SetBool(gfile, "Administrador", pInfo[playerid][Administrador]);
DOF2_SetBool(gfile, "Master", pInfo[playerid][Master]);
DOF2_SetBool(gfile, "Oculto", pInfo[playerid][Oculto]);
DOF2_SetInt(gfile, "Skin", GetPlayerSkin(playerid));
DOF2_SaveFile();
}
return 1;
}
PHP код:
enum PlayerInfo {
pDinheiro,
pLevel,
Float:pVida,
Float:pColete,
pSkin,
pProfissao,
bool:Ajudante,
bool:Moderador,
bool:Corregedor,
bool:Administrador,
bool:Master,
bool:Oculto
};
new pInfo[MAX_PLAYERS][PlayerInfo];