Jump to content

Recommended Posts

Posted

Hola, tengo esta quest pero cada vez que alguien sale y entra, o cambia de mapa y eso se le vuelven a dar los items, como es para que solo sea una vez?

 

quest give_basic_weapon begin
	    state start begin
			    when login begin
					   say_title ( "Bienvenido" )
					   say_title ( "A Metin2Neocon" )
					   say ( "" )
					   pc . give_exp2 ( )
					   set_quest_state ( "levelup" , "run" )
					   pc . give_item2 ( "70042" , 1 )
					   pc . give_item2 ( "70007" , 1 )
					   pc . give_item2 ( "27003" , 200 )
					   pc . give_item2 ( "27003" , 200 )
					   pc . give_item2 ( "27003" , 200 )
					   pc . give_item2 ( "27006" , 200 )
					   pc . give_item2 ( "72701" , 1 )
   pc . give_item2 ( "71150" , 1 )
					   pc . give_item2 ( "50052" , 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   say_reward ( "" )
					   say_reward ( "" )
					   say_reward ( "Recibes 600 Pociones Rojas(G)." )
					   say_reward ( "Recibes 200 Pociones Azules(G)." )
					   say_reward ( "Recibes Caballo Armado" )
					   clear_letter ( )
					   set_state ( "__COMPLETE__" )
					   if pc . job == 0 then
					   pc . give_item2 ( "11209" , 1 )
					   pc . give_item2 ( "11219" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "19" , 1 )
					   pc . give_item2 ( "3009" , 1 )
					   pc . give_item2 ( "12207" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
					   elseif pc . job == 1 then
					   pc . give_item2 ( "11409" , 1 )
					   pc . give_item2 ( "11419" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "1009" , 1 )
					   pc . give_item2 ( "2009" , 1 )
					   pc . give_item2 ( "8009" , 200 )
					   pc . give_item2 ( "12347" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
					   elseif pc . job == 2 then
					   pc . give_item2 ( "11609" , 1 )
					   pc . give_item2 ( "11619" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "19" , 1 )
					   pc . give_item2 ( "29" , 1 )
					   pc . give_item2 ( "12487" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
					   elseif pc . job == 3 then
					   pc . give_item2 ( "11809" , 1 )
					   pc . give_item2 ( "11819" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "7009" , 1 )
					   pc . give_item2 ( "12627" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
				  end
			  end
		  end
		  state __COMPLETE__ begin
			    when enter begin
					    q.done()
			    end
		  end
end
Posted

asi no se repite

horse . advance ( 1 )
										   horse . advance ( 1 )
										   horse . advance ( 1 )
										   horse . advance ( 1 )
										   horse . advance ( 1 )
										   horse . advance ( 1 )
										   horse . advance ( 1 )
										   horse . advance ( 1 )-- esto podes cambiarlo por
horse.set_level ("21")
			    horse.ride()

Asi queda mejor

 

quest give_basic_weapon begin
    state start begin
	    when login begin
			  notice_all(""..string . format ("%s",pc.name).." Bienvenido")
		    if pc.getqf("basic_weapon") == 0 then
			    pc.setqf("basic_weapon", 1)
			    if pc.job == 0 then
				    pc.give_item2(11209,1)
								   pc.give_item2(12209,1)
								   pc.give_item2(00019,1)
								   pc.give_item2(03009,1)
			    elseif pc.job == 1 then
								   pc.give_item2(11409,1)
								   pc.give_item2(12349,1)
								   pc.give_item2(01009,1)
								   pc.give_item2(02009,1)
								   pc.give_item2(08000,200)
			    elseif pc.job == 2 then
								   pc.give_item2(11609,1)
								   pc.give_item2(12489,1)
								   pc.give_item2(00019,1)
			    elseif pc.job == 3 then
								   pc.give_item2(11809,1)
								   pc.give_item2(12629,1)
								   pc.give_item2(05009,1)
								   pc.give_item2(07009,1)
			    else
			    say_title("Bienvenido a Mt2Infinity!")
			    say("Bienvenido a Mt2Inifnity!")
			    say("Para empezar, podras cazar")
			    say("perros salvajes y callejeros.")
			    say("Buena suerte!")
			    say_title("Has recibido:")
			    say_reward("Un equipamiento nivel +9")
			    say_reward("200 pociones rojas y azules.")
			    say_reward("100 pociones verdes y moradas")
			    end
			    if pc.countitem(item) == 0 and pc.weapon != item then
    horse.set_level ("21")
			    horse.ride()
				    pc.give_item2(50051,1)
				    pc.give_item2(13009,1)
				    pc.give_item2(14009,1)
				    pc.give_item2(15009,1)
				    pc.give_item2(16009,1)
				    pc.give_item2(17009,1)
				    pc.give_item2(27003,200)
				    pc.give_item2(27006,200)
				    pc.give_item2(27112,100)
				    pc.give_item2(27115,100)
                    pc.give_item2(50053,1)
			    end
		    end
	    end
    end
end
Posted

Si quieres que no se repita debes cambiar el state al que has dejado vacío y has nombrado _COMPLETE_

Tan solo debes añadir

set_state("__COMPLETE__")
Al final de la primera parte de la quest.

Es decir, así sería:

quest give_basic_weapon begin
		state start begin
				when login begin
					   say_title ( "Bienvenido" )
					   say_title ( "A Metin2Neocon" )
					   say ( "" )
					   pc . give_exp2 ( )
					   pc . give_item2 ( "70042" , 1 )
					   pc . give_item2 ( "70007" , 1 )
					   pc . give_item2 ( "27003" , 200 )
					   pc . give_item2 ( "27003" , 200 )
					   pc . give_item2 ( "27003" , 200 )
					   pc . give_item2 ( "27006" , 200 )
					   pc . give_item2 ( "72701" , 1 )
   pc . give_item2 ( "71150" , 1 )
					   pc . give_item2 ( "50052" , 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   horse . advance ( 1 )
					   say_reward ( "" )
					   say_reward ( "" )
					   say_reward ( "Recibes 600 Pociones Rojas(G)." )
					   say_reward ( "Recibes 200 Pociones Azules(G)." )
					   say_reward ( "Recibes Caballo Armado" )
					   clear_letter ( )
					   if pc . job == 0 then
					   pc . give_item2 ( "11209" , 1 )
					   pc . give_item2 ( "11219" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "19" , 1 )
					   pc . give_item2 ( "3009" , 1 )
					   pc . give_item2 ( "12207" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
					   elseif pc . job == 1 then
					   pc . give_item2 ( "11409" , 1 )
					   pc . give_item2 ( "11419" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "1009" , 1 )
					   pc . give_item2 ( "2009" , 1 )
					   pc . give_item2 ( "8009" , 200 )
					   pc . give_item2 ( "12347" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
					   elseif pc . job == 2 then
					   pc . give_item2 ( "11609" , 1 )
					   pc . give_item2 ( "11619" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "19" , 1 )
					   pc . give_item2 ( "29" , 1 )
					   pc . give_item2 ( "12487" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
					   elseif pc . job == 3 then
					   pc . give_item2 ( "11809" , 1 )
					   pc . give_item2 ( "11819" , 1 )
					   pc . give_item2 ( "13007" , 1 )
					   pc . give_item2 ( "14007" , 1 )
					   pc . give_item2 ( "15007" , 1 )
					   pc . give_item2 ( "7009" , 1 )
					   pc . give_item2 ( "12627" , 1 )
					   pc . give_item2 ( "16007" , 1 )
					   pc . give_item2 ( "17007" , 1 )
					   say_reward ( "Bienvenido a Metin2neocon" )
				  end
				  set_state("__COMPLETE__")
			  end
		  end
		  state __COMPLETE__ begin
		  end
end

Así debería funcionar.

PD: Te daba error porqué habías copiado un set_state de otra quest dónde dicho state no existe en esta quest.

  • Dilong locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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

Important Information

This site uses cookies to enhance your browsing experience and provide relevant content. By continuing to browse, you agree to our We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. and Terms of Use. For more information on how we protect your data, please check our Privacy Policy.