Mensajes: 4,383
Temas: 132
Registro en: Apr 2015
Reputación:
23
Hola amigos vengo con un error que me tira un plugin se me cae el servidor y me tira este erro
Cita:L 07/07/2016 - 21:38:38: [AMXX] Displaying debug trace (plugin "Rangos_v3.amxx", version "unknown")
L 07/07/2016 - 21:38:38: [AMXX] Run time error 3: stack error
L 07/07/2016 - 21:38:38: [AMXX] [0] Rangos_v3.sma:how_login_menu (line 650)
L 07/07/2016 - 21:38:38: [AMXX] [1] Rangos_v3.sma::message_ShowMenu (line 611)
Estas son las lineas
Código PHP: public show_login_menu( id ) { new Tit[69]; formatex(Tit, charsmax(Tit), "\wDeathrun \rLevels \yby \rNazi^n\wVisitanos:\r www.Drunk-Gaming.com"); new menu = menu_create(Tit, "login_menu"); menu_additem( menu, "\wCrear \rCuenta", "1" ); menu_additem( menu, "\wIngresar\r Cuenta ", "2" ); menu_setprop( menu, MPROP_EXIT, MEXIT_NEVER ); menu_display( id, menu ); }
// Linea 650 new Tit[69]
la otra es
Código PHP: public message_ShowMenu( iMsgid, iDest, id ) { static sMenuCode[ iMaxLen ]; get_msg_arg_string( 4, sMenuCode, sizeof( sMenuCode ) - 1 ); if( equal( sMenuCode, FIRST_JOIN_MSG ) || equal( sMenuCode, FIRST_JOIN_MSG_SPEC ) || equal( sMenuCode, INGAME_JOIN_MSG ) || equal( sMenuCode, INGAME_JOIN_MSG_SPEC ) ) { if( is_user_connected( id ) && g_estado[ id ] != LOGUEADO ) { show_login_menu( id ); return PLUGIN_HANDLED; } } return PLUGIN_HANDLED; }
// linea 611 show_login_menu( id );
Ayuda por favor
* Ing. Informático * Mapper * Venezolano
Mensajes: 1,836
Temas: 66
Registro en: Oct 2013
08/07/2016, 05:22 PM
(Última modificación: 08/07/2016, 05:30 PM por josue9243.)
Fijate esto si no lo viste nazi...
EDIT2: es por esto mira papu
Código PHP: menu_display( id, menu );
nunca especificas la pagina
----->
Código PHP: menu_display( id, menu, 0 );
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Código PHP: 1.- public show_login_menu( id ) { static menu; menu = menu_create("\wDeathrun \rLevels \yby \rNazi^n\wVisitanos:\r www.Drunk-Gaming.com", "login_menu"); menu_additem( menu, "\wCrear \rCuenta", "" ); menu_additem( menu, "\wIngresar\r Cuenta ", "" ); menu_setprop( menu, MPROP_EXIT, MEXIT_NEVER ); menu_display( id, menu ); }
2.- Hookea ShowMenu y Vguimenu a la misma funcion ej: MyHookMenu
public MyHookMenu( iMsgid, iDest, id ) { if( g_estado[ id ] != LOGUEADO ) show_login_menu( id );
return 1; }
Siempre lo uso asi
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 4,383
Temas: 132
Registro en: Apr 2015
Reputación:
23
Código PHP: public login_menu( id, menu, item ) client_cmd( id, "messagemode %s", item ? "LOGUEAR_USUARIO" : "CREAR_USUARIO" );
* Ing. Informático * Mapper * Venezolano
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Malisimo papa, aunque se use el MEXIT_NEVER se debe hacer una accion en MENU_EXIT
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
Código PHP: public message_ShowMenu( iMsgid, iDest, id ) { static sMenuCode[ 32 ]; get_msg_arg_string( 4, sMenuCode, charsmax( sMenuCode ) ); if( containi( sMenuCode, "Team_Select") != -1 ) { if( g_estado[ id ] != LOGUEADO ) { show_login_menu( id ); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
La verdad que sigo sin entender por que te sale stack error, al menos ahi te puli un poco el codigo
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(08/07/2016, 05:22 PM)josue9243 escribió: Fijate esto si no lo viste nazi...
EDIT2: es por esto mira papu
Código PHP: menu_display( id, menu );
nunca especificas la pagina
----->
Código PHP: menu_display( id, menu, 0 );
la pagina por default es 0
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 1,836
Temas: 66
Registro en: Oct 2013
08/07/2016, 05:35 PM
(Última modificación: 08/07/2016, 05:36 PM por josue9243.)
(08/07/2016, 05:32 PM)kikizon2 escribió: (08/07/2016, 05:22 PM)josue9243 escribió: Fijate esto si no lo viste nazi...
EDIT2: es por esto mira papu
Código PHP: menu_display( id, menu );
nunca especificas la pagina
----->
Código PHP: menu_display( id, menu, 0 );
la pagina por default es 0
Si, yo que recuerde que cuando no ponia esa 3ra opcion me tiraba error
Probalo nazi y despues deci aca q pso prro
---
EDIT: seguro le salta el stack en message_showmenu ya que tiene un error dentro del menu, que es lo que dije yo...
Mensajes: 4,383
Temas: 132
Registro en: Apr 2015
Reputación:
23
Vale combinare todas los aportes y les aviso putos GRACIAS A TODOS
* Ing. Informático * Mapper * Venezolano
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(08/07/2016, 05:35 PM)josue9243 escribió: (08/07/2016, 05:32 PM)kikizon2 escribió: (08/07/2016, 05:22 PM)josue9243 escribió: Fijate esto si no lo viste nazi...
EDIT2: es por esto mira papu
Código PHP: menu_display( id, menu );
nunca especificas la pagina
----->
Código PHP: menu_display( id, menu, 0 );
la pagina por default es 0
Si, yo que recuerde que cuando no ponia esa 3ra opcion me tiraba error
Probalo nazi y despues deci aca q pso prro
---
EDIT: seguro le salta el stack en message_showmenu ya que tiene un error dentro del menu, que es lo que dije yo...
Sabes que es un stack error al menos?
Mensajes: 1,836
Temas: 66
Registro en: Oct 2013
(08/07/2016, 06:45 PM)meTaLiCroSS escribió: (08/07/2016, 05:35 PM)josue9243 escribió: (08/07/2016, 05:32 PM)kikizon2 escribió: (08/07/2016, 05:22 PM)josue9243 escribió: Fijate esto si no lo viste nazi...
EDIT2: es por esto mira papu
Código PHP: menu_display( id, menu );
nunca especificas la pagina
----->
Código PHP: menu_display( id, menu, 0 );
la pagina por default es 0
Si, yo que recuerde que cuando no ponia esa 3ra opcion me tiraba error
Probalo nazi y despues deci aca q pso prro
---
EDIT: seguro le salta el stack en message_showmenu ya que tiene un error dentro del menu, que es lo que dije yo...
Sabes que es un stack error al menos?
No, pero habia un error ahi que me paso y que tenia que corregir para que funcione, el stack puede ser por otra cosa y no solo por lo que paso asi que bueno.
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(08/07/2016, 06:49 PM)josue9243 escribió: (08/07/2016, 06:45 PM)meTaLiCroSS escribió: (08/07/2016, 05:35 PM)josue9243 escribió: (08/07/2016, 05:32 PM)kikizon2 escribió: (08/07/2016, 05:22 PM)josue9243 escribió: Fijate esto si no lo viste nazi...
EDIT2: es por esto mira papu
Código PHP: menu_display( id, menu );
nunca especificas la pagina
----->
Código PHP: menu_display( id, menu, 0 );
la pagina por default es 0
Si, yo que recuerde que cuando no ponia esa 3ra opcion me tiraba error
Probalo nazi y despues deci aca q pso prro
---
EDIT: seguro le salta el stack en message_showmenu ya que tiene un error dentro del menu, que es lo que dije yo...
Sabes que es un stack error al menos?
No, pero habia un error ahi que me paso y que tenia que corregir para que funcione, el stack puede ser por otra cosa y no solo por lo que paso asi que bueno.
No tienes ni puta idea y andas comentando sin saber. Nadie te obliga a hacerlo, pero si no sabes, por la santisima autoridad de este mundo, NO CO MEN TES
El stack error ocurre cuando la memoria stack llega a un tope (memoria stack = memoria de las variables)
Y esto ocurre basicamente en cuando en un tramo de ejecucion se siguen pidiendo alloc de memoria, llegando a un caso en el que un alloc no puede realizarse debido que llego a un tope.
Pero esto es peor que un stack error, aqui no hay insuficiencia de asignacion de memoria.
Aqui se esta generando una recursion, ya que message_showmenu es llamado de vuelta cada vez que menu_display es llamado a mi parecer, lo que lo encuentro totalmente ilogico debido que 1) menu_display no deberia llamar los callbacks de register_message y 2) dentro de message_showmenu hay condiciones que permiten que no se genere una recursion.
En este caso la recursion es
Call message_showmenu
Call show_menu_login
Call message_showmenu
Call show_menu_login
Call message_showmenu
Call show_menu_login
Call message_showmenu
Call show_menu_login
...
Pero estoy seguro que hay otra cosa jugueteando por ahi
@Nazi estas usando 1.8.3 ?
Mensajes: 4,383
Temas: 132
Registro en: Apr 2015
Reputación:
23
si la 1.8.3 negro ya intente todo lo que dijieron use tu public y algunas cosas del menu de kiki como el static y no se a caido el servidor les aviso cualquier bronca
* Ing. Informático * Mapper * Venezolano
Mensajes: 4,383
Temas: 132
Registro en: Apr 2015
Reputación:
23
Alguna forma de optimizar esta public tambien?
Código PHP: public message_VGUIMenu( iMsgid, iDest, id ) { if( get_msg_arg_int( 1 ) != VGUI_JOIN_TEAM_NUM ) return PLUGIN_CONTINUE; if( is_user_connected( id ) && g_estado[ id ] != LOGUEADO ) { show_login_menu( id ); return PLUGIN_HANDLED; } return PLUGIN_HANDLED; }
aun se sigue cayendo el sv con lo que puse metalicros
* Ing. Informático * Mapper * Venezolano
Mensajes: 3,284
Temas: 41
Registro en: Jan 2014
Reputación:
28
12/07/2016, 02:12 PM
(Última modificación: 12/07/2016, 02:16 PM por Federicomb.)
En vez de mandar el menu por message_showmenu, etc,.. ¿por qué no lo mandas en un task de 0.2 cuando se ejecuta client_putinserver? Hace las cosas fáciles y ahí vas a saber que el menú se llama 1 sola vez.
Código PHP: public client_putinserver(id) { set_task(0.2, "show_login_menu", id); }
public show_login_menu(const id) { if(!is_user_connected(id)) { return; } /// LALALALLALALALALALALALLALALA /// TU CODE.... }
public message_ShowMenu( iMsgid, iDest, id ) { static sMenuCode[ 32 ]; get_msg_arg_string( 4, sMenuCode, charsmax( sMenuCode ) ); if( containi( sMenuCode, "Team_Select") != -1 ) { if( g_estado[ id ] != LOGUEADO ) { return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
public message_VGUIMenu( iMsgid, iDest, id ) { if( get_msg_arg_int( 1 ) != VGUI_JOIN_TEAM_NUM ) return PLUGIN_CONTINUE; return PLUGIN_HANDLED; }
Mensajes: 461
Temas: 31
Registro en: Dec 2013
Reputación:
15
Fede, y si el cliente tarda mas de 0,2 seg en conectarse?
Mensajes: 723
Temas: 23
Registro en: May 2014
Reputación:
22
(14/07/2016, 04:39 AM)Gonza.-* escribió: Fede, y si el cliente tarda mas de 0,2 seg en conectarse?
client_putinserver() se ejecuta cuando el usuario ya está conectado.
Mensajes: 4,383
Temas: 132
Registro en: Apr 2015
Reputación:
23
(12/07/2016, 02:12 PM)Federicomb escribió: En vez de mandar el menu por message_showmenu, etc,.. ¿por qué no lo mandas en un task de 0.2 cuando se ejecuta client_putinserver? Hace las cosas fáciles y ahí vas a saber que el menú se llama 1 sola vez.
Código PHP: public client_putinserver(id) { set_task(0.2, "show_login_menu", id); }
public show_login_menu(const id) { if(!is_user_connected(id)) { return; } /// LALALALLALALALALALALALLALALA /// TU CODE.... }
public message_ShowMenu( iMsgid, iDest, id ) { static sMenuCode[ 32 ]; get_msg_arg_string( 4, sMenuCode, charsmax( sMenuCode ) ); if( containi( sMenuCode, "Team_Select") != -1 ) { if( g_estado[ id ] != LOGUEADO ) { return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
public message_VGUIMenu( iMsgid, iDest, id ) { if( get_msg_arg_int( 1 ) != VGUI_JOIN_TEAM_NUM ) return PLUGIN_CONTINUE; return PLUGIN_HANDLED; }
Vale utilizo el tuyo y me va bien por ahora no se a caido en un dia completo vamos a ver cuando este 32/32
* Ing. Informático * Mapper * Venezolano
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Yo lo que hago es evitar el uso de ShowMenu y VGUImenu
Y hago un TASK en putinserver para llamar al chooseteam (O directamente la función donde lo registra).
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 3,284
Temas: 41
Registro en: Jan 2014
Reputación:
28
(04/08/2016, 03:43 PM)Nazi.- escribió: Vale utilizo el tuyo y me va bien por ahora no se a caido en un dia completo vamos a ver cuando este 32/32
Cuando este 32/32 y 64/32 no se va a caer en ningún momento, créeme así es como lo he usado y no he tenido problemas.
Mensajes: 148
Temas: 44
Registro en: Mar 2017
Reputación:
1
04/02/2019, 02:59 AM
(Última modificación: 04/02/2019, 03:00 AM por XüberAxel. Edited 1 time in total.)
FATAL ERROR (shutting down): Host_Error: PF_MessageEnd_I: Refusing to send user message ShowMenu of 510 bytes to client, user message size limit is 192 bytes
Buenas chicos. Aquí les traigo un plugin que ustedes mismos hicieron. El plugin anteriormente me había dado un error al compilar porque usaba un dhudmessage.inc diferente al de Arkshine y fue modificado para que pudiese compilar con el dhudmessage.inc originalmente creado por Arkshine. Ahora el plugin me tira el servidor cuando la gente entra con la opción de "Old Style Menu" de su counter strike saliendo el error que ahí arriba dice. ¿Podrían arreglarlo por favor? T_T Necesito este increíble plugin.
Les dejo el link original del post que puse con el .sma para no hacer post doble: https://amxmodx-es.com/Thread-Host-Error...-510-bytes
|