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

Nie widać questu u Strażnika wierzy demonów


Rekomendowane odpowiedzi

Opublikowano

nie wiem co jest nie tak... Jest tylko wieża demonów a brak opcji wieży wygnańców 

 

quest deviltower_zone begin
    state start begin
when login begin
if pc.get_map_index() == 65 then
if pc.getqf("priv_dt") > 0 then
pc.setqf("priv_dt", 0)
end
end


   if pc.get_map_index() == 66 then
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
   pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
   elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
   end
end


when deviltower_man.chat."Wejdź do Wieży Wygnańcow" with party.is_leader() begin
say_title("Strażnik Wieży Wygnańcow:")
if party.get_near_count() < 5 then
say("Wybacz, musisz mieć ze sobą 5 osób w grupie.")
party.chat("Wasza grupa posiada zbyt mało członków.")
return
end
   if pc.get_level() < 90 then
say("Wybacz, mogę wpuszczać tylko soby od 110 poziomu.")
party.chat("Lider grupy nie posiada 110 poziomu.")
   else
say("Spełniasz wszystkie warunki..")
say("Czy aby na pewno chcesz wejść do Wieży?")
say("Czeka tam na Ciebie i Twoich znajomych ogromne")
say("niebezpieczeństwo.. Jesteś tego pewien?")
local s = select("Wejdź!","Nie wchodzę..")


if s == 1 then
pc.setqf("priv_dt", 1)
   -- join into map!
   d.join(66)
end
   end
end




when login with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
--local i = nie ważne..
--chat("i: "..i) -- for test
if party.is_leader() == true and pc.getqf("priv_dt") > 0 then
pc.setqf("priv_dt", 0)
d.regen_file("data/dungeon/wygnancy.txt")
d.notice("Witajcie, w Wieży Wygnańców!")
d.notice("Zniszczie Metin Morderstwa, by przedostać się dalej.")
d.spawn_mob(8014, 195, 690)
end
end




when 8014.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
   timer("wieza", 6)
chat(special.devil_tower[1][1].." "..special.devil_tower[1][2])
end
when wieza.timer begin
   d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
   d.regen_file("data/dungeon/wygnancy2.txt")
   d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/wygnancy3.txt")
end
when 1903.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
   d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/wygnancy4.txt")
   d.check_eliminated()
d.notice("Elit. Dziewięć Ogonów został pokonany!")
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[i];
   positions[i] = positions[j];
   positions[j] = t;
end
   end
   return positions
end
when 8025.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
   d.setf("levels", 4)
   local positions = deviltower_zone.get_4floor_stone_pos()
   for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8026, positions[i][1], positions[i][2]))
   end
   chat(positions[7][1], positions[7][2])
   local vid = d.spawn_mob(8026, positions[7][1], positions[7][2])
   chat(vid)
   d.set_unique("real", vid)
   server_loop_timer('devil_stone4_updates', 10, pc.get_map_index())
   server_timer('devil_stone4_fail1s', 5*60, pc.get_map_index())


   d.notice("Brawo, udało się Tobie zniszczyć Metin Ma-An.");
   d.notice("Musicie teraz znaleźć prawdziwy Kamień Metin,");
   d.notice("by dostać się na kolejne piętro.");
   d.notice("Macie na to 5 minut zanim zostaniecie wylogowani !");
   d.notice("Śpieszcie się!");
end


when devil_stone4_fail1s.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Pozostało 10 minut!")
server_timer('devil_stone4_fail2s', 5*60, get_server_timer_arg())
   end
end


when devil_stone4_fail2s.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Pozostało 5 minut!")
server_timer('devil_stone4_fails', 5*60, get_server_timer_arg())
   end
end


when devil_stone4_fails.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Nie udalo sie, zostaniecie wylogowany!")
d.exit_all()
clear_server_timer('devil_stone4_updates', get_server_timer_arg())
   end
end


when devil_stone4_updates.server_timer begin
   if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
   for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
   if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("To nie ten kamień!");
   end
end
   end
