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]Quest DT


Rekomendowane odpowiedzi

Specjalista
Opublikowano

Witam

 

 

 

Mam taki problem zmodyfikowałem sobie quest DT i zrobiłem drugi dla drugiej wiezy lecz gdy się tam przeteleportuje wszystko jest moby itd. ale 1-2 s i loga mnie pod dt...

 

 

Wiecie może dlaczego?

 

Pozdrawiam

Opublikowano

Pokaż zawartość questa . Co zmieniłeś ? Tylko u jakiego npc się bierze ? =)

Musisz też mapy dt zduplikować :P

Specjalista
Opublikowano

 

quest piekielna_zone begin
state start begin
when login begin
if pc.get_map_index() == 132 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 piekielny_tower_man.chat.locale.piekielny_tower_man_chat begin
if pc.get_level() < 40 then
say(locale.piekielny_tower_man_say_you_cant)
else
say(locale.piekielny_tower_man_say)
local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
if s == 1 then
-- warp into!
pc.warp(5555500,5555500)
end
end
end
when piekielna_stone1.kill begin
server_timer("piekielna_stone1_1", 6)
end
when piekielna_stone1_1.server_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(132, special.piekielna_tower[1][1], special.piekielna_tower[1][2])
d.regen_file("data/dungeon/_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.piekielna_tower[2][1], special.piekielna_tower[2][2], "data/dungeon/_regen.txt")
end
--when piekielna_stone2.kill begin
--d.jump_all_local(special.piekielna_tower[2][1], special.piekielna_tower[2][2])
--end
when piekielna_stone3.kill begin
--d.jump_all_local(special.piekielna_tower[3][1], special.piekielna_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, 65, 5376+532, 512+596+4)
d.set_warp_at_eliminate(4, d.get_map_index(), special.piekielna_tower[3][1], special.piekielna_tower[3][2], "data/dungeon/_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[i];
positions[i] = positions[j];
positions[j] = t;
end
end
--for i = 1, 7 do
-- positions[i][1] = positions[i][1] * 100
-- positions[i][2] = positions[i][2] * 100
-- 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("level", 4)
-- ?A˛{¤j?q?ÇŞ?¤Î?słyŻuĄŰŔY?M°˛ĄŰŔY
--d.regen_file("data/dungeon/_regen.txt")
local positions = piekielna_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(8025, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8025, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('piekielna_stone4_update', 10, pc.get_map_index())
server_timer('piekielna_stone4_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 piekielna_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Pozostalo 10 minut!")
server_timer('piekielna_stone4_fail2', 5*60, get_server_timer_arg())
end
end

when piekielna_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Pozostalo 5 minut!")
server_timer('piekielna_stone4_fail', 5*60, get_server_timer_arg())
end
end

when piekielna_stone4_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('piekielna_stone4_update', get_server_timer_arg())
end
end

when piekielna_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 kamien!");
end
end
end
else
--d.clear_regen()
--d.regen_file("data/dungeon/_regen.txt")
server_timer("piekielna_stone4_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('piekielna_stone4_fail1', get_server_timer_arg())
clear_server_timer('piekielna_stone4_fail2', get_server_timer_arg())
clear_server_timer('piekielna_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end

when piekielna_stone4_stop_timer.server_timer begin
clear_server_timer('piekielna_stone4_update', get_server_timer_arg())
end

when piekielna_stone4_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.piekielna_tower[4][1], special.piekielna_tower[4][2])
server_timer('piekielna_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('piekielna_stone4_update', get_server_timer_arg())

-- 5ĽÓÄ~Äň?A˛{
d.set_regen_file("data/dungeon/_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 piekielna_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Pozostalo 15 minut!")
server_timer('piekielna_stone5_fail2', 5*60, get_server_timer_arg())
end
end

when piekielna_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Pozostalo 10 minut!")
server_timer('piekielna_stone5_fail3', 5*60, get_server_timer_arg())
end
end

when piekielna_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Pozostalo 5 minut!")
server_timer('piekielna_stone5_fail', 5*60, get_server_timer_arg())
end
end

when piekielna_stone5_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 piekielna_stone4.kill begin
--d.setf("level", 5)
--d.setf("stone_count", 4)
--d.clear_regen()
--d.regen_file("data/dungeon/_regen.txt")
--d.jump_all_local(special.piekielna_tower[4][1], special.piekielna_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 piekielna_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/_regen.txt")

d.notice("Brawo udalo sie! jestes na 6 pietrze!")
d.notice("Zabij wszystkie potwory!")
d.jump_all(special.piekielna_tower[5][1], special.piekielna_tower[5][2])
clear_server_timer('piekielna_stone5_fail1', get_server_timer_arg())
clear_server_timer('piekielna_stone5_fail2', get_server_timer_arg())
clear_server_timer('piekielna_stone5_fail3', get_server_timer_arg())
clear_server_timer('piekielna_stone5_fail', get_server_timer_arg())
else
d.notice("Pozostało jeszcze"..d.getf("stone_count").."pieczęci.")
end
end

when piekielna_stone6.kill begin
-- ?ǰe¨ě?Ҹt?Ň?bŞş?aąĎ
-- §_?hˇA?}ł]¤@­Ó?s?Ҹt
--d.jump_all(special.piekielna_tower[6][1], special.piekielna_tower[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("piekielna_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("piekielna_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("piekielna_jump_7", 6)
return
end
say("Mozesz przejsc dalej!")
say("")
say("")
wait()
pc.warp(590500, 110500)
return
end

when piekielna_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/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("Przeniesiesz sie na 8 pietro!")
pc.remove_item("30302", 1)
timer("piekielna_jump_8", 6)
d.clear_regen()
end

--------------------------------------------
-- ĄŃ?i¤J8ĽÓ?ܨěąF9ĽÓ¤§?e
--------------------------------------------
when piekielna_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/_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("piekielna_jump_9", 6)
end

---------------------------------------------
-- ĄŃ?i¤J9ĽÓ?Ü?˛§ô
---------------------------------------------
when piekielna_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/_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("piekielna_end_jump", 60)
end

when piekielna_end_jump.timer begin
d.exit_all()
end
end
end

 

 

Tu masz questa u NPC Wonda-Rim

Specjalista
Opublikowano

regenów nie mam wpisałem byle jakie ale to raczej przez to nie powinno logac z parteru na parterze jest metek + mobki

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...