Jump to content

Alguien me puede Corregir esta quest eventos de metines


ChuchoGamer

Recommended Posts

buenas tardes o días Quiero pedirles si me pueden ayudar a corregir esta quest ya que la cheque y no funciona y no invoca alos mobs ni tampoco lleva ala gente Asus citys 

 

quest mobs_locos begin    
state start begin         
when 20087.chat."GM: Evento Mobs Locos" with pc.is_gm() begin            
say_title("Evento Mobs Locos")            
say("")            
say("Buenos días "..pc.get_name()..",")            
say("")            
say_reward("Que deseas hacer?")            
say("")             
local mobs_locos = select ("Activar Mobs Locos","Desactivar Mobs Locos","Llevame Ahí","Cerrar")            
if mobs_locos == 1 then                
notice_all("*El Evento Mobs Locos  ha comenzado, hablad con el npc para ir alli*")                
notice_all("*teneis 15 minutos para entrar los de lvl 80 - 120*")                
server_timer("tiempo_locos", 15)                
game.set_event_flag("mobs_locos_activado", 1)            
elseif mobs_locos == 2 then                
notice_all("*El Evento de locoss de oro se ha desactivado, un saludo del Team*")                
notice_all("*Seran todos teletransportados a sus citys.*")                
warp_all_to_villaje()                
game.set_event_flag("mobs_locos_activado", 0)                
game.set_event_flag("empezar_mobs_locos",0)            
elseif mobs_locos == 3 then                
pc.warp(1059000, 726200)                
end        
end                            
when 20088.chat."Evento Mobs Locos" with pc.get_level() >= 80 begin            
if game.get_event_flag("mobs_locos_activado") == 0 then                
say_title("Evento Mobs Locos")                
say("")                
say("Hola "..pc.get_name().." soy el encargado del Evento")                
say("y lamento decirte que en estos momentos")                
say("el evento no se encuentra activo")                
say("")                
say("Estate atento que se avisara")                
say("cuando puedas entrar al Evento.")                
say("")                
return            
end            
say_title(" "..pc.get_name().." ")            
say("Hola compañero, este es un nuevo evento")            
say("de mobs, el cual consiste que el gm invoca")            
say("diferentes tipos de mobs, ya sea Metines,Jefes,Mobs, etc.")            
say("Recuerden traer equipo y guantes para que el drop sea mejor")            
say("")            
say_reward("¿Quieres ir al evento?")        
local locos = select ("Quiero ir" , "No gracias")            
if locos == 1 then                
pc.warp(1059000, 726200)            
end        
end                
when tiempo_locos.server_timer begin            
notice_all("*El Evento Mobs Locos se ha puesto en marcha*")            
game.set_event_flag("empezar_mobs_locos",1)        
end        
when 20087.chat."GM: Spawn Metines" with pc.is_gm() and game.get_event_flag("empezar_mobs_locos") == 1 begin            
local array = 
{                
[1] = {"Monstruos",{101,102,103,104,105,106,107,108,109,110,111}},                
[2] = {"Jefes",{3690,3390,3490,3590,3790,3890,3003,3002,3001,3005,3004}},                
[3] = {"Metines",{8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011}}            
}            
local cordes = 
{                
{385,385,385,385,385,385,385,385,385,385},                
{120,120,120,120,120,120,120,120,120,120}            
}            
say_title(pc.get_name())            
say("Con esta opción das la opción de")            
say("Spawnear Diferentes tipos de Mobs al azar.")            
say("Puedes spawnear: Metines,Monstruos,Jefes, etc.")            
say("")            
say_reward("¿Qué deseas spawnear?")            
local spawn = select ("Monstruos","Jefes","Metines","Nada")            
if spawn != 4 then                
cord = table.getn(cordes)                
notice_in_map(69, "Se ha spawneado una serie de "..array[spawn][1].." en el mapa, buscalos!")                
mob.spawn(array[spawn][2][math.random(1,table.getn(array))], cordes[1][math.random(1,cord)], cordes[2][math.random(1,cord)])            
end        
end    
end
end

Errores no lanza los mobs en las corrdenadas ni lleva ala gente asus citys

Link to comment
Share on other sites

  • 7 months later...
