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 !
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; }
Necessário include DOF2 e ZCMD!