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_title("Fragmentos do Dragão")
- say("")
- 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
- ------------
- if pc.get_map_index() >= 2400000 and pc.get_map_index() <= 2405000 or pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 then
- return
- else
- -----------------------
- if pc.getf("dragon_soul","drop_on") == 1 then
- if pc.count_item(30270) < 15 then
- if drop_gamble_with_flag("ds_drop") then
- game.drop_item_with_ownership(30270)
- end
- end
- end
- -------------------------
- 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() / 86400)
- pc.setf("dragon_soul", "eye_timestamp", today)
- pc.setf("dragon_soul", "eye_left", 3)
- set_state(state_farming)
- else
- say(gameforge.dragon_soul._1080_say)
- end
- 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
- ---------
- if pc.get_map_index() >= 2400000 and pc.get_map_index() <= 2405000 or pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 then
- return
- else
- ------------------------------------
- if pc.getf("dragon_soul","drop_on") == 1 then
- if drop_gamble_with_flag("ds_drop") then
- local eye_left = pc.getf("dragon_soul", "eye_left")
- local haved_gemstone_number = pc.count_item(30270)
- if eye_left > haved_gemstone_number / 20 then
- game.drop_item_with_ownership(30270)
- end
- 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) >= 20 then
- pc.setf("dragon_soul", "eye_left", eye_left - 1)
- pc.remove_item(30270, 20)
- 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() / 86400)
- 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", 3)
- pc.setf("dragon_soul","drop_on",1)
- end
- 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() / 86400)
- 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() / 86400)
- 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", 3)
- 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
- end
Advertisement
Add Comment
Please, Sign In to add comment