No me registro (sistema de cuentas)
#1
Hola Trolleyes Vengo a pedirle ayuda con algo facil "Para muchos" Bueno para mi es dificil y no se resolverlo Whatever (Cada quien profecional en algo Trolleyes)

Bueno este es mi problema al entrar al servidor no me registro me explico me aparece el menu de cuentas pero me manda a un equipo yo quiero que tenga que quedarse spectador asta registrarse que si no se registra no pueda jugar en el server NothingdohereNothingdohere

Uso el sistema de cuentas de kikizon...

Les dejo esto por si es de ayuda A ysi

Código PHP:
public ShowLogMenu(id) {
        new 
Tit[128];
        
formatex(Titcharsmax(Tit), "Sistema de cuentas \d^n\wBienvenido by kikizon\r%s^n\wESTADO: \r%s^n\wTu ultima visita fue: \r%s"g_cuenta[id], Estado[g_Estado[id]], g_Fecha[id]);
        
        new 
menu menu_create(Tit,"menu_log");
        
        
menu_additem(menu, (g_Estado[id] == REGISTRADO && adv_vault_get_prepare(g_vault_g_cuenta[id]))?"Loguearse":"\dLoguearse""1");
        
menu_additem(menu, (g_Estado[id] == NOREGISTRADO && !adv_vault_get_prepare(g_vault_g_cuenta[id]))?"Registrarse^n":"\dRegistrarse^n""2");
        
menu_additem(menu, (g_Estado[id] == LOGUEADO && !g_Can[id])?"Cambiar Contra":"\dCambiar Contra""3");
        
        
menu_display(idmenu0);
    }
    public 
menu_log(idmenuitem) {
        if(
item == MENU_EXIT) {
            
menu_destroy(menu);
            return 
PLUGIN_HANDLED;
        }
        
        switch(
item) {
            case 
0: {
                if(
g_Estado[id] == REGISTRADO && adv_vault_get_prepare(g_vault_g_cuenta[id])) {
                    
client_print(idprint_center"Ingresa tu PASSWORD para entrar a tu cuenta");
                    
client_cmd(id,"messagemode INGRESAR_PASSWORD");
                    } else {
                    
client_print(idprint_center"No puedes elegir esta opcion");
                    return 
PLUGIN_HANDLED;
                }
            }
            case 
1: {
                if(
g_Estado[id] == NOREGISTRADO && !adv_vault_get_prepare(g_vault_g_cuenta[id])) {
                    
client_print(idprint_center"Ingresa una PASSWORD para crear una cuenta");
                    
client_cmd(id,"messagemode INGRESAR_PASSWORD");
                    } else {
                    
client_print(idprint_center"No puedes elegir esta opcion");
                    return 
PLUGIN_HANDLED;
                }    
            }
            case 
2: {
                if(
g_Estado[id] == LOGUEADO && !g_Can[id]) {
                    
client_print(idprint_center"Ingresa tu nueva PASSWORD");
                    
client_cmd(id,"messagemode INGRESAR_PASSWORD");
                    } else {
                    
client_print(idprint_center"No estas logueado o ya cambiaste tu password durante el mapa");
                    return 
PLUGIN_HANDLED;
                }
            }
        }
        return 
PLUGIN_HANDLED;
    }
    
    public 
Confirmar(id) {
        new 
Tit[128];
        
formatex(Titcharsmax(Tit),"La password sera \r%s^n^n\yConfirmar?"g_contra2[id]);
        
        new 
menu menu_create(Tit,"menu_confirmar");
        
        
menu_additem(menu,"\rSi\w, confirmar","1");
        
menu_additem(menu,"\rNo\w, deseo reescribirla","2");
        
        
menu_setprop(menuMPROP_EXITMEXIT_NEVER);
        
        
menu_display(idmenu0);
    }
    public 
menu_confirmar(idmenuitem) {
        switch(
item) {
            case 
0: {
                switch(
g_Estado[id]) {
                    case 
LOGUEADO: {
                        
copy(g_contra[id], 19 ,g_contra2[id]);
                        
Guardar(id);
                        
client_print(idprint_center"Tu password ha sido cambiada satisfactoriamente");
                        
g_Can[id] = 1;
                    }
                    case 
NOREGISTRADO: {    
                        
client_print(idprint_center"Tu cuenta ha sido creada satisfactoriamente");
                        
kExp[id] = 1000
                        kReset
[id] = 1
                        
                        copy
(g_contra[id], 31g_contra2[id]);
                        
Guardar(id);
                        
jTeam(id);
                    }
                }
            }
            case 
1: {
                
menu_destroy(menu);
                
client_cmd(id,"messagemode INGRESAR_PASSWORD");
                if(
g_Estado[id] == LOGUEADO)
                    
client_print(idprint_center"Ingresa tu nueva PASSWORD");
                else
                    
client_print(idprint_center"Ingresa la PASSWORD para tu nueva cuenta");
            }
        }
        return 
PLUGIN_HANDLED;
    }
    public 
