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

[Poprawa] Quest wieza demonów


Rekomendowane odpowiedzi

Specjalista
Opublikowano

Witam

 

przerobiłem sobie troche questa wiezy demonów i dodałem go do innego npc żeby było odzielne DT usunołem regeny DT ale jest pewien problem kiedy sie przeteleportuje u tego innego npc przez ten przerobiony quest moby dalej są przecież regeny usunołem to powinno ich już nei być i dt powinno być czyste...

 

Coś źle zrobiłem?

 

Pozdrawiam

 

A oto quest:

 

 

 

quest piekielna_wiezaa begin

state start begin

when login begin

if pc.get_map_index() == 66 then

-- ¨Ă«D¦b1ĽÓ®É, °eŞđĄ~.

-- ĽhĽĆ ˝dłň

-- 1ĽÓ 88 577 236 737

-- 2ĽÓ 91 343 238 504

-- 3ĽÓ 104 107 248 269

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 20083.chat.locale.deviltower_man_chat begin

if pc.get_level() < 40 then

say(locale.deviltower_man_say_you)

else

say(locale.deviltower_man_say_you)

local s = select(locale.deviltower_enter,locale.deviltower_no_enter)

if s == 1 then

-- warp into!

pc.warp(216500,727000)

end

end

end

when devil_wieza1.kill begin

timer("devil_wieza1_1", 6)

end

when devil_wieza1_1.timer begin

