[Ajuda] ajuda aqui
#4

Quote:
Originally Posted by lucaskill66
Посмотреть сообщение
malz cara esqueci de mandar o codigo.

pawn Код:
//------------------INCLUDES----------------------------------------------------
#include    <   a_samp  >
#include    <   dini    >

//------------------DEFINES-----------------------------------------------------
#define nomeservidor Brasil Vida Nova
#define dialogregistrar 2
#define dialoglogin 1

//------------------ENUMS-------------------------------------------------------
enum pInfo
{
    pAdmin

};

//------------------NEWS--------------------------------------------------------
new pLogado[MAX_PLAYERS];
new Professor_Info[MAX_PLAYERS][pInfo];

//------------------FORWARDS----------------------------------------------------
forward OnPlayerLogin(playerid,password[]);

//------------------PUBLICS-----------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
    new string[256];
    new registrado[256];
    format(registrado, sizeof(registrado), "Contas/%s.ini", PlayerName(playerid));
    if(pLogado[playerid] == 1)
    {
        SpawnPlayer(playerid);
       return 1;
     }
    if(dini_Exists(registrado))
    {
        format(string,sizeof(string),"Login do servidor: Brasil Vida Nova, digite sua senha");
        ShowPlayerDialog(playerid, dialoglogin, DIALOG_STYLE_INPUT, "Digite sua senha para logar", string, "Logar", "Sair");
    }
    else
    {
      format(string,sizeof(string),"Registro do servidor: Brasil Vida Nova, digite sua senha:");
      ShowPlayerDialog(playerid, dialogregistrar, DIALOG_STYLE_INPUT, "Digite sua senha para se registrar", string, "Registrar", "Sair");
    }
   return 1;
}

public OnPlayerConnect(playerid)
{
    pLogado[playerid] = 0;
    Professor_Info[playerid][pAdmin] = 0;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
        SalvarContas(playerid);
   return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[256];
    new string[256];
    if(dialogid == dialoglogin)
   {
      if(response == 0)
      {
            format(string,sizeof(string),"Login do servidor: Brasil Vida Nova, digite sua senha");
            ShowPlayerDialog(playerid, dialoglogin, DIALOG_STYLE_INPUT, "Digite sua Senha para Logar", string, "Logar", "Sair");
         return 1;
      }
      if(response >= 1)
      {
         if(strlen(inputtext) <= 0)
         {
                format(string,sizeof(string),"Login do servidor: Brasil Vida Nova, digite sua senha");
              ShowPlayerDialog(playerid, dialoglogin, DIALOG_STYLE_INPUT, "Digite sua Senha para Logar", string, "Logar", "Sair");
         }
         else
         {
            format(arquivo, sizeof(arquivo), "Contas/%s.ini", PlayerName(playerid));
               if(dini_Exists(arquivo))
            {
                  if(strcmp(inputtext , dini_Get(arquivo,"Senha"), true ) == 0 )
                  {
                        pLogado[playerid] = 1;
                        CarregarPlayer(playerid);
                        SpawnPlayer(playerid);
                    }
                  else
                  {
                        SendClientMessage(playerid, 0x0080C0AA , "Sua senha estб incorreta");
                        format(string,sizeof(string),"Login do servidor: Brasil Vida Nova, digite sua senha");
                        ShowPlayerDialog(playerid, dialoglogin, DIALOG_STYLE_INPUT, "Digite sua Senha para Logar", string, "Logar", "Sair");
                  }
            }
         }
      }
      return 1;
   }
   if(dialogid == dialogregistrar)
   {
      if(response == 0)
      {
            format(string,sizeof(string),"Registro do servidor: Brasil Vida Nova, digite sua senha");
         ShowPlayerDialog(playerid, dialogregistrar, DIALOG_STYLE_INPUT, "Digite sua senha para se registrar", string, "Registrar", "Sair");
         return 1;
      }
      if(response >= 1)
      {
         if(strlen(inputtext) < 4 || strlen(inputtext) > 16)
            {

              SendClientMessage(playerid, 0xFFFF00AA, "Sua senha deve conter no mнnimo 4 e no mбximo 16 caracteres!");
              format(string,sizeof(string),"Registro do servidor: Brasil Vida Nova, digite sua senha");
           ShowPlayerDialog(playerid, dialogregistrar, DIALOG_STYLE_INPUT, "Digite sua senha para se registrar", string, "Registrar", "Sair");
           return 1;
            }
         else
         {
              SetPlayerHealth(playerid, 100);
                SendClientMessage(playerid,0xFFFF00AA , "Vocк se registrou com sucesso !");
                format(arquivo, sizeof(arquivo), "Contas/%s.ini", PlayerName(playerid));
                dini_Create(arquivo);
                dini_Set(arquivo,"Senha",inputtext);
                RegistrarPlayer(playerid);
                format(string,sizeof(string),"Login do servidor: Brasil Vida Nova, digite sua senha");
                ShowPlayerDialog(playerid, dialoglogin, DIALOG_STYLE_INPUT, "Digite sua senha para logar", string, "Logar", "Sair");
         }
      }
      return 1;
     }
   return 1;
}

//------------------STOCKS------------------------------------------------------
stock PlayerName(playerid)
{
   new Name[MAX_PLAYER_NAME];
   GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
   return Name;
}
stock RegistrarPlayer(playerid)
{
        new arquivo[64];
        format(arquivo,sizeof(arquivo),"Contas/%s.ini",PlayerName(playerid));
      dini_Create(arquivo);
       dini_Set(arquivo,"Admin",Professor_Info[playerid][pAdmin]);
       dini_Set(arquivo,"Nivel",Professor_Info[playerid][pAdmin]);
        return 1;
}
stock CarregarPlayer(playerid)
{
        new arquivo[64];
        format(arquivo,sizeof(arquivo),"Contas/%s.ini",PlayerName(playerid));
       Professor_Info[playerid][pAdmin] = dini_Int(arquivo,"Admin");
       Professor_Info[playerid][pAdmin] = dini_Int(arquivo,"Nivel");
        return 1;
}
stock SalvarContas(playerid)
{
   new arq[64];
   format(arq, sizeof(arq), "Contas/%s.ini", PlayerName(playerid));
   dini_IntSet(arq,"Admin",Professor_Info[playerid][pAdmin]);
   dini_IntSet(arq,"Nivel",Professor_Info[playerid][pAdmin]);
   return 1;
}
Bom ele foi feito em DINI.
Erros encontrados atй o momento.
dini_Set - Й para setar frases, textos, palavras, etc (string).
dini_IntSet - Й para setar nъmeros: nнveis, leveis, IDs, etc.

E й bom verificar se o arquivo existe antes de setar/getar.


Arrumando isso, acho que vai salvar sim. Nгo li o cуdigo direito, sу passei o olho.
Reply


Messages In This Thread
ajuda aqui - by lucaskill66 - 04.10.2012, 15:14
Re: ajuda aqui - by humildadeforever - 04.10.2012, 15:16
Re: ajuda aqui - by lucaskill66 - 04.10.2012, 15:20
Re: ajuda aqui - by humildadeforever - 04.10.2012, 15:25

Forum Jump:


Users browsing this thread: 2 Guest(s)