antiblock
https://i.imgur.com/aJ17bf7.gif
  • Chatbox

    Did you check out our Discord? https://discord.gg/FFdvMjk9xA
    You don't have permission to chat.
    Load More
  • 0
Sign in to follow this  
Estivador

(Ajuda) Quest Purgatório Ardente

Question

Olá, estou com problemas em uma quest que achei na elitepvpers do Purgatorio Ardente, mas quando tendo instalar da um erro.

Não entendo muito de quest, por isso sei q aqui tem bastante gente q é mestre em fazer quest e pode me dar uma ajuda.

Deixo abaixo a imagem do erro, e a quest.

 

Erro

Imagem colocada

 

Quest

quest blazingpurgatory begin

state start begin

when 20351.chat."Die Pforten zur Hölle" with pc.get_map_index() == 235 begin
say_title("Wächter der Hölle")
say("Der Gott aller Dämonen, Sung Mahi, ist erwacht,")
say("das Ende der Menschheit naht! Noch ist seine")
say("zerstörerische Kraft geschwächt, der Blick")
say("seiner allsehenden Augen getrübt. Doch seine")
say("Untertanen werden nicht eher ruhen, bis ihr")
say("Meister sich in voller Größe gegen diese")
say("Welt erheben wird!")
say("")
wait()
say_title("Wächter der Hölle")
say("Seinen getreuen Anhänger Razador,")
say("Herrscher des Feuers, obliegt die Aufgabe,")
say("den legendären Rotdrachen aus seinem Verlies")
say("zu befreien, Sollte ihm das gelingen wird")
say("es seinem Gott den Weg zur Macht weiter ebnen.")
say("")
wait()
say_title("Wächter der Hölle")
if pc.get_level() >= 100 or pc.is_gm() then
if party.is_party() or pc.is_gm() then
if party.is_leader() or pc.is_gm() then
if pc.count_item(30189) > 0 or pc.is_gm() then
say_reward("Willst du mit deiner Gruppe Razador herausfordern?")
if select("Ja, auf in die Schlacht!","Nein") == 1 then
pc.remove_item(30189,1)
d.join(235)
end
else
say_reward("Du benötigst einen Höllenstein!")
say_item_vnum(30189)
end
else
say_reward("Du musst Anführer einer Gruppe sein!")
end
else
say_reward("Du musst einer Gruppe angehören!")
end
else
say_reward("Du musst lv.100 erreicht haben!")
end
end

when login with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin
say("Begib dich zum Altar und bestehe die")
say("sechs Aufgaben der Hölle!")
say("")
if party.is_party() then
if party.is_leader() then
blazingpurgatory.start()
end
else
if pc.is_gm() then
blazingpurgatory.start()
end
end
end

function start()
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_flamenpc.txt")
d.setf("purgatory_gate_sequence",number(1,7))
local sequence = {{1,2,3,4,5,6},{4,1,3,2,5,6},{2,5,3,1,4,6},{3,1,6,2,4,5},{5,3,2,4,6,1},{6,1,5,2,4,3},{6,3,5,3,1,4}}
for i = 1, 6 do
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_gate_"..sequence[d.getf("purgatory_gate_sequence")]..".txt")
end
d.setf("acutal_round",0)
d.setf("time", get_time()+60*60*1)
server_timer("purgatorytime",3600,pc.get_map_index())
server_loop_timer("purgatorytimenotice",300,pc.get_map_index())
blazingpurgatory.NoticeTime()
end

when purgatorytimenotice.server_timer begin
if d.select(get_server_timer_arg()) then
blazingpurgatory.NoticeTime()
end
end

when purgatorytime.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen!")
d.exit_all()
end
end

when 20385.click with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 and d.getf("block_altar") == 0 begin
if d.getf("purgatory_level") == 7 then
d.setf("block_altar",1)
d.setf("actual_round",7)
d.notice("Ihr habt alle aufgaben der Hölle gemeistert,")
d.notice("nun werdet ihr Razador gegenüber treten!")
timer("warp_to_boss",5)
else

