31.12.2014, 02:04
pawn Код:
enum Informacoes //O enum serve, na maioria das veses, para ser usado em outras variaveis como pode ver abaixo
{
Senha[24],
Matou,
Morreu,
Dinheiro,
Organizacao,
Cargo
};
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 {
format(Player[playerid][Senha], 24, 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 {
new dir[24];
format(dir, 24, Contas(playerid));
format(Player[playerid][Senha],24, DOF2_GetString(dir, "Senha"));
if ( !strcmp(inputtext, Player[playerid][Senha]) ) {
Player[playerid][Matou] = DOF2_GetInt(dir, "Matou");
Player[playerid][Morreu] = DOF2_GetInt(dir, "Morreu");
Player[playerid][Dinheiro] = DOF2_GetInt(dir, "Dinheiro");
GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
Player[playerid][Organizacao] = DOF2_GetInt(dir, "Organizacao");
Player[playerid][Cargo] = DOF2_GetInt(dir, "Cargo");
}
else {
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!");
Kick(playerid);
return 1;
}
else {
return 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");
}
}
}
}
return 1;
}
stock SalvarContas(playerid) {
new dir[24];
format(dir, 24, Contas(playerid));
if ( !DOF2_FileExists(dir ) )
DOF2_CreateFile(dir);
Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
DOF2_SetString(dir, "Senha", Player[playerid][Senha]);
DOF2_SetInt(dir, "Matou", Player[playerid][Matou]);
DOF2_SetInt(dir, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(dir, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(dir, "Organizacao", Player[playerid][Organizacao]); //Setamos o valor de "Player[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(dir, "Cargo", Player[playerid][Cargo]); //Setamos o valor de "Player[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
DOF2_SaveFile();
return 1;
}
A funзгo strval, converte uma string para um inteiro.
A funзгo strlen devolve o tamanho de uma string.
E a funзгo strcmp compara duas strings.
https://sampwiki.blast.hk/wiki/Strval
https://sampwiki.blast.hk/wiki/Strlen
https://sampwiki.blast.hk/wiki/Strcmp

