Jump to content

[Quest] Item para habs a P


KeKo

Recommended Posts

Hola a todos, por peticion de Thanatos hice esta quest para subirte las habs a P, esta perfectamente probada y funciona perfectamente, solo ponedle la id del item que querais usar.

 

Nueva quest by Noa, super reducida, detecta sola tu raza y profesion y te sube las habs a P:

 

quest perfect begin
state start begin
when 30100.use begin
table.foreachi(special.active_skill_list[pc.get_job()+1][pc.get_skill_group()],function(r,skill) pc.set_skill_level(skill,59) end)
chat("Has recibido tus P")
item.remove()
end
end
end

Y aqui la vieja en spoiler por si alguien la quiere seguir usando:

 

 

quest itemhabs begin
   state start begin

			when 30100.use begin

		say("Hola quieres entrenar tus habilidades?")
		say("Con ese objeto puedes subirlas a P")
		say("y no tienes que darme nada a cambio.")
		say("asi que cuando quieras te las subo.")
		say_reward("Entrenar habilidades")
		local habs = select ("Guerrero" , "Ninja" , "Sura" , "Chaman" , "Cerrar")
		if habs == 1 then
				say("Eres cuerpo o mental?")
				say_reward("Elije tu profesion")
		 local guerr = select ("Cuerpo", "Mental", "Cerrar")
		if guerr == 1 then
				pc.set_skill_level(1,59)
				pc.set_skill_level(2,59)
				pc.set_skill_level(3,59)
				pc.set_skill_level(4,59)
				pc.set_skill_level(5,59)
				pc.set_skill_level(6,59)
				chat("Has recibido tus P")
				item.remove()
		elseif guerr == 2 then
				pc.set_skill_level(16,59)
				pc.set_skill_level(17,59)
				pc.set_skill_level(18,59)
				pc.set_skill_level(19,59)
				pc.set_skill_level(20,59)
				pc.set_skill_level(21,59)
				chat("Has recibido tus P")
				item.remove()
		elseif guerr == 3 then
				return
		end
		elseif habs == 2 then
				say("Eres asesino o arquero?")
				say_reward("Elije tu profesion")

		 local ninj = select ("Asesino", "Arquero", "Cerrar")

				if ninj == 1 then
				pc.set_skill_level(31,59)
				pc.set_skill_level(32,59)
				pc.set_skill_level(33,59)
				pc.set_skill_level(34,59)
				pc.set_skill_level(35,59)
				pc.set_skill_level(36,59)
				chat("Has recibido tus P")
				item.remove()
				elseif ninj == 2 then
			   pc.set_skill_level(46,59)
				pc.set_skill_level(47,59)
				pc.set_skill_level(48,59)
				pc.set_skill_level(49,59)
				pc.set_skill_level(50,59)
				pc.set_skill_level(51,59)
				chat("Has recibido tus P")
				item.remove()
				elseif ninj == 3 then
				return
				end

		 elseif habs == 3 then
				say("Eres magia negra o espejo?")
				say_reward("Elije tu profesion")

		 local sur = select ("Mag. Negra", "Espejo", "Cerrar")

				if sur == 1 then
				pc.set_skill_level(76,59)
				pc.set_skill_level(77,59)
				pc.set_skill_level(78,59)
				pc.set_skill_level(79,59)
				pc.set_skill_level(80,59)
				pc.set_skill_level(81,59)
				chat("Has recibido tus P")
				item.remove()
				elseif sur == 2 then
				pc.set_skill_level(61,59)
				pc.set_skill_level(62,59)
				pc.set_skill_level(63,59)
				pc.set_skill_level(64,59)
				pc.set_skill_level(65,59)
				pc.set_skill_level(66,59)
				chat("Has recibido tus P")
				item.remove()
				elseif sur == 3 then
				return
		  end
		  elseif habs == 4 then
				say("Eres dragon o curacion?")
				say_reward("Elije tu profesion")

		 local cham = select ("Dragon", "Curacion", "Cerrar")

				if cham == 1 then
				pc.set_skill_level(91,59)
				pc.set_skill_level(92,59)
				pc.set_skill_level(93,59)
				pc.set_skill_level(94,59)
				pc.set_skill_level(95,59)
				pc.set_skill_level(96,59)
				chat("Has recibido tus P")
				item.remove()
				elseif cham == 2 then
				pc.set_skill_level(106,59)
				pc.set_skill_level(107,59)
				pc.set_skill_level(108,59)
				pc.set_skill_level(109,59)
				pc.set_skill_level(110,59)
				pc.set_skill_level(111,59)
				chat("Has recibido tus P")
				item.remove()
				elseif cham == 3 then
				return
		  end
		  elseif habs == 5 then
				return
					   end
			   end

		end
