Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Cześć napisałem sobie kiedyś taki quest na bramy piekieł i mam z nim taki problem że nie jest powtarzalny. To znaczy kiedy go robię i się wyloguje to potem nie mogę go znowu zacząć, nie ma takiej opcji u npc wogóle. Mógłby mi ktoś pomóc go poprawić aby działał jak należy?

 
http://pastebin.com/pbDbVTLh

 

 

quest bramypiekiel begin
state start begin

when 30509.chat."Chcę wejść do Bram Piekieł! " begin
say_title("Strażnik Bram Piekieł:")
say("Wpuszczę cię o ile posiadasz wystarczający ")
say("poziom. Pamiętaj również, że aby przekroczyć ")
say("Bramy Piekieł potrzebujesz grupy.")
say("")
say_reward("Czas na ukończenie Bram Piekieł to 60 minut.")
say("")
wait()

if pc.get_level() <= 90 then
say("Nie posiadasz 90 poziomu.")

party.chat("Lider grupy nie posiada 90 poziomu.")
return
end -- if
--if party.get_near_count() <= 1 then
--say("Nie posiadasz grupy.")
--return
--end -- if
--if not party.is_leader() then
--say("Niestety nie jesteś liderem grupy.")
--say("Tylko lider grupy może was przeteleportować!")
--else
say_title("Strażnik Bram Piekieł:")
say("Spełniasz wszystkie warunki!")
say("Czy jesteś pewien że chcesz wejść?")
local x = select("Tak!", "Nie!")
if x == 2 then
return
elseif x == 1 then
pc.setqf("komnataa", 1)
d.join(235)

--end -- if
end -- if
end -- when
when login with pc.get_map_index() >= 2350000 and pc.get_map_index() < 2360000 begin
if pc.getqf("komnataa") == 1 then

timer("regenm", 2)
end -- if
end -- when
when regenm.timer begin
d.regen_file("data/dungeon/bramy_regen.txt")

--say("Index mapy: "..pc.get_map_index())
timer("Exit", 60*60)
set_state(informatioh)
end
end --state
state informatioh begin
when 30503.click begin
say("Po szczegółowej inspekcji Gardzieli Am-heha,")
say("jesteście przekonani, że aby stawić czoła")
say("Razadowi będziecie musieli otworzyć 6 zamków")
say("losu.")
wait()
say("Pierwszy zamek został odblokowany! Podejdź do niego ")
say("i go otwórz. Aby odblokować drugie przejście musicie ")
say("zabić 30 demonów!")
say("")

d.regen_file("data/dungeon/bramy2_regen.txt")
pc.setqf("ddd", 0)
set_state(inff)
end
end

state inff begin
when 30501.chat."Otwórz Zamek Losu" begin
npc.purge()
say("Otworzyliście Zamek Losu! ")
set_state(inff2)
end
end
--when 30501.click begin
--npc.purge()
--end

state inff2 begin
when 6001.party_kill or 6002.party_kill or 6003.party_kill or 6004.party_kill or 6005.party_kill or 6006.party_kill or 6007.party_kill or 6008.party_kill begin
local count = pc.getqf("status") + 1
if count <= 30 then
pc.setqf("status", count)
q.set_counter("Demony", 30 - count)
if count == 30 then
chat("Udało wam się! Udajcie się do Gardzieli Am-heha. ")
set_state(inffgg)
say("Udało wam się! Udajcie się do Gardzieli Am-heha. ")
end
end
end
end








state inffgg begin
when 30503.chat."Drugi zamek losu " begin
say("Udało się! Odblokowaliście drugi zamek!")
say("Podejdź do niego i go otwórz a następnie ")
say("zabij 10 Ognistych Królów Żaru!")
d.regen_file("data/dungeon/bramy3_regen.txt")
set_state(inffgghh)
end
end

state inffgghh begin
when 30504.chat."Otwórz Zamek Losu" begin
npc.purge()
say("Otworzyliście Zamek Losu! ")
set_state(inffgghh2)
end
end
state inffgghh2 begin
when 6005.party_kill begin
local count = pc.getqf("status") + 1
if count <= 10 then
pc.setqf("status", count)
q.set_counter("Ognisty Król Żaru ", 10 - count)
if count == 10 then
say_reward("Udało wam się zabić 10 Ognistych ")
say_reward("Królów Żaru! ")
set_state(gototeacherk)
say("")
end
end
end
end

state gototeacherk begin
when 30503.chat."Ognisty Król Żaru " begin
say("Udało się! Odblokowaliście trzeci zamek!")
say("Podejdź do niego i go otwórz a następnie ")
say("zabijcie 40 Demonów. ")

d.regen_file("data/dungeon/bramy4_regen.txt")
set_state(gotot)
end
end

state gotot begin
when 30505.chat."Otwórz Zamek Losu" begin
npc.purge()
say("Otworzyliście Zamek Losu! ")
set_state(gotot2)
end
end