local mapto7= pc.count_item(30302) -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞşŻu¤`ĆF¶đ

pc.remove_item(30302,mapto7)

local boxto7= pc.count_item(30300) -- ®ř·Ŕ¤ŁŞľ¬O§_¦s¦bŞş¤ŁŞľ¦WŞş˝c¤l

pc.remove_item(30300,boxto7)

d.new_jump_all(66, special.piekiel_wieza[1][1], special.piekiel_wieza[1][2])

d.regen_file("data/dungeon/geheim4_regen.txt")

d.set_warp_at_eliminate(4, d.get_map_index(), special.piekiel_wieza[2][1], special.piekiel_wieza[2][2], "data/dungeon/geheim4_regen.txt")

end

--when devil_wieza2.kill begin

--d.jump_all_local(special.piekiel_wieza[2][1], special.piekiel_wieza[2][2])

--end

when devil_wieza3.kill begin

--d.jump_all_local(special.piekiel_wieza[3][1], special.piekiel_wieza[3][2])

--d.set_exit_all_at_eliminate(6)

--d.set_warp_at_eliminate(6, d.get_map_index(), 100, 100)

--d.set_warp_at_eliminate(4, 65, 5376+532, 512+596+4)

d.set_warp_at_eliminate(4, d.get_map_index(), special.piekiel_wieza[3][1], special.piekiel_wieza[3][2], "data/dungeon/geheim4_regen.txt")

d.check_eliminated()

--d.exit_all()

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

--for i = 1, 7 do

-- positions[1] = positions[1] * 100

-- positions[2] = positions[2] * 100

-- end

return positions

end

when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

d.setf("level", 4)

-- ¦A˛{¤j¶q©ÇŞ«¤Î»słyŻuĄŰŔY©M°˛ĄŰŔY

--d.regen_file("data/dungeon/geheim4_regen.txt")

local positions = deviltower_zone.get_4floor_stone_pos()

for i = 1, 6 do

chat(positions[1], positions[2])

d.set_unique("fake" .. i , d.spawn_mob(8017, positions[1], positions[2]))

end

chat(positions[7][1], positions[7][2])

local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])

chat(vid)

d.set_unique("real", vid)

server_loop_timer('devil_wieza4_update', 10, pc.get_map_index())

server_timer('devil_wieza4_fail1', 5*60, pc.get_map_index())

d.notice("Brawo, udalo sie Tobie");

d.notice("zniszczyc kamien metin!");

d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani.");

d.notice("Spieszcie sie!");

end

when devil_wieza4_fail1.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostalo 10 minut!")

server_timer('devil_wieza4_fail2', 5*60, get_server_timer_arg())

end

end

when devil_wieza4_fail2.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostalo 5 minut!")

server_timer('devil_wieza4_fail', 5*60, get_server_timer_arg())

end

end

when devil_wieza4_fail.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_wieza4_update', get_server_timer_arg())

end

end

when devil_wieza4_update.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 kamien!");

end

end

end

else

--d.clear_regen()

--d.regen_file("data/dungeon/deviltower5_regen.txt")

server_timer("devil_wieza4_end", 5, get_server_timer_arg())

d.notice("Udalo sie! Zabij wszystkie potwory na nastepnym");

d.notice("pietrze, aby zdobyc kamien otwarcia!")

clear_server_timer('devil_wieza4_fail1', get_server_timer_arg())

clear_server_timer('devil_wieza4_fail2', get_server_timer_arg())

clear_server_timer('devil_wieza4_fail', get_server_timer_arg())

end

else

server_timer('devil_wieza4_stop_timer', 1, get_server_timer_arg())

end

end

when devil_wieza4_stop_timer.server_timer begin

clear_server_timer('devil_wieza4_update', get_server_timer_arg())

end

when devil_wieza4_end.server_timer begin

if d.select(get_server_timer_arg()) then

d.setf("level", 5)

d.setf("stone_count", 5)

d.notice("Brawo, jestes na 5 pietrze!")

d.notice("Aby przejsc na 6 pietro musisz zabic")

d.notice("wszystkie potwory tutaj, zdobyc kamien")

d.notice("otwarcia i otworzyc pieczecie przed czasem!")

d.jump_all(special.piekiel_wieza[4][1], special.piekiel_wieza[4][2])

server_timer('devil_wieza5_fail1', 5*60, get_server_timer_arg())

clear_server_timer('devil_wieza4_update', get_server_timer_arg())

-- 5ĽÓÄ~Äň¦A˛{

d.set_regen_file("data/dungeon/geheim4_regen.txt")

-- 5ĽÓ«Ę¦LĄŰ¦A˛{

d.spawn_mob(20073, 421, 452)

d.spawn_mob(20073, 380, 460)

d.spawn_mob(20073, 428, 414)

d.spawn_mob(20073, 398, 392)

d.spawn_mob(20073, 359, 426)

end

end

when devil_wieza5_fail1.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostalo 15 minut!")

server_timer('devil_wieza5_fail2', 5*60, get_server_timer_arg())

end

end

when devil_wieza5_fail2.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostalo 10 minut!")

server_timer('devil_wieza5_fail3', 5*60, get_server_timer_arg())

end

end

when devil_wieza5_fail3.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostalo 5 minut!")

server_timer('devil_wieza5_fail', 5*60, get_server_timer_arg())

end

end

when devil_wieza5_fail.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Nie udalo sie, zostaniesz wylogowany!")

d.exit_all()

end

end

--when devil_wieza4.kill begin

--d.setf("level", 5)

--d.setf("stone_count", 4)

--d.clear_regen()

--d.regen_file("data/dungeon/geheim4_regen.txt")

--d.jump_all_local(special.piekiel_wieza[4][1], special.piekiel_wieza[4][2])

--end

when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin

local KILL_COUNT_FOR_DROP_KEY = 50

--if is_test_server() then

--KILL_COUNT_FOR_DROP_KEY = 1

--end

local n =d.getf("count") + 1

d.setf("count", n)

if n == KILL_COUNT_FOR_DROP_KEY then

-- ±Ľ¤UÂę°Í

game.drop_item(50084, 1)

d.setf("count", 0)

end

end

when devil_wieza5.take with item.vnum == 50084 begin

npc.purge()

item.remove()

d.setf("stone_count", d.getf("stone_count") - 1)

if d.getf("stone_count") <= 0 then

d.setf("level", 6)

d.clear_regen()

d.regen_file("data/dungeon/geheim4_regen.txt")

d.notice("Brawo udalo sie! jestes na 6 pietrze!")

d.notice("Zabij wszystkie potwory!")

d.jump_all(special.piekiel_wieza[5][1], special.piekiel_wieza[5][2])

clear_server_timer('devil_wieza5_fail1', get_server_timer_arg())

clear_server_timer('devil_wieza5_fail2', get_server_timer_arg())

clear_server_timer('devil_wieza5_fail3', get_server_timer_arg())

clear_server_timer('devil_wieza5_fail', get_server_timer_arg())

else

d.notice("Do otwarcia posostały "..d.getf("stone_count").." pieczęcie")

end

end

when devil_wieza6.kill begin

-- ¶Ç°e¨ě·Ň¸t©Ň¦bŞş¦aąĎ

-- §_«hˇA¶}ł]¤@·s·Ň¸t

--d.jump_all(special.piekiel_wieza[6][1], special.piekiel_wieza[6][2])

d.kill_all()

-- d.set_warp_at_eliminate(3*60, 65, 5376+532, 512+596+4)

d.check_eliminated()

local reward_alchemist = {20074, 20075, 20076}

d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);

d.setqf("can_refine", 1)

end

--------------------------------------

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

--------------------------------------

when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

say(""..mob_name(20074).."")

say("Zostaniesz przeniesiony")

say("na 7 pietro Wiezy Demonow!")

say("Lecz uwazaj...")

say("Tam nie bedzie tak latwo jak wczesniej!")

wait()

if pc.level >=75 then

say("Kazdy z graczy zostanie przeniesiony!")

timer("devil_jump_7", 6)

return

end

say("Mozesz przejsc dalej!")

say("")

say("")

wait()

pc.warp(590500, 110500)

return

end

when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

say(""..mob_name(20075).."")

say("Zostaniesz przeniesiony")

say("na 7 pietro Wiezy Demonow!")

say("Lecz uwazaj...")

say("Tam nie bedzie tak latwo jak wczesniej!")

wait()

if pc.level >=75 then

say("Kazdy z graczy zostanie przeniesiony!")

timer("devil_jump_7", 6)

return

end

say("Mozesz przejsc dalej!")

say("")

say("")

wait()

pc.warp(590500, 110500)

return

end

when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

say(""..mob_name(20076).."")

say("Zostaniesz przeniesiony")

say("na 7 pietro Wiezy Demonow!")

say("Lecz uwazaj...")

say("Tam nie bedzie tak latwo jak wczesniej!")

wait()

if pc.level >=75 then

say("Kazdy z graczy zostanie przeniesiony!")

timer("devil_jump_7", 6)

return

end

say("Mozesz przejsc dalej!")

say("")

say("")

wait()

pc.warp(590500, 110500)

return

end

when devil_jump_7.timer begin

d.clear_regen()

d.spawn_mob(8018, 639, 658)

d.spawn_mob(8018, 611, 637)

d.spawn_mob(8018, 596, 674)

d.spawn_mob(8018, 629, 670)

d.setf("level", 7)

d.jump_all(2048+590, 6656+638)

end

 

when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

local cont = d.getf("7_stone_kill") + 1

d.setf("7_stone_kill", cont)

if cont >= 4 then

d.setf("7_stone_kill", 0)

d.set_regen_file("data/dungeon/deviltowe_regen.txt")

end

end

when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

game.drop_item(30300, 1)

end

when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

pc.remove_item("30300", 1)

local pct = number(1,10)

if pct == 1 then

-- ±Ľ¤UŻu¦aąĎ

game.drop_item(30302, 1)

d.clear_regen()

else

-- ±Ľ¤U°˛¦aąĎ

game.drop_item(30301, 1)

 

end

end

when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

-- ¶Ç°e¨ě8ĽÓ

say("Przeniesiesz sie na 8 pietro!")

pc.remove_item("30302", 1)

timer("devil_jump_8", 6)

d.clear_regen()

end

 

--------------------------------------------

-- ĄŃ¶i¤J8ĽÓ¦Ü¨ěąF9ĽÓ¤§«e

--------------------------------------------

when devil_jump_8.timer begin

d.setf("level", 8)

d.jump_all(2048+590, 6656+403)

d.set_regen_file("data/dungeon/geheim4_regen.txt")

d.spawn_mob(20366, 640, 460)

local _count= pc.count_item(30302)-- ®ř·ŔŻu¤`ĆF¶đ