end

 

Link to comment
Share on other sites

  • 2 months later...

keko aste el favor de decirme si esta bien:

 

quest portmap begin
state start begin
  when login begin
   set_state(informacion)
  end
end
state information begin
  when letter begin
   send_letter("poderes perfect")
  end
			    say_title("entrenate")
			    say("Hola quieres entrenar tus habilidades?")
			    say("Con ese objeto puedes subirlas a P")
			    say("y no tienes que darme nada a cambio.")
			    say("asi que cuando quieras te las subo.")
			    say_reward("Entrenar habilidades")
			    local habs = select ("Guerrero" , "Ninja" , "Sura" , "Chaman" , "Cerrar")
			    if habs == 1 then
							    say("Eres cuerpo o mental?")
							    say_reward("Elije tu profesion")
				 local guerr = select ("Cuerpo", "Mental", "Cerrar")
			    if guerr == 1 then
							    pc.set_skill_level(1,59)
							    pc.set_skill_level(2,59)
							    pc.set_skill_level(3,59)
							    pc.set_skill_level(4,59)
							    pc.set_skill_level(5,59)
							    pc.set_skill_level(6,59)
							    chat("Has recibido tus P")
							    item.remove()
			    elseif guerr == 2 then
							    pc.set_skill_level(16,59)
							    pc.set_skill_level(17,59)
							    pc.set_skill_level(18,59)
							    pc.set_skill_level(19,59)
							    pc.set_skill_level(20,59)
							    pc.set_skill_level(21,59)
							    chat("Has recibido tus P")
							    item.remove()
			    elseif guerr == 3 then
							    return
			    end
			    elseif habs == 2 then
							    say("Eres asesino o arquero?")
							    say_reward("Elije tu profesion")
				 local ninj = select ("Asesino", "Arquero", "Cerrar")
							    if ninj == 1 then
							    pc.set_skill_level(31,59)
							    pc.set_skill_level(32,59)
							    pc.set_skill_level(33,59)
							    pc.set_skill_level(34,59)
							    pc.set_skill_level(35,59)
							    pc.set_skill_level(36,59)
							    chat("Has recibido tus P")
							    item.remove()
							    elseif ninj == 2 then
						   pc.set_skill_level(46,59)
							    pc.set_skill_level(47,59)
							    pc.set_skill_level(48,59)
							    pc.set_skill_level(49,59)
							    pc.set_skill_level(50,59)
							    pc.set_skill_level(51,59)
							    chat("Has recibido tus P")
							    item.remove()
							    elseif ninj == 3 then
							    return
							    end
				 elseif habs == 3 then
							    say("Eres magia negra o espejo?")
							    say_reward("Elije tu profesion")
				 local sur = select ("Mag. Negra", "Espejo", "Cerrar")
							    if sur == 1 then
							    pc.set_skill_level(76,59)
							    pc.set_skill_level(77,59)
							    pc.set_skill_level(78,59)
							    pc.set_skill_level(79,59)
							    pc.set_skill_level(80,59)
							    pc.set_skill_level(81,59)
							    chat("Has recibido tus P")
							    item.remove()
							    elseif sur == 2 then
							    pc.set_skill_level(61,59)
							    pc.set_skill_level(62,59)
							    pc.set_skill_level(63,59)
							    pc.set_skill_level(64,59)
							    pc.set_skill_level(65,59)
							    pc.set_skill_level(66,59)
							    chat("Has recibido tus P")
							    item.remove()
							    elseif sur == 3 then
							    return
				  end
				  elseif habs == 4 then
							    say("Eres dragon o curacion?")
							    say_reward("Elije tu profesion")
				 local cham = select ("Dragon", "Curacion", "Cerrar")
							    if cham == 1 then
							    pc.set_skill_level(91,59)
							    pc.set_skill_level(92,59)
							    pc.set_skill_level(93,59)
							    pc.set_skill_level(94,59)
							    pc.set_skill_level(95,59)
							    pc.set_skill_level(96,59)
							    chat("Has recibido tus P")
							    item.remove()
							    elseif cham == 2 then
							    pc.set_skill_level(106,59)
							    pc.set_skill_level(107,59)
							    pc.set_skill_level(108,59)
							    pc.set_skill_level(109,59)
							    pc.set_skill_level(110,59)
							    pc.set_skill_level(111,59)
							    chat("Has recibido tus P")
							    item.remove()
							    elseif cham == 3 then
							    return
				  end
				  elseif habs == 5 then
							    return
										   end
						   end
			    end
