Salvar informaзхes -
Luciano_Jr - 21.07.2013
Estou com um problema no momento que salva informaзхes do player.
OnPlayerConnect
pawn Код:
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof(string), CONTAS, Nome);
if(!DOF2_FileExists(string)) {
format(string, sizeof(string), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк ainda nгo estб registrado, digite uma senha para cadastrar.", Nome);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "{00D700}Cadastre-se agora mesmo!", string, "Cadastrar", "Cancelar");
}
else {
format(string, sizeof(string), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк jб estб registrado, digite sua senha para logar.", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", string, "Logar", "Cancelar");
}
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[256];
format(String, sizeof(String), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк ainda nгo estб registrado, digite uma senha para cadastrar.", Nome);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "{00D700}Cadastre-se agora mesmo!", String, "Cadastrar", "Cancelar");
SendClientMessage(playerid,COLOR_RED,"[ERRO] Senha invбlida. Digite uma senha vбlida!");
return 1;
}
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[256];
format(String, sizeof(String), CONTAS, Nome);
DOF2_CreateFile(String);
DOF2_SetString(String,"Senha",Encriptar(inputtext));
DOF2_SetInt(String,"Kills",0);
DOF2_SetInt(String,"Deaths",0);
DOF2_SetInt(String,"Logou",0);
DOF2_SetInt(String,"FightingStyle",0);
DOF2_SetInt(String,"Dolar",Dinheiro2);
DOF2_SetInt(String,"GP",Dinheiro);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", "{00D700}Parabйns! Sua conta foi criada com sucesso.\n{FFFFFF}Agora digite sua senha para logar.", "Logar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo se cadastrou e foi kickado!");
Kick(playerid);
return 1;
}
}
if(dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[256];
format(String, sizeof(String), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк jб estб registrado, digite sua senha para logar.", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", String, "Logar", "Cancelar");
SendClientMessage(playerid,COLOR_RED,"[ERRO] Senha incorreta. Tente novamente.");
return 1;
}
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[512];
format(String, sizeof(String), CONTAS, Nome);
if(!strcmp(Encriptar(inputtext),DOF2_GetString(String,"Senha"),false))
{
SetarPlayer(playerid);
Logou[playerid]++;
//Limpando o Chat
for (new a = 1; a <= 60; a++)
{
SendClientMessage(playerid, COLOR_WHITE,"\n");
SendClientMessage(playerid, COLOR_WHITE,"\n");
}
SendClientMessage(playerid,COLOR_WHITE,"{00D700}[INFORMAЗГO] {FFFFFF}Vocк logou em sua conta com sucesso!");
SendClientMessage(playerid,COLOR_WHITE,"{00D700}[INFORMAЗГO] {FFFFFF}O servidor estб em testes (versгo 0)!");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"[ERRO] Senha incorreta. Tente novamente.");
format(String, sizeof(String), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк jб estб registrado, digite sua senha para logar.", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", String, "Logar", "Cancelar");
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo logou e foi kickado!");
Kick(playerid);
return 1;
}
}
return 1;
}
pawn Код:
SalvarPlayer(playerid) {
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[50];
format(String, sizeof(String), CONTAS, Nome);
DOF2_SetInt(String, "Matou", Kills[playerid]);
DOF2_SetInt(String, "Morreu", Deaths[playerid]);
DOF2_SetInt(String, "Logou", Logou[playerid]);
DOF2_SetInt(String, "Score", GetPlayerScore(playerid));
DOF2_SetInt(String, "FightingStyle", GetPlayerFightingStyle(playerid));
DOF2_SetInt(String, "GP", GetPlayerReal(playerid));
DOF2_SetInt(String, "Dolar", GetPlayerMoney(playerid));
return 1;
}
SetarPlayer(playerid) {
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[50];
format(String, sizeof(String), CONTAS, Nome);
Kills[playerid] = DOF2_GetInt(String, "Matou");
Deaths[playerid] = DOF2_GetInt(String, "Morreu");
Logou[playerid] = DOF2_GetInt(String, "Logou");
SetPlayerScore(playerid, DOF2_GetInt(String, "Score"));
SetPlayerFightingStyle(playerid, DOF2_GetInt(String, "FightingStyle"));
GivePlayerReal(playerid, DOF2_GetInt(String, "GP"));
GivePlayerMoney(playerid, DOF2_GetInt(String, "Dolar"));
return 1;
}
Acontece que os arquivos que sгo criados na pasta Arquivos/Players/%s.ini nгo tem nada dentro, nenhuma informaзгo, ou seja, nгo estб salvando!
OnGameModeExit
pawn Код:
public OnGameModeExit()
{
DOF2_Exit();
for (new i = 0; i < MAX_PLAYERS; i++)
SalvarPlayer(i);
return 1;
}
Alguйm dб uma luz aн, por favor
Re: Salvar informaзхes -
GM_KoDi - 21.07.2013
apos voce setar os valores Tem que add a Sintaxe DOF2_SaveFile();
Exemplo
pawn Код:
{
SalvarPlayer(playerid) {
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[50];
format(String, sizeof(String), CONTAS, Nome);
DOF2_SetInt(String, "Matou", Kills[playerid]);
DOF2_SetInt(String, "Morreu", Deaths[playerid]);
DOF2_SetInt(String, "Logou", Logou[playerid]);
DOF2_SetInt(String, "Score", GetPlayerScore(playerid));
DOF2_SetInt(String, "FightingStyle", GetPlayerFightingStyle(playerid));
DOF2_SetInt(String, "GP", GetPlayerReal(playerid));
DOF2_SetInt(String, "Dolar", GetPlayerMoney(playerid));
DOF2_SaveFile();// <<<<< isso aqui amigo
return 1;
}
Re: Salvar informaзхes -
Luciano_Jr - 21.07.2013
Quote:
Originally Posted by O_KoDi
apos voce setar os valores Tem que add a Sintaxe DOF2_SaveFile();
Exemplo
pawn Код:
{ SalvarPlayer(playerid) { GetPlayerName(playerid, Nome, sizeof(Nome)); new String[50]; format(String, sizeof(String), CONTAS, Nome); DOF2_SetInt(String, "Matou", Kills[playerid]); DOF2_SetInt(String, "Morreu", Deaths[playerid]); DOF2_SetInt(String, "Logou", Logou[playerid]); DOF2_SetInt(String, "Score", GetPlayerScore(playerid)); DOF2_SetInt(String, "FightingStyle", GetPlayerFightingStyle(playerid)); DOF2_SetInt(String, "GP", GetPlayerReal(playerid)); DOF2_SetInt(String, "Dolar", GetPlayerMoney(playerid)); DOF2_SaveFile();// <<<<< isso aqui amigo
return 1; }
|
Muito obrigado cara, nгo sabia disso.
Pode me ajudar em mais uma coisa? O GP (GivePlayerReal e GetPlayerReal) a cada vez que eu logo ele estб se duplicando, como arrumo isso?
Respuesta: Salvar informaзхes -
ViniKuliveguisky - 21.07.2013
Quote:
Originally Posted by Luciano_Jr
Estou com um problema no momento que salva informaзхes do player.
OnPlayerConnect
pawn Код:
GetPlayerName(playerid, Nome, sizeof(Nome)); format(string, sizeof(string), CONTAS, Nome); if(!DOF2_FileExists(string)) { format(string, sizeof(string), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк ainda nгo estб registrado, digite uma senha para cadastrar.", Nome); ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "{00D700}Cadastre-se agora mesmo!", string, "Cadastrar", "Cancelar"); } else { format(string, sizeof(string), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк jб estб registrado, digite sua senha para logar.", Nome); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", string, "Logar", "Cancelar"); }
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == REGISTRO) { if(response) { if(!strlen(inputtext)) { GetPlayerName(playerid, Nome, sizeof(Nome)); new String[256]; format(String, sizeof(String), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк ainda nгo estб registrado, digite uma senha para cadastrar.", Nome); ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_PASSWORD, "{00D700}Cadastre-se agora mesmo!", String, "Cadastrar", "Cancelar"); SendClientMessage(playerid,COLOR_RED,"[ERRO] Senha invбlida. Digite uma senha vбlida!"); return 1; } GetPlayerName(playerid, Nome, sizeof(Nome)); new String[256]; format(String, sizeof(String), CONTAS, Nome); DOF2_CreateFile(String); DOF2_SetString(String,"Senha",Encriptar(inputtext)); DOF2_SetInt(String,"Kills",0); DOF2_SetInt(String,"Deaths",0); DOF2_SetInt(String,"Logou",0); DOF2_SetInt(String,"FightingStyle",0); DOF2_SetInt(String,"Dolar",Dinheiro2); DOF2_SetInt(String,"GP",Dinheiro); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", "{00D700}Parabйns! Sua conta foi criada com sucesso.\n{FFFFFF}Agora digite sua senha para logar.", "Logar", "Cancelar"); return 1; } else { SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo se cadastrou e foi kickado!"); Kick(playerid); return 1; } } if(dialogid == LOGIN) { if(response) { if(!strlen(inputtext)) { GetPlayerName(playerid, Nome, sizeof(Nome)); new String[256]; format(String, sizeof(String), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк jб estб registrado, digite sua senha para logar.", Nome); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", String, "Logar", "Cancelar"); SendClientMessage(playerid,COLOR_RED,"[ERRO] Senha incorreta. Tente novamente."); return 1; } GetPlayerName(playerid, Nome, sizeof(Nome)); new String[512]; format(String, sizeof(String), CONTAS, Nome); if(!strcmp(Encriptar(inputtext),DOF2_GetString(String,"Senha"),false)) { SetarPlayer(playerid); Logou[playerid]++; //Limpando o Chat for (new a = 1; a <= 60; a++) { SendClientMessage(playerid, COLOR_WHITE,"\n"); SendClientMessage(playerid, COLOR_WHITE,"\n"); } SendClientMessage(playerid,COLOR_WHITE,"{00D700}[INFORMAЗГO] {FFFFFF}Vocк logou em sua conta com sucesso!"); SendClientMessage(playerid,COLOR_WHITE,"{00D700}[INFORMAЗГO] {FFFFFF}O servidor estб em testes (versгo 0)!"); return 1; } else { SendClientMessage(playerid,COLOR_RED,"[ERRO] Senha incorreta. Tente novamente."); format(String, sizeof(String), "{FFFFFF}Seu nickname estб como: {00D700}%s{FFFFFF}.\n{FFFFFF}Vocк jб estб registrado, digite sua senha para logar.", Nome); ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "{00D700}Logue agora mesmo!", String, "Logar", "Cancelar"); } return 1; } else { SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo logou e foi kickado!"); Kick(playerid); return 1; } } return 1; }
pawn Код:
SalvarPlayer(playerid) { GetPlayerName(playerid, Nome, sizeof(Nome)); new String[50]; format(String, sizeof(String), CONTAS, Nome); DOF2_SetInt(String, "Matou", Kills[playerid]); DOF2_SetInt(String, "Morreu", Deaths[playerid]); DOF2_SetInt(String, "Logou", Logou[playerid]); DOF2_SetInt(String, "Score", GetPlayerScore(playerid)); DOF2_SetInt(String, "FightingStyle", GetPlayerFightingStyle(playerid)); DOF2_SetInt(String, "GP", GetPlayerReal(playerid)); DOF2_SetInt(String, "Dolar", GetPlayerMoney(playerid)); return 1; }
SetarPlayer(playerid) { GetPlayerName(playerid, Nome, sizeof(Nome)); new String[50]; format(String, sizeof(String), CONTAS, Nome); Kills[playerid] = DOF2_GetInt(String, "Matou"); Deaths[playerid] = DOF2_GetInt(String, "Morreu"); Logou[playerid] = DOF2_GetInt(String, "Logou"); SetPlayerScore(playerid, DOF2_GetInt(String, "Score")); SetPlayerFightingStyle(playerid, DOF2_GetInt(String, "FightingStyle")); GivePlayerReal(playerid, DOF2_GetInt(String, "GP")); GivePlayerMoney(playerid, DOF2_GetInt(String, "Dolar")); return 1; }
Acontece que os arquivos que sгo criados na pasta Arquivos/Players/%s.ini nгo tem nada dentro, nenhuma informaзгo, ou seja, nгo estб salvando!
OnGameModeExit
pawn Код:
public OnGameModeExit() { DOF2_Exit(); for (new i = 0; i < MAX_PLAYERS; i++) SalvarPlayer(i); return 1; }
Alguйm dб uma luz aн, por favor
|
Olha mano nгo mecho muito com DOF mais tipo ali no DIALOG REGISTRO vocк abriu um novo arquivo que seria o nome dele com as informaзхes de Kills, Death e outras coisas, porem esqueceu de colocar o DOF2_SaveFile();
tenta ai
@Edit malz nгo tinha visto que ja responderam!
@2° Post: Mano ele ta duplicando quando salva ou quando loga o dinheiro sobe duas vezes?
Porque tipo vocк fez Dollar e Reais nй, pra cada um ter seu destino й preciso criar um textdraw para o dollar ou pro real
Re: Salvar informaзхes -
GM_KoDi - 21.07.2013
Quote:
Originally Posted by Luciano_Jr
OnGameModeExit
pawn Код:
public OnGameModeExit() { DOF2_Exit(); for (new i = 0; i < MAX_PLAYERS; i++)//falto colocar isso em chaves {// <<< aki abrir SalvarPlayer(i); }// << aki fechar return 1; }
|
falto abrir e fechar chaves no loop tambem
Re: Salvar informaзхes -
GM_KoDi - 21.07.2013
Quote:
Originally Posted by Luciano_Jr
Muito obrigado cara, nгo sabia disso.
Pode me ajudar em mais uma coisa? O GP (GivePlayerReal e GetPlayerReal) a cada vez que eu logo ele estб se duplicando, como arrumo isso?
|
Vocк ja postou o codigo aqui no forum ?
Re: Salvar informaзхes -
Luciano_Jr - 21.07.2013
Quote:
Originally Posted by O_KoDi
falto abrir e fechar chaves no loop tambem
|
O GP ainda estб duplicando
Respuesta: Re: Salvar informaзхes -
ViniKuliveguisky - 21.07.2013
Quote:
Originally Posted by Luciano_Jr
O GP ainda estб duplicando
|
Quote:
Originally Posted by ViniKuliveguisky
Olha mano nгo mecho muito com DOF mais tipo ali no DIALOG REGISTRO vocк abriu um novo arquivo que seria o nome dele com as informaзхes de Kills, Death e outras coisas, porem esqueceu de colocar o DOF2_SaveFile();
tenta ai
@Edit malz nгo tinha visto que ja responderam!
@2° Post: Mano ele ta duplicando quando salva ou quando loga o dinheiro sobe duas vezes?
Porque tipo vocк fez Dollar e Reais nй, pra cada um ter seu destino й preciso criar um textdraw para o dollar ou pro real
|
Le ai
Re: Salvar informaзхes -
GM_KoDi - 21.07.2013
Quote:
Originally Posted by Luciano_Jr
O GP ainda estб duplicando
|
Eu postei das chaves do loop pq estava errado, e se continuasse daquele geito nгo ia salvar as contas
achei o topico do GP que vocк postou, guenta ae que vou da uma olhada
Re: Respuesta: Re: Salvar informaзхes -
Luciano_Jr - 21.07.2013
Quote:
Originally Posted by ViniKuliveguisky
Le ai
|
Jб estб criado o textdraw e tudo mais, sу o GP que duplica!
Quando eu entro pela primeira vez no server estб tudo ok. Aн eu saio sem fechar o server, entro novamente e dou spawn e o GP duplica.
RESOLVIDO!