Olá comunidade, estou implementando uma quest no mapa do purgatorio, em partes ela está funcionando, o unico problema é que qando vou ao npc para iniciar a quest ele teleporta para um lugar no mapa do purgatorio onde não da pra se mexer, só na base do comando /warp ou /go.
Vou deixar uma imagem pra onde ele me teleporta.
E essa imagem era pra onde deveria teleporta
Vou tambem deixar a quest, para ver se encontram o erro.
quest bramyPiekiel begin
state start begin
when 20351.chat."Bramy Piekiel " with pc.get_map_index() == 62 begin
say_title(mob_name(npc.get_race())..":") -- npc name
say("Bóg wszystkich demonów, Sung Mahi, przebudzil sie.") -- blablabla
say("Nadchodzi koniec ludzkosci! Jego niszczycielska moc jest")-- blablabla
say("jeszcze oslabiona, a jego wszystkowidzace oczy nadal sa zamglone.")-- blablabla
say("Jego podwladni nie spoczna jednak, dopóki ich mistrz nie powstanie")-- blablabla
say("w pelnej sile, by stawic czola temu swiatu.")-- blablabla
wait()
say_title(mob_name(npc.get_race())..":") -- npc name
say("Jego wierny poplecznik Razador, Wladca Ognia, ma za zadanie uwolnic z lochu legendarnego Czerwonego Smoka.")-- blablabla
say("Jesli jego plan sie powiedzie, droga do wladzy dla jego mistrza bedzie jeszcze szersza")-- blablabla
say("[DELAY=900]Czy jestescie gotowi na nowa próbe ognia?[/DELAY]")-- blablabla
wait()
say_title(mob_name(npc.get_race())..":")
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
say_reward("Czy chcesz razem ze swoja grupa zwiedzic Bramy piekiel?") -- Do You want enter into Blazingpurgatory with Your party?
if select("Tak!", "Nie!") == 1 then
pc.setqf("bp", 1)
d.join(251)
end
else
say_reward("Nie jestes liderem grupy!") -- You are not party leader!
end
else
say_reward("Nie posiadasz grupy!") -- You do not have party!
end
else
say_reward("Nie masz przynajmniej 100 poziomu!") -- You do not have 100 level!
end
end
when login with pc.get_map_index() >= 2510000 and pc.get_map_index() <= 2515000 and pc.getqf("bp") > 0 begin
say_title("Bramy Piekiel:") -- Dungeon name
say("Witajcie w Bramach Piekiel!") -- blabla
say("Oddychajcie gleboko, gdyz przy nastepnym waszym kroku otworza sie ... Bramy Piekiel!")-- blabla
say("Czekaja na was zjednoczeni, z orezem wzniesionym do walki i okrutnym usmiechem na ustach.")-- blabla
say("Czy sprostacie temu wyzwaniu?")-- blabla
say_reward("[DELAY=1800]Przekonajmy sie...[/DELAY]")-- blabla
d.setf("numerKOD", number(1, 100))
if party.is_party() then
if party.is_leader() then
--d.notice("NUMER KODU: "..d.getf("numerKOD"))
--d.notice(kodBramy(d.getf("numerKOD"), 7))
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
for i = 1,6 do
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_gate_"..i..".txt")
end
d.setf("pietro", 0)
pc.setqf("bp", 0)
end
else
if pc.is_gm() then
--d.notice("NUMER KODU: "..d.getf("numerKOD"))
--d.notice(kodBramy(d.getf("numerKOD"), 7))
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
for i = 1,6 do
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_gate_"..i..".txt")
end
d.setf("pietro", 0)
pc.setqf("bp", 0)
end
end
end
when 20385.click with pc.get_map_index() >= 2510000 and pc.get_map_index() <= 2515000 and d.getf("blokNPC") == 0 begin
d.setf("pietro", d.getf("pietro")+1)
if d.getf("pietro") < 7 then
d.setf("blokNPC", 1)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Brama zostala otworzona") -- Gate was open!
local bramy = {
{2,3,4,5,6},
{1,3,4,5,6},
{1,2,4,5,6},
{1,2,3,5,6},
{1,2,3,4,6},
{1,2,3,4,5},
}
for i = 1,table.getn(bramy[d.getf("pietro")]) do
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_gate_"..bramy[d.getf("pietro")]..".txt")
end
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_monster_"..d.getf("pietro")..".txt")
end
end
when 20350.chat."Zwalcz Razdora..." with pc.in_dungeon() begin -- Fight with Razador...
say("A wiec chcecie walczyc z Razadorem?") -- So You want fight with Razador?
say("Hmm... Jestescie naprawde odwazni...") -- You must be so brave!
say()
say_reward("Najpierw musicie jednak podac mi sekretny kod!") -- First You must enter password.
say_reward("Po przejsciu kazdego poziomu dostawaliscie kolejny znak...") -- After finish all gates You get one letter of password.
say()
say("Wprowadz kod!")
say()
local wprowadzKOD = tostring(input())
if wprowadzKOD == kodBramy(d.getf("numerKOD"), 7) then
if pc.count_item(30142) < 2 then
d.notice("Przekazcie wszystkie pieczecie Liderowi grupy!") -- Leader of party must have all seals.
say("Musisz miec przy sobie dwie zdobyte wczesniej pieczecie!") -- You must have two seals.
return
end
say("Uuuu... Przeszliscie wszystkie poziomy Bram Piekiel!") -- Wow! You finished all gates...
say()
say_reward("Razador juz na was czeka!") -- Razador is waiting for You...
say()
pc.remove_item(30142, 2)
timer("Razador", 5)
else
say("Ten kod jest nieprawidlowy!") -- That password is wrong!
say()
say_reward("Spróbujcie wprowadzic go jeszcze raz!") -- Try enter password again.
say()
end
end
when Razador.timer begin
d.setf("pietro", d.getf("pietro")+1)
d.jump_all(8111,6864)
d.notice("(Razador) Kto jest na tyle odwazny by mi przeszkadzac?!") -- Who is to enough brave to disturb me?!
d.set_regen_file("data/dungeon/bramypiekiel/blazingpurgatory_monster_7.txt")
end
when kill with pc.get_map_index() >= 2510000 and pc.get_map_index() <= 2515000 begin
if d.getf("pietro") == 1 then
if npc.get_race() == 8014 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Pierwszym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 1)) -- First letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...") -- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 2 then
d.setf("killCount", d.getf("killCount")+1)
if d.getf("killCount") == 100 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
game.drop_item_with_ownership(30142,1)
d.notice("Przekazcie List liderowi grupy! Bedzie mu jeszcze potrzebny...") -- Leader of party must have that seal!
d.notice("")
d.notice("Drugim znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 2))-- Second letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 3 then
d.setf("killCount2", d.getf("killCount2")+1)
if d.getf("killCount2") == 230 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Trzecim znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 3))-- Third letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 4 then
d.setf("killCount3", d.getf("killCount3")+1)
if d.getf("killCount3") == 200 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Czwartym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 4))-- Fourth letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 5 then
if npc.get_race() == 8014 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Piatym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 5))-- Fifth letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 6 then
d.setf("killCount4", d.getf("killCount4")+1)
if d.getf("killCount4") == 150 then
game.drop_item_with_ownership(30142,1)
d.notice("Przekazcie List liderowi grupy! Bedzie mu jeszcze potrzebny...")-- Leader of party must have that seal!
end
if d.getf("killCount4") == 230 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc2.txt")
d.notice("Szóstym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 6))-- Sixth letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 7 then
if npc.get_race() == 6091 then
d.notice("Za 60 sekund zostaniecie przeniesieni.") -- You will be teleported after 60 sec.
notice_all("[Kanal "..pc.get_channel_id().."] ~~ Gracz "..pc.get_name().." pokonal Razadora!") -- [Channel x] ~~ Player 'playerName' killed Razador!
local boss = {30516, 30517, 30188, 30501, 51001}
game.drop_item_with_ownership(boss[number(1, table.getn(boss))], 1)
d.clear_regen()
d.kill_all()
timer("wroc", 60)
end
end
end
when wroc.timer begin
d.exit_all()
end
end
end
De resto a quest está funcionando bem
Para esclarecimento o index do mapa do purgatorio é 251
as coordenadas que deveria teleportar é 7765 6732 no /warp e no /go era pra ir 341 588
Fico grato por qualquer ajuda, e como sempre leva o meu
Olá comunidade, estou implementando uma quest no mapa do purgatorio, em partes ela está funcionando, o unico problema é que qando vou ao npc para iniciar a quest ele teleporta para um lugar no mapa do purgatorio onde não da pra se mexer, só na base do comando /warp ou /go.
Vou deixar uma imagem pra onde ele me teleporta.
E essa imagem era pra onde deveria teleporta
Vou tambem deixar a quest, para ver se encontram o erro.
quest bramyPiekiel begin
state start begin
when 20351.chat."Bramy Piekiel " with pc.get_map_index() == 62 begin
say_title(mob_name(npc.get_race())..":") -- npc name
say("Bóg wszystkich demonów, Sung Mahi, przebudzil sie.") -- blablabla
say("Nadchodzi koniec ludzkosci! Jego niszczycielska moc jest")-- blablabla
say("jeszcze oslabiona, a jego wszystkowidzace oczy nadal sa zamglone.")-- blablabla
say("Jego podwladni nie spoczna jednak, dopóki ich mistrz nie powstanie")-- blablabla
say("w pelnej sile, by stawic czola temu swiatu.")-- blablabla
wait()
say_title(mob_name(npc.get_race())..":") -- npc name
say("Jego wierny poplecznik Razador, Wladca Ognia, ma za zadanie uwolnic z lochu legendarnego Czerwonego Smoka.")-- blablabla
say("Jesli jego plan sie powiedzie, droga do wladzy dla jego mistrza bedzie jeszcze szersza")-- blablabla
say("[DELAY=900]Czy jestescie gotowi na nowa próbe ognia?[/DELAY]")-- blablabla
wait()
say_title(mob_name(npc.get_race())..":")
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
say_reward("Czy chcesz razem ze swoja grupa zwiedzic Bramy piekiel?") -- Do You want enter into Blazingpurgatory with Your party?
if select("Tak!", "Nie!") == 1 then
pc.setqf("bp", 1)
d.join(251)
end
else
say_reward("Nie jestes liderem grupy!") -- You are not party leader!
end
else
say_reward("Nie posiadasz grupy!") -- You do not have party!
end
else
say_reward("Nie masz przynajmniej 100 poziomu!") -- You do not have 100 level!
end
end
when login with pc.get_map_index() >= 2510000 and pc.get_map_index() <= 2515000 and pc.getqf("bp") > 0 begin
say_title("Bramy Piekiel:") -- Dungeon name
say("Witajcie w Bramach Piekiel!") -- blabla
say("Oddychajcie gleboko, gdyz przy nastepnym waszym kroku otworza sie ... Bramy Piekiel!")-- blabla
say("Czekaja na was zjednoczeni, z orezem wzniesionym do walki i okrutnym usmiechem na ustach.")-- blabla
say("Czy sprostacie temu wyzwaniu?")-- blabla
say_reward("[DELAY=1800]Przekonajmy sie...[/DELAY]")-- blabla
d.setf("numerKOD", number(1, 100))
if party.is_party() then
if party.is_leader() then
--d.notice("NUMER KODU: "..d.getf("numerKOD"))
--d.notice(kodBramy(d.getf("numerKOD"), 7))
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
for i = 1,6 do
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_gate_"..i..".txt")
end
d.setf("pietro", 0)
pc.setqf("bp", 0)
end
else
if pc.is_gm() then
--d.notice("NUMER KODU: "..d.getf("numerKOD"))
--d.notice(kodBramy(d.getf("numerKOD"), 7))
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
for i = 1,6 do
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_gate_"..i..".txt")
end
d.setf("pietro", 0)
pc.setqf("bp", 0)
end
end
end
when 20385.click with pc.get_map_index() >= 2510000 and pc.get_map_index() <= 2515000 and d.getf("blokNPC") == 0 begin
d.setf("pietro", d.getf("pietro")+1)
if d.getf("pietro") < 7 then
d.setf("blokNPC", 1)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Brama zostala otworzona") -- Gate was open!
local bramy = {
{2,3,4,5,6},
{1,3,4,5,6},
{1,2,4,5,6},
{1,2,3,5,6},
{1,2,3,4,6},
{1,2,3,4,5},
}
for i = 1,table.getn(bramy[d.getf("pietro")]) do
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_gate_"..bramy[d.getf("pietro")]..".txt")
end
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_monster_"..d.getf("pietro")..".txt")
end
end
when 20350.chat."Zwalcz Razdora..." with pc.in_dungeon() begin -- Fight with Razador...
say("A wiec chcecie walczyc z Razadorem?") -- So You want fight with Razador?
say("Hmm... Jestescie naprawde odwazni...") -- You must be so brave!
say()
say_reward("Najpierw musicie jednak podac mi sekretny kod!") -- First You must enter password.
say_reward("Po przejsciu kazdego poziomu dostawaliscie kolejny znak...") -- After finish all gates You get one letter of password.
say()
say("Wprowadz kod!")
say()
local wprowadzKOD = tostring(input())
if wprowadzKOD == kodBramy(d.getf("numerKOD"), 7) then
if pc.count_item(30142) < 2 then
d.notice("Przekazcie wszystkie pieczecie Liderowi grupy!") -- Leader of party must have all seals.
say("Musisz miec przy sobie dwie zdobyte wczesniej pieczecie!") -- You must have two seals.
return
end
say("Uuuu... Przeszliscie wszystkie poziomy Bram Piekiel!") -- Wow! You finished all gates...
say()
say_reward("Razador juz na was czeka!") -- Razador is waiting for You...
say()
pc.remove_item(30142, 2)
timer("Razador", 5)
else
say("Ten kod jest nieprawidlowy!") -- That password is wrong!
say()
say_reward("Spróbujcie wprowadzic go jeszcze raz!") -- Try enter password again.
say()
end
end
when Razador.timer begin
d.setf("pietro", d.getf("pietro")+1)
d.jump_all(8111,6864)
d.notice("(Razador) Kto jest na tyle odwazny by mi przeszkadzac?!") -- Who is to enough brave to disturb me?!
d.set_regen_file("data/dungeon/bramypiekiel/blazingpurgatory_monster_7.txt")
end
when kill with pc.get_map_index() >= 2510000 and pc.get_map_index() <= 2515000 begin
if d.getf("pietro") == 1 then
if npc.get_race() == 8014 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Pierwszym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 1)) -- First letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...") -- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 2 then
d.setf("killCount", d.getf("killCount")+1)
if d.getf("killCount") == 100 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
game.drop_item_with_ownership(30142,1)
d.notice("Przekazcie List liderowi grupy! Bedzie mu jeszcze potrzebny...") -- Leader of party must have that seal!
d.notice("")
d.notice("Drugim znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 2))-- Second letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 3 then
d.setf("killCount2", d.getf("killCount2")+1)
if d.getf("killCount2") == 230 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Trzecim znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 3))-- Third letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 4 then
d.setf("killCount3", d.getf("killCount3")+1)
if d.getf("killCount3") == 200 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Czwartym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 4))-- Fourth letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 5 then
if npc.get_race() == 8014 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc.txt")
d.notice("Piatym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 5))-- Fifth letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 6 then
d.setf("killCount4", d.getf("killCount4")+1)
if d.getf("killCount4") == 150 then
game.drop_item_with_ownership(30142,1)
d.notice("Przekazcie List liderowi grupy! Bedzie mu jeszcze potrzebny...")-- Leader of party must have that seal!
end
if d.getf("killCount4") == 230 then
d.setf("blokNPC", 0)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/bramypiekiel/blazingpurgatory_flamenpc2.txt")
d.notice("Szóstym znakiem waszego kodu jest: "..kodBramy(d.getf("numerKOD"), 6))-- Sixth letter of Your passowrd is...
d.notice("Zapamietajcie go dobrze! Bedzie wam jeszcze potrzebny...")-- Remember that letter! It will be important later...
end
elseif d.getf("pietro") == 7 then
if npc.get_race() == 6091 then
d.notice("Za 60 sekund zostaniecie przeniesieni.") -- You will be teleported after 60 sec.
notice_all("[Kanal "..pc.get_channel_id().."] ~~ Gracz "..pc.get_name().." pokonal Razadora!") -- [Channel x] ~~ Player 'playerName' killed Razador!
local boss = {30516, 30517, 30188, 30501, 51001}
game.drop_item_with_ownership(boss[number(1, table.getn(boss))], 1)
d.clear_regen()
d.kill_all()
timer("wroc", 60)
end
end
end
when wroc.timer begin
d.exit_all()
end
end
end
De resto a quest está funcionando bem
Para esclarecimento o index do mapa do purgatorio é 251
as coordenadas que deveria teleportar é 7765 6732 no /warp e no /go era pra ir 341 588
Fico grato por qualquer ajuda, e como sempre leva o meu
Share this post
Link to post
Share on other sites