pc.remove_item(30302,_count)

 

end

when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

local pct1 = number(1, 5)

if pct1 == 1 then

local pct2 = number(1, 10)

if pct2 == 1 then

-- ±Ľ¤UŻuÂę°Í

game.drop_item(30304, 1)

else

-- ±Ľ¤U°˛Âę°Í

game.drop_item(30303, 1)

end

else

return

end

end

when 20366.take with item.vnum == 30304 begin

-- 9ĽÓ«Ę¦L¸Ń°Ł

d.notice("Zostaniecie przeniesieni na 9 pietro!")

npc.purge()

item.remove()

timer("devil_jump_9", 6)

end

---------------------------------------------

-- ĄŃ¶i¤J9ĽÓ¦Üµ˛§ô

---------------------------------------------

when devil_jump_9.timer begin

d.setf("level", 9)

d.jump_all(2048+590, 6656+155)

d.regen_file("data/dungeon/geheim4_regen.txt")

end

when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

d.kill_all()

notice_all(pc.get_name().." zabil Umarlego Rozpruwacza!")

timer("devil_end_jump", 60)

end

when devil_end_jump.timer begin

d.exit_all()

end

 

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ńców" with party.is_leader() begin

say_title("Strażnik Wieży Wygnańców:")

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() < 110 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(8024, 195, 690)

