Cerere quest Turnul Demonilor
- skristy96
-

- Mesaje: 559
- Membru din: 29 Noi 2013, 21:38
- Server: OficialMT2
- Regat: Jinno
- Aprecieri: 364
- Mulţumiri: 50
- Rezolvări prob.: 1
- Discord: Copiază ID
- Contact:
Salut j4m, are careva questul pentru turnul demonilor fara buguri la etajul 4 sau altele ? Am un serverfile clean si nu are absolut nimic instalat , si caut un quest pentru dt si nu gasesc . Multumesc 
Salut, il poti incerca pe acesta
Cod: Selectaţi tot
quest turnul_demonilor 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(590500, 110500)
end
pc.set_warp_location(65, 5905, 1105)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5905, 1105)
turnul_demonilor.register_player(pc.get_vid())
end
end
when logout begin
if pc.count_item(30300) >= 1 then
pc.remove_item(30300, pc.count_item(30300))
end
if pc.count_item(30302) >= 1 then
pc.remove_item(30302, pc.count_item(30302))
end
if pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
turnul_demonilor.unregister_player(pc.get_vid())
end
end
when turnul_demonilor_paznic.chat."Intrarea în Turnul Demonilor" begin
if pc.get_level() < 40 then
say_title("Gardă a Demonilor:")
say("")
--- l
say("Acest turn este plin de demoni.")
say("Doar cei puternici pot ajunge în vârf.")
say("Se spune că, cine intra în turn")
say("nu iese în viată.")
say("Momentan ... nivelul tău este prea mic")
say("pentru a te lăsa să intri.")
say("Revin-o când ai nivelul 40.")
say("")
else
say_title("Gardă a Demonilor:")
say("")
--- l
say("Acest turn este plin de demoni.")
say("Doar cei puternici pot ajunge în vârf.")
say("Se spune că, cine intra în turn")
say("nu iese în viată.")
say("Esti sigur că vrei să intri?")
say("")
local s = select("Intru", "Nu")
if s == 1 then
-- warp into!
pc.warp(216500,727000)
end
end
end
when turnul_demonilor_piatra1.kill begin
timer("turnul_demonilor_piatra1_1", 6)
end
when turnul_demonilor_piatra1_1.timer begin
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/turnul_demonilor/turnul_demonilor_3_regen.txt")
end
when turnul_demonilor_king1.kill begin
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/turnul_demonilor/turnul_demonilor_4_regen.txt")
d.check_eliminated()
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 turnul_demonilor_piatra2.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
local positions = turnul_demonilor.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][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('turnul_demonilor_4_actualizare', 10, pc.get_map_index())
server_timer('turnul_demonilor_4_esec1', 5*60, pc.get_map_index())
d.notice("Ai ajuns la Poarta Alegerii la etajul 4.");
d.notice("Multe pietre Metin false îti vor irita ochii si urechile.");
d.notice("Găseste piatra Metin corectă si distruge-o. Ai 15 minute.");
d.notice("Aceasta este singura modalitate de a trece această poartă.");
end
when turnul_demonilor_4_esec1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Minute rămase: 10")
server_timer('turnul_demonilor_4_esec2', 5*60, get_server_timer_arg())
end
end
when turnul_demonilor_4_esec2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Minute rămase: 5")
server_timer('turnul_demonilor_4_esec', 5*60, get_server_timer_arg())
end
end
when turnul_demonilor_4_esec.server_timer begin
if d.select(get_server_timer_arg()) and d.getf("level") == 4 then
d.notice("Timpul a expirat.")
d.exit_all()
end
end
when turnul_demonilor_4_actualizare.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("Piatra Metin falsă a dispărut...");
end
end
end
else
server_timer("turnul_demonilor_4_sfarsit", 5, get_server_timer_arg())
d.notice("Te-ai bazat pe instinct si ai reusit!");
d.notice("Ai distrus piatra Metin corectă.")
d.purge()
end
else
server_timer('turnul_demonilor_4_opreste_timp', 1, get_server_timer_arg())
end
end
when turnul_demonilor_4_opreste_timp.server_timer begin
clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg())
end
when turnul_demonilor_4_sfarsit.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg())
clear_server_timer('turnul_demonilor_4_esec1', get_server_timer_arg())
clear_server_timer('turnul_demonilor_4_esec2', get_server_timer_arg())
clear_server_timer('turnul_demonilor_4_esec', get_server_timer_arg())
d.setf("level", 5)
d.setf("stone_count", 5)
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
d.notice("Ai ajuns la Poarta Sigilată la etajul 5.")
d.notice("Câtiva demoni au Piatra Cheie, care poate fi")
d.notice("folosită pentru a deschide Sigiliile Antice.")
d.notice("Deschide cele 5 sigilii în 20 de minute")
d.notice("pentru a avansa la etajul următor!")
server_timer('turnul_demonilor_5_esec1', 5*60, get_server_timer_arg())
clear_server_timer('turnul_demonilor_5_actualizare', get_server_timer_arg())
d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_5_regen.txt")
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 turnul_demonilor_5_esec1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Minute rămase: 15")
server_timer('turnul_demonilor_5_esec2', 5*60, get_server_timer_arg())
end
end
when turnul_demonilor_5_esec2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Minute rămase: 10")
server_timer('turnul_demonilor_5_esec3', 5*60, get_server_timer_arg())
end
end
when turnul_demonilor_5_esec3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Minute rămase: 5")
server_timer('turnul_demonilor_5_esec', 5*60, get_server_timer_arg())
end
end
when turnul_demonilor_5_esec.server_timer begin
if d.select(get_server_timer_arg()) and d.getf("level") == 5 then
d.notice("Timpul a expirat.")
d.exit_all()
end
end
when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when turnul_demonilor_sigiliu.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/turnul_demonilor/turnul_demonilor_6_regen.txt")
d.notice("Ai deschis toate sigliile.")
d.notice("Vei avansa la etajul 6!")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('turnul_demonilor_5_esec1', get_server_timer_arg())
clear_server_timer('turnul_demonilor_5_esec2', get_server_timer_arg())
clear_server_timer('turnul_demonilor_5_esec3', get_server_timer_arg())
clear_server_timer('turnul_demonilor_5_esec', get_server_timer_arg())
d.notice("Învinge toti demonii apoi omoară regele.")
else
d.notice("Sigiliul a fost rup! Au mai rămas "..d.getf("stone_count")..".")
end
end
when turnul_demonilor_king2.kill begin
d.kill_all()
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
when 20074.chat."Etajele de vârf ale turnului" 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("")
say("Ati găsit drumul până la etajul 6.")
say("Necesită multă îndemânare să ajungi aici ...")
say("Hmmmm...")
say("După cum ti-am examinat abilitătile.....")
say("")
wait()
if pc.level >=75 then
say_title(""..mob_name(20074)..":")
say("")
say("Te voi lăsa să treci mai departe..")
say("")
timer("turnul_demonilor_etaj_7", 6)
npc.unlock()
d.purge()
return
end
say_title(""..mob_name(20074)..":")
say("")
say("Ai nevoie de mai mult antrenament")
say("pentru a te lăsa să treci mai departe.")
say("Revin-o când esti destul de puternic..")
say("")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
say_title(""..mob_name(20075)..":")
say("")
say("Ati găsit drumul până la etajul 6.")
say("Necesită multă îndemânare să ajungi aici ...")
say("Hmmmm...")
say("După cum ti-am examinat abilitătile.....")
say("")
wait()
if pc.level >=75 then
say_title(""..mob_name(20075)..":")
say("")
say("Te voi lăsa să treci mai departe..")
say("")
timer("turnul_demonilor_etaj_7", 6)
npc.unlock()
d.purge()
return
end
say_title(""..mob_name(20075)..":")
say("")
say("Ai nevoie de mai mult antrenament")
say("pentru a te lăsa să treci mai departe.")
say("Revin-o când esti destul de puternic..")
say("")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
say_title(""..mob_name(20076)..":")
say("")
say("Ati găsit drumul până la etajul 6.")
say("Necesită multă îndemânare să ajungi aici ...")
say("Hmmmm...")
say("După cum ti-am examinat abilitătile.....")
say("")
wait()
if pc.level >=75 then
say_title(""..mob_name(20076)..":")
say("")
say("Te voi lăsa să treci mai departe..")
say("")
timer("turnul_demonilor_etaj_7", 6)
npc.unlock()
d.purge()
return
end
say_title(""..mob_name(20076)..":")
say("")
say("Ai nevoie de mai mult antrenament")
say("pentru a te lăsa să treci mai departe.")
say("Revin-o când esti destul de puternic..")
say("")
wait()
pc.warp(590500, 110500)
return
end
when turnul_demonilor_etaj_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 turnul_demonilor_piatra3.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/turnul_demonilor/turnul_demonilor_7_regen.txt")
end
end
when turnul_demonilor_piatra4.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
game.drop_item(30302, 1)
d.clear_regen()
else
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
if d.getf( "level" ) != 7 then
pc.remove_item( "30302", 1)
return
end
say("Cu această hartă poti avansa la nivelul următor!")
pc.remove_item("30302", 1)
timer("turnul_demonilor_etaj_8", 6)
d.clear_regen()
end
---------------------------------------------
-- ETAJ 8
---------------------------------------------
when turnul_demonilor_etaj_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count = pc.count_item(30302)
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
if d.getf("level") < 9 then
local pct1 = number(1, 10)
if pct1 == 1 then
local pct2 = number(1, 4)
if pct2 == 1 then
game.drop_item(30304, 1)
else
game.drop_item(30303, 1)
end
else
return
end
end
end
when turnul_demonilor_sa_soe.take with item.vnum == 30304 begin
npc.purge()
item.remove()
timer("turnul_demonilor_etaj_9", 8)
end
---------------------------------------------
-- ETAJ 9
---------------------------------------------
when turnul_demonilor_etaj_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_9_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()
d.kill_all()
timer("turnul_demonilor_final", 30)
end
when turnul_demonilor_final.timer begin
d.exit_all()
end
function register_player(vid)
local player_count = d.getf("player_count")
player_count = player_count + 1
d.setf("player_count", tonumber(player_count))
d.setf(string.format("player%d", player_count), tonumber(vid))
end
function unregister_player(vid)
local player_count = d.getf("player_count")
local found = false
for i = 1, player_count, 1 do
if found == true then
d.setf(string.format("player%d", tonumber(i)), d.getf(string.format("player%d", i+1)))
end
p = d.getf("player"..tostring(i))
if p == vid then
i = i -1
found = true
end
end
if found == true then
d.setf("player_count", tonumber(player_count - 1))
end
end
end
end
- skristy96
-