d.setf("purgatory_level",d.getf("purgatory_level")+1)
blazingpurgatory.purge()
blazingpurgatory.LoadStage()
d.setf("block_altar",1)

blazingpurgatory.NoticeTime()
d.notice("Eine Kammer wurde geöffnet!")
end
end

when warp_to_boss.timer begin
d.jump_all(8111,6864)
d.notice("Razador")
d.notice("Wiederstand ist Zwecklos! Sung Mahi wird wieder auferstehen!")
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_7.txt")
blazingpurgatory.NoticeTime()
end

when kill with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin
if d.getf("actual_round") == 1 or d.getf("actual_round") == 3 then
d.setf("kill_count_bp1",d.getf("kill_count_bp1") +1)
if d.getf("kill_count_bp1") == d.getf("bp_kill_to_next") then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
end
elseif d.getf("actual_round") == 2 or d.getf("actual_round") == 5 then
d.setf("kill_count_bp",d.getf("kill_count_bp") +1)
if d.getf("kill_count_bp") == d.getf("kill_to_drop_key") then
game.drop_item_with_ownership(50084,1)
d.setf("kill_count_bp",0)
end
elseif d.getf("actual_round") == 4 and npc.get_race() == 6009 then
if number(1,5) == 1 then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
end
elseif d.getf("actual_round") == 6 and npc.get_race() == 8034 then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
elseif d.getf("actual_round") == 7 and npc.get_race() == 6091 then
d.notice("Razador ist gefallen!")
d.clear_regen()
d.kill_all()
end
end

when 20081.take with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin
if item.get_vnum() == 50084 then
if d.getf("actual_round") == 2 then
pc.remove_item(item.get_vnum(),1)
if number(1,8) == 1 then
npc.purge()
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
else
syschat("Dies war ein Falscher Schlüsselstein!")
end
elseif d.getf("actual_round") == 5 then
local sequence = {{1,2,3,4,5,5},{4,3,2,1,5,5},{4,5,3,1,2,2},{5,3,4,2,1,1},{5,1,3,4,2,2}}
if blazingpurgatory.GetPillarID() == sequence[d.getf("sequence")][d.getf("pillarcount")] then
pc.remove_item(item.get_vnum(),1)
npc.purge()
d.setf("pillarcount", d.getf("pillarcount")+1)
if d.getf("pillarcount") == 6 then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
else
d.notice("Ihr müsst noch weitere "..6-d.getf("pillarcount").." Siegel öffnen!")
end
elseif blazingpurgatory.GetPillarID() == false then
syschat("Begib dich näher an das Siegel heran!")
elseif blazingpurgatory.GetPillarID() != sequence[d.getf("sequence")][d.getf("pillarcount")] then
pc.remove_item(item.get_vnum(),1)
syschat("Dies ist nicht das richtige Siegel!")
end
end
end
end

function LoadStage()
if d.getf("actual_round") == 1 then -- Alle Monster tötenw
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_1.txt")
d.setf("bp_kill_to_next",241)
d.setf("kill_count_bp1",0)
elseif d.getf("actual_round") == 2 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_2.txt")
d.setf("kill_to_drop_key",50)
d.spawn_mob(20081,195,352)
elseif d.getf("actual_round") == 3 then
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_3.txt")
d.setf("bp_kill_to_next",240)
d.setf("kill_count_bp1",0)
elseif d.getf("actual_round") == 4 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_4.txt")
elseif d.getf("actual_round") == 5 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_5.txt")
local sequence = {{1,2,3,4,5},{4,3,2,1,5},{4,5,3,1,2},{5,3,4,2,1},{5,1,3,4,2}}
local n = number(1,5)
local coords = {{502,354},{517,354},{487,354},{502,339},{502,369}}
for i = 1, 5 do
d.spawn_mob(20081, coords[1],coords[2])
end
d.setf("pillarcount", 1)
d.setf("sequence",n)
d.setf("kill_to_drop_key",100)
elseif d.getf("actual_round") == 6 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_6.txt")
d.spawn_mob(8034,507,489)
end
end