end

end

 

 

when 8024.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

timer("wieza", 6)

chat(special.piekiel_wieza[1][1].." "..special.piekiel_wieza[1][2])

end

when wieza.timer begin

d.new_jump_all(66, special.piekiel_wieza[1][1], special.piekiel_wieza[1][2])

d.regen_file("data/dungeon/wygnancy2.txt")

d.set_warp_at_eliminate(4, d.get_map_index(), special.piekiel_wieza[2][1], special.piekiel_wieza[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.piekiel_wieza[3][1], special.piekiel_wieza[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;

positions = 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[1], positions[2])

d.set_unique("fake" .. i , d.spawn_mob(8026, positions[1], positions[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_wieza4_updates', 10, pc.get_map_index())

server_timer('devil_wieza4_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_wieza4_fail1s.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostało 10 minut!")

server_timer('devil_wieza4_fail2s', 5*60, get_server_timer_arg())

end

end

when devil_wieza4_fail2s.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Pozostało 5 minut!")

server_timer('devil_wieza4_fails', 5*60, get_server_timer_arg())

end

end

when devil_wieza4_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_wieza4_updates', get_server_timer_arg())

end

end

when devil_wieza4_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_wieza4_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_wieza4_fail1s', get_server_timer_arg())

clear_server_timer('devil_wieza4_fail2s', get_server_timer_arg())

clear_server_timer('devil_wieza4_fails', get_server_timer_arg())

end

else

server_timer('devil_wieza4_stop_timers', 1, get_server_timer_arg())

end

end

when devil_wieza4_stop_timers.server_timer begin

clear_server_timer('devil_wieza4_updates', get_server_timer_arg())

end

when devil_wieza4_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.piekiel_wieza[4][1], special.piekiel_wieza[4][2])

server_timer('devil_wieza5_fail1s', 5*60, get_server_timer_arg())

clear_server_timer('devil_wieza4_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_wieza5_fail1s.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Do Końca pozostało 15 minut.")

server_timer('devil_wieza5_fail2s', 5*60, get_server_timer_arg())

end

end

when devil_wieza5_fail2s.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Do Końca pozostało 10 minut.")

server_timer('devil_wieza5_fail3s', 5*60, get_server_timer_arg())

end

end

when devil_wieza5_fail3s.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Do Końca pozostało 5 minut.")

server_timer('devil_wieza5_fails', 5*60, get_server_timer_arg())

end

end

when devil_wieza5_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.piekiel_wieza[5][1], special.piekiel_wieza[5][2])

timer("mob",6)

clear_server_timer('devil_wieza5_fail1s', get_server_timer_arg())

clear_server_timer('devil_wieza5_fail2s', get_server_timer_arg())

clear_server_timer('devil_wieza5_fail3s', get_server_timer_arg())

clear_server_timer('devil_wieza5_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_ 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_ 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

 

  • 1 rok później...
Opublikowano
wklejto.pl

 

tutaj podaj quest to po pierwsze. po drugie...

 

wydaje mi się, że regeny zapisujemy w taki sposób...

"data/dungeon/wygnancy5_regen.txt")

 

 

a nie

"data/dungeon/wygnancy5.txt")

//Sygnatura niezgodna z regulaminem

TheJeron78

Opublikowano
when 20083.chat.locale.deviltower_man_chat begin

, itp pozmieniaj na swoje dialogi , wszystko co zwiazane z dt wymien na swoje , zeby nie bylo bugow

 

bo teleportujesz sie do Dt a nie do , tej nowej wiezy tak mi sie wydaje przynajmniej :D

Bez-nazwy_nwpsash.png


by me


Opublikowano

ej chłopaki ten post jest z lutego ! ;d minęło dawno temu 30 dni.... ;f

 

 

@antywarn. stwórz nowego npc. Nadaj mu nazwę. posprawdzaj regeny. sprawdź logi

//Sygnatura niezgodna z regulaminem

TheJeron78

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...