Zplague
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Zplague Entrar

Seu portal de Zombie Plague no Brasil


description[PEDIDO]Banco Empty[PEDIDO]Banco

more_horiz
Alguem pode coloca pra min um comando pra quando digitar "/conta" mostrar os comandos do plugin?

SMA

Código:

#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <fvault>
/*==================================================================================================
  * GLOBAL VARS & ENUMS *
==================================================================================================*/
enum
{
   PASSWORD = 0,
   NAME,
   
   MAX_CHANGE
}

enum
{
   UNREGISTERED = 0,
   REGISTERED,
   LOGGED,
   
   MAX_STATUS
}

new g_TempPassword[33][32],g_Password[33][32],g_Date[33][32],g_Status[33],gMsg,g_AlredyChanged[33][MAX_CHANGE],g_CanChange

new const g_MsgArgs[][] = { "#Team_Select","#Team_Select_Spect","#IG_Team_Select","#IG_Team_Select_Spect" }

new const g_Vault[] = "_cuentas_"

new const g_szStatus[MAX_STATUS][] = { "Nao registrado","Registrado","Logado" }

/*==================================================================================================
  * BEGINNING OF PLUGIN *
==================================================================================================*/
public plugin_init()
{
   register_plugin("Sistema de Contas","2.0.1","TK")
   
   register_message(get_user_msgid("ShowMenu"),"message_showmenu")
   register_message(get_user_msgid("VGUIMenu"),"message_vguimenu")
   
   register_clcmd("INGRESAR_PASSWORD","cmd_password")
   register_clcmd("INGRESAR_NICK","cmd_nick")
   
   gMsg = CreateHudSyncObj()
}

/*==================================================================================================
  * CLIENT_ FUNCS *
==================================================================================================*/

public client_putinserver(id)
{
   g_Password[id][0] = '^0';g_Status[id] = UNREGISTERED
   
   g_AlredyChanged[id][NAME] = 0;g_AlredyChanged[id][PASSWORD] = 0
   
   fvault_load(id)
}

public client_infochanged(id)
{
   static szName[32],szOldName[32]
   
   get_user_name(id,szOldName,31);get_user_info(id,"name",szName,31)
   
   if(equal(szOldName,szName) || g_CanChange)
      return PLUGIN_CONTINUE
      
   client_cmd(id,"name %s",szName);set_user_info(id,"name",szName)
   
   return PLUGIN_HANDLED
}

/*==================================================================================================
  * CMDs *
==================================================================================================*/

public cmd_password(id)
{
   static szName[32],szArgs[64];read_args(szArgs,63)
   remove_quotes(szArgs);trim(szArgs)
   
   get_user_name(id,szName,31)
   
   if(containi(szArgs," ") != -1 || equal(szArgs,"")) {
      show_msg(id,"Seu PASSWORD tem erros...")
      return PLUGIN_HANDLED
   }
   switch(g_Status[id])
   {
      case UNREGISTERED: {
         show_msg(id,"Confirma seu PASSWORD...");copy(g_TempPassword[id],31,szArgs)
         show_menu_confirm(id)
      }
      case REGISTERED: {
         if(!equal(g_Password[id],szArgs)) {
            show_msg(id,"O PASSWORD Nao Conside Com A Da Conta...")
            return PLUGIN_HANDLED
         }
         
         g_Status[id] = LOGGED;fvault_save(id)// To save the date
         show_msg(id,"Logado Com Sucesso...");change_team(id)
      }
      case LOGGED: {
         if(g_AlredyChanged[id][PASSWORD]) {
            show_msg(id,"Voce Mudou Sua Senha...")
            return PLUGIN_HANDLED
         }
         
         show_msg(id,"Confirma Sua Senha Para Muda-la...");copy(g_TempPassword[id],31,szArgs)
         show_menu_confirm(id)
      }
   }
   
   return PLUGIN_HANDLED
}

