//------------------INCLUDES----------------------------------------------------
#include a_samp
#include DOF2
//------------------DEFINES-----------------------------------------------------
#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
//------------------NEWS--------------------------------------------------------
enum pInfo
{
pSenha,
pMatou,
pMorreu,
pDinheiro
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new Erro[MAX_PLAYERS];
//------------------PUBLICS-----------------------------------------------------
public OnGameModeInit()
{
SetGameModeText("Texto");
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
return 1;
}
public OnPlayerDisconnect(playerid)
{
SalvarContas(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
PlayerInfo[playerid][pSenha] = strval(inputtext);
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
PlayerInfo[playerid][pSenha] = DOF2_GetInt(Contas(playerid), "Senha");
if(strval(inputtext) == PlayerInfo[playerid][pSenha])
{
PlayerInfo[playerid][pMatou] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][pMorreu] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][pDinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
}
}
}
return 1;
}
//------------------STOCKS------------------------------------------------------
stock Contas(playerid)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
return arquivo;
}
stock SalvarContas(playerid)
{
if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid));
else
{
PlayerInfo[playerid][pDinheiro] = GetPlayerMoney(playerid);
DOF2_SetInt(Contas(playerid), "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][pMatou]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][pMorreu]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][pDinheiro]);
DOF2_SaveFile();
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
PlayerInfo[playerid][pSenha] = strlen(inputtext);
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
if(!response) return Kick(playerid);
else
{
PlayerInfo[playerid][pSenha] = DOF2_GetInt(Contas(playerid), "Senha");
if(strlen(inputtext) == PlayerInfo[playerid][pSenha])
{
PlayerInfo[playerid][pMatou] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][pMorreu] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][pDinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
}
}
}
return 1;
}
Tente isto:
pawn Код:
|
stock SalvarContas(playerid)
{
if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid));
else
{
PlayerInfo[playerid][pDinheiro] = GetPlayerMoney(playerid);
DOF2_SetString(Contas(playerid), "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][pMatou]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][pMorreu]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][pDinheiro]);
DOF2_SaveFile();
}
return 1;
}
pSenha[128]
pSenha,
pSenha[32],
PlayerInfo[playerid][pSenha] = strlen(inputtext);
format(PlayerInfo[playerid][pSenha],32,inputtext);
PlayerInfo[playerid][pSenha] = DOF2_GetInt(Contas(playerid), "Senha");
format(PlayerInfo[playerid][pSenha],32,DOF2_GetString(Contas(playerid), "Senha"));
if(strlen(inputtext) == PlayerInfo[playerid][pSenha])
if(!strcmp(inputtext,PlayerInfo[playerid][pSenha]))
e com o codigo acima vocк muda sua public SalvarContas para:
PHP код:
e na enum pInfo PHP код:
|
Substitua
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
pawn Код:
|
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include dof2
//------------------INCLUDES----------------------------------------------------
#include a_samp
#include DOF2
//------------------DEFINES-----------------------------------------------------
#define DIALOG_REGISTRO 1
#define DIALOG_LOGAR 2
//------------------NEWS--------------------------------------------------------
enum pInfo
{
pSenha,
pMatou,
pMorreu,
pDinheiro
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new Erro[MAX_PLAYERS];
//------------------PUBLICS-----------------------------------------------------
public OnGameModeInit()
{
SetGameModeText("Texto");
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
if(DOF2_FileExists(Contas(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
else ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
return 1;
}
public OnPlayerDisconnect(playerid)
{
SalvarContas(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTRO)
{
if(!response) return Kick(playerid);
else
{
format(PlayerInfo[playerid][pSenha],32,inputtext);
SalvarContas(playerid);
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!response) return Kick(playerid);
else
{
format(PlayerInfo[playerid][pSenha],32,DOF2_GetString(Contas(playerid), "Senha"));
if(!strcmp(inputtext,PlayerInfo[playerid][pSenha]))
{
PlayerInfo[playerid][pMatou] = DOF2_GetInt(Contas(playerid), "Matou");
PlayerInfo[playerid][pMorreu] = DOF2_GetInt(Contas(playerid), "Morreu");
PlayerInfo[playerid][pDinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro");
GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
}
}
}
return 1;
}
//------------------STOCKS------------------------------------------------------
stock Contas(playerid)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
return arquivo;
}
stock SalvarContas(playerid)
{
if(!DOF2_FileExists(Contas(playerid))) DOF2_CreateFile(Contas(playerid));
else
{
PlayerInfo[playerid][pDinheiro] = GetPlayerMoney(playerid);
DOF2_SetString(Contas(playerid), "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(Contas(playerid), "Matou", PlayerInfo[playerid][pMatou]);
DOF2_SetInt(Contas(playerid), "Morreu", PlayerInfo[playerid][pMorreu]);
DOF2_SetInt(Contas(playerid), "Dinheiro", PlayerInfo[playerid][pDinheiro]);
DOF2_SaveFile();
}
return 1;
}