Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomoże ktoś poprawić questa WIEŻA ORKÓW?


Rekomendowane odpowiedzi

Opublikowano

Witam mam problem z tym o to questem chodzi i to że po ubiciu metina zazdrości nic się nie dzieje tak jak by coś było zle w quescie mógłby mi ktoś pomóc go zrobić tak aby działał oczywiście będą + :D

 
quest orktower_zone begin
state start begin
function time_with_open(min)
if min >= 2 and min <= 4 then
return ""..min.." minuty"
elseif min >= 22 and min <= 24 then
return ""..min.." minuty"
elseif min >= 32 and min <= 34 then
return ""..min.." minuty"
elseif min >= 42 and min <= 44 then
return ""..min.." minuty"
elseif min >= 52 and min <= 54 then
return ""..min.." minuty"
elseif min >= 5 and min <= 21 then
return ""..min.." minut"
elseif min >= 25 and min <= 31 then
return ""..min.." minut"
elseif min >= 35 and min <= 41 then
return ""..min.." minut"
elseif min >= 45 and min <= 51 then
return ""..min.." minut"
elseif min >= 55 and min <= 61 then
return ""..min.." minut"
end
end
 
function get_4floor_stone_pos()
local positions = {
{368, 629}, {419, 630}, {428, 653}, {422, 679},
{395, 689}, {369, 679}, {361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions;
positions = positions[j];
positions[j] = t;
end
end
return positions
end
 
when login with pc.get_map_index() >= 660000 and pc.get_map_index() <= 669999 begin
if pc.getqf("PrivWO") == 1 and pc.in_dungeon() then
pc.setqf("PrivWO", 0)
if pc.get_level() > 53 then
syschat("Twój poziom jest zbyt duży, aby wejść do Wieży Orków.")
pc.warp(590800, 111200)
return
end
if party.is_leader() == true then
d.set_regen_file("data/dungeon/ork_tower/orktower1_regen.txt")
end
end
end
 
when deviltower_man.chat."Do Wieży Orków" begin
if party.get_near_count() < 1 then
say_title("Strażnik Wieży Orków")
say("Grupa musi się składać z minimalnie dwóch osób.")
return
end
if pc.get_level() < 35 then
say_title("Strażnik Wieży Orków")
say("Aby dostać się do Wieży Orków musisz posiadać[ENTER]minimum 35 poziom.")
else
say_title("Strażnik Wieży Orków")
say("Ta wieża jest opanowana przez orki. Na jej")
say("szczyt mogą dostać się jedynie najsilniejsi.")
say("Chodzą słuchy, że jeszcze nikt nie wyszedł z niej")
say("żywy. Czy nadal chcesz wejść do Wieży")
say("Orków?")
local s = select("Tak, chcę wejść.", "Nie, dzięki.")
if s == 1 then
if pc.countitem(31068) <= 0 then
say_title("Strażnik Wieży Orków")
say("Aby wejść do prywatnej Wieży Orków, musisz")
say("posiadać Kości Orka.")
say("Zdobyć je możesz z Wodza Orków.")
say_item_vnum(31068)
return
end
pc.remove_item(31068, 1)
party.setqf("PrivWO", 1)
d.join(66)
end
end
end
 
when 8006.kill with pc.in_dungeon() begin
timer("ork_stone1_1", 6)
end
 
when ork_stone1_1.timer begin
local mapto7 = pc.count_item(30302)
pc.remove_item(30302, mapto7)
 
local boxto7 = pc.count_item(30300)
pc.remove_item(30300, boxto7)
 
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/ork_tower/orktower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/ork_tower/orktower3_regen.txt")
end
 
when kill with npc.get_race() == 691 begin
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/ork_tower/orktower4_regen.txt")
d.check_eliminated()
end
 
when 8007.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("ork_level") != 4 begin
d.setf("ork_level", 4)
local positions = orktower_zone.get_4floor_stone_pos()
for i = 1, 6 do
d.set_unique("ork_fake" .. i , d.spawn_mob(8008, positions[1], positions[2]))
end
local vid = d.spawn_mob(8008, positions[7][1], positions[7][2])
d.set_unique("ork_real", vid)
server_loop_timer('ork_stone4_update', 10, pc.get_map_index())
server_timer('ork_stone4_fail1', 5*60, pc.get_map_index())
 
d.notice("Odszukajcie teraz prawdziwy kamień i zniszczcie go.");
d.notice("Na to zadanie otrzymaliście tylko 15 minut.");
end
 
when ork_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 4 then
d.notice("Pozostało 10 minut.")
server_timer('ork_stone4_fail2', 5*60, get_server_timer_arg())
end
end
end
 
when ork_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 4 then
d.notice("Pozostało 5 minut.")
server_timer('ork_stone4_fail', 5*60, get_server_timer_arg())
end
end
end
 
when ork_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 4 then
d.notice("Nie udało się, zostaniecie przeniesieni na zewnątrz.")
d.exit_all()
end
end
end
 
when ork_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 4 then
if not d.is_unique_dead("ork_real") then
for i = 1, 6 do
if d.getf("ork_fakedead" .. i) == 0 then
if d.unique_get_hp_perc("ork_fake" .. i) < 50 then
d.purge_unique("ork_fake" .. i)
d.setf("ork_fakedead" .. i, 1)
d.notice("To nie ten kamień.");
end
end
end
else
d.notice("Udało się! Zniszczyliście prawidłowy kamień metin.");
d.notice("Zostaniecie przeniesieni na 5. piętro.");
clear_server_timer('ork_stone4_fail1', get_server_timer_arg())
clear_server_timer('ork_stone4_fail2', get_server_timer_arg())
clear_server_timer('ork_stone4_fail', get_server_timer_arg())
 
server_timer("ork_stone4_end", 5, get_server_timer_arg())
end
end
else
server_timer('ork_stone4_stop_timer', 1, get_server_timer_arg())
end
end
 
when ork_stone4_stop_timer.server_timer begin
clear_server_timer('ork_stone4_update', get_server_timer_arg())
end
 
when ork_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 4 then
d.setf("ork_level", 5)
d.setf("ork_stone_count", 5)
d.notice("Aby przejść na 6 piętro musicie zabić wszystkie potwory,");
d.notice("zdobyć z nich Kamień Otwarcia i otworzyć wszystkie pieczęcie");
d.notice("przed czasem. Na to zadanie otrzymaliście 20 minut.");
clear_server_timer('ork_stone4_update', get_server_timer_arg())
server_timer('ork_stone5_fail1', 5*60, get_server_timer_arg())
-- 5. regen
d.set_regen_file("data/dungeon/ork_tower/orktower5_regen.txt")
 
-- 5. spawn
d.spawn_mob(20081, 421, 452)
d.spawn_mob(20081, 380, 460)
d.spawn_mob(20081, 428, 414)
d.spawn_mob(20081, 398, 392)
d.spawn_mob(20081, 359, 426)
 
-- jump all
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
end
end
end
 
when ork_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 5 then
d.notice("Pozostało 15 minut.")
server_timer('ork_stone5_fail2', 5*60, get_server_timer_arg())
end
end
end
 
when ork_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 5 then
d.notice("Pozostało 10 minut.")
server_timer('ork_stone5_fail3', 5*60, get_server_timer_arg())
end
end
end
 
when ork_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 5 then
d.notice("Pozostało 5 minut.")
server_timer('ork_stone5_fail', 5*60, get_server_timer_arg())
end
end
end
 
when ork_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 5 then
d.notice("Nie udało się, zostaniecie przeniesieni na zewnątrz.")
d.exit_all()
end
end
end
 
when kill with pc.in_dungeon() and not npc.is_pc() and d.getf("ork_level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 130
local n = d.getf("ork_count") + 1
d.setf("ork_count", n) 
if n == KILL_COUNT_FOR_DROP_KEY then
game.drop_item(50089, 1)
d.setf("ork_count", 0)
end
end
 
when 20081.take with item.vnum == 50089 begin
npc.purge()
item.remove()
d.setf("stone_killed", d.getf("stone_killed")+1)
 
if d.getf("stone_killed") == 5 then
d.setf("levelm", 6)
d.clear_regen()
d.regen_file("data/dungeon/ork_tower/orktower6_regen.txt")
 
d.notice("Brawo, udało się! Jesteście na 5 piętrze.")
d.notice("Zabijcie wszystkie potwory, lecz pamiętajcie,..")
d.notice("tym piętrem dowodzi Elit. Wódz Orków.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('ork_stone5_fail1', get_server_timer_arg())
clear_server_timer('ork_stone5_fail2', get_server_timer_arg())
clear_server_timer('ork_stone5_fail3', get_server_timer_arg())
clear_server_timer('ork_stone5_fail', get_server_timer_arg())
else
d.notice("Otworzyłeś pieczęć! Pozostało jeszcze: "..5-d.getf("stone_killed").." ")
end
end
 
when 692.kill begin
d.check_eliminated()
d.spawn_mob(20088, 425, 216);
end
 
when 20088.chat."Chcę przejść dalej!" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
say_title(mob_name(20074))
say("Zostaniesz przeniesiony na 7 piętro")
say("Wieży Orków. Lecz uważaj...")
say("Tam nie będzie tak łatwo jak wcześniej!")
wait()
if pc.level >= 40 then
say_title(mob_name(20088))
say("Każdy z graczy zostanie przeniesiony!")
timer("ork_jump_7", 6)
d.purge()
return
end
say_title(mob_name(20088))
say("No chyba żartujesz, nie dasz sobie rady..")
say("Nie pozwolę na to abyś poległ!")
say("A idź mi stąd..!")
wait()
pc.warp(590500, 110500)
end
 
when ork_jump_7.timer begin
d.clear_regen()
 
d.spawn_mob(8009, 639, 658)
d.spawn_mob(8009, 611, 637)
d.spawn_mob(8009, 596, 674)
d.spawn_mob(8009, 629, 670)
 
d.setf("ork_level", 7)
 
d.jump_all(2048+590, 6656+638)
end
 
when 8009.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("ork_level") == 7 begin
local cont = d.getf("ork_7_stone_kill") + 1
d.setf("ork_7_stone_kill", cont)
 
if cont >= 4 then
d.setf("ork_7_stone_kill", 0)
d.regen_file("data/dungeon/ork_tower/orktower7_regen.txt")
end
end
 
when 8010.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("ork_level") == 7 begin
timer("ork_jump_8", 6)
d.clear_regen()
d.kill_all()
end
 
when ork_jump_8.timer begin
d.setf("ork_level", 8)
d.set_regen_file("data/dungeon/ork_tower/orktower8_regen.txt")
pc.remove_item(30302, pc.count_item(30302))
d.notice("Zabijaj orki do czasu, gdy odnajdziesz właściwego!")
d.jump_all(2048+590, 6656+403)
end
 
when kill with pc.in_dungeon() and not npc.is_pc() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("ork_level") == 8 begin
if number(1, 15) == 1 then
if number(1, 10) == 1 then
d.notice("Odnalazłeś właściwego orka! Zostaniesz przeniesiony!")
timer("ork_jump_9", 6)
d.clear_regen()
else
game.drop_item(71084, 1)
end
end
end
 
when ork_jump_9.timer begin
d.regen_file("data/dungeon/ork_tower/orktower9_regen.txt")
d.setf("ork_level", 9)
d.jump_all(2048+590, 6656+155)
end
 
when 693.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
notice_all("|cFFFFFF30|h[CH"..pc.get_channel_id().."]:|h|r Grupa dowodzona przez "..pc.get_name().." pokonała Odrodzonego Wodza Orków!")
d.notice("Pomyślnie wykonałeś całe zadanie.")
d.notice("Jeśli chcesz możesz się już wylogować!")
server_timer("ork_end_jump", 60, d.get_map_index())
d.kill_all()
d.clear_regen()
end
 
when ork_end_jump.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("ork_level") == 9 then
end
end
end
end
end

 

 

 

Opublikowano

K***a mać, wrzucasz gotowy quest z gotowych plików...

Quest jest w 100% sprawny, nie ma tutaj niczego do poprawy.

Ruszyć głową wystarczy :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...