Enviar respuesta 
sistema de cuentas
Autor Mensaje
bobotonr Sin conexión
Miembro Junior


Mensajes: 8
Registro en: Apr 2017
Reputación: 0
Mensaje: #1
Estrella sistema de cuentas
hola. quisiera saber como cambiarle el bind de este sistema de cuentas que en ves de que se abra con la letra "M", se habra con el say, por ejemplo: say /cuenta , o algo x el estilo y asi permita a los jugadores cambiar de equipos usando la letra "M" despues de logearse en el servidor. aqui el codigo:

Código PHP:
#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[] = "_cuentas_"

new const g_szStatus[MAX_STATUS][] = { "No registrado","Registrado","Logueado" }

/*===============================================================================​===================
  * BEGINNING OF PLUGIN *
================================================================================​==================*/
public plugin_init()
{
    
register_plugin("Sistema de Cuentas[FL]","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("chooseteam","cmd_block")
    
register_clcmd("jointeam","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," ") != -|| equal(szArgs,"")) {
        
show_msg(id,"Tu password contiene errores...")
        return 
PLUGIN_HANDLED
    
}
    switch(
g_Status[id])
    {
        case 
UNREGISTERED: {
            
show_msg(id,"Confirma tu password para proseguir...");copy(g_TempPassword[id],31,szArgs)
            
show_menu_confirm(id)
        }
        case 
REGISTERED: {
            if(!
equal(g_Password[id],szArgs)) {
                
show_msg(id,"La password ingresada no coincide con la de la cuenta...")
                return 
PLUGIN_HANDLED
            
}
            
            
g_Status[id] = LOGGED;fvault_save(id)// To save the date
            
show_msg(id,"Te logueaste satisfactoriamente en tu cuenta...");change_team(id)
        }
        case 
LOGGED: {
            if(
g_AlredyChanged[id][PASSWORD]) {
                
show_msg(id,"Ya cambiaste tu password en este mapa...")
                return 
PLUGIN_HANDLED
            
}
            
            
show_msg(id,"Confirma tu password para cambiarla...");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," ") != -|| !args[1])
        return 
PLUGIN_HANDLED
    
    
if(change_name(id,args))
        
show_msg(id,"Tu nombre se ha cambiado con exito!")
    
    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;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(0) != 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 CUENTAS por \rRENNY^n\wESTADO ACTUAL: \y[ \r%s \y]\w^n^n%s%s",g_szStatus[g_Status[id]],g_Status[id] == LOGGED "Ultima vez que entraste \r":(g_Status[id] == REGISTERED "\yEstas 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,"%sLoguear cuenta",g_Status[id] != REGISTERED "\d":"\w")
    
menu_additem(Menu,szMenu,"1",0)
    
    
formatex(szMenu,63,"%sRegistrar cuenta^n",g_Status[id] != UNREGISTERED "\d":"\w")
    
menu_additem(Menu,szMenu,"2",0)
    
    
formatex(szMenu,63,"%s%sCambiar PASSWORD",g_Status[id] != LOGGED "\d":"\w",g_AlredyChanged[id][PASSWORD] ? "\d":"")
    
menu_additem(Menu,szMenu,"3",0)
    
    
formatex(szMenu,63,"%s%sCambiar NICK^n",g_Status[id] != LOGGED "\d":"\w",g_AlredyChanged[id][NAME] ? "\d":"")
    
menu_additem(Menu,szMenu,"4",0)
    
    
menu_additem(Menu,"Informacion","5",0)
    
    
menu_setprop(Menu,MPROP_EXITNAME,"Salir")
    
    
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,"No puedes elegir esta opcion...")
                return 
PLUGIN_HANDLED
            
}
            
            
show_msg(id,"Ingresa tu PASSWORD para entrar a tu cuenta...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
        }
        case 
1: {
            if(
g_Status[id] != UNREGISTERED)
            {
                
show_msg(id,"No puedes elegir esta opcion...")
                return 
PLUGIN_HANDLED
            
}
            
            
show_msg(id,"Ingresa una PASSWORD para crear una cuenta...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
        }
        case 
2: {
            if(
g_Status[id] != LOGGED || g_AlredyChanged[id][PASSWORD])
            {
                
show_msg(id,"No estas logueado o ya cambiaste tu password durante el mapa...")
                return 
PLUGIN_HANDLED
            
}
            
            
show_msg(id,"Ingresa tu nueva PASSWORD...");client_cmd(id,"messagemode INGRESAR_PASSWORD")
        }
        case 
3: {
            if(
g_Status[id] != LOGGED || g_AlredyChanged[id][NAME])
            {
                
show_msg(id,"No estas logueado o ya cambiaste tu nick durante el mapa...")
                return 
PLUGIN_HANDLED
            
}
            
            
show_msg(id,"Ingresa tu nuevo NICK...");client_cmd(id,"messagemode INGRESAR_NICK")
        }
        case 
4: {
            
set_hudmessage(02550, -1.0, -1.024.07.0)
            
ShowSyncHudMsg(id,gMsg,"Este sistema de cuentas fue creado por^nRenny para la Comunidad Family Lacras^nConsiste en poder registrar un nick para evitar^nel robo del mismo, protegiendolo asi con password")
        }
    }
    
    return 