end
Link to comment
Share on other sites

  • 2 weeks later...
  • 6 months later...

Gracias por el codigo keko, gostaria de saber como implementar porque crie un item type 18 cambie el codigo y nada de funcionar, alguien podria explicarme?

 

Omg... Tens que abrir o bloco de notas, colocar isso lá;

Em when 30100.use begin, onde está 30100 metes o id do item. Vais ao navicat>player procuras o id do item que escolheste e metes type 18, depois, o texto que colocaste no bloco de notas, guardas com um nome qualquer, mas tem que acabar em .quest, depois vais até ao teu servidor pelo filezilla, vais à pasta quest, e moves para lá o ficheiro. De seguida, procuras por um ficheiro com o nome: locale_list ou quest_list, e metes Ver/editar, e no fim disso, na ultima linha metes o nome da quest acabado em .quest e clicas em ENTER, depois fechas e guardas, vais à máquina, fazes cd /.../quest, as reticências é o diretório antes da pasta quest, carregas enter, e depois fazes ./qc nomedaquest.quest, o nomedaquest é o nome que deste à quest, carregas enter, vais ao jogo, fazes /reload q, depois esperas até que no chat, apareça "reloading quest", depois invocas o item e testas...

Link to comment
Share on other sites

Omg... Tens que abrir o bloco de notas, colocar isso lá;

Em when 30100.use begin, onde está 30100 metes o id do item. Vais ao navicat>player procuras o id do item que escolheste e metes type 18, depois, o texto que colocaste no bloco de notas, guardas com um nome qualquer, mas tem que acabar em .quest, depois vais até ao teu servidor pelo filezilla, vais à pasta quest, e moves para lá o ficheiro. De seguida, procuras por um ficheiro com o nome: locale_list ou quest_list, e metes Ver/editar, e no fim disso, na ultima linha metes o nome da quest acabado em .quest e clicas em ENTER, depois fechas e guardas, vais à máquina, fazes cd /.../quest, as reticências é o diretório antes da pasta quest, carregas enter, e depois fazes ./qc nomedaquest.quest, o nomedaquest é o nome que deste à quest, carregas enter, vais ao jogo, fazes /reload q, depois esperas até que no chat, apareça "reloading quest", depois invocas o item e testas...

 

 

voy a mirar lo que me restaba hacer era la parte de locale_list y quest_list ya lo imaginaba... muchas gracias

Link to comment
Share on other sites

  • 1 month later...

Para que funcione correctamente

 

 

quest perfect begin

state start begin

when 30100.use begin

table.foreachi(special.active_skill_list[pc.get_job()+1][pc.get_skill_group()],function(r,skill) pc.set_skill_level(skill,59) end)

chat("Has recibido tus P")

item.remove()

end

end

end

 

 

Si queréis que se use otro item para hacer vuestros perfects simplemente editar 30100 y poner la ID del item que queréis que os de vuestros perfects.

Link to comment
Share on other sites

  • 4 weeks later...

Donde se pone el comando el item o el comando el npc , para que esta quest y muchas otras funcionen con ese determinado item o npc????

 

Tengo la duda hace rato !!

 

Salu2

 

Se pone siempre despues del state start begin

quest perfect begin
state start begin

quest perfect begin
state start begin -- aqui esta el state
when 30100.use begin -- asi que ahora va el comando del item/npc
Link to comment
Share on other sites

  • 2 years later...

quest perfect begin

state start begin
when 30100.use begin
table.foreachi(special.active_skill_list[pc.get_job()+1][pc.get_skill_group()],function(r,skill) pc.set_skill_level(skill,59) end)
chat("Has recibido tus P")
item.remove()
end
end
end

 

La quest esta bien pero por lo que veo haces un recorrido para cada fila al usar el for each y lógico usas la función para poner las habilidades en p; pero yo lo condicionaría con un if pc.get_skill_group() !=0 then para que hago esto, para condicionarlo que por lo menos tengan habilidades ya que por seguridad puede ser que un pj loco lo haga sin ir a los maestros de habilidad y después lógico añado tu for, buen aporte KEKO del for each, te doy mi like

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...