Guardar(id) {
        if(!
is_user_connected(id)) return;
        
        
adv_vault_set_start(g_vault);
        
adv_vault_set_field(g_vaultg_campo[EXP], kExp[id])
        
adv_vault_set_field(g_vaultg_campo[NIVEL], kNivel[id])
        
adv_vault_set_field(g_vaultg_campo[RESETP], kReset[id])
        
adv_vault_set_field(g_vaultg_campo[FECHA], g_Fecha[id]);
        
adv_vault_set_field(g_vaultg_campo[PASSWORD], g_contra[id]);
        
adv_vault_set_end(g_vault0g_cuenta[id]);
        
    }
    public 
Cargar(id) {
        if(!
adv_vault_get_prepare(g_vault_g_cuenta[id])) {
            
g_Estado[id] = NOREGISTRADO;
            return;
            } else {
            
g_Estado[id] = REGISTRADO;
            
kExp[id] = adv_vault_get_field(g_vaultg_campo[EXP]);
            
kNivel[id] = adv_vault_get_field(g_vaultg_campo[NIVEL]);
            
kReset[id] = adv_vault_get_field(g_vaultg_campo[RESETP]);
            
adv_vault_get_field(g_vaultg_campo[FECHA], g_Fecha[id], charsmax(g_Fecha[]));
            
adv_vault_get_field(g_vaultg_campo[PASSWORD], g_contra[id], charsmax(g_contra[]));
        }
        
    }
    public 
Contra(id) {
        
read_args(g_contra[id], charsmax(g_contra));
        
remove_quotes(g_contra[id]);trim(g_contra[id]);
        
        if(
equal(g_contra[id],"") || containi(g_contra[id]," ") != -) {
            
client_print(idprint_center"Tu password contiene errores");
            return 
1;
        }
        
        switch(
g_Estado[id]) {
            case 
NOREGISTRADO: {
                
client_print(idprint_center"Confirma tu password para proseguir");
                
copy(g_contra2[id], 19g_contra[id]);
                
Confirmar(id);
            }
            case 
REGISTRADO: {
                new 
buffer[40];
                
adv_vault_get_prepare(g_vault_g_cuenta[id]);
                
adv_vault_get_field(g_vaultg_campo[PASSWORD], buffercharsmax(buffer));
                
                if(
equal(bufferg_contra[id])) {
                    
Guardar(id);
                    
client_print(idprint_center"Te logueaste satisfactoriamente en tu cuenta");
                    
jTeam(id);
                    } else {
                    
ShowLogMenu(id);
                    
client_print(idprint_center"Password Incorrecta.");
                }
            }
            case 
LOGUEADO: {
                if(
g_Can[id]) {
                    
client_print(idprint_center"Ya cambiaste tu contra en este mapa");
                    return 
PLUGIN_HANDLED;
                }
                
client_print(idprint_center"Confirma tu password para cambiarla...");
                
copy(g_contra2[id], 19g_contra[id]);
                
Confirmar(id);
            }
        }
        return 
PLUGIN_HANDLED;
    }
    public 
message_VGUImenu(msgiddestid) {
        if(
g_Estado[id] != LOGUEADO)
            
ShowLogMenu(id);
        
        return 
1;
    }
    public 
jTeam(id){
        static 
teammsg_blockteammsg_block_vguirestorevgui;
        
        
restore get_pdata_int(id510);
        
vgui restore & (1<<0);
        
        if (
vgui)
            
set_pdata_int(id510restore & ~(1<<0));
        
        
teammsg_block get_msg_block(g_MsgShowMenu);
        
teammsg_block_vgui get_msg_block(g_MsgVgui);
        
        
set_msg_block(g_MsgShowMenuBLOCK_ONCE);
        
set_msg_block(g_MsgVguiBLOCK_ONCE);
        
        
engclient_cmd(id"jointeam""5");
        
engclient_cmd(id"joinclass""5");
        
        
set_msg_block(g_MsgShowMenuteammsg_block);
        
set_msg_block(g_MsgVguiteammsg_block_vgui);
        
        if (
vgui
            
set_pdata_int(id510restore);
        
        
g_Estado[id] = LOGUEADO;


Espero su ayuda NothingdohereNothingdohere
Responder
#2
Ese plugin no tiene soporte.. No por buscafama pero..
https://amxmodx-es.com/Thread-Sistema-de...ault--5627

Aparte hay cosas mal hechas de ese plugin.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#3
Pero no quiero sacar todo el sistema de cuentas para volver a poner otro WhatdoneWhatdone
Responder
#4
Si lo tienes en un servidor con gente ya registrada, entonces, describí bien tu problema y publica todo el código. Sino, cámbialo, no seas vagoneta. Es la misma mierda de sistema, le pones el mismo nombre al Vault y no va a pasar nada...
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#5
pones la funcion "Guardar" en disconnect ?
NO RESPONDO MP POR SOPORTE
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)