forked from metin2/server
1
0
Fork 0
server/gamefiles/locale/english/quest/new_quest_lv43.quest

186 lines
7.0 KiB
Plaintext
Raw Normal View History

quest new_quest_lv43 begin
state start begin
when login or levelup with pc.get_level() >= 43 begin
pc.setqf("collect_count_1", 1) -- this qf holds the ammount ouf items the character has to collect
set_state(information)
end
end
-- player asks wonda-rim, if his uncle chaegirab likes him now better -----------------------------------------
-- wonda-rim grew up without parent, wants get to know more about his ancestry -----------------------------------------
state information begin
when login or enter begin
send_letter(gameforge.new_quest_lv43._005_send_letter)
q.start()
q.set_title(gameforge.new_quest_lv43._005_send_letter)
local v=find_npc_by_vnum(20087) -- Wonda-Rim
if 0==v then
else
target.vid("__TARGET__", v, gameforge.new_quest_lv43._010_target)
end
end
when button or info begin
say_title(gameforge.new_quest_lv43._005_send_letter)
say(gameforge.new_quest_lv43._011_say)
say("")
say(string.format(gameforge.new_quest_lv43._012_say, get_map_name_by_number(1)))
end
when 20087.chat.gameforge.new_quest_lv43._005_send_letter begin
target.delete("__TARGET__")
say_title(gameforge.new_quest_lv43._021_say_title) -- yellow text headline
say(gameforge.new_quest_lv43._020_say)
say(gameforge.new_quest_lv43._022_say) -- white font text
wait()
say_title(gameforge.new_quest_lv43._021_say_title) -- yellow text headline
say(gameforge.new_quest_lv43._023_say_reward)
q.done()
local doquest = select(gameforge.new_quest_lv43._024_select, gameforge.subquest_12._50_select, gameforge.new_quest_lv75._290_2_select)
if doquest ==1 then
set_state(ask_chaegirab)
elseif doquest == 3 then
say(gameforge.subquest_06._60_say)
local abortquest = select(gameforge.subquest_06._70_select, gameforge.subquest_06._80_select)
if abortquest == 1 then
pc.setqf("collect_count_1", 0) -- resetting collect counter -> to be deleated
set_state(__GIVEUP__)
else
say_title(gameforge.new_quest_lv43._021_say_title) -- yellow text headline
say(gameforge.subquest_11._80_say)
return
end
else
say_title(gameforge.new_quest_lv43._021_say_title) -- yellow text headline
say(gameforge.subquest_11._80_say)
return
end
end
end
-- player shall ask uncle chaegirab about wonda-rims ancestry -----------------------------------------
state ask_chaegirab begin
when enter or login begin
send_letter(gameforge.new_quest_lv43._006_send_letter)
q.start()
q.set_title(gameforge.new_quest_lv43._006_send_letter)
local v=find_npc_by_vnum(20084) --Chaegirab
if 0==v then
else
target.vid("__TARGET2__", v, gameforge.new_quest_lv43._030_target )
end
end
when button or info begin
say_title(gameforge.new_quest_lv43._006_send_letter)
say(gameforge.new_quest_lv43._025_say)
say("")
say(string.format(gameforge.new_quest_lv43._026_say, get_map_name_by_number(1)))
end
when 20084.chat.gameforge.new_quest_lv43._006_send_letter begin
target.delete("__TARGET2__")
say_title(gameforge.new_quest_lv43._031_say_title) -- yellow text headline
say(gameforge.new_quest_lv43._032_say)
wait()
say_title(gameforge.new_quest_lv43._031_say_title)
say(gameforge.new_quest_lv43._033_say)
wait()
say_title(gameforge.new_quest_lv43._031_say_title)
say(gameforge.new_quest_lv43._034_say)
say_reward(gameforge.new_quest_lv43._035_say_reward)
q.done()
set_state(hunting)
end
end
-- because chaegirab found the foundling wonda-rim in the valley of seungryong, the player has to hunt orcs to get imfomation about wonda-rims parents -----------------------------------------
state hunting begin
when enter or login begin
new_quest_lv43_dropProb1 = 5
new_quest_lv43_drop1 = 30142 -- letter
send_letter(gameforge.new_quest_lv43._006_send_letter)
q.start()
q.set_title(gameforge.new_quest_lv43._006_send_letter)
end
-------------- the orc drops a letter from wonda-rims parents ------------------------------------------------------
-- kill a 603#Ork-K<>mpfer
when 603.kill begin
if pc.getqf("collect_count_1") > 0 then
if math.random(1,100) <= new_quest_lv43_dropProb1 then -- probability if s.th. drops
local index = pc.getqf("collect_count_1") - 1
pc.setqf("collect_count_1",index) --you got one, so you would get -1 item to find
pc.give_item2(new_quest_lv43_drop1) -- letter
notice_multiline(gameforge.new_quest_lv43._043_notice, notice)
if pc.getqf("collect_count_1") == 0 then
q.done()
set_state(goto_wondarim)
end
end
end
end
when info or button begin
say_title(gameforge.new_quest_lv43._006_send_letter)
if pc.getqf("collect_count_1") != 0 then
say(gameforge.new_quest_lv43._041_say)
else
q.done()
set_state(goto_wondarim)
end
end
when 20084.chat.gameforge.new_quest_lv43._006_send_letter begin
say_title(gameforge.new_quest_lv43._006_send_letter)
say(gameforge.new_quest_lv43._045_say)
end
end
-------------- the letter contains imformation about wonda-rims parents and why the had to abandon him------------------------------------------------------
state goto_wondarim begin
when enter or login begin
new_quest_lv43_amountYang = 32000
new_quest_lv43_amountXp = 1250000
send_letter(gameforge.new_quest_lv43._006_send_letter)
q.start()
q.set_title(gameforge.new_quest_lv43._006_send_letter)
local v=find_npc_by_vnum(20087) -- Wonda-Rim
if 0==v then
else
target.vid("__TARGET3__", v, gameforge.new_quest_lv43._010_target)
end
end
when button or info begin
say_title(gameforge.new_quest_lv43._006_send_letter)
say(gameforge.new_quest_lv43._050_say)
say("")
say(string.format(gameforge.new_quest_lv43._012_say, get_map_name_by_number(1)))
end
when 20087.chat.gameforge.new_quest_lv43._006_send_letter begin
say_title(gameforge.new_quest_lv43._021_say_title) -- yellow text headline
if pc.count_item(new_quest_lv43_drop1) == 1 and pc.getqf("collect_count_1") < 1 then
target.delete("__TARGET3__")
say(gameforge.new_quest_lv43._049_say) -- locakey needs to be reviewed. Should be a conversation and not a summery!
say(gameforge.new_quest_lv43._050_say) -- locakey needs to be reviewed.
say(gameforge.new_quest_lv43._051_say) -- locakey needs to be reviewed.
wait()
say_title(gameforge.new_quest_lv43._052_say_title) -- locakey needs to be reviewed.
say_reward(string.format(gameforge.new_quest_lv43._054_say_reward, new_quest_lv43_amountXp))
say_reward(string.format(gameforge.new_quest_lv43._053_say_reward, new_quest_lv43_amountYang))
pc.change_money(new_quest_lv43_amountYang)
pc.give_exp2(new_quest_lv43_amountXp)
pc.remove_item(30142)
q.done()
set_state(__COMPLETE__)
else
say(gameforge.new_quest_lv43._060_say)
set_state(start)
return
end
end
end
------ give up ------------------------------------------------------------------------------------------------------
state __GIVEUP__ begin
end
------ complete ------------------------------------------------------------------------------------------------------
state __COMPLETE__ begin
end
end