MonK
Bem,
o título já diz tudo, um Sistema simples que salva Score, Dinheiro,
Admin e Senha, 3 Comandos para entendimento básico do uso da var de
Admin, espero que gostem !
Necessário include DOF2 e ZCMD!
pawn Code:
#include <a_samp> #include <zcmd> #include <DOF2> #define arquivo "Contas/%s" enum PlayerDados { Senha[16], Score, Dinheiro, Admin, bool:Cadastrado } new pDados[MAX_PLAYERS][PlayerDados]; public OnPlayerConnect(playerid) { new string[128]; pDados[playerid][Cadastrado] = DOF2_GetBool(GetarConta(playerid), "Cadastro"); if(pDados[playerid][Cadastrado] == false) { format(string, sizeof(string), "Seja bem vindo, %s!\nVocê ainda não está Cadastrado, digite sua Senha abaixo para se Cadastrar:", pName(playerid)); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro", string, "Cadastrar", ""); } else { format(string, sizeof(string), "Seja bem vindo, %s!\nVocê está Cadastrado, digite sua Senha abaixo para se Logar:", pName(playerid)); ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", string, "Login", ""); } return 1; } public OnFilterScriptInit() { print("Ui, Sistema de Login by CidadeNovaRP Ui"); return 1; } public OnPlayerDisconnect(playerid) { SalvarConta(playerid); return 1; } public OnFilterScriptExit() { DOF2_Exit(); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new string[128]; if(dialogid == 1) { if(response) { if(strlen(inputtext) < 8) { SendClientMessage(playerid, -1, "Você deve colocar pelo menos 8 caracteres!"); format(string, sizeof(string), "Seja bem vindo, %s!\nVocê ainda não está Cadastrado, digite sua Senha abaixo para se Cadastrar:", pName(playerid)); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro", string, "Cadastrar", ""); } else { new senha[16]; pDados[playerid][Cadastrado] = true; SendClientMessage(playerid, -1, "Você acaba de ser Resgistrar neste Servidor, bem vindo!"); format(senha, sizeof(senha), "%s", inputtext); pDados[playerid][Senha] = senha; pDados[playerid][Admin] = 0; pDados[playerid][Score] = 1; pDados[playerid][Dinheiro] = 10000; SetPlayerScore(playerid, 1); GivePlayerMoney(playerid, 10000); DOF2_SetString(GetarConta(playerid), "Senha", pDados[playerid][Senha]); DOF2_SaveFile(); SalvarConta(playerid); } } else { SendClientMessage(playerid, -1, "Registro Cancelado."); Kick(playerid); } } else if(dialogid == 2) { if(response) { if(strlen(inputtext)) { SendClientMessage(playerid, -1, "Digite algo para Logar!"); format(string, sizeof(string), "Seja bem vindo, %s!\nVocê está Cadastrado, digite sua Senha abaixo para se Logar:", pName(playerid)); ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", string, "Login", ""); } else { if(strcmp(DOF2_GetString(GetarConta(playerid), "Senha", pDados[playerid][Senha]), inputtext, true, 10) == 0) { SendClientMessage(playerid, -1, "Logado com Sucesso."); CarregarConta(playerid); SpawnPlayer(playerid); } else { SendClientMessage(playerid, -1, "Senha Errada, tente outra vez depois!"); Kick(playerid); } } } else { SendClientMessage(playerid, -1, "Login Cancelado."); Kick(playerid); } } return 1; } stock SalvarConta(playerid) { DOF2_SetInt(GetarConta(playerid), "AdiminLevel", pDados[playerid][Admin]); DOF2_SetInt(GetarConta(playerid), "Score", GetPlayerScore(playerid)); DOF2_SetInt(GetarConta(playerid), "Dinheiro", GetPlayerMoney(playerid)); DOF2_SetBool(GetarConta(playerid), "Cadastro", pDados[playerid][Cadastrado]); DOF2_SaveFile(); return 1; } stock CarregarConta(playerid) { pDados[playerid][Admin] = DOF2_GetInt(GetarConta(playerid), "AdiminLevel"); SetPlayerScore(playerid, DOF2_GetInt(GetarConta(playerid), "Score")); GivePlayerMoney(playerid, DOF2_GetInt(GetarConta(playerid), "Dinheiro")); return 1; } stock GetarConta(playerid) { new arq[40]; format(arq, sizeof(arq), arquivo, pName(playerid)); return arq; } stock pName(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } CMD:viraradminfodaoaquiporra(playerid) { if(pDados[playerid][Cadastrado] == true) { pDados[playerid][Admin] = 9999; SendClientMessage(playerid, -1, "Isso ae mano, bota moral nisso!"); } return 1; } CMD:dargranatodos(playerid) { if(pDados[playerid][Admin] < 1342) return SendClientMessage(playerid, -1, "Você não tem permissão para usar este comando!"); new i; while(i < MAX_PLAYERS) { GivePlayerMoney(i, 10000); SendClientMessage(i, -1, "Você recebeu $10.000,00!"); i ++; } return 1; } CMD:kikartodos(playerid) { if(pDados[playerid][Admin] < 1342) return SendClientMessage(playerid, -1, "Você não tem permissão para usar este comando!"); new i; while(i < MAX_PLAYERS) { Kick(i); SendClientMessage(i, -1, "Você foi Kikado!"); i ++; } return 1; }
Sem Comentários
Postar um comentário