Te invitamos a nuestro Servidor Discord (https://discord.gg/euAr7eT) para que puedas estar siempre al tanto de nuestra comunidad y jugar a tus juegos favoritos con nosotros.

Bienvenido a Metin2Zone

Registrate ahora para obtener acceso a todas nuestras características y ventajas. Una Vez Registrado y Conectado, Usted Será capaz de contribuir Mediante la Presentación de su propio contenido o respondiendo al contenido existente. Usted será capaz de Personalizar su Perfil, recibirá puntos de reputación como una recompensa, mientras que también se comunica con otros miembros a través de su propia bandeja de entrada privada, y Mucho Más!

Este Mensaje se eliminará una vez hayas Iniciado Sesión.

  • Comunicados

    • R1z

      Actualización del Foro y cambio de alias por usuario!   19/06/17

      Es importante saber que actualmente para iniciar sesión con tu cuenta necesitas utilizar el alias que tenías antes de la actualización como usuario, por ejemplo si tu usuario era juanito y tu alias (el nombre con el que te veían los otros miembros) era juan entonces ahora juan es tu usuario, si no recuerdas tu alias puedes solicitar que se te recupere la contraseña para que te pueda llegar el usuario actual de tu cuenta al email.
Tiico™

[DUNGEON] Isla del Dragon Beran

Hola, bueno al tanto de 2 Horas encabezado a mi dungeon, eh creado esta dungeon propia con 243 Lineas xD, Espero que os guste, cualquier error comentarmelo ;) , nada más aquí os dejo la dungeon...

 

Dungeon Isla del Dragon Beran:

 

 

 

