11/07/2015, 10:29 PM
Hola Vengo a pedirle ayuda con algo facil "Para muchos" Bueno para mi es dificil y no se resolverlo (Cada quien profecional en algo )
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
Uso el sistema de cuentas de kikizon...
Les dejo esto por si es de ayuda
Espero su ayuda
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
Uso el sistema de cuentas de kikizon...
Les dejo esto por si es de ayuda
Código PHP:
public ShowLogMenu(id) {
new Tit[128];
formatex(Tit, charsmax(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(id, menu, 0);
}
public menu_log(id, menu, item) {
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(id, print_center, "Ingresa tu PASSWORD para entrar a tu cuenta");
client_cmd(id,"messagemode INGRESAR_PASSWORD");
} else {
client_print(id, print_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(id, print_center, "Ingresa una PASSWORD para crear una cuenta");
client_cmd(id,"messagemode INGRESAR_PASSWORD");
} else {
client_print(id, print_center, "No puedes elegir esta opcion");
return PLUGIN_HANDLED;
}
}
case 2: {
if(g_Estado[id] == LOGUEADO && !g_Can[id]) {
client_print(id, print_center, "Ingresa tu nueva PASSWORD");
client_cmd(id,"messagemode INGRESAR_PASSWORD");
} else {
client_print(id, print_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(Tit, charsmax(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(menu, MPROP_EXIT, MEXIT_NEVER);
menu_display(id, menu, 0);
}
public menu_confirmar(id, menu, item) {
switch(item) {
case 0: {
switch(g_Estado[id]) {
case LOGUEADO: {
copy(g_contra[id], 19 ,g_contra2[id]);
Guardar(id);
client_print(id, print_center, "Tu password ha sido cambiada satisfactoriamente");
g_Can[id] = 1;
}
case NOREGISTRADO: {
client_print(id, print_center, "Tu cuenta ha sido creada satisfactoriamente");
kExp[id] = 1000
kReset[id] = 1
copy(g_contra[id], 31, g_contra2[id]);
Guardar(id);
jTeam(id);
}
}
}
case 1: {
menu_destroy(menu);
client_cmd(id,"messagemode INGRESAR_PASSWORD");
if(g_Estado[id] == LOGUEADO)
client_print(id, print_center, "Ingresa tu nueva PASSWORD");
else
client_print(id, print_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_vault, g_campo[EXP], kExp[id])
adv_vault_set_field(g_vault, g_campo[NIVEL], kNivel[id])
adv_vault_set_field(g_vault, g_campo[RESETP], kReset[id])
adv_vault_set_field(g_vault, g_campo[FECHA], g_Fecha[id]);
adv_vault_set_field(g_vault, g_campo[PASSWORD], g_contra[id]);
adv_vault_set_end(g_vault, 0, g_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_vault, g_campo[EXP]);
kNivel[id] = adv_vault_get_field(g_vault, g_campo[NIVEL]);
kReset[id] = adv_vault_get_field(g_vault, g_campo[RESETP]);
adv_vault_get_field(g_vault, g_campo[FECHA], g_Fecha[id], charsmax(g_Fecha[]));
adv_vault_get_field(g_vault, g_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]," ") != -1 ) {
client_print(id, print_center, "Tu password contiene errores");
return 1;
}
switch(g_Estado[id]) {
case NOREGISTRADO: {
client_print(id, print_center, "Confirma tu password para proseguir");
copy(g_contra2[id], 19, g_contra[id]);
Confirmar(id);
}
case REGISTRADO: {
new buffer[40];
adv_vault_get_prepare(g_vault, _, g_cuenta[id]);
adv_vault_get_field(g_vault, g_campo[PASSWORD], buffer, charsmax(buffer));
if(equal(buffer, g_contra[id])) {
Guardar(id);
client_print(id, print_center, "Te logueaste satisfactoriamente en tu cuenta");
jTeam(id);
} else {
ShowLogMenu(id);
client_print(id, print_center, "Password Incorrecta.");
}
}
case LOGUEADO: {
if(g_Can[id]) {
client_print(id, print_center, "Ya cambiaste tu contra en este mapa");
return PLUGIN_HANDLED;
}
client_print(id, print_center, "Confirma tu password para cambiarla...");
copy(g_contra2[id], 19, g_contra[id]);
Confirmar(id);
}
}
return PLUGIN_HANDLED;
}
public message_VGUImenu(msgid, dest, id) {
if(g_Estado[id] != LOGUEADO)
ShowLogMenu(id);
return 1;
}
public jTeam(id){
static teammsg_block, teammsg_block_vgui, restore, vgui;
restore = get_pdata_int(id, 510);
vgui = restore & (1<<0);
if (vgui)
set_pdata_int(id, 510, restore & ~(1<<0));
teammsg_block = get_msg_block(g_MsgShowMenu);
teammsg_block_vgui = get_msg_block(g_MsgVgui);
set_msg_block(g_MsgShowMenu, BLOCK_ONCE);
set_msg_block(g_MsgVgui, BLOCK_ONCE);
engclient_cmd(id, "jointeam", "5");
engclient_cmd(id, "joinclass", "5");
set_msg_block(g_MsgShowMenu, teammsg_block);
set_msg_block(g_MsgVgui, teammsg_block_vgui);
if (vgui)
set_pdata_int(id, 510, restore);
g_Estado[id] = LOGUEADO;
}
Espero su ayuda