Jump to content

reymido

Inactive Member
  • Posts

    51
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by reymido

  1. hi i have problem in this quest after kill the dragon and time finish .. player dont back in town quest dragon_lair_access begin state start begin function get_settings() local settings = {} settings.cooldown_time = 1200 -- الوقت المخصص لقتل التنين - المدة ساعة settings.group_time = 300 -- الوقت المخصص لإعطاء كلمة السر - المدة 5 دقائق settings.access_item = 30179 -- مفتاح دائري settings.dragon_vnum = 2430 -- settings.spawn = {} settings.spawn.x = 181 -- إحداثيات نزول التنين الأزرق settings.spawn.y = 173 -- settings.warp_in = {} settings.warp_in.first = {} settings.warp_in.last = {} settings.warp_in.first.x = 843677 -- إحداثي الإنتقال الأول لغرفة التنين settings.warp_in.first.y = 1066206 settings.warp_in.last.x = 844027 -- إحداثي الإنتقال الثاني لغرفة التنين settings.warp_in.last.y = 1067599 -- settings.warp_out = {} settings.warp_out.first = {} settings.warp_out.last = {} settings.warp_out.first.x = 9200 -- إحداثي الخروج الأول من غرفة التنين settings.warp_out.first.y = 1206400 settings.warp_out.last.x = 10900 -- إحداثي الخروج الثاني من غرفة التنين settings.warp_out.last.y = 1209100 -- settings.room_area = {} settings.room_area.first = {} settings.room_area.last = {} settings.room_area.first.x = 833000 -- الإحداثيات المخصصة لإخفاء المنطقة settings.room_area.first.y = 1062500 settings.room_area.last.x = 844100 settings.room_area.last.y = 1071500 -- settings.access_item_amount = game.get_event_flag("dragon_lair_amount") if(settings.access_item_amount == 0) then settings.access_item_amount = 3 elseif (settings.access_item_amount == -1) then settings.access_item_amount = 0 end return settings end function get_random_point(area_coordinates) -- الدالة المخصصة لأوامر الإنتقال والخروج من غرفة التنين return math.random(area_coordinates.first.x, area_coordinates.last.x), math.random(area_coordinates.first.y, area_coordinates.last.y) end function warp_to_lair() -- الدالة المخصصة لنقل اللاعب داخل غرفة التنين 1-2 local settings = dragon_lair_access.get_settings() local x, y = dragon_lair_access.get_random_point(settings.warp_in) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' WARPTOLAIR: x:'.. x ..', y:' .. y) pc.warp(x,y) end function warp_from_lair() -- الدالة المخصصة لنقل اللاعب خارج غرفة التنين 1-2 local settings = dragon_lair_access.get_settings() local x, y = dragon_lair_access.get_random_point(settings.warp_out) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' WARPFROMLAIR: x:'.. x ..', y:' .. y) pc.warp(x,y) end function warp_all_from_lair() -- الدالة المخصصة لإخفاء وحوش الغرفة وإخراج اللاعب بعد انتهاء الوقت local settings = dragon_lair_access.get_settings() warp_all_in_area_to_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y, settings.warp_out.first.x, settings.warp_out.first.y, settings.warp_out.last.x, settings.warp_out.last.y) game.set_event_flag("dragon_lair_alive", 0) char_log(0, 'LAIR', 'WARP ALL') end function get_time_remaining() -- الدالة المخصصة للوقت المحدد لقتل التنين الأزرق local settings = dragon_lair_access.get_settings() return(game.get_event_flag("dragon_lair_time") + settings.cooldown_time - get_global_time()) end function give_item_to_ghost() -- مخصصة لحذف الأدوات وإدخال اللاعب، وتظهر لفاتح الطريق والعابر local settings = dragon_lair_access.get_settings() say_title(" شبح سورا : [ENTER] ") say(" سأنقلك فوراً إلى كهف التنين إذا كنت تود ذلك ") say(" لكن عليك أولاً إعطائي 3x مفتاح دائري للدخول [ENTER] ") say_item_vnum(settings.access_item) local give_item = select(" خذ ودعني الآن أدخل "," لا أود ذلك الآن (إلغاء) ") if give_item == 1 then pc.remove_item(settings.access_item, settings.access_item_amount) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' GIVE ITEM') return true else return false end end function show_time_remaining(time_remaining) -- الدالة المخصصة للأزرار وتختفي بمجرد انتهاء الوقت q.set_title(" يهزم التنين الأزرق ") send_letter(" يهزم التنين الأزرق ") q.set_clock(" الوقت المتبقي ", time_remaining) timer("dragon_lair_timer", time_remaining) notice_multiline(string.format(" لم يتبقى سوى %d دقائق لقتل التنين الأزرق ", time_remaining / 20), notice) q.start() end when enter or login begin -- الدالة المخصصة لإخراج اللاعب في حال كان دخوله غير شرعي باستناء الجي إم pc.setqf("is_leader", 0) q.done() if pc.get_map_index() == 208 and not pc.is_gm() then dragon_lair_access.warp_from_lair() end end when blue_dragon_timer.server_timer begin -- تظهر خيارات الدالة عند انتهاء الوقت المحدد game.set_event_flag("dragon_lair_timer_used", 0) if game.get_event_flag("dragon_lair_alive") == 1 then notice_multiline(" التنين الأزرق لا يزال حيا ! ", notice_all) else notice_multiline(" لقد عاد التنين الأزرق ", notice_all) end dragon_lair_access.warp_all_from_lair() end when 30121.chat." إنني أرغب في قتل التنين! " with pc.get_map_index() != 208 begin local name_npc = npc.get_race() local title = mob_name(name_npc) -- local starttime = game.get_event_flag("dragon_lair_time") local current_time = get_global_time() local settings = dragon_lair_access.get_settings() local time_remaining = dragon_lair_access.get_time_remaining() if pc.count_item(settings.access_item) >= settings.access_item_amount then if starttime + settings.group_time >= current_time then local password_input; repeat say_title(" "..title.." : [ENTER] ") say(" إنك لست أول من يطلب الحصول على رخصة دخول ") say(" قل لي ماهو الرقم السري وإلا لن أسمح لك بالمرور [ENTER] ") password_input = tonumber(input()) if password_input != game.get_event_flag("dragon_lair_password") then say_title(" "..title.." : [ENTER] ") say(" المعذرة! إن الرقم الذي أدخلته غير صحيح[ENTER] ") local again = select(" إعادة المحاولة "," إلغاء (أغلق) ") if again == 2 then return end end until password_input == game.get_event_flag("dragon_lair_password") if not dragon_lair_access.give_item_to_ghost() then return end pc.setqf("time", starttime) dragon_lair_access.warp_to_lair() set_state(kill_dragon) elseif time_remaining < 0 and npc.lock() then say_title(" "..title.." : [ENTER] ") say(" إنك أول من يطلب مني السماح له بالدخول لمعبد التنين ") say(" سوف أسمح لك بالدخول بمجرد توفرك على مايكفي من ") say(" المفاتيح الدائرية، ويجب عليك قبلها أن تحدد رقماً سرياً ") say(" يمكنك أن تمنحه لرفاقك في غضون 5 دقائق لكي يتمكنو ") say(" هم أيضاً من دخول المعبد لمساعدتك بقتل بيران-سيتاو [ENTER] ") say(" ولكن تذكر، بأن مفعول المفاتيح يدوم لمدة 20 دقيقة فقط ") say(" ويجب أثنائها أن تنجح أنت ورفاقك في تصفية التنين الأزرق[ENTER] ") local abort = select(" أنا مستعد "," إلغاء (أغلق) ") if abort == 2 then npc.unlock() return end local password_number; repeat say_title(" "..title.." : [ENTER] ") say(" حسنا، قم بتعيين الرقم السري الآن[ENTER] ") password_number = tonumber(input()) local again; if type(password_number) != 'number' then say_title(" "..title.." : [ENTER] ") say(" يجب أن يكون الرقم السري مكوناً من أرقام فقط [ENTER] ") again = select(" إعادة المحاولة "," إلغاء (أغلق) ") if again == 2 then npc.unlock() return end end until type(password_number) == 'number' if not dragon_lair_access.give_item_to_ghost() then npc.unlock() return end if dragon_lair_access.get_time_remaining() > 0 then pc.give_item2(settings.access_item, settings.access_item_amount) npc.unlock() say_title(" "..title.." : [ENTER] ") say(" هناك مجموعة تقاتل التنين، انتظر بعض الوقت [ENTER] ") return end pc.setqf("password", password_number) timer("dragon_lair_warptimer", pc.get_channel_id()*2) npc.unlock() else say_title(" "..title.." : [ENTER] ") say(" هناك مجموعة تقاتل التنين، انتظر بعض الوقت [ENTER] ") -- تظهر بعد انقضاء 5 دقائق return end else say_title(" "..title.." : [ENTER] ") say(" المعذرة! إنك لا تملك مايكفي من المفاتيح الدائرية ") say(" فإنني بحاجة إلى x3 مفاتيح من أجل تفعيل البوابة[ENTER] ") say_item_vnum(settings.access_item) say(" ستحصل عليه من الزعماء الأشرار يونغان وهواشين[ENTER] ") return end end when 30121.chat." أريد أن أغادر هذا المكان! " with pc.get_map_index() == 208 begin local name_npc = npc.get_race() local title = mob_name(name_npc) -- say_title(" "..title.." : [ENTER] ") say(" هل أنت متأكد من أنك تود الخروج؟ ") say(" سوف يتم نقلك إلى مدخل الكهف[ENTER] ") local warp = select(" نعم موافق "," لا لن اذهب ") if warp == 1 then dragon_lair_access.warp_from_lair() set_state(start) end end when dragon_lair_warptimer.timer begin local name_npc = npc.get_race() local title = mob_name(name_npc) -- local settings = dragon_lair_access.get_settings() if dragon_lair_access.get_time_remaining() < 0 then local starttime = get_global_time() game.set_event_flag("dragon_lair_time", starttime) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SET STARTTIME: ' .. starttime) pc.setqf("time", starttime) pc.setqf("is_leader", 1) game.set_event_flag("dragon_lair_password", pc.getqf("password")) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SET PASSWORD: '.. pc.getqf("password")) server_timer("blue_dragon_timer", settings.cooldown_time) dragon_lair_access.warp_to_lair() set_state(spawn_dragon) else pc.give_item2(settings.access_item, settings.access_item_amount) say_title(" "..title.." : [ENTER] ") say(" سبقتك مجموعة ما بالدخول للغرفة، عليك الإنتظار [ENTER] ") -- يظهر في حال سبقت مجموعة الأخرى end pc.setqf("password", 0) end end state spawn_dragon begin when login begin local settings = dragon_lair_access.get_settings() purge_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y) notice_multiline(string.format(" تحاول مجموعة %s قتل التنين الأزرق ", pc.name), notice_all) regen_in_map(208, "locale/turkey/map/metin2_map_skipia_dungeon_boss/regen.txt") mob.spawn_group(settings.dragon_vnum, settings.spawn.x, settings.spawn.y, 1, 1, 1) game.set_event_flag("dragon_lair_alive", 1) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SPAWN DRAGON') notice_multiline(string.format(" لديك 5 دقائق لإرسال الرقم السري %s ", game.get_event_flag("dragon_lair_password")), notice) dragon_lair_access.show_time_remaining(settings.cooldown_time) set_state(kill_dragon) end when 30121.chat." أريد أن أغادر هذا المكان! " with pc.get_map_index() == 208 begin local name_npc = npc.get_race() local title = mob_name(name_npc) -- say_title(" "..title.." : [ENTER] ") say(" هل أنت متأكد من أنك تود الخروج؟ ") say(" سوف يتم نقلك إلى مدخل الكهف[ENTER] ") local warp = select(" نعم موافق "," لا لن اذهب ") if warp == 1 then dragon_lair_access.warp_from_lair() set_state(start) end end end state kill_dragon begin when dragon_lair_timer.timer begin set_state(start) end when login begin if pc.getqf("time") != game.get_event_flag("dragon_lair_time") or dragon_lair_access.get_time_remaining() <= 0 then set_state(start) else dragon_lair_access.show_time_remaining(dragon_lair_access.get_time_remaining()) end end when button or info begin notice_multiline(string.format(" لم يتبقى سوى %d دقائق لقتل التنين الأزرق ", dragon_lair_access.get_time_remaining() / 20), notice) local settings = dragon_lair_access.get_settings() if (pc.getqf("is_leader") == 1 and settings.cooldown_time-dragon_lair_access.get_time_remaining() < settings.group_time) then notice_multiline(string.format(" لديك 5 دقائق لإرسال الرقم السري %s ", game.get_event_flag("dragon_lair_password")), notice) end end when 30121.chat." أريد أن أغادر هذا المكان! " with pc.get_map_index() == 208 begin local name_npc = npc.get_race() local title = mob_name(name_npc) -- say_title(" "..title.." : [ENTER] ") say(" هل أنت متأكد من أنك تود الخروج؟ ") say(" سوف يتم نقلك إلى مدخل الكهف[ENTER] ") local warp = select(" نعم موافق "," لا لن اذهب ") if warp == 1 then dragon_lair_access.warp_from_lair() set_state(start) end end when 20009.chat." أريد أن أعود إلى الكهف! " or 9012.chat." أريد أن أعود إلى الكهف! " or 30121.chat." أريد أن أعود إلى الكهف! " with pc.get_map_index() != 208 begin -- local name_npc = npc.get_race() local title = mob_name(name_npc) -- if pc.getqf("time") > 0 and pc.getqf("time") == game.get_event_flag("dragon_lair_time") then dragon_lair_access.warp_to_lair() else say_title(" "..title.." : [ENTER] ") say(" هناك مجموعة تقاتل التنين، انتظر بعض الوقت [ENTER] ") set_state(start) end end when 2493.kill with pc.get_map_index() == 208 begin char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' DRAGON KILLED') game.set_event_flag("dragon_lair_alive", 0) game.drop_item_with_ownership(71123, 1) game.drop_item_with_ownership(71129, 1) notice_multiline(string.format(" لقد نجحت مجموعة %s في قتل التنين الأزرق ", pc.name), notice_all) local settings = dragon_lair_access.get_settings() purge_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y) --------pc.warp(969600,248400,41) end end end thx ..
×
×
  • 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.