function purge()
d.setf("block_altar",0)
d.clear_regen()
d.kill_all()
blazingpurgatory.LoadGates()
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_flamenpc.txt")
if d.getf("purgatory_level") == 6 then
d.setf("purgatory_level",7)
end
end

function LoadGates()
local sequence = {{1,2,3,4,5,6},{4,1,3,2,5,6},{2,5,3,1,4,6},{3,1,6,2,4,5},{5,3,2,4,6,1},{6,1,5,2,4,3},{6,3,5,3,1,4}}
for i = 1, 6-d.getf("purgatory_level") do
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_gate_"..sequence[d.getf("purgatory_gate_sequence")]..".txt")
end
d.setf("actual_round",sequence[d.getf("purgatory_gate_sequence")][7-d.getf("purgatory_level")])
end

function NoticeTime()
local secondsLeft = (d.getf("time") - get_time())
local minutesLeft = math.ceil(secondsLeft / 60)
d.notice("Verbleibende Zeit: "..minutesLeft.." Minuten!")
end

function GetPillarID()
if pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then
return 1
elseif pc.get_local_x() >= 517 - 5 and pc.get_local_x() <= 517 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then
return 2
elseif pc.get_local_x() >= 487 - 5 and pc.get_local_x() <= 487 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then
return 3
elseif pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 339 - 5 and pc.get_local_y() <= 339 + 5 then
return 4
elseif pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 369 - 5 and pc.get_local_y() <= 369 + 5 then
return 5
else
return false
end
end

end
end quest blazingpurgatory begin
state start begin

when 20351.chat."Die Pforten zur Hölle" with pc.get_map_index() == 235 begin
say_title("Wächter der Hölle")
say("Der Gott aller Dämonen, Sung Mahi, ist erwacht,")
say("das Ende der Menschheit naht! Noch ist seine")
say("zerstörerische Kraft geschwächt, der Blick")
say("seiner allsehenden Augen getrübt. Doch seine")
say("Untertanen werden nicht eher ruhen, bis ihr")
say("Meister sich in voller Größe gegen diese")
say("Welt erheben wird!")
say("")
wait()
say_title("Wächter der Hölle")
say("Seinen getreuen Anhänger Razador,")
say("Herrscher des Feuers, obliegt die Aufgabe,")
say("den legendären Rotdrachen aus seinem Verlies")
say("zu befreien, Sollte ihm das gelingen wird")
say("es seinem Gott den Weg zur Macht weiter ebnen.")
say("")
wait()
say_title("Wächter der Hölle")
if pc.get_level() >= 100 or pc.is_gm() then
if party.is_party() or pc.is_gm() then
if party.is_leader() or pc.is_gm() then
if pc.count_item(30189) > 0 or pc.is_gm() then
say_reward("Willst du mit deiner Gruppe Razador herausfordern?")
if select("Ja, auf in die Schlacht!","Nein") == 1 then
pc.remove_item(30189,1)
d.join(235)
end
else
say_reward("Du benötigst einen Höllenstein!")
say_item_vnum(30189)
end
else
say_reward("Du musst Anführer einer Gruppe sein!")
end
else
say_reward("Du musst einer Gruppe angehören!")
end
else
say_reward("Du musst lv.100 erreicht haben!")
end
end

when login with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin
say("Begib dich zum Altar und bestehe die")
say("sechs Aufgaben der Hölle!")
say("")
if party.is_party() then
if party.is_leader() then
blazingpurgatory.start()
end
else
if pc.is_gm() then
blazingpurgatory.start()
end
end
end

function start()
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_flamenpc.txt")
d.setf("purgatory_gate_sequence",number(1,7))
local sequence = {{1,2,3,4,5,6},{4,1,3,2,5,6},{2,5,3,1,4,6},{3,1,6,2,4,5},{5,3,2,4,6,1},{6,1,5,2,4,3},{6,3,5,3,1,4}}
for i = 1, 6 do
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_gate_"..sequence[d.getf("purgatory_gate_sequence")]..".txt")
end
d.setf("acutal_round",0)
d.setf("time", get_time()+60*60*1)
server_timer("purgatorytime",3600,pc.get_map_index())
server_loop_timer("purgatorytimenotice",300,pc.get_map_index())
blazingpurgatory.NoticeTime()
end

