Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
18/06/2019, 09:55 PM
(Última modificación: 18/06/2019, 09:56 PM por Blackk. Edited 2 times in total.)
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.", gPrefix, g_nombre[id]) remove_task(TASK_MAKEZOMBIE) make_a_zombie(MODE_NEMESIS, 0) return PLUGIN_HANDLED; }
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
18/06/2019, 10:13 PM
(Última modificación: 18/06/2019, 10:16 PM por GoldenCosta. Edited 4 times in total.)
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(1, get_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(id, 0, 1, 0) }
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(1, iPlayersnum))
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
18/06/2019, 10:34 PM
(Última modificación: 19/06/2019, 01:02 AM por GoldenCosta. Edited 6 times in total.)
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(1, get_pcvar_num(cvar_survchance)) == get_pcvar_num(cvar_surv) && floatround((iPlayersnum-2)*get_pcvar_float(cvar_survratio), floatround_ceil) >= 1 && iPlayersnum >= get_pcvar_num(cvar_survminplayers)) || mode == MODE_SURVIVOR2) { // Modo SURV2 g_survround2 = true g_lastmode = MODE_SURVIVOR2 for (id = 1; id <= g_maxplayers; id++) { // si no esta vivo if (!is_user_alive(id)) continue; // si es un zombie if (g_zombie[id]) continue; // Convertir en zombie zombieme(id, 0, 0, 1) } // Convertir 4 de los zombies en Humanos id = fnGetRandomAlive(random_num(1, iPlayersnum)) humanme(id, 5) // Convertimos a alguien al azar en humano // Play survivor sound PlaySound(sound_survivor[random_num(0, sizeof sound_survivor -1)]); // Show Nemesis HUD notice set_dhudmessage(0, 0, 250, HUD_EVENT_X, HUD_EVENT_Y, 0, 6.0, 5.0) show_dhudmessage(0, "Modo Survivor !!!") ExecuteForward(g_fwRoundStart, g_fwDummyResult, MODE_SURVIVOR2, 0); }
Código PHP: command_survivor2(id) { static name1[32] get_user_name(id, name1, sizeof name1 - 1) // Show activity? switch (get_pcvar_num(cvar_showactivity)) { case 1: client_print(0, print_chat, "ADMIN - Comenzo al lazar Modo Survivor") case 2: print_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(id, authid, sizeof authid - 1) get_user_ip(id, ip, sizeof ip - 1, 1) formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - Comenzo Modo al lazar Survivor (Jugadores: %d/%d)", name1, authid, ip, fnGetPlaying(), g_maxplayers) log_to_file("zombieplague.log", logdata) } // Call Swarm Mode remove_task(TASK_MAKEZOMBIE) make_a_zombie(MODE_SURVIVOR2, 0) }
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; }
Mensajes: 1,015
Temas: 42
Registro en: Feb 2016
Reputación:
13
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.
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
(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(1, get_pcvar_num(cvar_survchance)) == get_pcvar_num(cvar_surv) && floatround((iPlayersnum-2)*get_pcvar_float(cvar_survratio), floatround_ceil) >= 1 && iPlayersnum >= get_pcvar_num(cvar_survminplayers)) || mode == MODE_SURVIVOR2) { // Modo SURV2 g_survround2 = true g_lastmode = MODE_SURVIVOR2 for (id = 1; id <= g_maxplayers; id++) { // si no esta vivo if (!is_user_alive(id)) continue; // si es un zombie if (g_zombie[id]) continue; // Convertir en zombie zombieme(id, 0, 0, 1) } // Convertir 4 de los zombies en Humanos id = fnGetRandomAlive(random_num(1, iPlayersnum)) humanme(id, 5) // Convertimos a alguien al azar en humano // Play survivor sound PlaySound(sound_survivor[random_num(0, sizeof sound_survivor -1)]); // Show Nemesis HUD notice set_dhudmessage(0, 0, 250, HUD_EVENT_X, HUD_EVENT_Y, 0, 6.0, 5.0) show_dhudmessage(0, "Modo Survivor !!!") ExecuteForward(g_fwRoundStart, g_fwDummyResult, MODE_SURVIVOR2, 0); }
Código PHP: command_survivor2(id) { static name1[32] get_user_name(id, name1, sizeof name1 - 1) // Show activity? switch (get_pcvar_num(cvar_showactivity)) { case 1: client_print(0, print_chat, "ADMIN - Comenzo al lazar Modo Survivor") case 2: print_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(id, authid, sizeof authid - 1) get_user_ip(id, ip, sizeof ip - 1, 1) formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - Comenzo Modo al lazar Survivor (Jugadores: %d/%d)", name1, authid, ip, fnGetPlaying(), g_maxplayers) log_to_file("zombieplague.log", logdata) } // Call Swarm Mode remove_task(TASK_MAKEZOMBIE) make_a_zombie(MODE_SURVIVOR2, 0) }
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.
|