quest isla_del_dragon_beran begin	state start begin		when 20092.chat."Isla del Dragon Beran" with pc.get_level() >= 105 begin			say_title("Isla del Dragon Beran: ")			say("¡No lo puedo creer!, ¡Por fin un valeroso heroe")			say("se atreve a pelear contra el gran jefe de Metin2! ...")			say("... Un segundo, ¿Esto es broma no?, ¿Enserio quieres")			say("Pelear contra el Dragon Beran?...")			say("Si es así, porfavor dame una respuesta.")			say_reward("Selecciona una opción")			local entrada = select ("Ps..., Obvio","No, es joda")				if entrada == 2 then					say_title("Isla del Dragon Beran: ")					say("Ya lo sabia, solo los guerreros más fuertes")					say("se atreven a pelear contra el Dragon Beran.")					say_reward("Para la próxima no te arrepientas")				end				if entrada == 1 then					say_title("Isla del Dragon Beran: ")					say("¡Oh!, ¡Genial!, espero que no te arrepientas")					say("luego de estar en la Isla del Dragon Beran.")					say("Te recuerdo que la Isla cuenta con 4 Plantas.")					say("Solo por asegurarme, te preguntare denuevo, ...")					say("... ¿Estás seguro de ir a la Isla?")					say_reward("Selecciona una opción")					local entrada_2 = select ("Vuelvo a decir que sí","No, me arrepenti")						if entrada_2 == 2 then							say_title("Isla del Dragon Beran: ")							say("Bueno, ya entendi!")							say_reward("Nos vemos pronto ...")						end						if entrada_2 == 1 then							say_title("Isla del Dragon Beran: ")							say("Bueno, ya me quedo más claro tu respuesta ...")							say("... Te llevare en 10 Segundos a la planta.")							say_reward("Mucha suerte, y espero que salgas bién")							timer("entrada_isla", 10)						end				end		end			--- Planta 1 ---			when entrada_isla.timer begin			notice_all(" "..pc.get_name().." Ha entrado a la Isla del Dragon Beran junto con sus compañeros, deseenle mucha suerte.")			d.new_jump_all(231, 282150, 385220)		end		when login with pc.get_map_index() == 231 or d.getf("planta_1") == 0 begin			say_title("Primera Planta:")			say("Bueno metinero, te indicare las intrucciones ...")			say("En esta Primera Planta, Tienes que buscar al Npc")			say("Llamado: Soldado Rojo, el cual te ayudara a seguir. ")			chat("Busca al Soldado Rojo que se ubica en las cordenadas: 382,199")			d.setf("planta_1", 1)			d.spawn(2033, 382, 199)		end		when soldado_rojo.click with d.getf("soldado_rojo") == 0 or d.getf("planta_1") == 1 begin			say_title("Soldado Rojo:")			say("Hola, ando medio perdido aquí... Bueno mira...")			say("Eh invocado 1 Metin al lado mio, si el metin")			say("se llama Metin Rojo, lo derrotas, y obtienes el pase ... ")			wait()			say_title("Soldado Rojo:")			say("... te llevare a la Segunda planta, En cambio si el metin")			say("Es otro que no se llame Metin Rojo, tendras que hablar")			say("Nuevamente conmigo y spawnear nuevamente otro metin,")			say("Hasta que sea el Metin Rojo. Mucha suerte ...")			say_reward("Ten cuidado, salen monstruos feroses en los metines.")			chat("Derrota al metin correcto que invoque ahora")			d.setf("soldado_rojo", 1)			local metines = {9030,9031,9032,9033}			d.spawn(metines[math.random(1,4)], 377, 189)		end		when 9030.kill with d.getf("metin_rojo") == 0 or d.getf("soldado_rojo") == 1 begin			say_title("Soldado Rojo:")			say("Genial, veo que has destruido correctamente el")			say("Metin Rojo, Te llevare a la siguiente planta en")			say("10 segundos.")			say_reward("Preparate, se viene un gran desafio")			chat("Tienes 10 Segundos para prepararte, te accendere a la segunda planta")			timer("seguir_isla", 10)			d.setf("metin_rojo", 1)			d.purge()		end		when seguir_isla.timer begin			notice_all(" "..pc.get_name().." Ha Accendido a la segunda planta de la Isla del Dragon Beran")			d.jump_all_all(232, 282150, 385220)		end				--- Planta 2 ---				when login with pc.get_map_index() == 232 or d.getf("planta_2") == 0 begin			say_title("Segunda Planta:")			say("Bueno metinero, te indicare las intrucciones ...")			say("En esta Segunda Planta, Te invocare 1 Guerrero Rojo")			say("Que esta junto al Soldado Rojo.")			say("Tienes 10 Minutos para derrotarlo, si no, fracasas")			say("Y te llevo a tu ciudad.")			say("Solo el Guerrero tiene el Sello fundamental para acceder")			say("A la siguiente planta, llamado: Sello Infernal.")			say_item_vnum(65000)			wait()			say_title("Segunda Planta:")			say("El sello se lo debes entregar al Soldado Rojo que esta")			say("En las siguientes cordenadas , 382,199 .")			chat("Derrota al Guerrero Rojo, recoge el item, entregaselo al soldado rojo")			d.setf("planta_2", 1)			d.spawn(9930, 378, 194)			d.spawn(2033, 382, 199)			timer("tiempo_guerrero_rojo", 600)		end		when tiempo_guerrero_rojo.timer begin			chat("Lo siento, te demoraste mucho, han pasado ya 10 Minutos y no haz echo nada")			chat("Os llevare a todos en el mapa a la ciudad.")			d.exit_all()			d.purge()		end		when 9930.kill with d.getf("guerrero_rojo") == 0 or d.getf("planta_2") == 1 begin			chat("Enhorabuena, haz derrotado al guerrero rojo, obtienes el pase a la tercera planta")			chat("Arrastra el Sello Infernal hacia el Soldado Rojo")			d.setf("guerrero_rojo", 1)		end		when 2033.take with d.getf("guerrero_rojo") == 1 begin			if pc.count_item(65000) <= 0 begin				say_title("Soldado Rojo:")				say("¡Vamos!, derrota al guerrero para accenderte")				say("a la segunda planta.")				say_reward("Recuerda que tienes 10 Minutos, nada más.")			end			say_title("Soldado Rojo:")			say("Gracias por el sello, te accendere a la tercera planta.")			say_reward("Obtienes 10 Segundos para prepararte y seguir el desafio.")			timer("seguir_isla_2", 10)			pc.remove_item("65000", 1)			d.purge()		end		when seguir_isla_2.timer begin			notice_all(" "..pc.get_name().." Y su grupo van en la tercera planta de la Isla del Dragon Beran")			d.jump_all_all(233, 282150, 385220)		end				--- Planta 3 ---				when login with pc.get_map_index() == 233 or d.getf("planta_3") == 0 begin			say_title("Tercera Planta:")			say("¡Vamos que te queda poco!, te indicare las intrucciones ...")			say("En esta Tercera Planta, Invocare al Jefe Rojo y sus Esclavos.")			say("Que esta junto al Soldado Rojo.")			say("Tienes 10 Minutos para derrotarlo, si no, fracasas")			say("Y te llevo a tu ciudad.")			wait()			say("El Jefe Rojo es uno de los más duros... ")			say("Derrotalo para accender a la Ultima planta.")			say_reward("Recuerda que tienes 10 Minutos")			chat("Apurate!, Derrota al Jefe Rojo.")			timer("tiempo_jefe_rojo", 600)			d.setf("planta_3", 1)			d.mob_spawn(9982, 344, 199)		end		when tiempo_jefe_rojo.timer begin			chat("Lo siento acabaron los 10 Minutos, todos sera teletransportados a sus respectivas ciudades.")			d.exit_all()			d.purge()		end		when 9982.kill with d.getf("jefe_rojo") == 0 or d.getf("planta_3") == 1 begin			d.setf("jefe_rojo", 1)			say_title("Tercera Planta:")			say("Bién , te parecio facil , ¿sierto?... Bueno , ahora veremos")			say("Si te parece facil la Ultima Planta.")			say_reward("Obtienes 10 Segundos adiccionales para prepararte.")			timer("seguir_isla_3", 10)		end		when seguir_isla_3.timer begin			d.jump_all(234, 282150, 385220)			notice_all(" "..pc.get_name().." Ha accendido a la última planta de la isla del Dragon Beran. Suerte a vosotros.")		end				--- Ultima Planta ---				when login with pc.get_map_index() == 234 or d.getf("planta_4") == 0 begin			say_title("Ultima Planta:")			say("¡Ultima planta!, te indicare las intrucciones ...")			say("En esta Ultima Planta, Spawneare 4 Pilares Rojos, los")			say("Cuales, se eliminan si consigues el Sello de Pilar Rojo")			say("Consigue 4 Sellos, arrastralos hacia los pilares...")			say("Y Al último pilar que consigas eliminar, seras")			say("Teletransportado hacia el Dragon Beran.")			wait()			say_title("Ultima Planta:")			say("Te invocare 1 Esclavo Rojo, derrotalo y obtiene el sello.")			say("Por cada sello eliminado invocare otro Esclavo Rojo, y asi...")			say("Te doy 15 Minutos para eliminar los pilares.")			say_reward("Solo 15 Minutos, vamos!")			timer("pilares_rojos", 900)			d.setf("planta_4", 1)			d.spawn(8050, 344, 199)			d.spawn(9200, 330, 172)			d.setf("matar_esclavo_rojo", 1)		end		when pilares_rojos.timer begin			chat("Lo siento, no acabaste de eliminar los 4 Pilares rojos")			chat("Todos seran teletransportados a sus respectivas ciudades")			d.purge()			d.exit_all()		end		when 9200.kill with d.setf("matar_esclavo_rojo") == 1 begin			pc.give_item2("65001", 1)			chat("Ha caido un objeto extraño, ve cual es")			d.purge(9200)		end		when 8050.take with item.vnum() == 65001 and d.getf("pilar_1") == 0 or item.vnum() == 65001 and d.getf("planta_4") == 1 begin				chat("Primer pilar derrotado, ve por el segundo")				d.spawn(8051, 344, 199)				d.spawn(9200, 330, 172)				d.purge(8050)				d.setf("pilar_1", 1)				pc.remove_item("65001", 1)			end		end		when 8051.take with item.vnum() == 65001 and d.getf("pilar_2") == 0 or item.vnum() == 65001 and d.getf("planta_4") == 1 begin				chat("Segundo pilar derrotado, ve por el tercero")				d.spawn(8052, 344, 199)				d.spawn(9200, 330, 172)				d.purge(8051)				d.setf("pilar_2", 1)				pc.remove_item("65001", 1)							end		end		when 8053.take with item.vnum() == 65001 and d.getf("pilar_3") == 0 or item.vnum() == 65001 and d.getf("planta_4") == 1 begin				chat("Tercer pilar derrotado, ve por el ultimo pilar")				d.spawn(8053, 344, 199)				d.spawn(9200, 330, 172)				d.purge(8052)				d.setf("pilar_3", 1)				pc.remove_item("65001", 1)			end		end		when 8054.take with item.vnum() == 65001 and d.getf("pilar_4") == 0 or item.vnum() == 65001 and d.getf("planta_4") == 1 begin				d.purge()				chat("Bien, Assesina al Dragon Beran")				d.spawn(2493, 325, 170)				d.setf("pilar_4", 1)				d.setf("dragon_beran", 1)			end		end		when 2493.kill with d.getf("dragon_beran") == 1 begin			notice_all(""..pc.get_name().." Ha assesinado todo en La Isla del Dragon Beran")			notice_all("Reciben una gran recompensa!.")			chat("Todos seran teletransportados a sus respectivas ciudades. en 20 Segundos.")			timer("terminado", 20)		end		when terminado.timer begin			d.exit_all()		end	endend 

 

 

 