public cmd_nick(id)
{
   if(g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
      return PLUGIN_HANDLED
      
   static args[32];read_args(args,31)
   remove_quotes(args);trim(args)
   
   if(containi(args," ") != -1 || !args[1])
      return PLUGIN_HANDLED
   
   if(change_name(id,args))
      show_msg(id,"Seu NICK foi mudado com sucesso!")
   
   return PLUGIN_HANDLED
}

/*==================================================================================================
  * MENUs *
==================================================================================================*/

public show_menu_block(id)
{
   static szMenu[128],szName[32]
   get_user_name(id,szName,31);formatex(szMenu,127,"\ySistema de CONTAS \rTK^n\wESTADO ACTUAL: \y[ \r%s \y]\w^n^n%s%s",g_szStatus[g_Status[id]],g_Status[id] == LOGGED ? "Ultima vez que entrou \r":(g_Status[id] == REGISTERED ? "\yEsta registrado como \r":""),g_Status[id] == LOGGED ? g_Date[id]:(g_Status[id] == REGISTERED ? szName:""))
   
   new Menu = menu_create(szMenu,"handler_menu_block")
   
   formatex(szMenu,63,"%sLogar conta",g_Status[id] != REGISTERED ? "\d":"\w")
   menu_additem(Menu,szMenu,"1",0)
   
   formatex(szMenu,63,"%sRegistrar Contaa^n",g_Status[id] != UNREGISTERED ? "\d":"\w")
   menu_additem(Menu,szMenu,"2",0)
   
   formatex(szMenu,63,"%s%sMudar PASSWORD",g_Status[id] != LOGGED ? "\d":"\w",g_AlredyChanged[id][PASSWORD] ? "\d":"")
   menu_additem(Menu,szMenu,"3",0)
   
   formatex(szMenu,63,"%s%sMudar NICK^n",g_Status[id] != LOGGED ? "\d":"\w",g_AlredyChanged[id][NAME] ? "\d":"")
   menu_additem(Menu,szMenu,"4",0)
   
   menu_additem(Menu,"Informacao","5",0)
   
   menu_setprop(Menu,MPROP_EXITNAME,"Sair")
   
   menu_display(id,Menu,0)
}

public handler_menu_block(id,menu,item)
{
   if(item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   switch(item)
   {
      case 0: {
         if(g_Status[id] != REGISTERED)
         {
            show_msg(id,"Nao Pode Fazer Isto...")
            return PLUGIN_HANDLED
         }
         
         show_msg(id,"Coloca Sua Senha Para LOGAR na conta...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
      }
      case 1: {
         if(g_Status[id] != UNREGISTERED)
         {
            show_msg(id,"Nao Pode Fazer Isto...")
            return PLUGIN_HANDLED
         }
         
         show_msg(id,"Coloca Uma Senha Para CRIAR uma conta...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
      }
      case 2: {
         if(g_Status[id] != LOGGED || g_AlredyChanged[id][PASSWORD])
         {
            show_msg(id,"Nao esta logado ou mudaram sua senha...")
            return PLUGIN_HANDLED
         }
         
         show_msg(id,"Coloca Seu Novo PASSWORD...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
      }
      case 3: {
         if(g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
         {
            show_msg(id,"Nao esta LOGADO ou mudaram seu nick...")
            return PLUGIN_HANDLED
         }
         
         show_msg(id,"Coloca seu novo NICK...");client_cmd(id,"messagemode INGRESAR_NICK")
      }
      case 4: {
         set_hudmessage(0, 255, 0, -1.0, -1.0, 2, 4.0, 7.0)
         ShowSyncHudMsg(id,gMsg,"Sistema de contas ^nThe-Killers")
      }
   }
   
   return PLUGIN_HANDLED
}

public show_menu_confirm(id)
{
   static szTitle[128];formatex(szTitle,127,"\w%sO PASSWORD sera \r%s^n^n\yConfirmar?",g_Status[id] == LOGGED ? "Esta Mudando Seu PASSWORD^n":"Esta Colocando Seu PASSWORD^n",g_TempPassword[id])
   
   new Menu = menu_create(szTitle,"handler_menu_confirm")
   
   menu_additem(Menu,"\rSim\w, Confirmar","1",0)
   menu_additem(Menu,"\rNao\w, Desejo Reescrever","2",0)
   
   menu_setprop(Menu,MPROP_EXIT,MEXIT_NEVER)
   
   menu_display(id,Menu,0)
}

public handler_menu_confirm(id,menu,item)
{
   switch(item)
   {
      case 0: {
         switch(g_Status[id])
         {
            case LOGGED: {
               show_msg(id,"Seu PASSWORD foi mudado com sucesso")
               
               copy(g_Password[id],31,g_TempPassword[id]);fvault_save(id)
               
               g_AlredyChanged[id][PASSWORD] = 1
            }
            case UNREGISTERED: {   
               show_msg(id,"Sua CONTA foi criada com sucesso")
               
               copy(g_Password[id],31,g_TempPassword[id]);fvault_save(id)
               
               g_Status[id] = LOGGED;change_team(id)
            }
         }
      }
      case 1: {
         menu_destroy(menu)
         
         client_cmd(id,"messagemode INGRESAR_PASSWORD")
         
         g_Status[id] == LOGGED ? show_msg(id,"Coloca Seu Novo PASSWORD..."):show_msg(id,"Coloca o novo PASSWORD para sua nova conta...")
      }
   }
   
   return PLUGIN_HANDLED
}

/*==================================================================================================
  * LOAD | SAVE *
==================================================================================================*/

public fvault_load(id)
{
   static szName[32],szData[64];get_user_name(id,szName,31)
   
   if(!fvault_get_data(g_Vault,szName,szData,63))
      g_Status[id] = UNREGISTERED
   else {
      strbreak(szData,g_Password[id],31,g_Date[id],31)
      
      g_Status[id] = REGISTERED
   }
}

public fvault_save(id)
{
   static szName[32],szData[64];get_user_name(id,szName,31)
   
   get_time("%c",g_Date[id],31);formatex(szData,63,"%s %s",g_Password[id],g_Date[id])
   
   fvault_set_data(g_Vault,szName,szData)
}

/*==================================================================================================
  * STOCKS *
==================================================================================================*/
stock change_name(const id, const string[])
{
   static szName[32],szData[64];get_user_name(id,szName,31)
   
   if(equal(szName,string))
      return 0
      
   if(fvault_get_data(g_Vault,string,szData,63))
      return 0
   
   g_CanChange = 1;set_user_info(id,"name",string)
   g_CanChange = 0
   
   fvault_remove_key(g_Vault,szName)
   
   set_task(1.0,"fvault_save",id)
   
   g_AlredyChanged[id][NAME] = 1
   
   return 1
}

stock change_team(const id)
{
   engclient_cmd(id,"jointeam","5")
   
   engclient_cmd(id,"joinclass","5")
}

stock show_msg(const id, const string[])
{
   set_hudmessage(0, 255, 0, 0.15, 0.10, 1, 2.0, 10.0)
   ShowSyncHudMsg(id,gMsg,"%s",string)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang11274{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Se eu paga alguem faz pra min?

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Precisa pagar não, explica um pouquinho melhor, tipo, você digita /conta e aparece o que? O menu do banco?

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
sim pq ele ta de uma maneira ruim tipo quando aperto "M" devia mostrar o menu extra iten neh mais ai aparece as opcoes dele "Mudar Senha,Mudar Nick..." dai eu tirei esta opção do "M" e queria coloca ela com comando como eu dice acima!

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Em: public plugin_init()

Adicione:

Código:

register_clcmd("say /conta", "cmd_conta")


Depois, EM OUTRO LOCAL, você precisa adicionar public cmd_conta(id) e nessa parte é o que você irá fazer. "O resto você continua". Zplague24

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Depois, EM OUTRO LOCAL, você precisa adicionar public cmd_conta(id) e nessa parte é o que você irá fazer. "O resto você continua".

como assim ? tem como vc ageita a sma pra min nao,eu num entendi direito oq vc citou!

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
O que estou querendo dizer é que:

Depois de registrado no plugin_init() o register_clcmd("say /conta", "cmd_conta"), você terá que criar um public cmd_conta(id), e dentro deste public é o código que você postará para criar o banco. o_o

Exemplo do que eu falei:

Código:

public plugin_init()
{
        register_clcmd("say /conta", "cmd_conta")
}

public cmd_conta(id)
{
        // Aqui você continua, sem as "//" que eu postei
}


Depois dessa nem me pergunte, pergunte para Junin ou alguém mais que saiba. O_O

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
cara num da pra vc colocar ja na SMA pra min nao, pq num tenho muita experiencia com essas coisas ae!

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Pelo jeito vai fica na mesma =(

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
AnDroidEL escreveu:
Depois dessa nem me pergunte, pergunte para Junin ou alguém mais que saiba. O_O


Acho que você não leu esta parte, eu não sei de algo tão completo avançando, aguarde até que algum scripter avançado venha lhe ajudar.

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
blz mais tipo só falta isso pra eu abri meu server e faiz tmpao q o topico foi aberto

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz

Código:

#include <amxmodx>
    #include <amxmisc>
    #include <zombieplague>
    #include <fvault>
    /*==================================================================================================
      * GLOBAL VARS & ENUMS *
    ==================================================================================================*/
    enum
    {
      PASSWORD = 0,
      NAME,
     
      MAX_CHANGE
    }

    enum
    {
      UNREGISTERED = 0,
      REGISTERED,
      LOGGED,
     
      MAX_STATUS
    }

    new g_TempPassword[33][32],g_Password[33][32],g_Date[33][32],g_Status[33],gMsg,g_AlredyChanged[33][MAX_CHANGE],g_CanChange

    new const g_MsgArgs[][] = { "#Team_Select","#Team_Select_Spect","#IG_Team_Select","#IG_Team_Select_Spect" }

    new const g_Vault[] = "_cuentas_"

    new const g_szStatus[MAX_STATUS][] = { "Nao registrado","Registrado","Logado" }

    /*==================================================================================================
      * BEGINNING OF PLUGIN *
    ==================================================================================================*/
    public plugin_init()
    {
      register_plugin("Sistema de Cuentas","2.0.1","TK")
     
      register_message(get_user_msgid("ShowMenu"),"message_showmenu")
      register_message(get_user_msgid("VGUIMenu"),"message_vguimenu")
     
      register_clcmd("INGRESAR_PASSWORD","cmd_password")
      register_clcmd("say /conta","show_menu_block")

      register_clcmd("INGRESAR_NICK","cmd_nick")
     
      gMsg = CreateHudSyncObj()
    }

    /*==================================================================================================
      * CLIENT_ FUNCS *
    ==================================================================================================*/

    public client_putinserver(id)
    {
      g_Password[id][0] = '^0';g_Status[id] = UNREGISTERED
     
      g_AlredyChanged[id][NAME] = 0;g_AlredyChanged[id][PASSWORD] = 0
     
      fvault_load(id)
    }

    public client_infochanged(id)
    {
      static szName[32],szOldName[32]
     
      get_user_name(id,szOldName,31);get_user_info(id,"name",szName,31)
     
      if(equal(szOldName,szName) || g_CanChange)
          return PLUGIN_CONTINUE
         
      client_cmd(id,"name %s",szName);set_user_info(id,"name",szName)
     
      return PLUGIN_HANDLED
    }

    /*==================================================================================================
      * CMDs *
    ==================================================================================================*/

    public cmd_password(id)
    {
      static szName[32],szArgs[64];read_args(szArgs,63)
      remove_quotes(szArgs);trim(szArgs)
     
      get_user_name(id,szName,31)
     
      if(containi(szArgs," ") != -1 || equal(szArgs,"")) {
          show_msg(id,"Seu PASSWORD tem erros...")
          return PLUGIN_HANDLED
      }
      switch(g_Status[id])
      {
          case UNREGISTERED: {
            show_msg(id,"Confirma seu PASSWORD...");copy(g_TempPassword[id],31,szArgs)
            show_menu_confirm(id)
          }
          case REGISTERED: {
            if(!equal(g_Password[id],szArgs)) {
                show_msg(id,"O PASSWORD Nao Conside Com A Da Conta...")
                return PLUGIN_HANDLED
            }
           
            g_Status[id] = LOGGED;fvault_save(id)// To save the date
            show_msg(id,"Logado Com Sucesso...");change_team(id)
          }
          case LOGGED: {
            if(g_AlredyChanged[id][PASSWORD]) {
                show_msg(id,"Voce Mudou Sua Senha...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id,"Confirma Sua Senha Para Muda-la...");copy(g_TempPassword[id],31,szArgs)
            show_menu_confirm(id)
          }
      }
     
      return PLUGIN_HANDLED
    }

    public cmd_nick(id)
    {
      if(g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
          return PLUGIN_HANDLED
         
      static args[32];read_args(args,31)
      remove_quotes(args);trim(args)
     
      if(containi(args," ") != -1 || !args[1])
          return PLUGIN_HANDLED
     
      if(change_name(id,args))
          show_msg(id,"Seu NICK foi mudado com sucesso!")
     
      return PLUGIN_HANDLED
    }

    /*==================================================================================================
      * MENUs *
    ==================================================================================================*/

    public show_menu_block(id)
    {
      static szMenu[128],szName[32]
      get_user_name(id,szName,31);formatex(szMenu,127,"ySistema de CONTAS rTK^nwESTADO ACTUAL: y[ r%s y]w^n^n%s%s",g_szStatus[g_Status[id]],g_Status[id] == LOGGED ? "Ultima vez que entrou r":(g_Status[id] == REGISTERED ? "yEsta registrado como r":""),g_Status[id] == LOGGED ? g_Date[id]:(g_Status[id] == REGISTERED ? szName:""))
     
      new Menu = menu_create(szMenu,"handler_menu_block")
     
      formatex(szMenu,63,"%sLogar conta",g_Status[id] != REGISTERED ? "d":"w")
      menu_additem(Menu,szMenu,"1",0)
     
      formatex(szMenu,63,"%sRegistrar Contaa^n",g_Status[id] != UNREGISTERED ? "d":"w")
      menu_additem(Menu,szMenu,"2",0)
     
      formatex(szMenu,63,"%s%sMudar PASSWORD",g_Status[id] != LOGGED ? "d":"w",g_AlredyChanged[id][PASSWORD] ? "d":"")
      menu_additem(Menu,szMenu,"3",0)
     
      formatex(szMenu,63,"%s%sMudar NICK^n",g_Status[id] != LOGGED ? "d":"w",g_AlredyChanged[id][NAME] ? "d":"")
      menu_additem(Menu,szMenu,"4",0)
     
      menu_additem(Menu,"Informacao","5",0)
     
      menu_setprop(Menu,MPROP_EXITNAME,"Sair")
     
      menu_display(id,Menu,0)
    }

    public handler_menu_block(id,menu,item)
    {
      if(item == MENU_EXIT)
      {
          menu_destroy(menu)
          return PLUGIN_HANDLED
      }
     
      switch(item)
      {
          case 0: {
            if(g_Status[id] != REGISTERED)
            {
                show_msg(id,"Nao Pode Fazer Isto...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id,"Coloca Sua Senha Para LOGAR na conta...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
          }
          case 1: {
            if(g_Status[id] != UNREGISTERED)
            {
                show_msg(id,"Nao Pode Fazer Isto...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id,"Coloca Uma Senha Para CRIAR uma conta...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
          }
          case 2: {
            if(g_Status[id] != LOGGED || g_AlredyChanged[id][PASSWORD])
            {
                show_msg(id,"Nao esta logado ou mudaram sua senha...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id,"Coloca Seu Novo PASSWORD...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
          }
          case 3: {
            if(g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
            {
                show_msg(id,"Nao esta LOGADO ou mudaram seu nick...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id,"Coloca seu novo NICK...");client_cmd(id,"messagemode INGRESAR_NICK")
          }
          case 4: {
            set_hudmessage(0, 255, 0, -1.0, -1.0, 2, 4.0, 7.0)
            ShowSyncHudMsg(id,gMsg,"Sistema de contas ^nThe-Killers")
          }
      }
     
      return PLUGIN_HANDLED
    }

    public show_menu_confirm(id)
    {
      static szTitle[128];formatex(szTitle,127,"w%sO PASSWORD sera r%s^n^nyConfirmar?",g_Status[id] == LOGGED ? "Esta Mudando Seu PASSWORD^n":"Esta Colocando Seu PASSWORD^n",g_TempPassword[id])
     
      new Menu = menu_create(szTitle,"handler_menu_confirm")
     
      menu_additem(Menu,"rSimw, Confirmar","1",0)
      menu_additem(Menu,"rNaow, Desejo Reescrever","2",0)
     
      menu_setprop(Menu,MPROP_EXIT,MEXIT_NEVER)
     
      menu_display(id,Menu,0)
    }

    public handler_menu_confirm(id,menu,item)
    {
      switch(item)
      {
          case 0: {
            switch(g_Status[id])
            {
                case LOGGED: {
                  show_msg(id,"Seu PASSWORD foi mudado com sucesso")
                 
                  copy(g_Password[id],31,g_TempPassword[id]);fvault_save(id)
                 
                  g_AlredyChanged[id][PASSWORD] = 1
                }
                case UNREGISTERED: { 
                  show_msg(id,"Sua CONTA foi criada com sucesso")
                 
                  copy(g_Password[id],31,g_TempPassword[id]);fvault_save(id)
                 
                  g_Status[id] = LOGGED;change_team(id)
                }
            }
          }
          case 1: {
            menu_destroy(menu)
           
            client_cmd(id,"messagemode INGRESAR_PASSWORD")
           
            g_Status[id] == LOGGED ? show_msg(id,"Coloca Seu Novo PASSWORD..."):show_msg(id,"Coloca o novo PASSWORD para sua nova conta...")
          }
      }
     
      return PLUGIN_HANDLED
    }

    /*==================================================================================================
      * LOAD | SAVE *
    ==================================================================================================*/

    public fvault_load(id)
    {
      static szName[32],szData[64];get_user_name(id,szName,31)
     
      if(!fvault_get_data(g_Vault,szName,szData,63))
          g_Status[id] = UNREGISTERED
      else {
          strbreak(szData,g_Password[id],31,g_Date[id],31)
         
          g_Status[id] = REGISTERED
      }
    }

    public fvault_save(id)
    {
      static szName[32],szData[64];get_user_name(id,szName,31)
     
      get_time("%c",g_Date[id],31);formatex(szData,63,"%s %s",g_Password[id],g_Date[id])
     
      fvault_set_data(g_Vault,szName,szData)
    }

    /*==================================================================================================
      * STOCKS *
    ==================================================================================================*/
    stock change_name(const id, const string[])
    {
      static szName[32],szData[64];get_user_name(id,szName,31)
     
      if(equal(szName,string))
          return 0
         
      if(fvault_get_data(g_Vault,string,szData,63))
          return 0
     
      g_CanChange = 1;set_user_info(id,"name",string)
      g_CanChange = 0
     
      fvault_remove_key(g_Vault,szName)
     
      set_task(1.0,"fvault_save",id)
     
      g_AlredyChanged[id][NAME] = 1
     
      return 1
    }

    stock change_team(const id)
    {
      engclient_cmd(id,"jointeam","5")
     
      engclient_cmd(id,"joinclass","5")
    }

    stock show_msg(const id, const string[])
    {
      set_hudmessage(0, 255, 0, 0.15, 0.10, 1, 2.0, 10.0)
      ShowSyncHudMsg(id,gMsg,"%s",string)
    }
    /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
    *{\ rtf1\ ansi\ ansicpg1252\ deff0\ deflang11274{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ f0\ fs16 n\ par }
    */


Olha ae : D
se não der certo me avise

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
compilou mais nao funcionou =(

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
viniciusthekillers escreveu:
compilou mais nao funcionou =(

Não apareceu o menu ?
ou o plugin inteirei não funcionou ?

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
num funcionou nada "quando entra no server aparece lá se ta registrado ou nao,num apareceu e o comando /conta não funcionou"


FELIZ NIVER trollf

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
viniciusthekillers escreveu:
num funcionou nada "quando entra no server aparece lá se ta registrado ou nao,num apareceu e o comando /conta não funcionou"


FELIZ NIVER [PEDIDO]Banco 3983697932


vou ver aqui
e muito obrigado : D

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Junin, não tem que adicionar a posição de onde menu irá estar? Ou o menu já é automaticamente posicionado no jogo?

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Junin conseguiu ae?

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Vou ajudar.......................................

Plugin Editado, Testado e Aprovado por Eu =)
Tradução PT BR - Eu =)

Probremas? Me avise ^^

PS:
E não vejo pq usar as seguintes includes
#include < amxmisc >
#include < zombieplague > // Onde o plugin tem a ver com ZP/ZM ?

Código:


#include <amxmodx >
#include <fvault >

#define Hook_Chooseteam

/*==================================================================================================
  * GLOBAL VARS & ENUMS *
==================================================================================================*/
enum
{
    PASSWORD = 0,
    NAME,
   
    MAX_CHANGE
}

enum
{
    UNREGISTERED = 0,
    REGISTERED,
    LOGGED,
   
    MAX_STATUS
}

new g_TempPassword[33][32],g_Password[33][32],g_Date[33][32],g_Status[33],gMsg,g_AlredyChanged[33][MAX_CHANGE],g_CanChange

new const g_MsgArgs[][] = { "#Team_Select","#Team_Select_Spect","#IG_Team_Select","#IG_Team_Select_Spect" }

new const g_Vault[] = "_Sistema_de_Registro_"

new const g_szStatus[MAX_STATUS][] = { "Nao esta Regitrado","Registrado","Logado" }

/*==================================================================================================
  * BEGINNING OF PLUGIN *
==================================================================================================*/
public plugin_init()
{
    register_plugin("Sistema de Registro", "2.0.1", "Manu")
   
    register_message(get_user_msgid("ShowMenu"), "message_showmenu")
    register_message(get_user_msgid("VGUIMenu"), "message_vguimenu")
   
    register_clcmd("INGRESAR_PASSWORD", "cmd_password")
    register_clcmd("INGRESAR_NICK", "cmd_nick")

    #if defined Hook_Chooseteam
    register_clcmd("jointeam", "cmd_block")
    register_clcmd("jointeam 1", "cmd_block")
    register_clcmd("jointeam 2", "cmd_block")
    register_clcmd("jointeam 6", "cmd_block")
    register_clcmd("say /conta", "cmd_block")
    register_clcmd("say .conta", "cmd_block")
    register_clcmd("say /account", "cmd_block")
    register_clcmd("say .account", "cmd_block")
    register_clcmd("say /register", "cmd_block")
    register_clcmd("say .register", "cmd_block")
    #endif
   
    gMsg = CreateHudSyncObj()
}

/*==================================================================================================
  * CLIENT_ FUNCS *
==================================================================================================*/

public client_putinserver(id)
{
    g_Password[id][0] = '^0';g_Status[id] = UNREGISTERED
   
    g_AlredyChanged[id][NAME] = 0;g_AlredyChanged[id][PASSWORD] = 0
   
    fvault_load(id)
}

public client_infochanged(id)
{
    static szName[32], szOldName[32]
   
    get_user_name(id, szOldName, 31);
    get_user_info(id, "name", szName,31)
   
    if(equal(szOldName, szName) || g_CanChange)
        return PLUGIN_CONTINUE
       
    client_cmd(id, "name %s", szName);
    set_user_info(id, "name", szName)
   
    return PLUGIN_HANDLED
}

/*==================================================================================================
  * CMDs *
==================================================================================================*/

public cmd_password(id)
{
    static szName[32], szArgs[64];
    read_args(szArgs, 63)
    remove_quotes(szArgs);
    trim(szArgs)
   
    get_user_name(id,szName,31)
   
    if(containi(szArgs," ") != -1 || equal(szArgs,""))
    {
        show_msg(id, "A sua senha contem erros ou letras/simbolos invalidos...")
        return PLUGIN_HANDLED
    }
    switch(g_Status[id])
    {
        case UNREGISTERED:
        {
            show_msg(id, "Confirme sua senha para proseguir...");
            copy(g_TempPassword[id], 31, szArgs)
            show_menu_confirm(id)
        }
        case REGISTERED:
        {
            if(!equal(g_Password[id],szArgs))
        {
                show_msg(id,"A senha digitada nao corresponde a conta...")
                return PLUGIN_HANDLED
            }
           
            g_Status[id] = LOGGED;
            fvault_save(id)// To save the date
            show_msg(id, "Voce logou com sucesso...");
            change_team(id)
        }
        case LOGGED:
        {
            if(g_AlredyChanged[id][PASSWORD])
        {
                show_msg(id,"Voce ja mudou sua senha nesse mapa...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id, "Confirme sua senha para prosseguir...");
            copy(g_TempPassword[id], 31, szArgs)
            show_menu_confirm(id)
        }
    }
   
    return PLUGIN_HANDLED
}

public cmd_nick(id)
{
    if(g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
        return PLUGIN_HANDLED
       
    static args[32];
    read_args(args,31)
    remove_quotes(args);
    trim(args)
   
    if(containi(args," ") != -1 || !args[1])
        return PLUGIN_HANDLED
   
    if(change_name(id, args))
        show_msg(id, "Seu nome foi alterado com sucesso...")
   
    return PLUGIN_HANDLED
}


/*==================================================================================================
  * BLOCK CHANGE TEAM *
==================================================================================================*/

public message_showmenu(msgid, dest, id)
{
    static szMsg[16];
    get_msg_arg_string(4, szMsg, 15)
   
    for(new i;i < sizeof g_MsgArgs;i++)
    {
        if(equal(szMsg, g_MsgArgs[i]))
        {
            show_menu_block(id)
            return PLUGIN_HANDLED
        }
    }
    return PLUGIN_CONTINUE
}

public message_vguimenu(msgid, dest, id)
{
    if(get_msg_arg_int(1) != 2)
        return PLUGIN_CONTINUE
       
    show_menu_block(id)
   
    return PLUGIN_HANDLED
}

#if defined Hook_Chooseteam
public cmd_block(id)
{
    show_menu_block(id)
    return PLUGIN_HANDLED
}
#endif

/*==================================================================================================
  * MENUs *
==================================================================================================*/

public show_menu_block(id)
{
    static szMenu[128], szName[32]
    get_user_name(id, szName, 31);
    formatex(szMenu, 127, "\ySistema de Registro")
    formatex(szMenu, 127, "\wEstado Atual: \y[\r%s \y]\w^n^n%s%s", g_szStatus[g_Status[id]], g_Status[id] == LOGGED ? "Ultima vez que entrou \r":(g_Status[id] == REGISTERED ? "\yRegistrado como \r":""), g_Status[id] == LOGGED ? g_Date[id]:(g_Status[id] == REGISTERED ? szName:""))
   
    new Menu = menu_create(szMenu, "handler_menu_block")

    formatex(szMenu, 63, "%sCriar Conta",g_Status[id] != UNREGISTERED ? "\d":"\w")
    menu_additem(Menu, szMenu, "1", 0)

    formatex(szMenu, 63, "%sFazer Login^n",g_Status[id] != REGISTERED ? "\d":"\w")
    menu_additem(Menu, szMenu, "2", 0)
   
    formatex(szMenu, 63, "%s%sTrocar Senha",g_Status[id] != LOGGED ? "\d":"\w", g_AlredyChanged[id][PASSWORD] ? "\d":"")
    menu_additem(Menu, szMenu, "3", 0)
   
    formatex(szMenu, 63, "%s%sTrocar Nome^n",g_Status[id] != LOGGED ? "\d":"\w", g_AlredyChanged[id][NAME] ? "\d":"")
    menu_additem(Menu, szMenu, "4", 0)
   
    menu_additem(Menu, "Informacao", "5", 0)
   
    menu_setprop(Menu, MPROP_EXITNAME, "Sair")
   
    menu_display(id, Menu, 0)
}

public handler_menu_block(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED
    }
   
    switch(item)
    {
        case 0: {
            if(g_Status[id] != UNREGISTERED)
            {
                show_msg(id, "Voce nao pode selecionar esta opcao no momento...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id, "Digite uma senha para sua conta...");
            client_cmd(id, "messagemode INGRESAR_PASSWORD")
        }

        case 1: {
            if(g_Status[id] != REGISTERED)
            {
                show_msg(id, "Voce nao pode selecionar esta opcao no momento...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id, "Digite a senha para entrar na sua conta...");
            client_cmd(id, "messagemode INGRESAR_PASSWORD")
        }

        case 2: {
            if(g_Status[id] != LOGGED || g_AlredyChanged[id][PASSWORD])
            {
                show_msg(id, "Voce nao esta logado ou trocaram a sua SENHA...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id, "Digite sua nova SENHA...");
            client_cmd(id, "messagemode INGRESAR_PASSWORD")
        }
        case 3: {
            if(g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
            {
                show_msg(id, "Voce nao esta logado ou trocaram seu NICK...")
                return PLUGIN_HANDLED
            }
           
            show_msg(id, "Digite seu novo NICK...");
            client_cmd(id, "messagemode INGRESAR_NICK")
        }
        case 4: {
            set_hudmessage(0, 255, 0, -1.0, -1.0, 2, 4.0, 7.0)
            ShowSyncHudMsg(id, gMsg, "Este Sistema de Registro^nfoi criado por^nManu^n^n Foi feito para os usuarios de^nAllied Modders")
        }
    }
   
    return PLUGIN_HANDLED
}

public show_menu_confirm(id)
{
    static szTitle[128];
    formatex(szTitle, 127, "\w%sA sua senha sera \r%s^n^n\yConfirmar?", g_Status[id] == LOGGED ? "Estas cambiando tu password^n":"Estas seteando tu password^n", g_TempPassword[id])
   
    new Menu = menu_create(szTitle, "handler_menu_confirm")
   
    menu_additem(Menu, "\rSim\w, \y[\rConfirmar\y]", "1", 0)
    menu_additem(Menu, "\rNao\w, \y[\rRescrever\y]", "2", 0)
   
    menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
   
    menu_display(id, Menu, 0)
}

public handler_menu_confirm(id, menu, item)
{
    switch(item)
    {
        case 0:
        {
            switch(g_Status[id])
            {
                case LOGGED:
                {
                    show_msg(id, "Sua SENHA foi alterada com sucesso...")
                   
                    copy(g_Password[id], 31, g_TempPassword[id]);
                    fvault_save(id)
                   
                    g_AlredyChanged[id][PASSWORD] = 1
                }
                case UNREGISTERED:
                {   
                    show_msg(id, "Sua CONTA foi criada com sucesso...")
                   
                    copy(g_Password[id], 31, g_TempPassword[id]);
                    fvault_save(id)
                   
                    g_Status[id] = LOGGED;
                    change_team(id)
                }
            }
        }
        case 1:
        {
            menu_destroy(menu)
           
            client_cmd(id, "messagemode INGRESAR_PASSWORD")
           
            g_Status[id] == LOGGED ? show_msg(id, "Digite sua nova SENHA..."):show_msg(id, "Digite a SENHA para sua nova conta...")
        }
    }
   
    return PLUGIN_HANDLED
}

/*==================================================================================================
  * LOAD | SAVE *
==================================================================================================*/

public fvault_load(id)
{
    static szName[32], szData[64];
    get_user_name(id, szName, 31)
   
    if(!fvault_get_data(g_Vault, szName, szData, 63))
        g_Status[id] = UNREGISTERED
    else {
        strbreak(szData, g_Password[id], 31, g_Date[id], 31)
       
        g_Status[id] = REGISTERED
    }
}

public fvault_save(id)
{
    static szName[32], szData[64];
    get_user_name(id, szName, 31)
   
    get_time("%c", g_Date[id], 31);
    formatex(szData, 63, "%s %s", g_Password[id], g_Date[id])
   
    fvault_set_data(g_Vault, szName, szData)
}

/*==================================================================================================
  * STOCKS *
==================================================================================================*/
stock change_name(const id, const string[])
{
    static szName[32], szData[64];
    get_user_name(id, szName, 31)
   
    if(equal(szName, string))
        return 0
       
    if(fvault_get_data(g_Vault, string, szData, 63))
        return 0
   
    g_CanChange = 1;
    set_user_info(id, "name", string)
    g_CanChange = 0
   
    fvault_remove_key(g_Vault, szName)
   
    set_task(1.0,"fvault_save", id)
   
    g_AlredyChanged[id][NAME] = 1
   
    return 1
}

stock change_team(const id)
{
    engclient_cmd(id, "jointeam", "5")
   
    engclient_cmd(id, "joinclass", "5")
}

stock show_msg(const id, const string[])
{
    set_hudmessage(0, 255, 0, 0.15, 0.10, 1, 2.0, 10.0)
    ShowSyncHudMsg(id, gMsg, "%s", string)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang11274{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
cara ^^ como eu queria guh._.rds Bejo na bunda rsrs' zoa mais vlew msm Muito Obrigado! chuckn

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
viniciusthekillers escreveu:
cara ^^ como eu queria guh._.rds Bejo na bunda rsrs' zoa mais vlew msm Muito Obrigado! chuckn

[PEDIDO]Banco Meme-futirinhas-nossa-bee
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
vish sai dessa Luankc xit

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
hahahahaahah brink's
merda

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
usa esse registro é o melhor que já vi

https://zplague.forumeiro.com/t2680-sistema-de-registro-20#12609

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Surpresa escreveu:


Se é a mesma coisa que esse. Tirando que este registro que você postou está sem os créditos do autor original!

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Slayer. escreveu:
Surpresa escreveu:


Se é a mesma coisa que esse. Tirando que este registro que você postou está sem os créditos do autor original!


Eu peguei esse registro no site parceiro do fórum

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
Prefiro esse msm mais valeu!!

description[PEDIDO]Banco EmptyRe: [PEDIDO]Banco

more_horiz
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos
power_settings_newInicie sessão para responder