18.07.2012, 20:46
Код:
#include a_samp #include <dof2> #define DIALOG_REGISTRO 3 #define DIALOG_LOGAR 4 enum Informacoes { Senha, Matou, Morreu, Dinheiro } new Player[MAX_PLAYERS][Informacoes]; new Erro[MAX_PLAYERS]; main() { print("Tutorial feito por: EditPawn"); } 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 { Player[playerid][Senha] = 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 { Player[playerid][Senha] = DOF2_GetInt(Contas(playerid), "Senha"); if(strval(inputtext) == Player[playerid][Senha]) { Player[playerid][Matou] = DOF2_GetInt(Contas(playerid), "Matou"); Player[playerid][Morreu] = DOF2_GetInt(Contas(playerid), "Morreu"); Player[playerid][Dinheiro] = DOF2_GetInt(Contas(playerid), "Dinheiro"); GivePlayerMoney(playerid, Player[playerid][Dinheiro]); } 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; } 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 { Player[playerid][Dinheiro] = GetPlayerMoney(playerid); DOF2_SetInt(Contas(playerid), "Senha", Player[playerid][Senha]); DOF2_SetInt(Contas(playerid), "Matou", Player[playerid][Matou]); DOF2_SetInt(Contas(playerid), "Morreu", Player[playerid][Morreu]); DOF2_SetInt(Contas(playerid), "Dinheiro", Player[playerid][Dinheiro]); DOF2_SaveFile(); } return 1; }