Creditos: @TiiC0 - 100% - @Metin2Zone

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios

tienes errores, que te provocaran bugs, i sysser, sysser y mas sysser.

 

porque cada vez que warpeas pones un d.new_jump_all?, eso solo se pone al iniciar subidas, te pongo 1 ejemplo de 1 mazmorra bien echa.

 

te explico 1 poco:

 

Inicio mazmorra --> d.new_jump_all

 

plantas siguientes --> d.jump_all / d.new_jump (yo he usado los 2, pero me fio mas del d.jump_all)

 

---PLANTA2---						when infernum_catas.timer begin			d.jump_all(393920, 39320932)			d.setf("infernasum", 8)			d.setf("lv_rey", 1)

Tmbn veo que tienes demasiado codigo, para cosas muy simples, podrias reducirlo brutalmente, con tan solo modificar 1 poco la mazmorra, es solo 1 consejo, que no aporte, no significa que no pueda seguir enseñando, y otra cosa ni se os ocurra, decirme algo tipo:

 

pos hazla tu venga gilipollas, aver si te sale mejor, xk os doi 100-150 pataditas a nivel de dungeons, a la gran mayoria de este foro.

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios
when login with pc.get_map_index() == 231 or d.getf("planta_1") == 0 begin			say_title("Primera Planta:")			say("Bueno metinero, te indicare las intrucciones ...")			say("En esta Primera Planta, Tienes que buscar al Npc")			say("Llamado: Soldado Rojo, el cual te ayudara a seguir. ")			chat("Busca al Soldado Rojo que se ubica en las cordenadas: 382,199")			d.setf("planta_1", 1)			d.spawn_mob(2033, 382, 199)		end

