[
كرر نفس الكويست مع تغيير الزعيم و الوحش ال يظهر قبل زعيم
اول وحش يظهر هاد تقتله يظهر لك الزعيم بعد قتله تنتقل للمدينة مباشرة تقدر تفعل الكويست على اي شخصية بالمدينة و تحط احداثي اي ماب بدك اياه [/]
quest mohamedxx begin
state start begin
function setting()
return
{
["map_index"] = 63, -- رقم الماب
["ticket_vnum"] = 30613, -- شرط الماب
["dungeon_entry_pos"] = {2968, 5474}, -- احداثي النقل
["boss1"] = 6407, -- اول وحش بيظهر
["boss2"] = 6418, -- الزعيم
["spawn"] = {888, 626}, -- احداثي الوحش
}
end
function make_dungeon(ld_vid, channel)
local setting = mohamedxx.setting()
local event_flag = string.format("frt_dungeon_status_%d", channel)
game.set_event_flag(event_flag, get_time() + 60 * 120)
d.new_jump_party(setting.map_index, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2])
d.setf("frt_party_leader_pid", ld_vid)
party.setf("frt_dungeon_index", d.get_map_index())
d.spawn_mob(setting.boss1, setting.spawn[1], setting.spawn[2])
clear_server_timer("frt_2h_left_timer", get_server_timer_arg())
clear_server_timer("frt_exit_timer", get_server_timer_arg())
server_timer("frt_2h_left_timer", 60 * 120, d.get_map_index())
end
when login begin
local idx = pc.get_map_index()
local setting = mohamedxx.setting()
if idx >= (setting.map_index * 10000) and idx < (setting.map_index * 10000 + 10000) then
pc.setf("enchanted_forest", "limit_activity", 0)
if pc.getqf("dungeon_enter") > 0 then
pc.setqf("dungeon_enter", 0)
return
end
pc.warp(4693000, 9642000)
end
end
when logout begin
local idx = pc.get_map_index()
local setting = mohamedxx.setting()
if idx >= (setting.map_index * 10000) and idx < (setting.map_index * 10000 + 10000) then
pc.setqf("exit_time_logout", get_global_time() + 5 * 60)
if pc.getqf("dungeon_enter") > 0 then
pc.setqf("dungeon_enter", 0)
end
pc.setf("enchanted_forest", "limit_activity", get_time() + 10 * 60)
end
end
when 6407.kill with pc.in_dungeon() begin
local setting = mohamedxx.setting()
d.spawn_mob(setting.boss2, setting.spawn[1], setting.spawn[2])
end
when 6418.kill with pc.in_dungeon() begin
local setting = mohamedxx.setting()
d.set_warp_location(202,4693, 9642)
d.notice(" رائع, لقد احللت السلام الي داخل الغابة المسحورة!")
d.notice(" سيتم نقلك خارج الغابة المسحورة بعد ثوان. ")
server_timer("frt_exit_timer", 30, d.get_map_index())
end
when frt_2h_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location(202,4693, 9642)
d.notice(" لقد انقضي الوقت. ")
server_timer("frt_exit_timer", 3, get_server_timer_arg())
end
end
when frt_exit_timer.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer("frt_exit_timer", get_server_timer_arg())
clear_server_timer("frt_2h_left_timer", get_server_timer_arg())
d.setf("frt_party_leader_pid", 0)
d.exit_all()
end
end
when 30122.chat." غرفة باغجانمو " begin
local setting = mohamedxx.setting()
say_title(mob_name(30122))
say("")
say(" هل تريد ان تحارب ضد باغجانمو ؟ ")
local agree = select(" نعم ", " لا ")
if agree == 1 then
say_title(mob_name(30122))
say("")
if not party.is_party() then
say(" لتستطيع الدخول للغرفة يجب ان تكون ضمن ")
say(" اعضاء المجموعة. ")
return
end
local party_check = 0
if d.find(party.getf("frt_dungeon_index")) then
party_check = (d.getf_from_map_index("frt_party_leader_pid", party.getf("frt_dungeon_index")) == party.get_leader_pid())
end
local event_flag = string.format("frt_dungeon_status_%d", pc.get_channel_id())
if not party.is_leader() then
say(" لتستطيع الدخول الي الغرفة يجب ان تكون ")
say(" قائد المجموعة. ")
return
end
if party.get_near_count() < 2 then
say(" لتستطيع الدخول الي الغرفة يجب ان يكون بجانبك ")
say(" 2 اعضاء في مجموعتك. ")
return
end
local pids = {party.get_member_pids()}
local ticketCheck = true
local notEnoughTicketMembers = {}
-- for i, pid in next, pids, nil do
-- q.begin_other_pc_block(pid)
-- if pc.count_item(setting.ticket_vnum) < 1 then
-- table.insert(notEnoughTicketMembers, pc.get_name())
-- ticketCheck = false
-- end
-- q.end_other_pc_block()
-- end
-- if not ticketCheck then
-- say(" لتستطيع الدخول الي الغرفة يجب ")
-- say(string.format(" ان يمتلك كل عضو من المجموعة %s.", item_name(setting.ticket_vnum)))
-- say("")
-- say(" الاعضاء الأتيين لا يمتكلون الأداة:")
-- for i, name in next, notEnoughLevelMembers, nil do
-- say("- "..name.."")
-- end
-- return
-- end
-- for i, pid in next, pids, nil do
-- q.begin_other_pc_block(pid)
-- pc.remove_item(setting.ticket_vnum, 1)
-- pc.setf("mohamedxx", "dungeon_enter", 1)
-- q.end_other_pc_block()
-- end
say(" بعد ان تكمل اعضاء المجموعة ")
say(" سيتم نقلهم الي داخل الغرفة. ")
wait()
mohamedxx.make_dungeon(party.get_leader_pid(), pc.get_channel_id())
end
end
end
end
كرر نفس الكويست مع تغيير الزعيم و الوحش ال يظهر قبل زعيم
اول وحش يظهر هاد تقتله يظهر لك الزعيم بعد قتله تنتقل للمدينة مباشرة تقدر تفعل الكويست على اي شخصية بالمدينة و تحط احداثي اي ماب بدك اياه [/]