[TALLER] Creación de Quests CERRADO

Topic created · 29 Mensajes · 3619 Visitas
  • Buenas UJ,
    Hace un rato me han pedido un usuario de este foro que le haga una quest y yo, con toda la buena fe del mundo, se la he echo.
    Entonces se me ha ocurrido esta idea: ¿Por que no creo un taller de quest?
    Y nada, aquí estoy.
    Sé que el lenguaje quest es muy sencillo y tan solo con estar mirando otras quest se aprende, pero también sé que gran parte de este foro no saben demasiado o no tienen ni idea. Por eso, al hacer este taller y poder responder pedidos, ayudaré a mucha gente y cogeré algo mas de soltura de la que tengo.

    Debo resaltar que no estoy dispuesto a hacer quest muy largas ya que debería gastar demasiado tiempo en hacerla. Por eso, todo tipo de dungeons quedan fuera del taller.
    Tampoco estoy dispuesto a contestar pedidos del tipo: Hazme tal quest.
    También debo decir que si el pedido es tipo "misión con recompensa", hay que especificar todos los pasos entre el principio y el final de la quest.
    Si es del tipo "si usas/hablas con tal item/npc", debes especificar el item/npc que quieres que haga tal función.

    Y eso es todo. Por favor, ser lo mas exacto posible en la petición de la quest.
    Me iría mejor que hicierais los pedidos por este hilo, yo los responderé por MP o en este hilo también, debo pensármelo.

    Si este taller tiene futuro bien, sino, que se quede en el olvido _xD_

    Saludos!
    PD: por favor, si respetamos la segunda imagen de mi firma, la lectura para todo humano será mejor.

    Recopilación de Quest realizadas en el Taller:
    Obtener Caballo Militar:

    ----------------------------------
    --	Quest creada por ElRaulxX	--
    --	para agumuller	--------------
    --	UniversoJuegos.es	----------
    ----------------------------------
    
    quest obtener_caballo begin
    	state start begin
    		when id_npc.chat."Obtener Caballo Militar" begin
    			say_title(""..mob_name(id_npc).."")
    			say("Buenas joven guerrero.")
    			say("Tengo el permiso del Imperio para concederte")
    			say("el Caballo Militar.")
    			say("Pero cuidado, se debe ser un gran guerrero para"
    			say("poder domarlo correctamente.")
    			say("")
    			say_reward("¿Deseas obtener el caballo militar?")
    			local s = select("Si","No")
    
    				if s == 1 then
    					horse.set_level(21)
    					horse.unride()
    					horse.ride ()
    					say_title(""..mob_name(id_npc).."")
    					say("¡Felicidades!")
    					say("Has obtenido un caballo nivel 21.")
    					say("")
    				else
    					return
    				end
    		end
    	end
    end
    

    Super Teletransportador con 15 mapas:

    ----------------------------------
    --	Quest creada por ElRaulxX	--
    --	para agumuller	--------------
    --	UniversoJuegos.es	----------
    ----------------------------------
    quest super_teleporter begin
    	state start begin
    		when id_npc.chat."Quiero viajar..." begin
    			say_title(""..mob_name(id_npc).."")
    			say("Buenas joven guerrero.")
    			say("Tengo el permiso del Imperio para poder")
    			say("teletransportarte al lugar de tu elección.")
    			say("Pero cuidado, se debe ser un gran guerrero para")
    			say("poder salir ileso del viaje.")
    			say("")
    			say_reward("¿Deseas ser teletransportado?")
    			local a = select("Si","No")
    			
    				if a == 1 then
    					say_title(""..mob_name(id_npc).."")
    					say("¿A donde quieres ser teletransportado?")
    					say("")
    					local b = select("Valle Seungryong","Desierto Yongbi","Montaña Sohan","Templo Hwang","Continuar","Cerrar")
    
    						if b == 1 then
    						say_title(""..mob_name(id_npc).."")
    						say("Vas a ser teletransportado al Valle Seungryong.")
    						say("¡Buena suerte!")
    						wait()
    							pc.warp(321300 , 808000)
    						end
    						
    						if b == 2 then
    						say_title(""..mob_name(id_npc).."")
    						say("Vas a ser teletransportado al Desierto Yongbi.")
    						say("¡Buena suerte!")
    						wait()
    							pc.warp(204800 , 486400)
    						end
    						
    						if b == 3 then
    						say_title(""..mob_name(id_npc).."")
    						say("Vas a ser teletransportado a la Montaña Sohan.")
    						say("¡Buena suerte!")
    						wait()
    							pc.warp(358400 , 153600)
    						end
    						
    						if b == 4 then
    						say_title(""..mob_name(id_npc).."")
    						say("Vas a ser teletransportado al Templo Hwang.")
    						say("¡Buena suerte!")
    						wait()
    							pc.warp(553600 , 143600)
    						end
    						
    						if b == 6 then
    							return
    						end
    						
    						if b == 5 then
    							say_title(""..mob_name(id_npc).."")
    							say("¿A donde quieres ser teletransportado?")
    							say("")
    							local c = select("Tierra de Fuego","Torre Demoniaca","Bosque Fantasma","Bosque Rojo","Continuar","Cerrar")
    
    								if c == 1 then
    								say_title(""..mob_name(id_npc).."")
    								say("Vas a ser teletransportado a la Tierra de Fuego.")
    								say("¡Buena suerte!")
    								wait()
    									pc.warp(588800 , 614400)
    								end
    								
    								if c == 2 then
    								say_title(""..mob_name(id_npc).."")
    								say("Vas a ser teletransportado a la Torre Demoniaca.")
    								say("¡Buena suerte!")
    								wait()
    									pc.warp(590500 , 110500)
    								end
    								
    								if c == 3 then
    								say_title(""..mob_name(id_npc).."")
    								say("Vas a ser teletransportado al Bosque Fantasma.")
    								say("¡Buena suerte!")
    								wait()
    									pc.warp(281600 , 0)
    								end
    								
    								if c == 4 then
    								say_title(""..mob_name(id_npc).."")
    								say("Vas a ser teletransportado al Bosque Rojo.")
    								say("¡Buena suerte!")
    								wait()
    									pc.warp(1119900 , 70800)
    								end
    								
    								if c == 6 then
    									return
    								end
    								
    								if c == 5 then
    									say_title(""..mob_name(id_npc).."")
    									say("¿A donde quieres ser teletransportado?")
    									say("")
    									local d = select("Cueva de Arañas","Cueva de Arañas 2","Gruta del Exilio","Gruta del Exilio 2","Continuar","Cerrar")
    									
    									if d == 1 then
    									say_title(""..mob_name(id_npc).."")
    									say("Vas a ser teletransportado a la Cueva de Arañas.")
    									say("¡Buena suerte!")
    									wait()
    										pc.warp(51200 , 486400)
    									end
    									
    									if d == 2 then
    									say_title(""..mob_name(id_npc).."")
    									say("Vas a ser teletransportado a la Cueva de Arañas 2.")
    									say("¡Buena suerte!")
    									wait()
    										pc.warp(665600 , 435200)
    									end
    									
    									if d == 3 then
    									say_title(""..mob_name(id_npc).."")
    									say("Vas a ser teletransportado a la Gruta del Exilio.")
    									say("¡Buena suerte!")
    									wait()
    										pc.warp(0 , 1203200)
    									end
    									
    									if d == 4 then
    									say_title(""..mob_name(id_npc).."")
    									say("Vas a ser teletransportado a la Gruta")
    									say("del Exilio 2.")
    									say("¡Buena suerte!")
    									wait()
    										pc.warp(153600 , 1203200)
    									end
    									
    									if d == 6 then
    										return
    									end
    									
    									if d == 5 then
    										say_title(""..mob_name(id_npc).."")
    										say("¿A donde quieres ser teletransportado?")
    										say("")
    										local e = select("Shinsoo - Yongan","Chunjo - Joan","Jinno - Pyungmoo","Cerrar")
    										
    										if e == 1 then
    										say_title(""..mob_name(id_npc).."")
    										say("Vas a ser teletransportado a Yongan.")
    										say("¡Buena suerte!")
    										wait()
    											pc.warp(409600 , 896000)
    										end
    										
    										if e == 2 then
    										say_title(""..mob_name(id_npc).."")
    										say("Vas a ser teletransportado a Joan.")
    										say("¡Buena suerte!")
    										wait()
    											pc.warp(0 , 102400)
    										end
    										
    										if e == 3 then
    										say_title(""..mob_name(id_npc).."")
    										say("Vas a ser teletransportado a Pyungmoo.")
    										say("¡Buena suerte!")
    										wait()
    											pc.warp(921600 , 204800)
    										end
    										
    										if d == 4 then
    											return
    										end
    									end
    								end
    						end
    				end
    		end
    	end
    end
    

    Cambio de Raza

    ----------------------------------
    --	Quest adaptada por ElRaulxX	--
    --	para DestroyerMt2 	----------
    --	UniversoJuegos.es	----------
    ----------------------------------
    
    quest cambio_raza begin
    	state start begin
    		
    		when id_item.use begin
    			say_title("Cambio de Raza")	
    			say("Con este mágico objeto podrás cambiar la raza") 
    			say("de tu personaje.")
    			say("Tu pj tendrá otro aspecto y habilidades distintas.")
    			say("ATENCIÓN: Debes guardar todo tu equipo antes de")
    			say("hacer el cambio. Tu personaje podría bugearse.")
    			say("Ademas, debes volver a entrar a tu cuenta para que")
    			say("todos los cambios sean realizados.")
    			say("")
    			say_reward("¿Quieres cambiar la raza de tu personaje?")
    			say("")
    			local main_set = select ("Si","No") 
    			
    				if main_set == 2 then 
    					return 
    				end 
    				
    				if main_set == 1 then 
    					say_title("Cambio de Raza")
    					say("¿Cual quieres que sea la nueva raza para tu")
    					say("personaje?")
    					say("")
    					local razzacambiasex = select ("Guerrero","Ninja","Sura","Shaman","Cancelar")
    						
    						if razzacambiasex == 1 then
    							say_title("Cambio de Raza")
    							say("¿Cual quieres que sea el sexo de tu personaje?")
    							say("")
    							local sexwar = select ("Hombre","Mujer","Cancelar")
    							
    								if sexwar == 1 then
    									pc.polymorph("4")
    									pc.change_sex()
    									pc.clear_skill()
    									pc.set_skill_group(0)
    								
    								elseif sexwar == 2 then
    									pc.polymorph("4")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.polymorph("1")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.clear_skill()
    									pc.set_skill_group(0)
    								
    								elseif sexwar == 3 then
    									return
    								end
    
    						elseif razzacambiasex == 2 then
    							say_title("Cambio de Raza")
    							say("¿Cual quieres que sea el sexo de tu personaje?")
    							say("")
    							local sexninja = select ("Hombre","Mujer","Cancelar")
    								
    								if sexninja == 2 then 
    									pc.polymorph("5")
    									pc.change_sex()
    									pc.clear_skill()
    									pc.set_skill_group(0)
    								
    								elseif sexninja == 1 then
    									pc.polymorph("5")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.polymorph("1")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.clear_skill()
    									pc.set_skill_group(0)
    									
    								elseif sexninja == 3 then
    									return
    								end
    						
    						elseif razzacambiasex == 3 then
    							say_title("Cambio de Raza")
    							say("¿Cual quieres que sea el sexo de tu personaje?")
    							say("")
    							local sexsura = select ("Hombre","Mujer","Cancelar")
    
    								if sexsura == 1 then            
    									pc.polymorph("6")
    									pc.change_sex()
    									pc.clear_skill()
    									pc.set_skill_group(0)
    
    								elseif sexsura == 2 then
    									pc.polymorph("6")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.polymorph("1")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.clear_skill()
    									pc.set_skill_group(0)
    								
    								elseif sexsura == 3 then
    									return
    								end
    						
    						elseif razzacambiasex == 4 then
    							say_title("Cambio de Raza")
    							say("¿Cual quieres que sea el sexo de tu personaje?")
    							say("")
    							local sexshamy = select ("Hombre","Mujer","Cancelar")
    
    								if sexshamy == 2 then            
    									pc.polymorph("7")
    									pc.change_sex()
    									pc.clear_skill()
    									pc.set_skill_group(0)
    
    								elseif sexshamy == 1 then
    									pc.polymorph("7")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.polymorph("1")
    									pc.change_sex()
    									pc.polymorph("20032")
    									pc.clear_skill()
    									pc.set_skill_group(0)
    								
    								elseif sexshamy == 3 then
    									return
    								end
    						
    						elseif razzacambiasex == 5 then
    							return
    						end
    						
    				end
    		end
    	end
    end
    

    Desbloqueo de Monturas:

    ----------------------------------
    --	Quest creada por ElRaulxX	--
    --	para Inferno	--------------
    --	UniversoJuegos.es	----------
    ----------------------------------
    
    quest desbloqueo_monturas begin
    	state start begin
    
    		when id_item1.use begin
    			say_title("Manual del Domador")
    			say("Con este manual podrás domar una montura a tu")
    			say("elección durante un tiempo limitado.")
    			say("Puedes desbloquar nuevas monturas haciendo")
    			say("uso de Desbloqueadores.")
    			say("")
    			say_reward("¿Deseas domar una montura?")
    			local a = select("Si","No")
    				
    				if a == 1 then
    					say_title("Manual del Domador")
    					say("¿Que montura quieres domar?")
    					say("")
    					local b = select("Jabali","Lobo","Tigre","León","Continuar","Cerrar")
    						if b == 1 then
    						say_title("Manual del Domador")
    						say("Ahora tendrás un Jabalí a tu disposición")
    						say("durante 5 minutos.")
    						say("")
    						wait()
    							pc.mount(20110, 300)
    						end
    						
    						if b == 2 then
    						say_title("Manual del Domador")
    						say("Ahora tendrás un Lobo a tu disposición")
    						say("durante 5 minutos.")
    						say("")
    						wait()
    							pc.mount(20111, 300)
    						end
    						
    						if b == 3 then
    						say_title("Manual del Domador")
    						say("Ahora tendrás un Tigre a tu disposición")
    						say("durante 5 minutos.")
    						say("")
    						wait()
    							pc.mount(20112, 300)
    						end
    						
    						if b == 4 then
    						say_title("Manual del Domador")
    						say("Ahora tendrás un León a tu disposición")
    						say("durante 5 minutos.")
    						say("")
    						wait()
    							pc.mount(20113, 300)
    						end
    						
    						if b == 6 then
    							return
    						end
    						
    						if b == 5 then
    							if pc.getqf("desbloquear") >= 1 then
    								say_title("Manual del Domador")
    								say("Has utilizado el Primer desbloqueo, por lo tanto")
    								say("puedes domar las siguientes monturas.")
    								say("")
    								local c = select("Jabali de Combate","Lobo de Guerra","Tigre de Ataque","León de Batalla","Continuar","Cerrar")
    									if c == 1 then
    										say_title("Manual del Domador")
    										say("Ahora tendrás un Jabalí de Combate a tu")
    										say("disposición durante 5 minutos.")
    										say("")
    										wait()
    											pc.mount(20115, 300)
    									end
    									
    									if c == 2 then
    										say_title("Manual del Domador")
    										say("Ahora tendrás un Lobo de Guerra a tu")
    										say("disposición durante 5 minutos.")
    										say("")
    										wait()
    											pc.mount(20116, 300)
    									end
    									
    									if c == 3 then
    										say_title("Manual del Domador")
    										say("Ahora tendrás un Tigre de Ataque a tu")
    										say("disposición durante 5 minutos.")
    										say("")
    										wait()
    											pc.mount(20117, 300)
    									end
    									
    									if c == 4 then
    										say_title("Manual del Domador")
    										say("Ahora tendrás un León de Batalla a tu")
    										say("disposición durante 5 minutos.")
    										say("")
    										wait()
    											pc.mount(20118, 300)
    									end
    									
    									if c == 6 then
    										return
    									end
    									
    									if c == 5 then
    										if pc.getqf("desbloquear") >= 2 then
    											say_title("Manual del Domador")
    											say("Has utilizado el Segundo desbloqueo, por lo tanto")
    											say("puedes domar las siguientes monturas.")
    											say("")
    										else
    											say_title("Manual del Domador")
    											say("Debes utilizar id_item3 para desbloquear mas")
    											say("monturas.")
    											say("")
    											wait()
    										end
    									end
    
    							else
    								say_title("Manual del Domador")
    								say("Debes utilizar id_item2 para desbloquear mas")
    								say("monturas.")
    								say("")
    								wait()
    									return
    							end
    								
    						end
    				end
    				
    				if a == 2 then
    					return
    				end
    		
    		end
    		
    		when id_item2.use begin
    			
    			if pc.get_level() < 35 then
    				say_title("Desbloquear Monturas")
    				say("Debes tener un nivel superior a 35 para poder")
    				say("desbloquear mas monturas.")
    			end
    			
    			if pc.get_level() >= 35 then
    				say_title("Desbloquear Monturas")
    				say("Con este item puedes desbloquear 4 monturas mas")
    				say("del Manual del Domador.")
    				say("")
    				say_reward("¿Deseas desbloquear mas monturas?")
    				local desb1 = select("Si","No")
    					
    					if desb1 == 1 then
    						say_title("Desbloquear Monturas")
    						say("Acabas de desbloquear 4 nuevas monturas de tu")
    						say("Manual del Domador.")
    						say("")
    						wait()
    						pc.remove_item(id_item2)
    						pc.setqf("desbloquear",1)
    					end
    					
    					if desb1 == 2 then
    						return
    					end
    
    			end
    		end
    			
    	end
    end
  • si me puedes hacer una quest de cambio de raza
    por medio de 1 item te lo agradeceria
    :wiii:

  • Hola.. Me puedes hacer un Multiusos con .. Super Teletranportador y Caballo militar .. Creo q es bien sencillita.... Tipo la de Metin2 Guabina.. _xD_ desde ya gracias..

  • Esta es la quest que quiero:

    Tengo 1 item, lo llamaremos llave. Tengo otro item, lo llamaremos libro. Al apretar el libro si eres menor de nivel 25 pues te sale en la ventanita que no tienes suficiente nivel. Y a partir de nivel 25 te salen 4 opciones de monturas, la del leon, jabali, lobo y tigre. Entonces una persona a partir de nivel 35 puede usar la llave de nivel 35 (osea que si eres 34 no te deja usar esa llave) (si no tienes el libro no te funcionara la llave) . Al usarla desbloqueara 4 monturas mas, como la ventana digamos que es demasiado pequeña habra 1 opcion que sea asi:

    Montura Jabali
    Montura León
    Montura Lobo
    Montura Tigre
    Siguiente
    Salir

    Pues al apretar a siguiente te expondrá las siguiente 4 monturas. Oviamente si no has desbloqueado más monturas con la llave lo de siguiente no estara. Luego habra más llaves, digamos otra de nivel 50(si eres 49 no la puedes usar para desbloquear toras 4 monturas).

    Bueno con que me hicieses eso yo ya podria seguir haciendo la quest con más llaves no solo dos. Pero tu pon solo 2 de ejemplo.

  • @Inferno said:

    Esta es la quest que quiero:

    Tengo 1 item, lo llamaremos llave. Tengo otro item, lo llamaremos libro. Al apretar el libro si eres menor de nivel 25 pues te sale en la ventanita que no tienes suficiente nivel. Y a partir de nivel 25 te salen 4 opciones de monturas, la del leon, jabali, lobo y tigre. Entonces una persona a partir de nivel 35 puede usar la llave de nivel 35 (osea que si eres 34 no te deja usar esa llave) (si no tienes el libro no te funcionara la llave) . Al usarla desbloqueara 4 monturas mas, como la ventana digamos que es demasiado pequeña habra 1 opcion que sea asi:

    Montura Jabali
    Montura León
    Montura Lobo
    Montura Tigre
    Siguiente
    Salir

    Pues al apretar a siguiente te expondrá las siguiente 4 monturas. Oviamente si no has desbloqueado más monturas con la llave lo de siguiente no estara. Luego habra más llaves, digamos otra de nivel 50(si eres 49 no la puedes usar para desbloquear toras 4 monturas).

    Bueno con que me hicieses eso yo ya podria seguir haciendo la quest con más llaves no solo dos. Pero tu pon solo 2 de ejemplo.

    Men creo que la e echo bien,... pero antes tasteala en algun otro instant antes de ponerlo en el bueno, no me a dado tiempo de tastearla

    quest Monturas begin
    	state start start begin
    			when IDDDDDDD.use begin
    
    			if pc.get_level() > 25 then and pc.count_item(ID llave 1) then
    
    				say_title("Libro de Montura")
    				say("")
    				say("Bueno veo que tienes un libro de")
    				say ("montura. Con esto podras obtener")
    				say ("una montura si tienes el nivel y la")
    				say ("llave. ")
    				say ("Desea continuar?")
    
    				locale sn == select ("Si" , "No")
    
    				if sn = 1 then
                    		monturas_1.move_pc()
    				say_title ("Monturas")
    				say ("")
    				say ("Aqui tienes las monturas disponibles!")
    
    				locale m1 == select ("montura1" , "montura2" , "salir")
    				
    				if m1 = 1 then
    				command (   )
    				return	
    			end
    				if m1 = 2 then
    				command (   )
    				return	
    			end
    
    			
    			if pc.get_level() > 40 then and pc.count_item(ID llave 2) and monturas_1.move_pc() == true then
    
    				say_title("Monturas 2")
    				say("")
    				say("Bueno veo que tienes un libro de")
    				say ("montura. Con esto podras obtener")
    				say ("una montura si tienes el nivel y la")
    				say ("llave. ")
    				say ("Desea continuar?")
    
    				locale sn == select ("Si" , "No")
    
    				if sn = 1 then
                    		monturas_2.move_pc()
    				say_title ("Monturas 2 ")
    				say ("")
    				say ("Aqui tienes las monturas disponibles!")
    
    				locale m2 == select ("montura1" , "montura2" , "montura 3" , "montura 4" , "siguiente" , "salir")
    				
    				if m2 = 1 then
    				command (   )
    				return	
    			end
    				if m2 = 2 then
    				command (   )
    				return	
    			end
    				if m2 = 3 then
    				command (   )
    				return	
    			end
    				if m2 = 4 then
    				command (   )
    				return	
    			end
    				if m5 = 1 then
    
    				locale m21 == select ("montura5" , "montura6" , "montura 7" , "montura 8" , "salir")
    
    				if m21 = 1 then
    				command (   )
    				return	
    			end
    
    				if m21 = 2 then
    				command (   )
    				return	
    			end
    
    				if m21 = 3 then
    				command (   )
    				return	
    			end
    
    				if m21 = 4 then
    				command (   )
    				return	
    			end
    		
    				if pc.get_level() > 60 then and pc.count_item(ID llave 3) and monturas_2.move_pc() == true then
    
    				say_title("Monturas 3")
    				say("")
    				say("Bueno veo que tienes un libro de")
    				say ("montura. Con esto podras obtener")
    				say ("una montura si tienes el nivel y la")
    				say ("llave. ")
    				say ("Desea continuar?")
    
    				locale sn == select ("Si" , "No")
    
    				if sn = 1 then
                    		monturas_3.move_pc()
    				say_title ("Monturas 3 ")
    				say ("")
    				say ("Aqui tienes las monturas disponibles!")
    
    				locale m2 == select ("montura1" , "montura2" , "montura 3" , "montura 4" , "siguiente" , "salir")
    				
    				if m2 = 1 then
    				command (   )
    				return	
    			end
    				if m2 = 2 then
    				command (   )
    				return	
    			end
    				if m2 = 3 then
    				command (   )
    				return	
    			end
    				if m2 = 4 then
    				command (   )
    				return	
    			end
    				if m5 = 1 then
    
    				locale m21 == select ("montura5" , "montura6" , "montura 7" , "montura 8" , "salir")
    
    				if m21 = 1 then
    				command (   )
    				return	
    			end
    
    				if m21 = 2 then
    				command (   )
    				return	
    			end
    
    				if m21 = 3 then
    				command (   )
    				return	
    			end
    
    				if m21 = 4 then
    				command (   )
    				return	
    			end
    		
    
            		function move_pc()
    
    				if pc.get_level() < 25 then
    				say_title ("Monturas")
    				say ("")
    				say ("Lo siento debes ser lvl 25 minimo")
    				return false
    			end
    				if pc.count_item(ID llave 1)
    				say_title ("Monturas")
    				say ("")
    				say ("Lo siento no dispones de la llave")
    				return false
    			end
    	end
    end
    

    Espero que este bien echa, si no alguien que sepa mas que la corrija

  • @Inmatable2 said:

    @Inferno said:

    Esta es la quest que quiero:

    Tengo 1 item, lo llamaremos llave. Tengo otro item, lo llamaremos libro. Al apretar el libro si eres menor de nivel 25 pues te sale en la ventanita que no tienes suficiente nivel. Y a partir de nivel 25 te salen 4 opciones de monturas, la del leon, jabali, lobo y tigre. Entonces una persona a partir de nivel 35 puede usar la llave de nivel 35 (osea que si eres 34 no te deja usar esa llave) (si no tienes el libro no te funcionara la llave) . Al usarla desbloqueara 4 monturas mas, como la ventana digamos que es demasiado pequeña habra 1 opcion que sea asi:

    Montura Jabali
    Montura León
    Montura Lobo
    Montura Tigre
    Siguiente
    Salir

    Pues al apretar a siguiente te expondrá las siguiente 4 monturas. Oviamente si no has desbloqueado más monturas con la llave lo de siguiente no estara. Luego habra más llaves, digamos otra de nivel 50(si eres 49 no la puedes usar para desbloquear toras 4 monturas).

    Bueno con que me hicieses eso yo ya podria seguir haciendo la quest con más llaves no solo dos. Pero tu pon solo 2 de ejemplo.

    Men creo que la e echo bien,... pero antes tasteala en algun otro instant antes de ponerlo en el bueno, no me a dado tiempo de tastearla

    quest Monturas begin
    	state start start begin
    			when IDDDDDDD.use begin
    
    			if pc.get_level() > 25 then and pc.count_item(ID llave 1) then
    
    				say_title("Libro de Montura")
    				say("")
    				say("Bueno veo que tienes un libro de")
    				say ("montura. Con esto podras obtener")
    				say ("una montura si tienes el nivel y la")
    				say ("llave. ")
    				say ("Desea continuar?")
    
    				locale sn == select ("Si" , "No")
    
    				if sn = 1 then
                    		monturas_1.move_pc()
    				say_title ("Monturas")
    				say ("")
    				say ("Aqui tienes las monturas disponibles!")
    
    				locale m1 == select ("montura1" , "montura2" , "salir")
    				
    				if m1 = 1 then
    				command (   )
    				return	
    			end
    				if m1 = 2 then
    				command (   )
    				return	
    			end
    
    			
    			if pc.get_level() > 40 then and pc.count_item(ID llave 2) and monturas_1.move_pc() == true then
    
    				say_title("Monturas 2")
    				say("")
    				say("Bueno veo que tienes un libro de")
    				say ("montura. Con esto podras obtener")
    				say ("una montura si tienes el nivel y la")
    				say ("llave. ")
    				say ("Desea continuar?")
    
    				locale sn == select ("Si" , "No")
    
    				if sn = 1 then
                    		monturas_2.move_pc()
    				say_title ("Monturas 2 ")
    				say ("")
    				say ("Aqui tienes las monturas disponibles!")
    
    				locale m2 == select ("montura1" , "montura2" , "montura 3" , "montura 4" , "siguiente" , "salir")
    				
    				if m2 = 1 then
    				command (   )
    				return	
    			end
    				if m2 = 2 then
    				command (   )
    				return	
    			end
    				if m2 = 3 then
    				command (   )
    				return	
    			end
    				if m2 = 4 then
    				command (   )
    				return	
    			end
    				if m5 = 1 then
    
    				locale m21 == select ("montura5" , "montura6" , "montura 7" , "montura 8" , "salir")
    
    				if m21 = 1 then
    				command (   )
    				return	
    			end
    
    				if m21 = 2 then
    				command (   )
    				return	
    			end
    
    				if m21 = 3 then
    				command (   )
    				return	
    			end
    
    				if m21 = 4 then
    				command (   )
    				return	
    			end
    		
    				if pc.get_level() > 60 then and pc.count_item(ID llave 3) and monturas_2.move_pc() == true then
    
    				say_title("Monturas 3")
    				say("")
    				say("Bueno veo que tienes un libro de")
    				say ("montura. Con esto podras obtener")
    				say ("una montura si tienes el nivel y la")
    				say ("llave. ")
    				say ("Desea continuar?")
    
    				locale sn == select ("Si" , "No")
    
    				if sn = 1 then
                    		monturas_3.move_pc()
    				say_title ("Monturas 3 ")
    				say ("")
    				say ("Aqui tienes las monturas disponibles!")
    
    				locale m2 == select ("montura1" , "montura2" , "montura 3" , "montura 4" , "siguiente" , "salir")
    				
    				if m2 = 1 then
    				command (   )
    				return	
    			end
    				if m2 = 2 then
    				command (   )
    				return	
    			end
    				if m2 = 3 then
    				command (   )
    				return	
    			end
    				if m2 = 4 then
    				command (   )
    				return	
    			end
    				if m5 = 1 then
    
    				locale m21 == select ("montura5" , "montura6" , "montura 7" , "montura 8" , "salir")
    
    				if m21 = 1 then
    				command (   )
    				return	
    			end
    
    				if m21 = 2 then
    				command (   )
    				return	
    			end
    
    				if m21 = 3 then
    				command (   )
    				return	
    			end
    
    				if m21 = 4 then
    				command (   )
    				return	
    			end
    		
    
            		function move_pc()
    
    				if pc.get_level() < 25 then
    				say_title ("Monturas")
    				say ("")
    				say ("Lo siento debes ser lvl 25 minimo")
    				return false
    			end
    				if pc.count_item(ID llave 1)
    				say_title ("Monturas")
    				say ("")
    				say ("Lo siento no dispones de la llave")
    				return false
    			end
    	end
    end
    

    Espero que este bien echa, si no alguien que sepa mas que la corrija

    En principio era mi taller pero bueno...

    A simple vista me ha parecido ver varios errores de sintaxis y de ends (así le llamo yo xd)

    EDITO: No es por desanimarte, pero la he vuelto a revisar esta quest no va a funcionar. Haciendo como lo has echo, tan solo el server te leería el primer "if", luego se cerraría la quest (hablando de una manera de andar por casa xd). Ademas has puesto 2 "then" en una misma linea, "state start start begin", etc.

    Yo tenía pensado hacerla a través de states, mas claro y sencillo de hacer y menos posibilidad de error.
    En cuanto acabe los pedidos los posteo o los envío por MP.

  • Me parece buena idea lo que haces raul, aunque ten en cuenta que el mundo de las quests no es ni mucho menos sencillo, y no siempre viendo otras quests puedes hacer lo que te propones.

    Por suerte la mayor parte de las quests son de uso bastante sencillo (monturas, mascotas, misiones...) pero siempre me asombro cuando luego voi viendo por elite o inforge las misiones que se curra la gente, asi que espero que aprendas mucho de quests :wiii:

  • @kekoroto said:

    Me parece buena idea lo que haces raul, aunque ten en cuenta que el mundo de las quests no es ni mucho menos sencillo, y no siempre viendo otras quests puedes hacer lo que te propones.

    Por suerte la mayor parte de las quests son de uso bastante sencillo (monturas, mascotas, misiones...) pero siempre me asombro cuando luego voi viendo por elite o inforge las misiones que se curra la gente, asi que espero que aprendas mucho de quests :wiii:

    Hombre, hay quest y quest, pero en realidad todas siguen el mismo estilo. Todo parte de un state, un pc.setqf, un dungeon... por eso yo lo considero algo "sencillo".
    No se si me has entendido mal, yo no hago las quest copiando otras, empecé así, pero ya llevo un tiempo. Llega un momento que solo hace falta entender el funcionamiento de las quest para poder aplicar la idea.
    Por ejemplo, Inmatable2 ha utilizado ifs para crear la quest de Inferno, pero de esta manera no se puede llegar a la idea, se debería aplicar un state cuando se use el item con x nivel para que en el state aplicado te muestre las nuevas opciones (es una manera de hacerla, quizá haya mas).

    Pero claro, llega un momento en que el nivel de las quest ya es muy elevado. Por ejemplo, conectar a la base de datos a través de una quest... ahí ya no llego, necesitaría mas tiempo investigando y aprendiendo.
    A parte de ayudar a la gente, con ideas como la de Inferno voy mejorando. Este es el objetivo principal de este taller.

  • Raul yo soi noob esto de las quests, pero nadamas pretendia ayudarte, que veo que con los 3 pedidos hay un poco de faena

    Porfavor si la arreglaste me la puedes pasar por mp o posteala aqui,... esque quiero ver en que me e equivocado

    PD: de los errores se aprende xD

  • @agumuller said:

    Hola.. Me puedes hacer un Multiusos con .. Super Teletranportador y Caballo militar .. Creo q es bien sencillita.... Tipo la de Metin2 Guabina.. _xD_ desde ya gracias..

    Aquí tienes las quests del caballo militar y super-teletransportador con 15 mapas (te las dejo en adjunto).
    Remplaza id_npc por la id del npc que quieras.

    Son las mas sencillas, por lo tanto las he echo primero.
    En cuanto pueda hago las demás.