when purgatorytimenotice.server_timer begin
if d.select(get_server_timer_arg()) then
blazingpurgatory.NoticeTime()
end
end

when purgatorytime.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist abgelaufen!")
d.exit_all()
end
end

when 20385.click with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 and d.getf("block_altar") == 0 begin
if d.getf("purgatory_level") == 7 then
d.setf("block_altar",1)
d.setf("actual_round",7)
d.notice("Ihr habt alle aufgaben der Hölle gemeistert,")
d.notice("nun werdet ihr Razador gegenüber treten!")
timer("warp_to_boss",5)
else

d.setf("purgatory_level",d.getf("purgatory_level")+1)
blazingpurgatory.purge()
blazingpurgatory.LoadStage()
d.setf("block_altar",1)

blazingpurgatory.NoticeTime()
d.notice("Eine Kammer wurde geöffnet!")
end
end

when warp_to_boss.timer begin
d.jump_all(8111,6864)
d.notice("Razador")
d.notice("Wiederstand ist Zwecklos! Sung Mahi wird wieder auferstehen!")
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_7.txt")
blazingpurgatory.NoticeTime()
end

when kill with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin
if d.getf("actual_round") == 1 or d.getf("actual_round") == 3 then
d.setf("kill_count_bp1",d.getf("kill_count_bp1") +1)
if d.getf("kill_count_bp1") == d.getf("bp_kill_to_next") then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
end
elseif d.getf("actual_round") == 2 or d.getf("actual_round") == 5 then
d.setf("kill_count_bp",d.getf("kill_count_bp") +1)
if d.getf("kill_count_bp") == d.getf("kill_to_drop_key") then
game.drop_item_with_ownership(50084,1)
d.setf("kill_count_bp",0)
end
elseif d.getf("actual_round") == 4 and npc.get_race() == 6009 then
if number(1,5) == 1 then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
end
elseif d.getf("actual_round") == 6 and npc.get_race() == 8034 then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
elseif d.getf("actual_round") == 7 and npc.get_race() == 6091 then
d.notice("Razador ist gefallen!")
d.clear_regen()
d.kill_all()
end
end

when 20081.take with pc.get_map_index() >= 2350000 and pc.get_map_index() <= 2355000 begin
if item.get_vnum() == 50084 then
if d.getf("actual_round") == 2 then
pc.remove_item(item.get_vnum(),1)
if number(1,8) == 1 then
npc.purge()
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
else
syschat("Dies war ein Falscher Schlüsselstein!")
end
elseif d.getf("actual_round") == 5 then
local sequence = {{1,2,3,4,5,5},{4,3,2,1,5,5},{4,5,3,1,2,2},{5,3,4,2,1,1},{5,1,3,4,2,2}}
if blazingpurgatory.GetPillarID() == sequence[d.getf("sequence")][d.getf("pillarcount")] then
pc.remove_item(item.get_vnum(),1)
npc.purge()
d.setf("pillarcount", d.getf("pillarcount")+1)
if d.getf("pillarcount") == 6 then
d.notice("Kehrt zum Altar zurück!")
blazingpurgatory.purge()
else
d.notice("Ihr müsst noch weitere "..6-d.getf("pillarcount").." Siegel öffnen!")
end
elseif blazingpurgatory.GetPillarID() == false then
syschat("Begib dich näher an das Siegel heran!")
elseif blazingpurgatory.GetPillarID() != sequence[d.getf("sequence")][d.getf("pillarcount")] then
pc.remove_item(item.get_vnum(),1)
syschat("Dies ist nicht das richtige Siegel!")
end
end
end
end