else
   server_timer("devil_stone4_ends", 5, get_server_timer_arg())
   d.notice("Udało się wam zniszczyć prawdziwy Kamień Metin!");
   d.notice("Zostaniecie przeniesieni na kolejne piętro.")
   clear_server_timer('devil_stone4_fail1s', get_server_timer_arg())
   clear_server_timer('devil_stone4_fail2s', get_server_timer_arg())
   clear_server_timer('devil_stone4_fails', get_server_timer_arg())
end
   else
server_timer('devil_stone4_stop_timers', 1, get_server_timer_arg())
   end
end


when devil_stone4_stop_timers.server_timer begin
   clear_server_timer('devil_stone4_updates', get_server_timer_arg())
end


when devil_stone4_ends.server_timer begin
   if d.select(get_server_timer_arg()) then
d.setf("levels", 5)
d.setf("stone_counts", 5)
d.notice("Świetnie.. Przechodzicie na 5 piętro!")
d.notice("Aby przejść na kolejne musicie zabić wszystkie potwory.")
d.notice("Poczym podnieść Kamień Otwarcia i otworzyć,")
d.notice("wszystkie pięć pieczęci przed czasem!")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1s', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_updates', get_server_timer_arg())


-- 5ĽÓÄ~Äň¦A˛{
d.set_regen_file("data/dungeon/wygnancy5.txt")


-- 5ĽÓ«Ę¦LĄŰ¦A˛{
d.spawn_mob(20353, 421, 452)
d.spawn_mob(20353, 380, 460)
d.spawn_mob(20353, 428, 414)
d.spawn_mob(20353, 398, 392)
d.spawn_mob(20353, 359, 426)
   end
end
when devil_stone5_fail1s.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Do Końca pozostało 15 minut.")
server_timer('devil_stone5_fail2s', 5*60, get_server_timer_arg())
   end
end


when devil_stone5_fail2s.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Do Końca pozostało 10 minut.")
server_timer('devil_stone5_fail3s', 5*60, get_server_timer_arg())
   end
end


when devil_stone5_fail3s.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Do Końca pozostało 5 minut.")
server_timer('devil_stone5_fails', 5*60, get_server_timer_arg())
   end
end


when devil_stone5_fails.server_timer begin
   if d.select(get_server_timer_arg()) then
d.notice("Niestety... Nie udało się! Zostaniecie wylogowani.")
d.exit_all()
   end
end


when 2412.kill with pc.in_dungeon() and d.getf("levels") == 5 begin
   local KILL_COUNT_FOR_DROP_KEYs = 50
   local n =d.getf("counts") + 1
   d.setf("counts", n) 
   if n == KILL_COUNT_FOR_DROP_KEYs then
pc.give_item2(50084, 1)
d.notice(pc.get_name().." Podniósł Kamień Otwarcia!")
d.setf("counts", 0)
   end
end
when 20353.take with item.vnum == 50084 and d.getf("levels") == 5 begin
   npc.purge()
   item.remove()
   d.setf("stone_counts", d.getf("stone_counts") - 1)
   if d.getf("stone_counts") <= 0 then
d.setf("levels", 6)
d.clear_regen()
d.regen_file("data/dungeon/wygnancy6.txt")


d.notice("Brawo, udało się! Jesteście na 6 piętrze!")
d.notice("Zabijcie wszystkie potwory!")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
timer("mob",6)
clear_server_timer('devil_stone5_fail1s', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2s', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3s', get_server_timer_arg())
clear_server_timer('devil_stone5_fails', get_server_timer_arg())
   else
d.notice("Do otwarcia pozostały "..d.getf("stone_counts").." pieczęcie.")
   end
end


when mob.timer begin
d.spawn_mob(1304, 425, 216);
end


when 1306.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
   d.kill_all()
   d.check_eliminated()
   local reward_alchemists = {20074, 20075, 20076}
   d.spawn_mob(reward_alchemists[number(1,3)], 425, 216);
   d.setqf("can_refine", 2)
end




--------------------------------------
-- ĄŃi¤J7ĽÓ¦Ü¨ěąF8ĽÓ¤§«e
--------------------------------------


when 20074.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
say_title(""..mob_name(20074).."")
say("Możesz przejsć na 7 piętro Wieży Wygnańców?")
say("Lecz uważaj..")
say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
wait()
if pc.level >=110 then
say_title(""..mob_name(20074).."")
say("Posiadasz odpowiedni level.")
say("Zostaniesz przeniesiony na 7 piętro.")
timer("devil_jump_7s", 6)
return
end
say_title(""..mob_name(20074).."")
say("Wybacz.. nie posiadasz 110 poziomu")
say("Nie mogę Cię przenieść na kolejne piętro.")
wait()
pc.warp(590500, 110500)
return
    end
when 20075.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
say_title(""..mob_name(20074).."")
say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
say("Lecz uważaj..")
say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
wait()
if pc.level >=110 then
say_title(""..mob_name(20074).."")
say("Posiadasz odpowiedni level.")
say("Zostaniesz przeniesiony na 7 piętro.")
timer("devil_jump_7s", 6)
return
end
say_title(""..mob_name(20074).."")
say("Wybacz.. nie posiadasz 110 poziomu")
say("Nie mogę Cię przenieść na kolejne piętro.")
wait()
pc.warp(590500, 110500)
return
    end
when 20076.chat."Chce przejść dalej (smok)" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("levels") == 6 begin
say_title(""..mob_name(20074).."")
say("Możesz przejsć na 7 piętro Wieży Wygnańców.")
say("Lecz uważaj..")
say("Tam wyżej nie będzie tak łatwo jak wcześniej!")
wait()
if pc.level >=110 then
say_title(""..mob_name(20074).."")
say("Posiadasz odpowiedni level.")
say("Zostaniesz przeniesiony na 7 piętro.")
timer("devil_jump_7s", 6)
return
end
say_title(""..mob_name(20074).."")
say("Wybacz.. nie posiadasz 110 poziomu")
say("Nie mogę Cię przenieść na kolejne piętro.")
wait()
pc.warp(590500, 110500)
return
    end


   when devil_jump_7s.timer begin
d.clear_regen()
d.spawn_mob(1095, 617, 676)
d.setf("levels", 7)
d.regen_file("data/dungeon/wygnancy7.txt")
d.jump_all(2048+590, 6656+638)
end
---------------------------------------------
-- Niebieska Śmierć
---------------------------------------------
when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
timer("devil_jump_<img src='http://www.mpcforum.pl/public/style_emoticons/<#EMO_DIR#>/wacko.gif' class='bbc_emoticon' alt='8S' />", 30)
d.clear_regen()
d.notice("Pokonaliście Niebieską Śmierć!")
d.notice("Zostaniecie przeniesieni na piętro smoka!")
end


---------------------------------------------
-- Niebiański Smok
---------------------------------------------
when devil_jump_<img src='http://www.mpcforum.pl/public/style_emoticons/<#EMO_DIR#>/wacko.gif' class='bbc_emoticon' alt='8S' />.timer begin
d.setf("levels", 8)
d.jump_all(2048+590, 6656+155)
d.spawn_mob(2493,630,195)
end


when 2493.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
local m_sex = pc.get_sex()
   if m_sex == 0 then
notice_all(pc.get_name().." zabił Niebiańskiego Smoka!")
else
notice_all(pc.get_name().." zabiła Niebiańskiego Smoka!")
end


timer("devil_end_jumps", 60)
end


when devil_end_jumps.timer begin
   d.exit_all()
end
end
state __GOOD__ begin
end
end

 

Opublikowano

Troszkę Cię nie rozumiem, ale tutaj masz warunek:

 

when deviltower_man.chat."Wejdź do Wieży Wygnańcow" with party.is_leader() begin

 

Czat uaktywni się tylko jeżeli jesteś liderem grupy.

Opublikowano

Sprawdziłem przed sekundą tego questa, wszystko działa prawidłowo. Usuń zawartość folderu object w quest. Wgraj go od początku i będzie śmigać.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...