PLUGIN_HANDLED
}

public 
show_menu_confirm(id)
{
    static 
szTitle[128];formatex(szTitle,127,"\w%sLa password 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,"\rSi\w, confirmar","1",0)
    
menu_additem(Menu,"\rNo\w, deseo reescribirla","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,"Tu password ha sido cambiada satisfactoiramente")
                    
                    
copy(g_Password[id],31,g_TempPassword[id]);fvault_save(id)
                    
                    
g_AlredyChanged[id][PASSWORD] = 1
                
}
                case 
UNREGISTERED: {    
                    
show_msg(id,"Tu cuenta ha sido creada satisfactoriamente")
                    
                    
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,"Ingresa tu nueva PASSWORD..."):show_msg(id,"Ingresa la PASSWORD para tu nueva cuenta...")
        }
    }
    
    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(025500.150.1012.010.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 }
*/ 
si podrian ayudarme se los agradecería en el alma. pacman Rainbow
(Este mensaje fue modificado por última vez en: 03/08/2019 03:30 PM por bobotonr.)
03/08/2019 03:29 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
multip0wer Sin conexión
Miembro Junior


Mensajes: 34
Registro en: Feb 2018
Reputación: 1
Mensaje: #2
RE: sistema de cuentas
Código:
#define Hook_Chooseteam
->
Código:
//#define Hook_Chooseteam

Código PHP:
register_clcmd("say /cuenta","cmd_block"
03/08/2019 11:37 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
bobotonr Sin conexión
Miembro Junior


Mensajes: 8
Registro en: Apr 2017
Reputación: 0
Mensaje: #3
RE: sistema de cuentas
(03/08/2019 11:37 PM)multip0wer escribió:  
Código:
#define Hook_Chooseteam
->
Código:
//#define Hook_Chooseteam

Código PHP:
register_clcmd("say /cuenta","cmd_block"

Código PHP:
#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[] = "_cuentas_"

new const g_szStatus[MAX_STATUS][] = { "No registrado","Registrado","Logueado" }

/*===============================================================================​===================
  * BEGINNING OF PLUGIN *
================================================================================​==================*/
public plugin_init()
{
    
register_plugin("Sistema de Cuentas[FL]","2.0.1","Renny")
    
    
register_message(get_user_msgid("ShowMenu"),"message_showmenu")
    
register_message(get_user_msgid("VGUIMenu"),"message_vguimenu")
    
    
register_clcmd("say /cuenta","cmd_block"
    
register_clcmd("INGRESAR_PASSWORD","cmd_password")
    
register_clcmd("INGRESAR_NICK","cmd_nick")
    
    
#if defined Hook_Chooseteam
    
register_clcmd("chooseteam","cmd_block")
    
register_clcmd("jointeam","cmd_block")
    
#endif 

yo lo pongo asi entonces cuando lo pongo en mi servidor. entro sin registrarme primero y escribo /cuenta y no me sale nada amigo. :/
04/08/2019 12:03 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
[E]manuelitop15 Sin conexión
Miembro


Mensajes: 60
Registro en: Oct 2018
Reputación: 0
Mensaje: #4
RE: sistema de cuentas
Borras
Código PHP:
register_clcmd("say /cuenta","cmd_block"

y cambias esto
Código PHP:
//#define Hook_Chooseteam 
por esto
Código PHP:
#define Hook_Chooseteam 

No es tan dificil v:
10/08/2019 03:07 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Skylar Sin conexión
Miembro Héroe


Trebol de oro 1k
Mensajes: 1,690
Registro en: Feb 2015
Reputación: 23
Mensaje: #5
RE: sistema de cuentas
(10/08/2019 03:07 PM)[E]manuelitop15 escribió:  Borras
Código PHP:
register_clcmd("say /cuenta","cmd_block"

y cambias esto
Código PHP:
//#define Hook_Chooseteam 
por esto
Código PHP:
#define Hook_Chooseteam 

No es tan dificil v:

Todo bien en casa?

ImageImage
11/08/2019 05:58 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS