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

[Problem] DT + next piętra.


Rekomendowane odpowiedzi

Opublikowano

Witam wszystkim,

 

 

 

 

Mam problem w DT, a mianowicie , mam taki quest:

 

 

 

 

 

 

quest deviltower_zone begin

state start begin

when login begin

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, 29)

end

pc.set_warp_location(29, 5376+532, 512+596+4)

elseif pc.get_map_index() >= 660000 and pc.get_map_index() <= 670000 then

pc.set_warp_location(29, 5376+532, 512+596+4)

end

end

when deviltower_man.chat.locale.deviltower_man_chat begin

if pc.get_level() < 40 then

say_title("Strażnik Wieży Demonów: ")

say(locale.deviltower_man_say_you_cant)

else

say_title("Strażnik Wieży Demonów: ")

say(locale.deviltower_man_say)

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

if s == 1 then

pc.warp(216500,727000)

else

return

end

end

end

when devil_stone1.kill begin

timer("devil_stone1_1", 6)

end

when devil_stone1_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.devil_tower[1][1], special.devil_tower[1][2])

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

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

end

--when devil_stone2.kill begin

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

--end

when devil_stone3.kill begin

--d.jump_all_local(special.devil_tower[3][1], special.devil_tower[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, 29, 5376+532, 512+596+4)

d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_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/deviltower4_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_stone4_update', 10, pc.get_map_index())

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

d.notice("Dotarłeś do Bramy Wyboru na 3. piętrze. Wiele");

d.notice("kamieni Metin będzie drażnić Twoje oczy i uszy.");

d.notice("Znajdź właściwy kamień Metin i zniszcz go w");

d.notice("ciągu 15 minut! To jedyny sposób aby przejść ");

d.notice("dalej.");

end

when devil_stone4_fail1.server_timer begin

if d.select(get_server_timer_arg()) then

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

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

end

end

when devil_stone4_fail2.server_timer begin

if d.select(get_server_timer_arg()) then

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

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

end

end

when devil_stone4_fail.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Nie udało się, zostaniecie wylogowany!")

d.exit_all()

clear_server_timer('devil_stone4_update', get_server_timer_arg())

end

end

when devil_stone4_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 kamień!");

end

end

end

else

--d.clear_regen()

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

server_timer("devil_stone4_end", 5, get_server_timer_arg())

d.notice("Wykazałeś się doskonałym słuchem i instynktem");

d.notice("Zniszczyłeś prawidłowy kamień Metin! Za chwilę ")

d.notice("dotrzesz na 4. pietro!")

clear_server_timer('devil_stone4_fail1', get_server_timer_arg())

clear_server_timer('devil_stone4_fail2', get_server_timer_arg())

clear_server_timer('devil_stone4_fail', get_server_timer_arg())

end

else

server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())

end

end

when devil_stone4_stop_timer.server_timer begin

clear_server_timer('devil_stone4_update', get_server_timer_arg())

end

when devil_stone4_end.server_timer begin

if d.select(get_server_timer_arg()) then

d.setf("level", 5)

d.setf("stone_count", 5)

d.notice("Dotarłeś do zamkniętej Bramy na 4. piętrze!")

d.notice("Znajduje się tu wiele potworów, które strzegą ")

d.notice("tajemniczych kamieni - będziesz ich potrzebował. ")

d.notice("Bez nich nie dostaniesz się na 5. poziom Wieży. ")

d.notice("Zdobądź Kamienie od potworów i użyj ich, aby")

d.notice("odblokować Starożytne Pieczęci. Na wykonanie")

d.notice("tego zadania masz tylko 20 minut - spiesz się! ")

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

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

clear_server_timer('devil_stone4_update', get_server_timer_arg())

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