Aqui sacarás tantos mobs como personas entren en el mapa. 

when soldado_rojo.click with d.getf("soldado_rojo") == 0 or d.getf("planta_1") == 1 begin			say_title("Soldado Rojo:")			say("Hola, ando medio perdido aquí... Bueno mira...")			say("Eh invocado 1 Metin al lado mio, si el metin")			say("se llama Metin Rojo, lo derrotas, y obtienes el pase ... ")			wait()			say_title("Soldado Rojo:")			say("... te llevare a la Segunda planta, En cambio si el metin")			say("Es otro que no se llame Metin Rojo, tendras que hablar")			say("Nuevamente conmigo y spawnear nuevamente otro metin,")			say("Hasta que sea el Metin Rojo. Mucha suerte ...")			say_reward("Ten cuidado, salen monstruos feroses en los metines.")			chat("Derrota al metin correcto que invoque ahora")			d.setf("soldado_rojo", 1)			local metines = {9030,9031,9032,9033}			d.spawn_mob(metines[math.random(1,4)], 377, 189)		end		when 9030.kill with d.getf("metin_rojo") == 0 or d.getf("soldado_rojo") == 1 begin			say_title("Soldado Rojo:")			say("Genial, veo que has destruido correctamente el")			say("Metin Rojo, Te llevare a la siguiente planta en")			say("10 segundos.")			say_reward("Preparate, se viene un gran desafio")			chat("Tienes 10 Segundos para prepararte, te accendere a la segunda planta")			timer("seguir_isla", 10)			d.setf("metin_rojo", 1)			d.purge()		end