quest mobs_locos begin
    state start begin
        when 20087.chat."GM: Evento Mobs Locos" with pc.is_gm() begin
            say_title("Evento Mobs Locos")
            say("")
            say("Buenos días " .. pc.get_name() .. ",")
            say("")
            say_reward("¿Qué deseas hacer?")
            say("")
            local mobs_locos = select("Activar Mobs Locos", "Desactivar Mobs Locos", "Llévame Ahí", "Cerrar")
            if mobs_locos == 1 then
                notice_all("*El Evento Mobs Locos ha comenzado, hablad con el npc para ir allí*")
                notice_all("*Tienen 15 minutos para entrar los de nivel 80 - 120*")
                server_timer("tiempo_locos", 900) -- 15 minutes in seconds
                game.set_event_flag("mobs_locos_activado", 1)
            elseif mobs_locos == 2 then
                notice_all("*El Evento de Mobs Locos se ha desactivado, un saludo del Team*")
                notice_all("*Serán todos teletransportados a sus ciudades.*")
                warp_all_to_villaje()
                game.set_event_flag("mobs_locos_activado", 0)
                game.set_event_flag("empezar_mobs_locos", 0)
            elseif mobs_locos == 3 then
                pc.warp(1059000, 726200)
            end
        end

        when 20088.chat."Evento Mobs Locos" with pc.get_level() >= 80 begin
            if game.get_event_flag("mobs_locos_activado") == 0 then
                say_title("Evento Mobs Locos")
                say("")
                say("Hola " .. pc.get_name() .. ", soy el encargado del Evento")
                say("y lamento decirte que en estos momentos")
                say("el evento no se encuentra activo")
                say("")
                say("Estate atento que se avisará")
                say("cuando puedas entrar al Evento.")
                say("")
                return
            end
            say_title(" " .. pc.get_name() .. " ")
            say("Hola compañero, este es un nuevo evento")
            say("de mobs, el cual consiste en que el GM invoca")
            say("diferentes tipos de mobs, ya sea Metines, Jefes, Mobs, etc.")
            say("Recuerden traer equipo y guantes para que el drop sea mejor")
            say("")
            say_reward("¿Quieres ir al evento?")
            local locos = select("Quiero ir", "No gracias")
            if locos == 1 then
                pc.warp(1059000, 726200)
            end
        end

        when tiempo_locos.server_timer begin
            notice_all("*El Evento Mobs Locos se ha puesto en marcha*")
            game.set_event_flag("empezar_mobs_locos", 1)
        end

        when 20087.chat."GM: Spawn Metines" with pc.is_gm() and game.get_event_flag("empezar_mobs_locos") == 1 begin
            local array = {
                [1] = {"Monstruos", {101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111}},
                [2] = {"Jefes", {3690, 3390, 3490, 3590, 3790, 3890, 3003, 3002, 3001, 3005, 3004}},
                [3] = {"Metines", {8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009, 8010, 8011}}
            }
            local cordes = {
                {385, 385, 385, 385, 385, 385, 385, 385, 385, 385},
                {120, 120, 120, 120, 120, 120, 120, 120, 120, 120}
            }
            say_title(pc.get_name())
            say("Con esta opción das la opción de")
            say("Spawnear diferentes tipos de Mobs al azar.")
            say("Puedes spawnear: Metines, Monstruos, Jefes, etc.")
            say("")
            say_reward("¿Qué deseas spawnear?")
            local spawn = select("Monstruos", "Jefes", "Metines", "Nada")
            if spawn ~= 4 then
                local cord = table.getn(cordes[1])
                local spawnType = array[spawn]
                local mobIndex = math.random(1, table.getn(spawnType[2]))
                local mobID = spawnType[2][mobIndex]
                local x = cordes[1][math.random(1, cord)]
                local y = cordes[2][math.random(1, cord)]
                notice_in_map(69, "Se ha spawneado una serie de " .. spawnType[1] .. " en el mapa, ¡búscalos!")
                mob.spawn(mobID, x, y)
            end
        end
    end
end

 

Link to comment
Share on other sites

Para reparar el spawn:

El código original es:
 

mob.spawn(array[spawn][2][math.random(1,table.getn(array))], cordes[1][math.random(1,cord)], cordes[2][math.random(1,cord)])

Hay un error al intentar acceder al vnum del mob con un número aleatorio en la posición de la tabla "array". Pues "array" tiene 3 posiciones. Lo correcto es array[spawn][2], ya que ahí está la tabla donde se encuentran los monstruos del botón seleccionado.

Para las coordenadas el error es similar, se intenta elegir la posición aleatoria con "cord = table.getn(cordes)", pero la tabla "cordes" tiene 2 posiciones solamente (x, y). Esta línea no es útil porque para x necesitamos "table.getn(cordes[1])" y para "y" "table.getn(cordes[2])"

La línea nueva es:
 

mob.spawn(array[spawn][2][math.random(table.getn(array[spawn][2]))], cordes[1][math.random(table.getn(cordes[1]))], cordes[2][math.random(table.getn(cordes[2]))])



Para reparar "llevar a la gente a sus ciudades":
 

warp_all_to_village(LuaNumber map_index, LuaNumber time)

La función es así y recibe dos parámetros. Se debe tener en cuenta estar en el mismo core que el mapa donde vas a echar a la gente. O para no enredarse, que solo se pueda elegir la opción de sacar a todos cuando estés en el mapa del evento.

El segundo parámetro recibe el tiempo en que serán transportados y aparecerá un anuncio, así que no es necesario avisar.

Si el mapa del evento es 63 (desierto), es decir, en donde invocaste, y quieres sacar a todos en dos minutos, debes poner esto:
 

warp_all_to_village(63, 60*2)

 

(no está testeado)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...