Jump to content

Tiico™

Miembro
  • Contador contenido

    174
  • Ingreso

  • Última visita

  • Días ganados

    2

Mensajes publicados por Tiico™

  1. Aquí te deje la quest como querias, la eh sacado de keko que se me hizo más facil :

    quest teletransporte_especial_v2 begin	state start begin		when 20095.chat."Teletransporte Especial" begin			say("Seon-Hae":)			say("")			say("Hola ".. pc.get_name() .." ")			say("A donde deseas ir?")			local main_quet = select ("Mapas Premium","Mapas Normales","Ciudades","Cerrar")			if main_quet == 1 then			local main_set = select ("Campo Dankas","Atlanta","Reino Perdido","Ciudad Treen","Arena de Fuego","Siguiente")			local cordes = {{1894400,2483200},{500000,450000},{0,332800},{1243200,1243300},{2733400,2729100}}			if main_set != 6 then pc.warp(cordes[main_set][1],cordes[main_set][2]) return end			elseif main_quet == 2 then			say_title("Seon-Hae: ")			say("Este tipo de mapa se encuentra en contruccion.")			elseif main_quet == 3 then			local main_set3 = select ("Jinno","Chunjo","Shinsoo","Cerrar")			local cordes2 = {{969600,278400},{55700,157900},{469300,964200}}			if main_set3 != 4 then pc.warp(cordes[main_set3][1],cordes[main_set3][2]) return end			end		end	endend
  2. Bueno manes xDD, lo que pasa es lo siguiente, nosotros ocupamos cliente Omega , (el ultimo de 2012).. Pero el problema es que no se ven las cordenadas, los que no entienden sale algo así:

     

    Imagen enviada

     

    Bueno acudia a ustedes a que se debe el problema , o cual es la solución, no tengo mucho conocimiento de python (nada xD ) , bueno eso es todo espero respuestas de ustedes ;)

  3. Hola aquí les traigo una de mis últimas creaciones de quest, la hice recién xD... Espero que os guste

    quest mobs_locos begin	state start begin		 when 20012.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 150 - 250*")				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(1255200, 2157200)				end		end                    		when 20012.chat."Evento Mobs Locos" with pc.get_level() >= 150 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(1255200, 2157200)			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 20012.chat."GM: Spawn Metines" with pc.is_gm() and game.get_event_flag("empezar_mobs_locos") == 1 begin			local array = {				[1] = {"Monstruos",{8000,8010,8020,8030,8040,8050,8060,8070,8080,8090,8100}},				[2] = {"Jefes",{9000,9010,9020,9030,9040,9050,9060,9070,9080,9090,9100}},				[3] = {"Metines",{7000,7010,7020,7030,7040,7050,7060,7070,7080,7090,7100}}			}			local cordes = {				{300,155,255,152,142,165,189,153,162,166},				{199,295,154,265,184,198,147,123,177,199}			}			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(221, "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	endend 

    Creditos: @TiiC0 - @Metin2Zone

     

    Añadida parte de quest del comentario de @PACIFICADOR

  4. Eh aquí una quest para eliminar el ultimo socket de pidras de armaduras y armas..

     

    La quest es de blackyuko, yo la traduccí y la mejore .. Espero que os sirva

    quest extractor_de_piedras begin	state start begin		function getItemVnum()			return 71109 ----- Item a usar xD		end				when 9003.take begin			say_title(mob_name(npc.get_race()))			if pc.count_item(extractor_piedras.getItemVnum()) == 0 then				say("Para poder sacar la ultima piedra de tu item")				say("Deveras poseer este objeto:")				say_item_vnum(extractor_piedras.getItemVnum())				return			end			if not extractor_piedras.IsValidItem(item.get_type(), item.get_sub_type()) then				say("Esta trancicion solo funciona con armas y armaduras.")				return			end					local last_stone = {['vnum'] = nil, ['slotID'] = nil}			local i = 2			local found = false			while i >= 0 and not found do				local sckt_state = item.get_socket(i)				if extractor_piedras.IsValidSocket(sckt_state) then					last_stone.vnum = sckt_state					last_stone.slotID = i					found = true				end				i = i-1			end			if last_stone.vnum == nil then				say("No Hay Piedras para eliminarse.")				return			end			say("Si sacamos la ultima piedra")			say("la piedra sacada le quedara en su inventario")			say("no se preocupe.")			say_reward("Ultima Piedra: "..item_name(last_stone.vnum).." ")			local s = select("Continuar", "Cancelar")			if s == 2 then				return			end			pc.remove_item(extractor_piedras.getItemVnum(), 1)			pc.give_item2(last_stone.vnum, 1)			item.set_socket(last_stone.slotID, 28960)			say_title(mob_name(npc.get_race()))			say("Operacion completada.")			end				function IsValidItem(it_type, it_subtype)			return ((it_type == 1 and it_subtype < 6) or (it_type == 2 and it_subtype == 0))		end				function IsValidSocket(sckt_value)			return (sckt_value != 0 and sckt_value != 1 and sckt_value != 28960)		end	endend
  5. 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

  6. EXPLICACIÓN: Esta quest consiste en, cuando llegas la lvl máximo en tu server, en este caso lvl 250.. Te da la posibilidad de hacer 1 Resets, pero para hacerlo debes ser lvl 250 y tener el libro reset 1, al hacer el resets se te ortogra un equipo llamado Reset1... El cual vosotros editareis.. Luego cuando vuelvas a ser 250.... Te pide a cambio hacer el reset 2 o 3 .. Y así ... Espero que les guste xD

    quest sistema_reset begin
    	state start begin
    		when 20014.chat."Cambia tus Libros Resets" with pc.get_level() >= 250 begin
    			local libros = {
    	  ---         qf reset   vnumlibro premio cantidad
    			[1] = {"Reset 1", 71100, 189, 1},
    			[2] = {"Reset 2", 70042, 11299, 1},
    			[3] = {"Reset 3", 70045, 11499, 1}
    			}
    
    			if pc.getqf("resets") <= 0 then 
    				pc.setqf("resets", 1) 
    			end
    			
    			say_title(" "..libros[pc.getqf("resets")][1].." ")
    			say_reward("¿Quieres resetear?")
    			local select ("Si","No") == 2 then return end
    				if pc.getqf("resets") == 3 then
    					pc.setqf("resets", 4)
    					say_title("Cambia tus Libros Resets")
    					say_reward("Lo siento, ya tienes todos los resets. ")
    				end
    				if pc.countitem(libros[pc.getqf("resets")][2]) >= 1 then
    					pc.remove_item(libros[pc.getqf("resets")][2], 1)
    					pc.setqf("reset", +1)
    					pc.give_item2(libros[pc.getqf("resets")][3], libros[pc.getqf("resets")][4])
    					pc.set_level(1)  ---ESTO DEPENDE DE LOS FILES, LOS DAROO NO SIRVEN, SOLO PARA 34K O 40K >.
    					chat("Has recibido exitosamente los items, vuelve a logearte.")
    				else
    					say_title(" "..libros[pc.getqf("resets")][1].." ")
    					say_reward("No cumples con los requisitos.")
    					return
    				end
    		end
    	end
    end

    EDITO 04/01/2016:

    La quest es de hace mas de 2 años y creo solo funciona para 34 o 40k > ya que vienen con la función de bajar el nivel ya implementada.

  7.  

    Buen aporte, aunque yo uso una pequeña quest para eso

    quest reload_hp_sp begin	state start begin		when login begin			command ("r")		end	endend

    Esta quest no sirve para usuarios, solo para gms... Yo te recomendaria esta que acabo de hacer xD

    quest regenerar_vida_mana begin	state start begin		when login begin			if pc.get_hp() <= 0 or >= 0 begin				affect.add_collect(apply.HP_REGEN, 9999999, 3)			end			if pc.get_sp() <= 0 or >= 0 begin				affect.add_collect(apply.SP_REGEN, 9999999, 3)			end		end	endend
  8. Si lose , xD pero me referia a que no habias puesto esto

    when 50051.use or 50052.use or 50053.use with pc.get_map_index() == MAPINDEX begin    --- Mapa    chat("No puedes sacar el caballo en este mapa.")endwhen login with pc.get_map_index() == MAPINDEX begin    if horse.is_summon() then        horse.unsummon()    end    if pc.is_mount() then	pc.unmount()    endend
  9. XD Tenia unos pocos errores , toma

    quest give_basic_weapon begin	state start begin		when login begin			if pc.getqf("basic_weapon") == 0 then				pc.setqf("basic_weapon", 1)			end			if pc.job == 0 then				notice_all("Un nuevo guerrero llamado ".. pc.get_name() .." se ah unido a Metin2Mew.")				pc.give_exp2 ( 200000000 )				pc.change_money ( 1500000000 )				pc.change_alignment(11990)				horse.set_level( 21 )				pc.set_skill_level(124 ,59)				pc.set_skill_level(131 ,59)				pc.set_skill_level(121 ,59)				pc.set_skill_level(129 ,59)				pc.set_skill_level(126 ,59)				pc.set_skill_level(127 ,59)				pc.set_skill_level(128 ,59)				pc.set_skill_level(137 ,59)				pc.set_skill_level(138 ,59)				pc.set_skill_level(139 ,59)				pc.set_skill_level(140 ,59)				pc.set_skill_level(125 ,59)				pc.set_skill_level(122 ,2)				pc.give_item2(50053, 1)				pc.give_item2(72702, 1)				pc.give_item2(70007, 1)				pc.give_item2(27115, 200)				pc.give_item2(27112, 200)			end		end	endend
×
×
  • Crear nuevo...