Tipologie server:
*Resursă folosită:
Cod: Selectaţi tot
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, 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."Turnul Demonilor(DT)" begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
if pc.get_level() < 40 then
say_title("Gardianul Turnului Demonilor:")
say("Acest turn este plin cu demoni infricosatori.")
say("Numai cel mai puternic poate ajunge in varf.")
say("Se spune ca nimeni care intra in acest turn nu")
say("s-a mai intors in viata, tu nu poti intra inca ")
say("deoarece nu ai nivelul 40.")
else
say_title("Gardianul Turnului Demonilor:")
say("Acest turn este plin cu demoni infricosatori.")
say("Numai cel mai puternic poate ajunge in varf.")
say("Se spune ca nimeni care intra in acest turn nu")
say("s-a mai intors in viata.")
say("inca vrei sa intri in Turnul Demonilor?")
local s = select("Intru.", "Nu, multumesc.")
if s == 1 then
pc.warp(216500,727000)
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)
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300)
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_stone3.kill begin
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()
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 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(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('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
d.notice("<Turnul Demonilor> Bun venit la cel de al 4-lea etaj, gaseste Piatra Metin adevarata si distruge-o.");
d.notice("<Informatie> Aveti la dipozitie doar 15 minute.");
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atentie> Mai sunt doar 10 minute")
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("<Atentie> Mai sunt doar 5 minute")
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("<Atentie> Timpul a expirat,veti fi dati afara din Turn")
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("<Informatie> Ai distrus una dintre Pietrele Metin false.")
end
end
end
else
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("<Atentie> Piatra Metin adevarata a fost distrusa,veti fi teleportati la etajul urmator.")
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("<Informatie> Omoara monstrii pentru a colecta Piatra Cheie, iar acesta puneti-o pe sigilii")
d.notice("pentru a le desface si a ajunge la etajul urmator. Aveti la dispozitie doar 20 de minute.")
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())
d.set_regen_file("data/dungeon/deviltower5_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 devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("<Atentie> Mai sunt doar 15 minute.")
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("<Atentie> Mai sunt doar 10 minute.")
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("<Atentie> Mai sunt doar 5 minute.")
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("<Informatie> Timpul a expirat,veti fi scosi afara din Turnul Demonilor.")
d.exit_all()
end
end
when 1032.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 25
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 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("<Atentie> Veti fi teleportati la etajul urmator al Turnului Demonilor.")
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("<Informatie> Mai ai de desfacut "..d.getf("stone_count").." sigilii.")
end
end
when devil_stone6.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 Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
say_title(""..mob_name(20074).."")
say("Doriti sa treceti mai departe,la alt etaj?")
say("Eu cu sigurana voi ramane aici.")
wait()
say_title(""..mob_name(20074).."")
if pc.level >=75 then
say("Ce avem noi aici,esti trecut de nivelul 75.")
say("Dar intrebarea e daca esti suficient de curajos")
say("pentru a supravietui in etajele superioare,putem")
say("sa aflam asta intr-un singur mod, te voi duce la")
say("etajul urmator.")
timer("devil_jump_7", 6)
return
end
say("inca esti un razboinic in devenire, nu ai nivelul")
say("75,de aceea nu te pot lasa sa treci la etajele")
say("superioare, revin-o cand vei avea nivelul 75.")
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
say_title(""..mob_name(20074).."")
say("Doriti sa treceti mai departe,la alt etaj?")
say("Eu cu sigurana voi ramane aici.")
wait()
say_title(""..mob_name(20074).."")
if pc.level >=75 then
say("Ce avem noi aici,esti trecut de nivelul 75.")
say("Dar intrebarea e daca esti suficient de curajos")
say("pentru a supravietui in etajele superioare,putem")
say("sa aflam asta intr-un singur mod, te voi duce la")
say("etajul urmator.")
timer("devil_jump_7", 6)
return
end
say("inca esti un razboinic in devenire, nu ai nivelul")
say("75,de aceea nu te pot lasa sa treci la etajele")
say("superioare, revin-o cand vei avea nivelul 75.")
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
addimage(20, 12, "turn_demon.tga")
say("")
say("")
say("")
say_title(""..mob_name(20074).."")
say("Doriti sa treceti mai departe,la alt etaj?")
say("Eu cu sigurana voi ramane aici.")
wait()
say_title(""..mob_name(20074).."")
if pc.level >=75 then
say("Ce avem noi aici,esti trecut de nivelul 75.")
say("Dar intrebarea e daca esti suficient de curajos")
say("pentru a supravietui in etajele superioare,putem")
say("sa aflam asta intr-un singur mod, te voi duce la")
say("etajul urmator.")
timer("devil_jump_7", 6)
return
end
say("inca esti un razboinic in devenire, nu ai nivelul")
say("75,de aceea nu te pot lasa sa treci la etajele")
say("superioare, revin-o cand vei avea nivelul 75.")
wait()
pc.warp(590500, 110500)
return
end
when devil_jump_7.timer begin
chat("<Informatie> Distruge Pietrele Metin si fa rost de Harta pentru Pestera Zin.")
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
chat("<Informatie> Ai distrus Metinul Mortii,continua sa distrugi Metine pana vei gasi")
chat("Harta pentru Pestera Zin.")
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
local s= number(1,100)
if s <= 30 then
chat("<Informatie> Ai distrus Metinul Crimelor, ai primit Harta pentru Pestera Zin.")
pc.give_item2(30302, 1)
elseif s > 30 then
chat("<Informatie> Ai distrus Metinul Crimelor, ai primit Harta turnului Sa-Gui.")
pc.give_item2(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
say_title("Turnul Demonilor:")
say("Felicitari,ai reusit sa ajungi pana aici,veti fi")
say("teleportati la etajul urmator.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
else
pc.remove_item("30302", 1)
end
end
when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
chat("<Informatie> Omoara monstrii de la acest etaj si cauta Cheie Zin Bong In si desfa ")
chat("Sigiliul Sa Soe cu ea.")
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30304)
pc.remove_item(30304,_count)
end
when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local s= number(1,100)
if s <= 20 then
game.drop_item(30304, 1)
elseif s > 20 and s <= 80 then
return
elseif s > 80 then
game.drop_item(30303, 1)
end
end
when 20366.take with item.vnum == 30304 begin
chat("<Atentie> Felicitari,ati desfacut sigiliul, ve-ti fi teleportati la etajul urmator.")
npc.purge()
item.remove()
timer("devil_jump_9", 6)
end
when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.clear_regen()
chat("<Informatie> infrange ingerul cu Coasa pentru a ajunge la Etajul Urmator.")
d.spawn_mob(1093, 606, 177)
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.getname().." a reusit sa il ucida pe Ingerul cu Coasa.")
d.spawn_mob(9012, 606, 177);
end
end
end*Syserr:
Cod: Selectaţi tot
0815 00:58:25842 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted.
0815 00:58:25996 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted.
0815 00:58:26125 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted.
Poză:
*Detalii suplimentare: Am schimbat o gramada de quest-uri, regen-uri, din data, harta din server si degeaba.