d.set_regen_file("data/dungeon/deviltower5_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_stone5_fail1.server_timer begin

if d.select(get_server_timer_arg()) then

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

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

end

end

when devil_stone5_fail2.server_timer begin

if d.select(get_server_timer_arg()) then

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

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

end

end

when devil_stone5_fail3.server_timer begin

if d.select(get_server_timer_arg()) then

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

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

end

end

when devil_stone5_fail.server_timer begin

if d.select(get_server_timer_arg()) then

d.notice("Nie udało się, zostaniesz wylogowany!")

d.exit_all()

end

end

--when devil_stone4.kill begin

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

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

--d.clear_regen()

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

--d.jump_all_local(special.devil_tower[4][1], special.devil_tower[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_stone5.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/deviltower6_regen.txt")

d.notice("Wszystkie Starożytne Pieczęci zostały otwarte.")

d.notice("Teraz dotrzesz na 5. poziom Wieży Demonów. ")

d.notice("Zabij wszystkie potwory na 5. piętrze, jednak ")

d.notice("uważaj Piętro to należy do Króla Demonów! ")

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

clear_server_timer('devil_stone5_fail1', get_server_timer_arg())

clear_server_timer('devil_stone5_fail2', get_server_timer_arg())

clear_server_timer('devil_stone5_fail3', get_server_timer_arg())

clear_server_timer('devil_stone5_fail', get_server_timer_arg())

else

d.notice("Otworzyłeś pieczęć! Pozostało jeszcze: "..d.getf("stone_count").."!")

end

end

when devil_stone6.kill begin

-- ?ǰe¨ě?Ҹt?Ň?bŞş?aąĎ

-- §_?hˇA?}ł]¤@­Ó?s?Ҹt

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

d.kill_all()

-- d.set_warp_at_eliminate(3*60, 29, 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."Wyższe piętro" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

say_title("Zbrojmistrz Wieży Demonów ")

say("Co?! Chcesz udać się na 6. poziom Wieży? ")

say("Wyprawa na wyższe poziomy wymaga")

say("naprawdę dobrego przygotowania.")

say("Jeżeli osiągnąłeś 75. poziom mogę ")

say("przenieść Cię na wyższe piętro.")

wait()

if pc.level >=75 then

say_title("Zbrojmistrz Wieży Demonów ")

say("Masz odpowiedni poziom i dlatego masz spore ")

say("szanse na przetrwanie na wyższych piętrach.")

say("Mozesz wejść")

timer("devil_jump_7", 6)

return

end

say("Możesz przejsc dalej!")

say("")

say("")

wait()

pc.warp(590500, 110500)

return

end

when 20075.chat."Wyższe piętro" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

say_title("Platnerz Wieży Demonów ")

say("Co?! Chcesz udać się na 6. poziom Wieży? ")

say("Wyprawa na wyższe poziomy wymaga")

say("naprawdę dobrego przygotowania.")

say("Jeżeli osiągnąłeś 75. poziom mogę ")

say("przenieść Cię na wyższe piętro.")

wait()

if pc.level >=75 then

say_title("Platnerz Wieży Demonów ")

say("Masz odpowiedni poziom i dlatego masz spore ")

say("szanse na przetrwanie na wyższych piętrach.")

say("Mozesz wejść")

timer("devil_jump_7", 6)

return

end

say("Możesz przejsc dalej!")

say("")

say("")

wait()

pc.warp(590500, 110500)

return

end

when 20076.chat."Wyższe piętro" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin

say_title("Jubiler Wieży Demonów ")

say("Co?! Chcesz udać się na 6. poziom Wieży? ")

say("Wyprawa na wyższe poziomy wymaga")

say("naprawdę dobrego przygotowania.")

say("Jeżeli osiągnąłeś 75. poziom mogę ")

say("przenieść Cię na wyższe piętro.")

wait()

if pc.level >=75 then

say_title("Jubiler Wieży Demonów ")

say("Masz odpowiedni poziom i dlatego masz spore ")

say("szanse na przetrwanie na wyższych piętrach.")

say("Mozesz wejść")

timer("devil_jump_7", 6)

return

end

say("Możesz przejsc dalej!")

say("")

say("")

wait()

pc.warp(590500, 110500)

return

end

when devil_jump_7.timer begin

d.notice("Mapa Zin-Sa-Gui otwiera drogę na następne")

d.notice("piętro. Zniszcz kamienie Metin, aby ją odnaleźć ")

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/deviltower7_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_title("Informacja:")

say("Ta mapa przeniesie Cię na 8 . poziom Wieży ")

say("Demonów.")

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.notice("Znajdź odpowiedni klucz!")

d.notice("Potrzebujesz klucza Zin-Bong-In aby")

d.notice("móc otworzyć pieczęć Sa-Soein i dostać ")

d.notice("się na następne piętro Wieży.")

d.setf("level", 8)

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

d.set_regen_file("data/dungeon/deviltower8_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¸Ń°Ł

npc.purge()

item.remove()

timer("devil_jump_9", 6)

end

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

-- ĄŃ?i¤J9ĽÓ?Ü?˛§ô

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

when devil_jump_9.timer begin

d.notice("Zabij Przywódcę Demonów! ")

d.setf("level", 9)

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

d.clear_regen()

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

end

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

d.notice("Zabiłeś przywódcę demonów..")

d.notice("Zostaniesz przeniesiony na kolejne piętro...")

d.kill_all()

timer("devil_jump_10", 6)

end

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

-- ĄŃ?i¤J10ĽÓ?Ü?˛§ô

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

when devil_jump_10.timer begin

d.setf("level", 10)

d.clear_regen()

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

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

d.spawn_mob(1094, 602, 442)

d.notice("Zabij Króla Demonów! ")

end

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

d.check_eliminated()

timer("devil_jump_11", 6)

end

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

-- ĄŃ?i¤J11ĽÓ?Ü?˛§ô

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

when devil_jump_11.timer begin

d.setf("level", 11)

d.clear_regen()

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

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

d.spawn_mob(1095, 610, 194)

d.notice("Zabij Przywódcę Demonów! ")

end

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

d.kill_all()

d.kill_all()

d.notice("Zrobiliście to, czego nikt by się nie spodziewał...")

d.notice("Zabiliście Nieską Śmierć...")

d.notice("Zostaną teraz przywołani trzej Kowale...")

d.notice("Śpieszcie się! W ciągu 2 minut znajdziecie!")

d.notice("się przed Świątynią! ")

d.check_eliminated()

--d.spawn_mob(20366, 690, 158);

d.spawn_mob(20074,600,168,0,0,1);

d.spawn_mob(20075,605,178,0,0,1);

d.spawn_mob(20076,610,188,0,0,1);

d.setqf("can_refine", 3)

timer("lolbai", 120)

end

when lolbai.timer begin

d.kill_all()

pc.warp((5376+501)*100, (512+498+4)*100, 29)

end

end

end

 

 

 

 

 

 

 

 

Niestety gdy Riper zostanie zabity, piszę że zostanę przeniesiony na next piętro, i pach log postaci do wyboru chaneli, i postać bugnięta ;[,

 

 

wiecie czym to może być spowodowane ?

 

 

co mam sprawdzić w plikach ?

 

 

 

Za pomoc +

2421404553.png
Opublikowano

DOŁĄCZAM SIĘ DO PYTANIA ;33

*̡͌l̡*̡̡ ̴̡ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ ̡ ̴̡ı̴̡̡ *̡͌l̡* ٩(͡๏̮͡๏)۶

Opublikowano

A czy masz na pewno dodany ten regen

deviltower11_regen.txt

 

 

Tak, wszystko regen znajduję się w dungeon, także nie mam pojęcia co możę być tego przyczyną, a u Ciebie jak jest ? Chodzi o pliki od Terenzo, które widziałem że chyba sprawdzałeś, bo widziałem Twoje wypowiedzi w temacie Terenzo :P

2421404553.png
  • 4 tygodnie później...
Opublikowano

Żeby ci się DT nie bugowało po relogu zmieć sobie ten piekielny początek :)

 

 

quest deviltower_zone begin
state start begin
 when login begin
  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, 29)
   end
   pc.set_warp_location(29, 5376+532, 512+596+4)
  elseif pc.get_map_index() >= 660000 and pc.get_map_index() <= 670000 then
   pc.set_warp_location(29, 5376+532, 512+596+4)
  end
 end

sygnatura.jpg

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...