Jump to content

Quest error


Go to solution Solved by Endymion,

Recommended Posts

Hello. I have a small problem. I tryed to install a daily quest to get ticket for the farm map but, when i tryed to instal it, i geted this:

34b7573ea62498681476650116d2bc21.png

 

This is the quest file.

quest obtain_key begin
state start begin
when login with get_global_time() – pc.getqf(“last_mission”) >= 24*60*60 begin
send_letter(“Armatele”)
local v = find_npc_by_vnum(20355)
target.vid(“captain”, v, “Capitan”)
end

when info or button begin
–if pc.getqf(“action”) == 0
say_title(“Atentie, “.. pc.get_name() ..”.Este nevoie de tine!”)
say(“”)
say(“Capitanul are nevoie de tine!”)
say(“Armatele noastre sunt pregatite sa treaca”)
say(“in imparatia raului si au nevoie de un jurnal cu”)
say(“incantati pentru a activa portalul dintre lumea”)
say(“noastra si lumea de dincolo.”)
say_item_vnum(“30182?)
say(“Ia-ti arma si mergi la el!”)
–end
end

when captain.target.click begin
say_title(“Capitanul:”)
say(“Iti multimesc pentru ca ai venit atat de repede.”)
say(“Armatele noastre sunt pregatite sa treaca granita”)
say(“dar ne lipsese o incantatie pentru a activa portalul.”)
say(“Te rugam sa ne ajuti sa le obtinem.”)
say_reward(“Ca recompensa vei primi 0 bilet de trecere”)
say_reward(“spre Valea Sufletelor.”)
wait()
say_title(“Capitanul:”)
say(“Pentru a obtine aceasta incatatie, Uriel are”)
say(“nevoie de zece pagini de jurnal”)
say_item_vnum(30150)
say(“Le poti obtine omorand demoni din Turnul Diavolilor”)
say(“Obtine aceste pagini si du-i-le lui Uriel”)
target.delete(“captain”)
set_state(killing)
end
end

state killing begin

when letter begin
send_letter(“Armatele”)
end

when button or info begin
say_title(“Armatele”)
say(“Omoara demoni din Turnul Diavolului”)
say(“pentru a obtine pagini de jurnal”)
say(“necesare crearii jurnalului”)
say_item_vnum(30182)
end

when 1001.kill or 1002.kill or 1003.kill or 1004.kill begin
local n = number(0,30)
if n>27 then
if pc.count_item(30150) == 9 then
pc.give_item2(30150, 1)
say_title(“Armatele”)
say(“Ai obtinut toate paginile necesare.”)
say(“Du-le lui Uriel pentru a le transforma in jurnal.”)
set_state(backuriel)
else
pc.give_item2(30150, 1)
end
end
end
end

state backuriel begin
when letter begin
send_letter(“Armatele”)
local v = find_npc_by_vnum(20011)
target.vid(“uriel”, v, “Uriel”)
end

when button or info begin
say_title(“Armatele”)
say(“Ai obtinut toate paginile necesare.”)
say(“Du-le lui Uriel pentru a le transforma in jurnal.”)
end

when uriel.target.click begin
if pc.count_item(30150) <10 then
say(“Am nevoie de zece pagini pentru a ca jurnalul sa fie complet!”)
else
say_title(“Uriel:”)
say(“Iti multumesc ca ai adus paginile.”)
say(“Te rog sa ma astepti putin, ca sa le traduc”)
pc.remove_item(30221, 10)
wait()
say_title(“Uriel:”)
say(“Uite aici jurnalul cu incantatia pentru gardian.”)
say(“Du-il repede, cat armatele noastre sunt”)
say(“inca in avantaj.”)
target.delete(“uriel”)
pc.give_item2(30182, 1)
set_state(captback)
end
end
end
state captback begin
when letter begin
send_letter(“Armatele”)
local v = find_npc_by_vnum(20355)
target.vid(“captain”, v, “Capitan”)
end

when button or info begin
say_title(“Armatele”)
say(“Dute si dui captitanului jurnalul cat mai repede.”)
end

when captain.target.click begin
if pc.count_item(30182) > 0 then
say_title(“Capitan:”)
say(“Iti multumesc pentru ca mi-ai adus acest jurnal.”)
say(“Acum vom fi mai aproape de a distruge raul.”)
say_reward(“Poftim ce ti-am promis.”)
pc.setqf(“last_mission”, get_global_time())
pc.remove_item(30182, 1)
pc.give_item(30129, 1)
target.delete(“captain”)
set_state(start)
clear_letter()
else
say_title(“Capitan:”)
say(“Adu-mi jurnalul cat mai repede!”)
end
end
end
end

Thanks

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Solution

Try now:

quest obtain_key begin
	state start begin
	when login begin
		if get_time() > pc.getqf("last_mission") then
			send_letter("Armatele")
			local v = find_npc_by_vnum(20355)
			target.vid("captain", v, "Capitan")
		end
	end
 
