Error ZP
#1
Buenas noches, estuve tratando de hacer que el modo nemesis se mande aldeatoriamente, sin tener que seleccionar a ningun jugador, pero me tira estos errores, el modo se manda pero no se establece el nemesis

L 06/18/2019 - 21:36:39: Invalid player id 0
L 06/18/2019 - 21:36:39: [AMXX] Displaying debug trace (plugin "zombie_trilogy.amxx")
L 06/18/2019 - 21:36:39: [AMXX] [3] zombie_trilogy.sma::cmd_nemesis (line 4843)

L 06/18/2019 - 21:36:39: [AMXX] [4] zombie_trilogy.sma::menu_admin_mode (line 4610)
Desde ya gracias
Código PHP:
            if (allowed_nemesis())
            
// 4610    cmd_nemesis(id)
            
else
                
Color(id"!g%s!y No disponible"gPrefix)
//4843
public cmd_nemesis(id)
{
    
Color(0"!g%s!y El admin!g %s!y comenzo el modo Nemesis."gPrefixg_nombre[id])
    
    
remove_task(TASK_MAKEZOMBIE)
    
make_a_zombie(MODE_NEMESIS0)
    
    return 
PLUGIN_HANDLED;

https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#2
si ya cambiaste el allowend y el cmd...

ve a la parte donde tienes el evento del modo y borra
Código PHP:
if ((mode == MODE_NONE && (!cvar_preventconsecutive || g_lastmode != MODE_NEMESIS) && random_num(1get_pcvar_num(cvar_nemchance)) == get_pcvar_num(cvar_nem) && iPlayersnum >= get_pcvar_num(cvar_nemminplayers)) || mode == MODE_NEMESIS)
            {
                
// Nemesis Mode
                
g_nemround true
                g_lastmode 
MODE_NEMESIS
                
                
// Turn player into nemesis
                
zombieme(id010)
                
            } 


Código PHP:
g_lastmode MODE_NEMESIS 

y lo reemplazas por esto o pegalo abajo no me acuerdo bien
Código PHP:
id fnGetRandomAlive(random_num(1iPlayersnum)) 
Responder
#3
c crashea t2
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#4
mostra la funcion allowend y cmd y si lo mandan por comando tambien el cmd del comando

bueno ahi me acorde que es lo que hice....

tenes q crear un nuevo evento si quieres dejar el anterior es lo que hice... te dejo el ejemplo con modo SURVIVOR

en donde pones los modos MODE_SURVIVOR2 y crea tambien la nueva ronda g_survround2, ACORDATE QUE TAMBIEN VA EN OTRO LUGARES COMO EN event round star ya calculo que te hubicas

y el evento nuevo con las mismas cvar del survivor q tenias, pegalo abajo del otro



Código PHP:
        else if ((mode == MODE_NONE && (!get_pcvar_num(cvar_preventconsecutive) || g_lastmode != MODE_SURVIVOR2) && random_num(1get_pcvar_num(cvar_survchance)) == get_pcvar_num(cvar_surv) && floatround((iPlayersnum-2)*get_pcvar_float(cvar_survratio), floatround_ceil) >= && iPlayersnum >= get_pcvar_num(cvar_survminplayers)) || mode == MODE_SURVIVOR2)
        {
            
            
// Modo SURV2
            
g_survround2 true
            g_lastmode 
MODE_SURVIVOR2
            
            
            
for (id 1id <= g_maxplayersid++)
            {
                
// si no esta vivo
                
if (!is_user_alive(id))
                    continue;
                
                
// si es un zombie
                
if (g_zombie[id])
                    continue;
                
                
// Convertir en zombie
                
zombieme(id001)
            }
            
// Convertir 4 de los zombies en Humanos
            
id fnGetRandomAlive(random_num(1iPlayersnum))
            
humanme(id5// Convertimos a alguien al azar en humano 
            
            // Play survivor sound
            
PlaySound(sound_survivor[random_num(0sizeof sound_survivor -1)]);
    
            
// Show Nemesis HUD notice
            
set_dhudmessage(00250HUD_EVENT_XHUD_EVENT_Y06.05.0)
            
show_dhudmessage(0"Modo Survivor !!!")
            
            
ExecuteForward(g_fwRoundStartg_fwDummyResultMODE_SURVIVOR20);
        } 

Código PHP:
command_survivor2(id)
{
    static 
name1[32]
    
get_user_name(idname1sizeof name1 1)
    
    
// Show activity?
    
switch (get_pcvar_num(cvar_showactivity))
    {
        case 
1client_print(0print_chat"ADMIN - Comenzo al lazar Modo Survivor")
        case 
2print_chatColor(0"!t[ZP-Admin] !g%s !tComenzo al lazar Modo !gSurvivor"name1)
    }
    
    
// Log to Zombie Plague log file?
    
if (get_pcvar_num(cvar_logcommands))
    {
        static 
logdata[100], authid[32], ip[16]
        
get_user_authid(idauthidsizeof authid 1)
        
get_user_ip(idipsizeof ip 11)
        
formatex(logdatasizeof logdata 1"ADMIN %s <%s><%s> - Comenzo Modo al lazar Survivor (Jugadores: %d/%d)"name1authidipfnGetPlaying(), g_maxplayers)
        
log_to_file("zombieplague.log"logdata)
    }
    
    
// Call Swarm Mode
    
remove_task(TASK_MAKEZOMBIE)
    
make_a_zombie(MODE_SURVIVOR20)


Código PHP:
// Checks if umbrella mode is allowed
allowed_survivor2()
{
    if (
g_endround || !g_newround || !get_pcvar_num(cvar_swarm) || task_exists(TASK_WELCOMEMSG) || fnGetAlive() < get_pcvar_num(cvar_survminplayers))
        return 
false;
    
    return 
true;

Responder
#5
No es suficiente el codigo que proporcionas.
Muestra que se supone que es "id" arriba de 4610, muestra como tenes "make_a_zombie" para saber porque no selecciona ningun nemesis.
Responder
#6
(18/06/2019, 10:34 PM)GoldenCosta escribió: mostra la funcion allowend y cmd y si lo mandan por comando tambien el cmd del comando

bueno ahi me acorde que es lo que hice....

tenes q crear un nuevo evento si quieres dejar el anterior es lo que hice... te dejo el ejemplo con modo SURVIVOR

en donde pones los modos MODE_SURVIVOR2 y crea tambien la nueva ronda g_survround2, ACORDATE QUE TAMBIEN VA EN OTRO LUGARES COMO EN event round star ya calculo que te hubicas

y el evento nuevo con las mismas cvar del survivor q tenias, pegalo abajo del otro



Código PHP:
        else if ((mode == MODE_NONE && (!get_pcvar_num(cvar_preventconsecutive) || g_lastmode != MODE_SURVIVOR2) && random_num(1get_pcvar_num(cvar_survchance)) == get_pcvar_num(cvar_surv) && floatround((iPlayersnum-2)*get_pcvar_float(cvar_survratio), floatround_ceil) >= && iPlayersnum >= get_pcvar_num(cvar_survminplayers)) || mode == MODE_SURVIVOR2)
        {
            
            
// Modo SURV2
            
g_survround2 true
            g_lastmode 
MODE_SURVIVOR2
            
            
            
for (id 1id <= g_maxplayersid++)
            {
                
// si no esta vivo
                
if (!is_user_alive(id))
                    continue;
                
                
// si es un zombie
                
if (g_zombie[id])
                    continue;
                
                
// Convertir en zombie
                
zombieme(id001)
            }
            
// Convertir 4 de los zombies en Humanos
            
id fnGetRandomAlive(random_num(1iPlayersnum))
            
humanme(id5// Convertimos a alguien al azar en humano 
            
            // Play survivor sound
            
PlaySound(sound_survivor[random_num(0sizeof sound_survivor -1)]);
    
            
// Show Nemesis HUD notice
            
set_dhudmessage(00250HUD_EVENT_XHUD_EVENT_Y06.05.0)
            
show_dhudmessage(0"Modo Survivor !!!")
            
            
ExecuteForward(g_fwRoundStartg_fwDummyResultMODE_SURVIVOR20);
        } 

Código PHP:
command_survivor2(id)
{
    static 
name1[32]
    
get_user_name(idname1sizeof name1 1)
    
    
// Show activity?
    
switch (get_pcvar_num(cvar_showactivity))
    {
        case 
1client_print(0print_chat"ADMIN - Comenzo al lazar Modo Survivor")
        case 
2print_chatColor(0"!t[ZP-Admin] !g%s !tComenzo al lazar Modo !gSurvivor"name1)
    }
    
    
// Log to Zombie Plague log file?
    
if (get_pcvar_num(cvar_logcommands))
    {
        static 
logdata[100], authid[32], ip[16]
        
get_user_authid(idauthidsizeof authid 1)
        
get_user_ip(idipsizeof ip 11)
        
formatex(logdatasizeof logdata 1"ADMIN %s <%s><%s> - Comenzo Modo al lazar Survivor (Jugadores: %d/%d)"name1authidipfnGetPlaying(), g_maxplayers)
        
log_to_file("zombieplague.log"logdata)
    }
    
    
// Call Swarm Mode
    
remove_task(TASK_MAKEZOMBIE)
    
make_a_zombie(MODE_SURVIVOR20)


Código PHP:
// Checks if umbrella mode is allowed
allowed_survivor2()
{
    if (
g_endround || !g_newround || !get_pcvar_num(cvar_swarm) || task_exists(TASK_WELCOMEMSG) || fnGetAlive() < get_pcvar_num(cvar_survminplayers))
        return 
false;
    
    return 
true;

Soluciona2, no hace falta hacer otro mod, modifiqué el mismo.
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)