¿Y si aqui

local metines = {9030,9031,9032,9033}			d.spawn_mob(metines[math.random(1,4)], 377, 189)

No sale el metin 9030? 

d.getf("planta_2") == 0

Estas variables no se usan asi, se usan asi:

d.getf("planta") == #piso_actual#
d.spawn_mob(9930, 378, 194)			d.spawn_mob(2033, 382, 199)

Lo mismo de antes, saldran tantos como veces te loges. 

when 9200.kill with d.setf("matar_esclavo_rojo") == 1 begin			d.purge(9200)		end

Esto no tiene sentido, una vez lo matas lo purga? 

if pc.count_item(65001) == 1 begin

En ningun lado estas dando el item 65001.Y esto

when 8050.take with d.getf("pilar_1") == 0 or d.getf("planta_4") == 1 begin			if pc.count_item(65001) == 1 begin

es mejor hacerlo así

when 8050.take with item.vnum()==65001 and d.getf("pilar_1") == 0 or item.vnum()==65001 and d.getf("planta_4") == 1 begin

A si a vista rápida no veo nada más, pero seguro que lo hay, todo es probar.Y como bien dice Akroma, es una quest muy larga para el poco contenido que tiene, se puede resumir mucho.

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios

 

 

pos hazla tu venga gilipollas, aver si te sale mejor, xk os doi 100-150 pataditas a nivel de dungeons, a la gran mayoria de este foro.

Siempre sales con un comentaro nada que ver -.-''

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios

Gracias por sus errores, arreglada al 100%, La hare mucho mas corta, no os precupeis ya veran ;)

 

Sigo viendo esto:

if pc.count_item(65001) == 1 begin

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios

Por cierto

 

		when pilares_rojos.timer begin			chat("Lo siento, no acabaste de eliminar los 4 Pilares rojos")			chat("Todos seran teletransportados a sus respectivas ciudades")			d.purge()		end
Estás haciendo purge a un timer ._.' si van a ser teletransportados, supongo que será d.exit_all()

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios
when seguir_isla_3.timer begin			d.jump_all_all(234, 282150, 385220)			notice_all(" "..pc.get_name().." Ha accendido a la última planta de la isla del Dragon Beran. Suerte a vosotros.")		end

   d.jump_all_all(234, 282150, 385220)

Compartir esta publicación


Enlace a la publicación
Compartir en otros sitios

Crear una cuenta o conéctate para comentar

Tienes que ser miembro para dejar un comentario

Crear una cuenta

Regístrese para obtener una cuenta nueva en nuestra comunidad. ¡Es fácil!


Registrar una nueva cuenta

Conectar

¿Ya tienes una cuenta? Conéctate aquí.


Conectar ahora

  • Recientemente navegando por este tema   0 miembros

    No hay usuarios registrados visitando esta página.