function LoadStage()
if d.getf("actual_round") == 1 then -- Alle Monster tötenw
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_1.txt")
d.setf("bp_kill_to_next",241)
d.setf("kill_count_bp1",0)
elseif d.getf("actual_round") == 2 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_2.txt")
d.setf("kill_to_drop_key",50)
d.spawn_mob(20081,195,352)
elseif d.getf("actual_round") == 3 then
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_3.txt")
d.setf("bp_kill_to_next",240)
d.setf("kill_count_bp1",0)
elseif d.getf("actual_round") == 4 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_4.txt")
elseif d.getf("actual_round") == 5 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_5.txt")
local sequence = {{1,2,3,4,5},{4,3,2,1,5},{4,5,3,1,2},{5,3,4,2,1},{5,1,3,4,2}}
local n = number(1,5)
local coords = {{502,354},{517,354},{487,354},{502,339},{502,369}}
for i = 1, 5 do
d.spawn_mob(20081, coords[1],coords[2])
end
d.setf("pillarcount", 1)
d.setf("sequence",n)
d.setf("kill_to_drop_key",100)
elseif d.getf("actual_round") == 6 then
d.set_regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_monster_6.txt")
d.spawn_mob(8034,507,489)
end
end

function purge()
d.setf("block_altar",0)
d.clear_regen()
d.kill_all()
blazingpurgatory.LoadGates()
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_flamenpc.txt")
if d.getf("purgatory_level") == 6 then
d.setf("purgatory_level",7)
end
end

function LoadGates()
local sequence = {{1,2,3,4,5,6},{4,1,3,2,5,6},{2,5,3,1,4,6},{3,1,6,2,4,5},{5,3,2,4,6,1},{6,1,5,2,4,3},{6,3,5,3,1,4}}
for i = 1, 6-d.getf("purgatory_level") do
d.regen_file("data/dungeon/blazingpurgatory/blazingpurgatory_gate_"..sequence[d.getf("purgatory_gate_sequence")]..".txt")
end
d.setf("actual_round",sequence[d.getf("purgatory_gate_sequence")][7-d.getf("purgatory_level")])
end

function NoticeTime()
local secondsLeft = (d.getf("time") - get_time())
local minutesLeft = math.ceil(secondsLeft / 60)
d.notice("Verbleibende Zeit: "..minutesLeft.." Minuten!")
end

function GetPillarID()
if pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then
return 1
elseif pc.get_local_x() >= 517 - 5 and pc.get_local_x() <= 517 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then
return 2
elseif pc.get_local_x() >= 487 - 5 and pc.get_local_x() <= 487 + 5 and pc.get_local_y() >= 354 - 5 and pc.get_local_y() <= 354 + 5 then
return 3
elseif pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 339 - 5 and pc.get_local_y() <= 339 + 5 then
return 4
elseif pc.get_local_x() >= 502 - 5 and pc.get_local_x() <= 502 + 5 and pc.get_local_y() >= 369 - 5 and pc.get_local_y() <= 369 + 5 then
return 5
else
return false
end
end

end
end

 

Estou a usar as Serve Files Invoice V3 editadas.

 

Se alguém poder postar  a correção ficarei muito grato.

 

E leva o meu  :+1: .

Share this post


Link to post
Share on other sites

7 answers to this question

  • 0

Uai cadê erro ? aquilo ali são a funções normal não vi nenhum erro na tela.

Share this post


Link to post
Share on other sites
antiblock
Cyphriun
  • 0

A quest esta correta, a máquina não deu erro nenhum :O, são funções normais.

Evocas o npc com o vnum 20351 e clicas nele, se não conseguires ser teleportado é um erro no mapa, digo eu...

Share this post


Link to post
Share on other sites
  • 0

A quest esta correta, a máquina não deu erro nenhum :O, são funções normais.

Evocas o npc com o vnum 20351 e clicas nele, se não conseguires ser teleportado é um erro no mapa, digo eu...

para que dizeres o mesmo qui eu ? meu deus o my good!

Share this post


Link to post
Share on other sites
  • 0

para que dizeres o mesmo qui eu ? meu deus o my good!

Desculpa :o nem reparei devemos ter escreito ao mesmo tempo visto que tinha tópico aberto..

Share this post


Link to post
Share on other sites
  • 0

Ou se preferires pagar por uma bem feita.

Imagem colocada

Share this post


Link to post
Share on other sites
  • 0

paci passa teu skipe e vamos negociar.

por PM

Share this post


Link to post
Share on other sites
  • 0

pacificador_97

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this