- Mesaje: 559
- Membru din: 29 Noi 2013, 21:38
- Server: OficialMT2
- Regat: Jinno
- Aprecieri: 364
- Mulţumiri: 50
- Rezolvări prob.: 1
- Discord: Copiază ID
- Contact:
Nu merged3MenTuL scrie: ↑13 Oct 2019, 15:03Salut, il poti incerca pe acestaBafta!Cod: Selectaţi tot
quest turnul_demonilor 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(590500, 110500) end pc.set_warp_location(65, 5905, 1105) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5905, 1105) turnul_demonilor.register_player(pc.get_vid()) end end when logout begin if pc.count_item(30300) >= 1 then pc.remove_item(30300, pc.count_item(30300)) end if pc.count_item(30302) >= 1 then pc.remove_item(30302, pc.count_item(30302)) end if pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then turnul_demonilor.unregister_player(pc.get_vid()) end end when turnul_demonilor_paznic.chat."Intrarea în Turnul Demonilor" begin if pc.get_level() < 40 then say_title("Gardă a Demonilor:") say("") --- l say("Acest turn este plin de demoni.") say("Doar cei puternici pot ajunge în vârf.") say("Se spune că, cine intra în turn") say("nu iese în viată.") say("Momentan ... nivelul tău este prea mic") say("pentru a te lăsa să intri.") say("Revin-o când ai nivelul 40.") say("") else say_title("Gardă a Demonilor:") say("") --- l say("Acest turn este plin de demoni.") say("Doar cei puternici pot ajunge în vârf.") say("Se spune că, cine intra în turn") say("nu iese în viată.") say("Esti sigur că vrei să intri?") say("") local s = select("Intru", "Nu") if s == 1 then -- warp into! pc.warp(216500,727000) end end end when turnul_demonilor_piatra1.kill begin timer("turnul_demonilor_piatra1_1", 6) end when turnul_demonilor_piatra1_1.timer begin d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/turnul_demonilor/turnul_demonilor_3_regen.txt") end when turnul_demonilor_king1.kill begin d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/turnul_demonilor/turnul_demonilor_4_regen.txt") d.check_eliminated() 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 turnul_demonilor_piatra2.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) local positions = turnul_demonilor.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][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('turnul_demonilor_4_actualizare', 10, pc.get_map_index()) server_timer('turnul_demonilor_4_esec1', 5*60, pc.get_map_index()) d.notice("Ai ajuns la Poarta Alegerii la etajul 4."); d.notice("Multe pietre Metin false îti vor irita ochii si urechile."); d.notice("Găseste piatra Metin corectă si distruge-o. Ai 15 minute."); d.notice("Aceasta este singura modalitate de a trece această poartă."); end when turnul_demonilor_4_esec1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 10") server_timer('turnul_demonilor_4_esec2', 5*60, get_server_timer_arg()) end end when turnul_demonilor_4_esec2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 5") server_timer('turnul_demonilor_4_esec', 5*60, get_server_timer_arg()) end end when turnul_demonilor_4_esec.server_timer begin if d.select(get_server_timer_arg()) and d.getf("level") == 4 then d.notice("Timpul a expirat.") d.exit_all() end end when turnul_demonilor_4_actualizare.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("Piatra Metin falsă a dispărut..."); end end end else server_timer("turnul_demonilor_4_sfarsit", 5, get_server_timer_arg()) d.notice("Te-ai bazat pe instinct si ai reusit!"); d.notice("Ai distrus piatra Metin corectă.") d.purge() end else server_timer('turnul_demonilor_4_opreste_timp', 1, get_server_timer_arg()) end end when turnul_demonilor_4_opreste_timp.server_timer begin clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg()) end when turnul_demonilor_4_sfarsit.server_timer begin if d.select(get_server_timer_arg()) then clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec1', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec2', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec', get_server_timer_arg()) d.setf("level", 5) d.setf("stone_count", 5) d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) d.notice("Ai ajuns la Poarta Sigilată la etajul 5.") d.notice("Câtiva demoni au Piatra Cheie, care poate fi") d.notice("folosită pentru a deschide Sigiliile Antice.") d.notice("Deschide cele 5 sigilii în 20 de minute") d.notice("pentru a avansa la etajul următor!") server_timer('turnul_demonilor_5_esec1', 5*60, get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_actualizare', get_server_timer_arg()) d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_5_regen.txt") 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 turnul_demonilor_5_esec1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 15") server_timer('turnul_demonilor_5_esec2', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 10") server_timer('turnul_demonilor_5_esec3', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 5") server_timer('turnul_demonilor_5_esec', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec.server_timer begin if d.select(get_server_timer_arg()) and d.getf("level") == 5 then d.notice("Timpul a expirat.") d.exit_all() end end when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 50 local n =d.getf("count") + 1 d.setf("count", n) if n == KILL_COUNT_FOR_DROP_KEY then game.drop_item(50084, 1) d.setf("count", 0) end end when turnul_demonilor_sigiliu.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/turnul_demonilor/turnul_demonilor_6_regen.txt") d.notice("Ai deschis toate sigliile.") d.notice("Vei avansa la etajul 6!") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('turnul_demonilor_5_esec1', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec2', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec3', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec', get_server_timer_arg()) d.notice("Învinge toti demonii apoi omoară regele.") else d.notice("Sigiliul a fost rup! Au mai rămas "..d.getf("stone_count")..".") end end when turnul_demonilor_king2.kill begin d.kill_all() 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 when 20074.chat."Etajele de vârf ale turnului" 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("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20074)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20074)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin say_title(""..mob_name(20075)..":") say("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20075)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20075)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin say_title(""..mob_name(20076)..":") say("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20076)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20076)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when turnul_demonilor_etaj_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 turnul_demonilor_piatra3.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/turnul_demonilor/turnul_demonilor_7_regen.txt") end end when turnul_demonilor_piatra4.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 game.drop_item(30302, 1) d.clear_regen() else 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 if d.getf( "level" ) != 7 then pc.remove_item( "30302", 1) return end say("Cu această hartă poti avansa la nivelul următor!") pc.remove_item("30302", 1) timer("turnul_demonilor_etaj_8", 6) d.clear_regen() end --------------------------------------------- -- ETAJ 8 --------------------------------------------- when turnul_demonilor_etaj_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_8_regen.txt") d.spawn_mob(20366, 640, 460) local _count = pc.count_item(30302) 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 if d.getf("level") < 9 then local pct1 = number(1, 10) if pct1 == 1 then local pct2 = number(1, 4) if pct2 == 1 then game.drop_item(30304, 1) else game.drop_item(30303, 1) end else return end end end when turnul_demonilor_sa_soe.take with item.vnum == 30304 begin npc.purge() item.remove() timer("turnul_demonilor_etaj_9", 8) end --------------------------------------------- -- ETAJ 9 --------------------------------------------- when turnul_demonilor_etaj_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_9_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() d.kill_all() timer("turnul_demonilor_final", 30) end when turnul_demonilor_final.timer begin d.exit_all() end function register_player(vid) local player_count = d.getf("player_count") player_count = player_count + 1 d.setf("player_count", tonumber(player_count)) d.setf(string.format("player%d", player_count), tonumber(vid)) end function unregister_player(vid) local player_count = d.getf("player_count") local found = false for i = 1, player_count, 1 do if found == true then d.setf(string.format("player%d", tonumber(i)), d.getf(string.format("player%d", i+1))) end p = d.getf("player"..tostring(i)) if p == vid then i = i -1 found = true end end if found == true then d.setf("player_count", tonumber(player_count - 1)) end end end end
Cum sa nu mearga daca eu l-am testat. Iti da eroare in SSH(putty) sau? Ca nu inteleg.skristy96 scrie: ↑14 Oct 2019, 08:43Nu merged3MenTuL scrie: ↑13 Oct 2019, 15:03Salut, il poti incerca pe acestaBafta!Cod: Selectaţi tot
quest turnul_demonilor 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(590500, 110500) end pc.set_warp_location(65, 5905, 1105) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5905, 1105) turnul_demonilor.register_player(pc.get_vid()) end end when logout begin if pc.count_item(30300) >= 1 then pc.remove_item(30300, pc.count_item(30300)) end if pc.count_item(30302) >= 1 then pc.remove_item(30302, pc.count_item(30302)) end if pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then turnul_demonilor.unregister_player(pc.get_vid()) end end when turnul_demonilor_paznic.chat."Intrarea în Turnul Demonilor" begin if pc.get_level() < 40 then say_title("Gardă a Demonilor:") say("") --- l say("Acest turn este plin de demoni.") say("Doar cei puternici pot ajunge în vârf.") say("Se spune că, cine intra în turn") say("nu iese în viată.") say("Momentan ... nivelul tău este prea mic") say("pentru a te lăsa să intri.") say("Revin-o când ai nivelul 40.") say("") else say_title("Gardă a Demonilor:") say("") --- l say("Acest turn este plin de demoni.") say("Doar cei puternici pot ajunge în vârf.") say("Se spune că, cine intra în turn") say("nu iese în viată.") say("Esti sigur că vrei să intri?") say("") local s = select("Intru", "Nu") if s == 1 then -- warp into! pc.warp(216500,727000) end end end when turnul_demonilor_piatra1.kill begin timer("turnul_demonilor_piatra1_1", 6) end when turnul_demonilor_piatra1_1.timer begin d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/turnul_demonilor/turnul_demonilor_3_regen.txt") end when turnul_demonilor_king1.kill begin d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/turnul_demonilor/turnul_demonilor_4_regen.txt") d.check_eliminated() 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 turnul_demonilor_piatra2.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) local positions = turnul_demonilor.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][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('turnul_demonilor_4_actualizare', 10, pc.get_map_index()) server_timer('turnul_demonilor_4_esec1', 5*60, pc.get_map_index()) d.notice("Ai ajuns la Poarta Alegerii la etajul 4."); d.notice("Multe pietre Metin false îti vor irita ochii si urechile."); d.notice("Găseste piatra Metin corectă si distruge-o. Ai 15 minute."); d.notice("Aceasta este singura modalitate de a trece această poartă."); end when turnul_demonilor_4_esec1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 10") server_timer('turnul_demonilor_4_esec2', 5*60, get_server_timer_arg()) end end when turnul_demonilor_4_esec2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 5") server_timer('turnul_demonilor_4_esec', 5*60, get_server_timer_arg()) end end when turnul_demonilor_4_esec.server_timer begin if d.select(get_server_timer_arg()) and d.getf("level") == 4 then d.notice("Timpul a expirat.") d.exit_all() end end when turnul_demonilor_4_actualizare.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("Piatra Metin falsă a dispărut..."); end end end else server_timer("turnul_demonilor_4_sfarsit", 5, get_server_timer_arg()) d.notice("Te-ai bazat pe instinct si ai reusit!"); d.notice("Ai distrus piatra Metin corectă.") d.purge() end else server_timer('turnul_demonilor_4_opreste_timp', 1, get_server_timer_arg()) end end when turnul_demonilor_4_opreste_timp.server_timer begin clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg()) end when turnul_demonilor_4_sfarsit.server_timer begin if d.select(get_server_timer_arg()) then clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec1', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec2', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec', get_server_timer_arg()) d.setf("level", 5) d.setf("stone_count", 5) d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) d.notice("Ai ajuns la Poarta Sigilată la etajul 5.") d.notice("Câtiva demoni au Piatra Cheie, care poate fi") d.notice("folosită pentru a deschide Sigiliile Antice.") d.notice("Deschide cele 5 sigilii în 20 de minute") d.notice("pentru a avansa la etajul următor!") server_timer('turnul_demonilor_5_esec1', 5*60, get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_actualizare', get_server_timer_arg()) d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_5_regen.txt") 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 turnul_demonilor_5_esec1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 15") server_timer('turnul_demonilor_5_esec2', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 10") server_timer('turnul_demonilor_5_esec3', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 5") server_timer('turnul_demonilor_5_esec', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec.server_timer begin if d.select(get_server_timer_arg()) and d.getf("level") == 5 then d.notice("Timpul a expirat.") d.exit_all() end end when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 50 local n =d.getf("count") + 1 d.setf("count", n) if n == KILL_COUNT_FOR_DROP_KEY then game.drop_item(50084, 1) d.setf("count", 0) end end when turnul_demonilor_sigiliu.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/turnul_demonilor/turnul_demonilor_6_regen.txt") d.notice("Ai deschis toate sigliile.") d.notice("Vei avansa la etajul 6!") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('turnul_demonilor_5_esec1', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec2', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec3', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec', get_server_timer_arg()) d.notice("Învinge toti demonii apoi omoară regele.") else d.notice("Sigiliul a fost rup! Au mai rămas "..d.getf("stone_count")..".") end end when turnul_demonilor_king2.kill begin d.kill_all() 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 when 20074.chat."Etajele de vârf ale turnului" 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("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20074)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20074)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin say_title(""..mob_name(20075)..":") say("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20075)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20075)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin say_title(""..mob_name(20076)..":") say("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20076)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20076)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when turnul_demonilor_etaj_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 turnul_demonilor_piatra3.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/turnul_demonilor/turnul_demonilor_7_regen.txt") end end when turnul_demonilor_piatra4.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 game.drop_item(30302, 1) d.clear_regen() else 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 if d.getf( "level" ) != 7 then pc.remove_item( "30302", 1) return end say("Cu această hartă poti avansa la nivelul următor!") pc.remove_item("30302", 1) timer("turnul_demonilor_etaj_8", 6) d.clear_regen() end --------------------------------------------- -- ETAJ 8 --------------------------------------------- when turnul_demonilor_etaj_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_8_regen.txt") d.spawn_mob(20366, 640, 460) local _count = pc.count_item(30302) 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 if d.getf("level") < 9 then local pct1 = number(1, 10) if pct1 == 1 then local pct2 = number(1, 4) if pct2 == 1 then game.drop_item(30304, 1) else game.drop_item(30303, 1) end else return end end end when turnul_demonilor_sa_soe.take with item.vnum == 30304 begin npc.purge() item.remove() timer("turnul_demonilor_etaj_9", 8) end --------------------------------------------- -- ETAJ 9 --------------------------------------------- when turnul_demonilor_etaj_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_9_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() d.kill_all() timer("turnul_demonilor_final", 30) end when turnul_demonilor_final.timer begin d.exit_all() end function register_player(vid) local player_count = d.getf("player_count") player_count = player_count + 1 d.setf("player_count", tonumber(player_count)) d.setf(string.format("player%d", player_count), tonumber(vid)) end function unregister_player(vid) local player_count = d.getf("player_count") local found = false for i = 1, player_count, 1 do if found == true then d.setf(string.format("player%d", tonumber(i)), d.getf(string.format("player%d", i+1))) end p = d.getf("player"..tostring(i)) if p == vid then i = i -1 found = true end end if found == true then d.setf("player_count", tonumber(player_count - 1)) end end end end![]()
Probabil nu ai tu mapa completa, eu zic sa te uiti bine.
- KinKade
-