when info or button begin
--if pc.getqf("action") == 0 then
say_title("Atentie, ".. pc.get_name() ..".Este nevoie de tine!")
say("")
say("Capitanul are nevoie de tine!")
say("Armatele noastre sunt pregatite sa treaca")
say("in imparatia raului si au nevoie de un jurnal cu")
say("incantati pentru a activa portalul dintre lumea")
say("noastra si lumea de dincolo.")
say_item_vnum(30182)
say("Ia-ti arma si mergi la el!")
--end
end
 
when captain.target.click begin
say_title("Capitanul:")
say("Iti multimesc pentru ca ai venit atat de repede.")
say("Armatele noastre sunt pregatite sa treaca granita")
say("dar ne lipsese o incantatie pentru a activa portalul.")
say("Te rugam sa ne ajuti sa le obtinem.")
say_reward("Ca recompensa vei primi 0 bilet de trecere")
say_reward("spre Valea Sufletelor.")
wait()
say_title("Capitanul:")
say("Pentru a obtine aceasta incatatie, Uriel are")
say("nevoie de zece pagini de jurnal")
say_item_vnum(30150)
say("Le poti obtine omorand demoni din Turnul Diavolilor")
say("Obtine aceste pagini si du-i-le lui Uriel")
target.delete("captain")
set_state(killing)
end
end
 
state killing begin
 
when letter begin
send_letter("Armatele")
end
 
when button or info begin
say_title("Armatele")
say("Omoara demoni din Turnul Diavolului")
say("pentru a obtine pagini de jurnal")
say("necesare crearii jurnalului")
say_item_vnum(30182)
end
 
when 1001.kill or 1002.kill or 1003.kill or 1004.kill begin
local n = number(0,30)
if n>27 then
if pc.count_item(30150) == 9 then
pc.give_item2(30150, 1)
say_title("Armatele")
say("Ai obtinut toate paginile necesare.")
say("Du-le lui Uriel pentru a le transforma in jurnal.")
set_state(backuriel)
else
pc.give_item2(30150, 1)
end
end
end
end
 
state backuriel begin
when letter begin
send_letter("Armatele")
local v = find_npc_by_vnum(20011)
target.vid("uriel", v, "Uriel")
end
 
when button or info begin
say_title("Armatele")
say("Ai obtinut toate paginile necesare.")
say("Du-le lui Uriel pentru a le transforma in jurnal.")
end
 
when uriel.target.click begin
if pc.count_item(30150) <10 then
say("Am nevoie de zece pagini pentru a ca jurnalul sa fie complet!")
else
say_title("Uriel:")
say("Iti multumesc ca ai adus paginile.")
say("Te rog sa ma astepti putin, ca sa le traduc")
pc.remove_item(30221, 10)
wait()
say_title("Uriel:")
say("Uite aici jurnalul cu incantatia pentru gardian.")
say("Du-il repede, cat armatele noastre sunt")
say("inca in avantaj.")
target.delete("uriel")
pc.give_item2(30182, 1)
set_state(captback)
end
end
end
state captback begin
when letter begin
send_letter("Armatele")
local v = find_npc_by_vnum(20355)
target.vid("captain", v, "Capitan")
end
 
when button or info begin
say_title("Armatele")
say("Dute si dui captitanului jurnalul cat mai repede.")
end
 
when captain.target.click begin
if pc.count_item(30182) > 0 then
say_title("Capitan:")
say("Iti multumesc pentru ca mi-ai adus acest jurnal.")
say("Acum vom fi mai aproape de a distruge raul.")
say_reward("Poftim ce ti-am promis.")
pc.setqf("last_mission", get_time()+60*60*24)
pc.remove_item(30182, 1)
pc.give_item(30129, 1)
target.delete("captain")
set_state(start)
clear_letter()
else
say_title("Capitan:")
say("Adu-mi jurnalul cat mai repede!")
end
end
end
end

  • Love 2
Link to comment
Share on other sites

Thanks a lot Endymion.  I don`t get the core dumped anymore.

Edit: I HATE THIS QUEST :(

After i teleport, the quest disappear. Any idea on how to fix it?

Edit 2 : I have it only in map1. After i teleport the quest disappears and i get it again when i teleport map1.

Shogun answered you for me. For safety You should always restart game after qc quests.

  • Love 1
Link to comment
Share on other sites

Did you restart your server? /reload q only reloads quests in the current core

didn`t knew that i need to restart. I did now and it`s work but i have another problem. 

This is the quest part with the reward. 

when captain.target.click begin
if pc.count_item(30182) > 0 then
say_title("Capitan:")
say("Iti multumesc pentru ca mi-ai adus acest jurnal.")
say("Acum vom fi mai aproape de a distruge raul.")
say_reward("Poftim ce ti-am promis.")
pc.setqf("last_mission", get_time()+60*60*24)
pc.remove_item(30182, 1)
pc.give_item(30129, 1)
target.delete("captain")
set_state(start)
clear_letter()
else
say_title("Capitan:")
say("Adu-mi jurnalul cat mai repede!")
end
end
end
end

But, i get the vnum 3810 not the 30129 and i don`t understant why. The name of the item that i get is "Yang"

And sorry to give you all so much troble but i`m new with all of this and i wanna learn.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / 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.