[Errores] Zombie plague.
#1
Buenas? que tal.
Paso a comentarles que tengo un inconveniente con mi zombie plague, y ya no se como solucionarlo.
Resulta que me tira estos logs;

L 12/16/2017 - 02:35:31: Start of error session.
L 12/16/2017 - 02:35:31: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20171216.log")
L 12/16/2017 - 02:35:31: [AMXX] Displaying debug trace (plugin "zi.amxx", version "4.5")
L 12/16/2017 - 02:35:31: [AMXX] Run time error 3: stack error
L 12/16/2017 - 02:35:31: [AMXX] [0] zi.sma::ShowLogMenu (line 13299)
L 12/16/2017 - 02:35:31: [AMXX] [1] zi.sma::message_VGUImenu (line 13485)

Las lineas son ;
Código PHP:
public ShowLogMenu(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit), "^n\wBienvenido \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 
message_VGUImenu(msgiddestid){
    if(
g_Estado[id] != LOGUEADO)
        
ShowLogMenu(id);
    
    return 
1;


Por ende,vive tirando estos "errores" que no tengo ni la menor palida idea de como solucionar porque nunca me paso :c.
Alguien podria "guiarme" para poder solucionarlo? o que simplemente me diga que es y lo soluciono ?

POSDATA; Puede que si yo suba asi el zp a un servidor, se pueda cambiar de mapa constantemente? osea es como que no termina de iniciar nunca el mod,queda en mapchange to dust2,hasta tumbarse.

Posdata2; Gracias por tomarte tu tiempo y leer el thread, saludos!
kissmeyearbasic-
Responder
#2
(16/12/2017, 02:44 AM)Xezumn escribió: Buenas? que tal.
Paso a comentarles que tengo un inconveniente con mi zombie plague, y ya no se como solucionarlo.
Resulta que me tira estos logs;

L 12/16/2017 - 02:35:31: Start of error session.
L 12/16/2017 - 02:35:31: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20171216.log")
L 12/16/2017 - 02:35:31: [AMXX] Displaying debug trace (plugin "zi.amxx", version "4.5")
L 12/16/2017 - 02:35:31: [AMXX] Run time error 3: stack error
L 12/16/2017 - 02:35:31: [AMXX] [0] zi.sma::ShowLogMenu (line 13299)
L 12/16/2017 - 02:35:31: [AMXX] [1] zi.sma::message_VGUImenu (line 13485)

Las lineas son ;
Código PHP:
public ShowLogMenu(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit), "^n\wBienvenido \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 
message_VGUImenu(msgiddestid){
    if(
g_Estado[id] != LOGUEADO)
        
ShowLogMenu(id);
    
    return 
1;


Por ende,vive tirando estos "errores" que no tengo ni la menor palida idea de como solucionar porque nunca me paso :c.
Alguien podria "guiarme" para poder solucionarlo? o que simplemente me diga que es y lo soluciono ?

POSDATA; Puede que si yo suba asi el zp a un servidor, se pueda cambiar de mapa constantemente? osea es como que no termina de iniciar nunca el mod,queda en mapchange to dust2,hasta tumbarse.

Posdata2; Gracias por tomarte tu tiempo y leer el thread, saludos!
Me marcarias con // error asi se cual es el error mas facil
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#3
(16/12/2017, 03:01 AM)HK-416 escribió:
(16/12/2017, 02:44 AM)Xezumn escribió: Buenas? que tal.
Paso a comentarles que tengo un inconveniente con mi zombie plague, y ya no se como solucionarlo.
Resulta que me tira estos logs;

L 12/16/2017 - 02:35:31: Start of error session.
L 12/16/2017 - 02:35:31: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20171216.log")
L 12/16/2017 - 02:35:31: [AMXX] Displaying debug trace (plugin "zi.amxx", version "4.5")
L 12/16/2017 - 02:35:31: [AMXX] Run time error 3: stack error
L 12/16/2017 - 02:35:31: [AMXX] [0] zi.sma::ShowLogMenu (line 13299)
L 12/16/2017 - 02:35:31: [AMXX] [1] zi.sma::message_VGUImenu (line 13485)

Las lineas son ;
Código PHP:
public ShowLogMenu(id) {
    new 
Tit[128];
    
formatex(Titcharsmax(Tit), "^n\wBienvenido \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 
message_VGUImenu(msgiddestid){
    if(
g_Estado[id] != LOGUEADO)
        
ShowLogMenu(id);
    
    return 
1;


Por ende,vive tirando estos "errores" que no tengo ni la menor palida idea de como solucionar porque nunca me paso :c.
Alguien podria "guiarme" para poder solucionarlo? o que simplemente me diga que es y lo soluciono ?

POSDATA; Puede que si yo suba asi el zp a un servidor, se pueda cambiar de mapa constantemente? osea es como que no termina de iniciar nunca el mod,queda en mapchange to dust2,hasta tumbarse.

Posdata2; Gracias por tomarte tu tiempo y leer el thread, saludos!
Me marcarias con // error asi se cual es el error mas facil

Código PHP:
//Error
    
new Tit[128];
//Error
        
ShowLogMenu(id);
    
    return 
1
kissmeyearbasic-
Responder
#4
Ni idea prueba esto
Código PHP:
public ShowLogMenu(id) {
    new 
Tit[128], menu;
    
formatex(Titcharsmax(Tit), "^n\wBienvenido \r%s^n\wESTADO: \r%s^n\wTu ultima visita fue: \r%s"g_cuenta[id], Estado[g_Estado[id]], g_Fecha[id]);
    
    
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);

“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#5
(16/12/2017, 03:13 AM)HK-416 escribió: Ni idea prueba esto
Código PHP:
public ShowLogMenu(id) {
    new 
Tit[128], menu;
    
formatex(Titcharsmax(Tit), "^n\wBienvenido \r%s^n\wESTADO: \r%s^n\wTu ultima visita fue: \r%s"g_cuenta[id], Estado[g_Estado[id]], g_Fecha[id]);
    
    
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);


Sigue en lo mismo :/
kissmeyearbasic-
Responder
#6
Es que o estoy ciego o ahi no puede dar nunca error solo esas lineas te manda ?
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#7
Si solo esas lineas, lei por ahi que cambiando "new" por "static" se arreglaba,el problema es que si pongo static,se me crashea el cs por overflow y tengo un #pragma dynamic 6144 clavado tambien,asi que no se ya..
kissmeyearbasic-
Responder
#8
(16/12/2017, 03:46 AM)Xezumn escribió: Si solo esas lineas, lei por ahi que cambiando "new" por "static" se arreglaba,el problema es que si pongo static,se me crashea el cs por overflow y tengo un #pragma dynamic 6144 clavado tambien,asi que no se ya..
Pero eso no creo que sea si te animas mandame el sma al privado
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#9
Un error común de Stack Error sobre un menú de cuenta es lo siguiente (Según mi experiencia)

Donde llamas al menú? Y que funciones utilizas para bloquear el cambio de equipo y sus derivados para el mismo (ShowMenu, VGUIMenu, etc)

Para que entiendas mejor, revisa bien como tienes armado el sistema de cuentas, bloqueando funciones (Como el cambio de equipos presionando la letra M, o el cambio de menú desde la configuración de tu CS)
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#10
Código PHP:
public message_VGUImenu(msgiddestid)
{
    if(
g_Estado[id] != LOGUEADO)
    {
        
ShowLogMenu(id);
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;

Responder
#11
(16/12/2017, 11:36 PM)CSAxel escribió: Un error común de Stack Error sobre un menú de cuenta es lo siguiente (Según mi experiencia)

Donde llamas al menú? Y que funciones utilizas para bloquear el cambio de equipo y sus derivados para el mismo (ShowMenu, VGUIMenu, etc)

Para que entiendas mejor, revisa bien como tienes armado el sistema de cuentas, bloqueando funciones (Como el cambio de equipos presionando la letra M, o el cambio de menú desde la configuración de tu CS)
Entendi a la perfeccion tu comentario, y entiendo que estos dos "ShowLogMenu" y "message_VGUI" lo que en realidad (para mi) la funcion principal y del error es message_VGUI; esta bloquea a la persona y le abre el menu de logeo(ShowLogMenu) , pero no entiendo aun,porque tira semejante error Confundido

(16/12/2017, 11:58 PM)P-chan escribió:
Código PHP:
public message_VGUImenu(msgiddestid)
{
    if(
g_Estado[id] != LOGUEADO)
    {
        
ShowLogMenu(id);
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;


Gracias,lo utilize,cambie el public pero sigue sin funcionar,creo que descarto la posibilidad de que sea message_VGUI, ire a por ShowLogMenu.
Alguna recomendacion? si cambio new por static se crashea todo y me manda un mensaje de error por overflow.(lei por ahi, justamente de CSAxel que cambiando new por static se solucionaban unos problemas con esto,pero me explota el cs xD)
kissmeyearbasic-
Responder
#12
Como ultima se me ocurre esto, y lo del message_VGUI, dejalo como lo pase Whatever

Código PHP:
menu_additem(menu, (g_Estado[id] == REGISTRADO)?"Loguearse":"\dLoguearse""1");
menu_additem(menu, (g_Estado[id] == NOREGISTRADO)?"Registrarse^n" :"\dRegistrarse^n""2");
menu_additem(menu, (g_Estado[id] == LOGUEADO && !g_Can[id])?"Cambiar Contra":"\dCambiar Contra""3"); 
Responder
#13
Le falta un chequeo a message_VGUImenu();
El más importante a destacar es message_ShowMenu();

Te dejo una parte de la resolución al problema (Según cómo me ayudaron a solucionarlo, ya que no lo solucioné yo solo, me ayudaron)

Código PHP:
// Inicio del Plugin
const OFFSET_JOINSTATE 121;
const 
OFFSET_CSMENUCODE 205;

new 
HamHook:g_HamPlayerPreThink;

// Plugin Init
register_clcmd("menuselect""clcmd__MenuSelect");
register_clcmd("joinclass""clcmd__MenuSelect");

DisableHamForward(g_HamPlayerPreThink RegisterHam(Ham_Player_PreThink"player""ham__PlayerPreThinkPost"1));

// Donde quieras
public ham__PlayerPreThinkPost(const id)
{
    
DisableHamForward(g_HamPlayerPreThink);

    
// Code, code y más code . . .
}

public 
clcmd__MenuSelect(const id)
{
    if(
get_pdata_int(idOFFSET_CSMENUCODE) == && get_pdata_int(idOFFSET_JOINSTATE) == 4)
        
EnableHamForward(g_HamPlayerPreThink);


EDIT: El caso de new por static es todo un dilema. Yo uso siempre static en funciones donde se llaman irrepetibles veces y new cuando la función no tiene llamados derivados o constantes
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#14
(17/12/2017, 03:54 PM)P-chan escribió: Como ultima se me ocurre esto, y lo del message_VGUI, dejalo como lo pase Whatever

Código PHP:
menu_additem(menu, (g_Estado[id] == REGISTRADO)?"Loguearse":"\dLoguearse""1");
menu_additem(menu, (g_Estado[id] == NOREGISTRADO)?"Registrarse^n" :"\dRegistrarse^n""2");
menu_additem(menu, (g_Estado[id] == LOGUEADO && !g_Can[id])?"Cambiar Contra":"\dCambiar Contra""3"); 

SZ_GetSpace: overflow on MessageBegin/End

Y ahora? siguen los errores pero me tira eso ahora

(19/12/2017, 01:03 AM)CSAxel escribió: Le falta un chequeo a message_VGUImenu();
El más importante a destacar es message_ShowMenu();

Te dejo una parte de la resolución al problema (Según cómo me ayudaron a solucionarlo, ya que no lo solucioné yo solo, me ayudaron)

Código PHP:
// Inicio del Plugin
const OFFSET_JOINSTATE 121;
const 
OFFSET_CSMENUCODE 205;

new 
HamHook:g_HamPlayerPreThink;

// Plugin Init
register_clcmd("menuselect""clcmd__MenuSelect");
register_clcmd("joinclass""clcmd__MenuSelect");

DisableHamForward(g_HamPlayerPreThink RegisterHam(Ham_Player_PreThink"player""ham__PlayerPreThinkPost"1));

// Donde quieras
public ham__PlayerPreThinkPost(const id)
{
    
DisableHamForward(g_HamPlayerPreThink);

    
// Code, code y más code . . .
}

public 
clcmd__MenuSelect(const id)
{
    if(
get_pdata_int(idOFFSET_CSMENUCODE) == && get_pdata_int(idOFFSET_JOINSTATE) == 4)
        
EnableHamForward(g_HamPlayerPreThink);


EDIT: El caso de new por static es todo un dilema. Yo uso siempre static en funciones donde se llaman irrepetibles veces y new cuando la función no tiene llamados derivados o constantes

En el caso tuyo(gracias por ayudarme) me tira error esta linea;
Código PHP:
DisableHamForward(g_HamPlayerPreThink RegisterHam(Ham_Player_PreThink"player""ham__PlayerPreThinkPost"1)); 
por ende,no me compila.
Logs;
Error: Invalid expression, assumed zero on line 1795
Error: Expected token: ";", but found ")" on line 1795
Error: Invalid expression, assumed zero on line 1795
Error: Too many error messages on one line on line 1795

Ya intente sacandole el ";" pero sigue tirando los mismos errores.
Aclaracion; Uso FM/fw por ende, "PlayerPrethink" es asi; fw_PlayerPrethink y lo adapte.
kissmeyearbasic-
Responder
#15
CSAxel tiro la posta, anteriormente metralicos dio el mismo msj.

Problema de llamadas, menu, memoria -> PUM

Falta set_pdata_int seteando las valores que te dio axel para que no te tire ese error.

Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.

Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'

(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Responder
#16
(20/12/2017, 01:09 PM)cLAANS escribió: CSAxel tiro la posta, anteriormente metralicos dio el mismo msj.

Problema de llamadas, menu, memoria -> PUM

Falta set_pdata_int seteando las valores que te dio axel para que no te tire ese error.

Saludos,
cLAANS.-
Hice lo del comentario de el pero sigue igual..

Realize lo siguiente(es como una especie de bloc de notas donde anoto todo lo que le hago al zp);

Pasando el menu ShowLogMenu(id)[de new a static] tira este error;
SZ_GetSpace: overflow without FSB_ALLOWOVERFLOW set on Server Reliable Datagram.
Incluyendo que tengo un #pragma dynamic 11410

habra alguna otra forma de setearle mas memoria al plugin?
kissmeyearbasic-
Responder
#17
Lo que podrías hacer para ahorrar memoria, sería borrar las funciones que estén siendo utilizadas como funciones públicas cuando no son llamadas por set_task's, natives, registros de (menúes, plugin_init(), etc) ya que me según leí que todo eso se va juntando en una especie de TABLA VIRTUAL y consume memoria (CORRIGAN SI ME EQUIVOCO Lengua)
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)