- Mesaje: 1224
- Membru din: 10 Mar 2014, 19:39
- Server: Quirin2
- Regat: Jinno
- Aprecieri: 132
- Mulţumiri: 55
- Discord: Copiază ID
- Contact:
Quest-ul nu o sa-ti mearga vreodata daca nu legi regen-urile sa bata cu ce scrie in quest . Mai explicit: "d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_5_regen.txt")" trebuie sa-ti bata data/dungeon/turnul_demonilor. Si nu urca in dt cu /pu all. maxim /we all si ii bati manual. ca altfel ai probleme si o sa zici ca e de la quest.
- skristy96
-

- Mesaje: 559
- Membru din: 29 Noi 2013, 21:38
- Server: OficialMT2
- Regat: Jinno
- Aprecieri: 364
- Mulţumiri: 50
- Rezolvări prob.: 1
- Discord: Copiază ID
- Contact:
Am rezolvat , mersi mult de ajutord3MenTuL scrie: ↑14 Oct 2019, 12:16Cum sa nu mearga daca eu l-am testat. Iti da eroare in SSH(putty) sau? Ca nu inteleg.skristy96 scrie: ↑14 Oct 2019, 08:43Nu merged3MenTuL scrie: ↑13 Oct 2019, 15:03
Salut, il poti incerca pe acestaBafta!Cod: Selectaţi tot
quest turnul_demonilor 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(590500, 110500) end pc.set_warp_location(65, 5905, 1105) elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then pc.set_warp_location(65, 5905, 1105) turnul_demonilor.register_player(pc.get_vid()) end end when logout begin if pc.count_item(30300) >= 1 then pc.remove_item(30300, pc.count_item(30300)) end if pc.count_item(30302) >= 1 then pc.remove_item(30302, pc.count_item(30302)) end if pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then turnul_demonilor.unregister_player(pc.get_vid()) end end when turnul_demonilor_paznic.chat."Intrarea în Turnul Demonilor" begin if pc.get_level() < 40 then say_title("Gardă a Demonilor:") say("") --- l say("Acest turn este plin de demoni.") say("Doar cei puternici pot ajunge în vârf.") say("Se spune că, cine intra în turn") say("nu iese în viată.") say("Momentan ... nivelul tău este prea mic") say("pentru a te lăsa să intri.") say("Revin-o când ai nivelul 40.") say("") else say_title("Gardă a Demonilor:") say("") --- l say("Acest turn este plin de demoni.") say("Doar cei puternici pot ajunge în vârf.") say("Se spune că, cine intra în turn") say("nu iese în viată.") say("Esti sigur că vrei să intri?") say("") local s = select("Intru", "Nu") if s == 1 then -- warp into! pc.warp(216500,727000) end end end when turnul_demonilor_piatra1.kill begin timer("turnul_demonilor_piatra1_1", 6) end when turnul_demonilor_piatra1_1.timer begin d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2]) d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_2_regen.txt") d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/turnul_demonilor/turnul_demonilor_3_regen.txt") end when turnul_demonilor_king1.kill begin d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/turnul_demonilor/turnul_demonilor_4_regen.txt") d.check_eliminated() 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 turnul_demonilor_piatra2.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin d.setf("level", 4) local positions = turnul_demonilor.get_4floor_stone_pos() for i = 1, 6 do chat(positions[i][1], positions[i][2]) d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][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('turnul_demonilor_4_actualizare', 10, pc.get_map_index()) server_timer('turnul_demonilor_4_esec1', 5*60, pc.get_map_index()) d.notice("Ai ajuns la Poarta Alegerii la etajul 4."); d.notice("Multe pietre Metin false îti vor irita ochii si urechile."); d.notice("Găseste piatra Metin corectă si distruge-o. Ai 15 minute."); d.notice("Aceasta este singura modalitate de a trece această poartă."); end when turnul_demonilor_4_esec1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 10") server_timer('turnul_demonilor_4_esec2', 5*60, get_server_timer_arg()) end end when turnul_demonilor_4_esec2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 5") server_timer('turnul_demonilor_4_esec', 5*60, get_server_timer_arg()) end end when turnul_demonilor_4_esec.server_timer begin if d.select(get_server_timer_arg()) and d.getf("level") == 4 then d.notice("Timpul a expirat.") d.exit_all() end end when turnul_demonilor_4_actualizare.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("Piatra Metin falsă a dispărut..."); end end end else server_timer("turnul_demonilor_4_sfarsit", 5, get_server_timer_arg()) d.notice("Te-ai bazat pe instinct si ai reusit!"); d.notice("Ai distrus piatra Metin corectă.") d.purge() end else server_timer('turnul_demonilor_4_opreste_timp', 1, get_server_timer_arg()) end end when turnul_demonilor_4_opreste_timp.server_timer begin clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg()) end when turnul_demonilor_4_sfarsit.server_timer begin if d.select(get_server_timer_arg()) then clear_server_timer('turnul_demonilor_4_actualizare', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec1', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec2', get_server_timer_arg()) clear_server_timer('turnul_demonilor_4_esec', get_server_timer_arg()) d.setf("level", 5) d.setf("stone_count", 5) d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2]) d.notice("Ai ajuns la Poarta Sigilată la etajul 5.") d.notice("Câtiva demoni au Piatra Cheie, care poate fi") d.notice("folosită pentru a deschide Sigiliile Antice.") d.notice("Deschide cele 5 sigilii în 20 de minute") d.notice("pentru a avansa la etajul următor!") server_timer('turnul_demonilor_5_esec1', 5*60, get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_actualizare', get_server_timer_arg()) d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_5_regen.txt") 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 turnul_demonilor_5_esec1.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 15") server_timer('turnul_demonilor_5_esec2', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec2.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 10") server_timer('turnul_demonilor_5_esec3', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec3.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Minute rămase: 5") server_timer('turnul_demonilor_5_esec', 5*60, get_server_timer_arg()) end end when turnul_demonilor_5_esec.server_timer begin if d.select(get_server_timer_arg()) and d.getf("level") == 5 then d.notice("Timpul a expirat.") d.exit_all() end end when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin local KILL_COUNT_FOR_DROP_KEY = 50 local n =d.getf("count") + 1 d.setf("count", n) if n == KILL_COUNT_FOR_DROP_KEY then game.drop_item(50084, 1) d.setf("count", 0) end end when turnul_demonilor_sigiliu.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/turnul_demonilor/turnul_demonilor_6_regen.txt") d.notice("Ai deschis toate sigliile.") d.notice("Vei avansa la etajul 6!") d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2]) clear_server_timer('turnul_demonilor_5_esec1', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec2', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec3', get_server_timer_arg()) clear_server_timer('turnul_demonilor_5_esec', get_server_timer_arg()) d.notice("Învinge toti demonii apoi omoară regele.") else d.notice("Sigiliul a fost rup! Au mai rămas "..d.getf("stone_count")..".") end end when turnul_demonilor_king2.kill begin d.kill_all() 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 when 20074.chat."Etajele de vârf ale turnului" 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("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20074)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20074)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when 20075.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin say_title(""..mob_name(20075)..":") say("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20075)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20075)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when 20076.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin say_title(""..mob_name(20076)..":") say("") say("Ati găsit drumul până la etajul 6.") say("Necesită multă îndemânare să ajungi aici ...") say("Hmmmm...") say("După cum ti-am examinat abilitătile.....") say("") wait() if pc.level >=75 then say_title(""..mob_name(20076)..":") say("") say("Te voi lăsa să treci mai departe..") say("") timer("turnul_demonilor_etaj_7", 6) npc.unlock() d.purge() return end say_title(""..mob_name(20076)..":") say("") say("Ai nevoie de mai mult antrenament") say("pentru a te lăsa să treci mai departe.") say("Revin-o când esti destul de puternic..") say("") wait() pc.warp(590500, 110500) return end when turnul_demonilor_etaj_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 turnul_demonilor_piatra3.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/turnul_demonilor/turnul_demonilor_7_regen.txt") end end when turnul_demonilor_piatra4.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 game.drop_item(30302, 1) d.clear_regen() else 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 if d.getf( "level" ) != 7 then pc.remove_item( "30302", 1) return end say("Cu această hartă poti avansa la nivelul următor!") pc.remove_item("30302", 1) timer("turnul_demonilor_etaj_8", 6) d.clear_regen() end --------------------------------------------- -- ETAJ 8 --------------------------------------------- when turnul_demonilor_etaj_8.timer begin d.setf("level", 8) d.jump_all(2048+590, 6656+403) d.set_regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_8_regen.txt") d.spawn_mob(20366, 640, 460) local _count = pc.count_item(30302) 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 if d.getf("level") < 9 then local pct1 = number(1, 10) if pct1 == 1 then local pct2 = number(1, 4) if pct2 == 1 then game.drop_item(30304, 1) else game.drop_item(30303, 1) end else return end end end when turnul_demonilor_sa_soe.take with item.vnum == 30304 begin npc.purge() item.remove() timer("turnul_demonilor_etaj_9", 8) end --------------------------------------------- -- ETAJ 9 --------------------------------------------- when turnul_demonilor_etaj_9.timer begin d.setf("level", 9) d.jump_all(2048+590, 6656+155) d.regen_file("data/dungeon/turnul_demonilor/turnul_demonilor_9_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() d.kill_all() timer("turnul_demonilor_final", 30) end when turnul_demonilor_final.timer begin d.exit_all() end function register_player(vid) local player_count = d.getf("player_count") player_count = player_count + 1 d.setf("player_count", tonumber(player_count)) d.setf(string.format("player%d", player_count), tonumber(vid)) end function unregister_player(vid) local player_count = d.getf("player_count") local found = false for i = 1, player_count, 1 do if found == true then d.setf(string.format("player%d", tonumber(i)), d.getf(string.format("player%d", i+1))) end p = d.getf("player"..tostring(i)) if p == vid then i = i -1 found = true end end if found == true then d.setf("player_count", tonumber(player_count - 1)) end end end end![]()
Probabil nu ai tu mapa completa, eu zic sa te uiti bine.
Răspunsuri
9 Vizualizări
5962
9 Vizualizări
5962
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 14 vizitatori