state gotot2 begin
when 6001.party_kill or 6002.party_kill or 6003.party_kill or 6004.party_kill or 6005.party_kill or 6006.party_kill or 6007.party_kill or 6008.party_kill or 6009.party_kill begin
if count <= 40 then
pc.setqf("status", count)
q.set_counter("Dziki Pies", 40 - count)
if count == 40 then
chat("Udało wam się! Udajcie się do Gardzieli Am-heha. ")
set_state(gotobodss5)
say("")
end
end
end
end

state gotobodss5 begin
when 30503.chat."Kolejny poziom " begin
say("Odblokowaliście czwarty zamek!")
say("Podejdź do niego i go otwórz a następnie ")
say("zabij 10 Ognistych Księży Żaru. ")
pc.remove_item(66021, 10)
d.regen_file("data/dungeon/bramy5_regen.txt")
set_state(gggggs)

end
end

state gggggs begin
when 30506.chat."Otwórz Zamek Losu" begin
npc.purge()
say("Otworzyliście Zamek Losu! ")
set_state(gggggs2)
end
end
state gggggs2 begin
when 4106.party_kill begin
local countt = pc.getqf("statuss") + 1
if countt <= 10 then
pc.setqf("statuss", countt)
q.set_counter("Ognisty Książe Żaru", 10 - countt)
if countt == 10 then
say_reward("Udało wam się zabić 10 Ognistych")
say_reward("Księży Żaru!")
set_state(gotodk)
say("")
end
end
end
end
state gotodk begin
when 30503.chat."Ognisty Książe Żaru" begin
say("Udało się! Odblokowaliście piąty zamek!")
say("Podejdź do niego i go otwórz a następnie ")
say("zniszcz Metin Purgatorium. ")
d.regen_file("data/dungeon/bramy6_regen.txt")
set_state(gotodkgg)
end
end

state gotodkgg begin
when 30507.chat."Otwórz Zamek Losu" begin
npc.purge()
say("Otworzyliście Zamek Losu! ")
set_state(gotodkgg2)
end
end

state gotodkgg2 begin
when 8116.party_kill begin
say_reward("Udało wam się zniszczyć Metin Purgatorium!")
set_state(tttgg)
end
end

state tttgg begin
when 30133.chat."Metin Purgatorium" begin
say("Udało się! Odblokowaliście kolejny zamek!")
say("Czeka was ostania próba zanim wpuszcze was ")
say("do komnaty Razadora. Musicie zabić Ignatora. ")
say("Podejdź do ostatniego zamka i go otwórz. ")
say("")
d.regen_file("data/dungeon/bramy7_regen.txt")
set_state(hfgdfd)
end
end

state hfgdfd begin
when 30508.chat."Otwórz Zamek Losu" begin
npc.purge()
say("Otworzyliście Zamek Losu! ")
set_state(hfgdfd2)
end
end
state hfgdfd2 begin
when 6051.party_kill begin
say_reward("Udało wam się zabić Ignatora! ")
set_state(gasdasdasd)
say("")
end
end

state gasdasdasd begin
when 30503.chat."Ignator " begin
say("Udało wam się! Prześliście wszystkie próby!")
say("Już nic nie stoi wam na drodze, aby zmierzyć ")
say("się z Razadorem!")
say("")
wait()
say("Czy jesteście gotowi?")
local x = select("Tak!", "Nie!")
if x == 2 then
return
elseif x == 1 then
timer("regenmnn", 2)
end

end

when regenmnn.timer begin
d.new_jump_all(235, 8108, 6844)
d.notice("Pokonaj Razadora, aby ukończyć Bramy Piekieł!")
d.regen_file("data/dungeon/bramy8_regen.txt")
end -- when






when 4110.party_kill begin
timer("Exit_Z", 60)
d.kill_all()
say_reward("Gratulacje, pokonaliście Razadora!")
say_reward("Macie 60 sekund zanim Was wyrzuci, pospieszcie się!")
notice_all("Gracz "..pc.get_name().." z poziomem "..(level).." zabił Razadora!")
d.notice("Gratulacje, pokonaliście Razadora!")
--d.notice("Macie 60 sekund zanim Was wyrzuci, pospieszcie się!")
end -- when
when Exit.timer begin
d.notice("Macie 20 sekund zanim Was wyrzuci, pospieszcie się!")
timer("Exit_X", 20)
end -- when
when Exit_X.timer begin
d.exit_all()
end -- when
when Exit_Z.timer begin
d.exit_all()
end -- when
end
 

end -- quest

 

Opublikowano

Masz zrobiony dungeon jak typowy quest. Nie robi się dungów na paru state'ach tylko na jednym ;p 

Musisz napisać dungeon od nowa na jednym state z użyciem server_timerów.

zandia_sygna.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...