Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- quest dragon_soul begin
- state start begin
- when levelup or letter with pc.level >= 30 begin
- send_letter(gameforge.dragon_soul._1010_sendLetter)
- local v = find_npc_by_vnum(20001)
- if 0 != v then
- target.vid("__TARGET__", v, mob_name(20001))
- end
- end
- when info or button begin
- say(gameforge.dragon_soul._1020_say)
- end
- when 20001.chat.gameforge.dragon_soul._1030_npcChat with pc.level >= 30 begin
- target.delete("__TARGET__")
- say_title(mob_name(20001))
- say(gameforge.dragon_soul._1040_say)
- set_state(state_learning)
- end
- end
- state state_learning begin
- when letter begin
- send_letter(gameforge.dragon_soul._1050_sendLetter)
- end
- when info or button begin
- say(gameforge.dragon_soul._1060_say)
- end
- when kill begin
- if npc.is_pc() then
- return
- end
- local limit = level+1 then
- if pc.count_item(30270) < 10 then
- local random_number = math.random(1 , 1)
- if random_number == 1 then
- game.drop_item_with_ownership(30270)
- end
- end
- when 20001.chat.gameforge.dragon_soul._1050_sendLetter begin
- say_title(mob_name(20001))
- if pc.count_item(30270) >= 10 then
- say(gameforge.dragon_soul._1070_say)
- pc.remove_item(30270, 10)
- ds.give_qualification()
- char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS')
- pc.give_item2(50255)
- local today = math.floor(get_global_time() / 18000)
- pc.setf("dragon_soul", "eye_timestamp", today)
- pc.setf("dragon_soul", "eye_left", 9)
- set_state(state_farming)
- else
- say(gameforge.dragon_soul._1080_say)
- end
- end
- state state_farming begin
- when letter begin
- send_letter(gameforge.dragon_soul._1090_sendLetter)
- end
- when info or button begin
- say(string.format(gameforge.dragon_soul._1100_say, pc.getf("dragon_soul", "eye_left")))
- end
- when kill begin
- if npc.is_pc() then
- return
- end
- local eye_left = pc.getf("dragon_soul", "eye_left")
- local haved_gemstone_number = pc.count_item(30270)
- local limit = level+11 then
- if eye_left > haved_gemstone_number / 10 then
- local random_number = math.random(1 , 1)
- if random_number == 1 then
- game.drop_item_with_ownership(30270)
- end
- end
- end
- end
- when 30270.pick begin
- local eye_left = pc.getf("dragon_soul", "eye_left")
- if eye_left <= 0 then
- return
- end
- if pc.count_item(30270) >= 10 then
- pc.setf("dragon_soul", "eye_left", eye_left - 1)
- pc.remove_item(30270, 10)
- pc.give_item2(50255)
- if 1 == eye_left then
- notice_multiline(gameforge.dragon_soul._1110_notice, notice)
- set_state(state_closed_season)
- end
- end
- end
- when 20001.chat.gameforge.dragon_soul._1120_npcChat begin
- say_title(mob_name(20001))
- local today = math.floor(get_global_time() / 18000)
- if today == pc.getf("dragon_soul", "eye_timestamp") then
- say(gameforge.dragon_soul._1130_say)
- else
- say(gameforge.dragon_soul._1140_say)
- pc.setf("dragon_soul", "eye_timestamp", today)
- pc.setf("dragon_soul", "eye_left", 10)
- end
- end
- state state_closed_season begin
- when letter begin
- send_letter(gameforge.dragon_soul._1150_sendLetter)
- end
- when info or button begin
- say(gameforge.dragon_soul._1160_say)
- local today = math.floor(get_global_time() / 18000)
- if today == pc.getf("dragon_soul", "eye_timestamp") then
- say(gameforge.dragon_soul._1170_say)
- else
- say(gameforge.dragon_soul._1180_say)
- end
- end
- when 20001.chat.gameforge.dragon_soul._1090_sendLetter begin
- say_title(mob_name(20001))
- local today = math.floor(get_global_time() / 18000)
- if today == pc.getf("dragon_soul", "eye_timestamp") then
- say(gameforge.dragon_soul._1130_say)
- else
- say(gameforge.dragon_soul._1140_say)
- pc.setf("dragon_soul", "eye_timestamp", today)
- pc.setf("dragon_soul", "eye_left", 10)
- set_state(state_farming)
- end
- end
- end
- -- deprecated states. so, jump to new state.
- state state_1 begin
- when login begin
- set_state(state_learning)
- end
- end
- state state_2 begin
- when login begin
- set_state(state_learning)
- end
- end
- state state_3 begin
- when login begin
- set_state(state_closed_season)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement