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

[Poprawa] Katakumby


Rekomendowane odpowiedzi

Opublikowano

Hmm ja bym to całkiem inaczej zrobił. Nie wiem co tu może być źle, ale wg mnie zrobiłeś tak, że mamy np 5 metinów do zniszczenia i po zniszczeniu jednego losuje liczbę od 1 do 5, jeśli będzie to liczba większa niż 1 to nie przenosi a jeśli będzie to liczba 1 to przenosi. Weź to pod uwagę, że po ubiciu 5 metinów może nie wylosować ani razu nr.1 więc nie przeniesie mimo tego że ubiliśmy wszystkie metki.

Znawca
Opublikowano

A jak zrobic, ze po 5 zabitych metkach przenosi mnie dalej? I dlaczego nie wyswietla mi rozmowy z npc 20089

Opublikowano
quest dc begin
    state start begin
        when 20367.chat."Piekielne Katakumby" with party.is_leader() begin
            say_title("Strażnik Katakumb:")
                if party.get_near_count() < 1 then
                    say("Aby wejść do P. Katakumb musisz posiadać ")
                    say("Przynajmniej 1 osobę w grupie.")
                    return    
            end
            if pc.level < 100 then
                say("Aby wejść do Katakumb musisz posiadać ")
                say("Przynajmniej 100 Poziom.")        
            else
            say("Jestem strażnikiem Piekielnych Katakumb.")
            say("Strzegę naszą krainę przed upiorami z podziemia.")
            say("Możecie mi pomóc przez wejście do krainy.")
            say_reward("Chcecie tam się teraz przenieść?")
            local s = select("Tak", "Nie")
            if s == 1 then
                pc.setqf("priv_dc", 1)
                d.join(82)
            end    
            end
        end
        when login with pc.in_dungeon() and pc.getqf("priv_dc") > 0 begin
                pc.setqf("priv_dc", 0)
                d.set_regen_file("data/dungeon/dc_regen1.txt")                    
                d.notice("<Informacja> Zniszcz te kreatury, aby otrzymać Klucz Kryształu")
                d.notice("<Informacja> Duszy, który otworzy ci wrota do 2. poziomu.")
                d.setf("ki", 1)
        end


        when kill with npc.get_race() == 2501 or npc.get_race() == 2502 or npc.get_race() == 2503 or npc.get_race() == 2504 or npc.get_race() == 2505 and pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            if d.getf("ki") == 1 then
            local szansa = math.random(1, 220)
            if szansa == 175 then
                game.drop_item(30311, 1)
                d.setf("ki", 0)
                end
            end
        end    
        when 30103.take with item.vnum == 30311 and pc.in_dungeon() begin
            if not party.is_leader() then
                say("Aby przejść dalej, musisz przekazać klucz")
                say("liderowi grupy, a następnie przenieść go na posąg.")
            elseif party.is_leader() then
                item.remove()
                say("Otworzyły się wrota.")
                say("Szybko przejdź przez nie!")
                wait()
                say("Tutaj zaczyna się prawidziwa przygoda! Masz jednak")
                say("tylko godzinę na zbadanie Piekielnych Katakumb")
                wait()
                d.jump_all(3622, 12077)
                d.regen_file("data/dungeon/dc_regen2.txt")
                d.notice("<Informacja> Zniszczcie pieczęć tych wrót, aby dotrzeć do 3. poziomu.")
                d.notice("<Informacja> Pozostało wam jeszcze 60min.")
                timer("drugiepietro", 3600)
                timer("licznikfirst", 600)
                timer("liczniksecond", 1200)
                timer("licznikthird", 1800)
                timer("licznikfourth", 2400)
                timer("licznikfifth", 3000)
            end
        end
        when licznikfirst.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.notice("<Informacja> Pozostało 50minut. Pospieszcie się! ")
        end    
        when liczniksecond.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.notice("<Informacja> Pozostało 40minut. Pospieszcie się! ")
        end        
        when licznikthird.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.notice("<Informacja> Pozostało 30minut. Pospieszcie się! ")
        end    
        when licznikfourth.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.notice("<Informacja> Pozostało 20minut. Pospieszcie się! ")
        end    
        when licznikfifth.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.notice("<Informacja> Pozostało 10minut. Pospieszcie się! ")
        end            
        
        when drugiepietro.timer begin
            d.notice("<Informacja> Czas minął! Zostaniecie wyrzuceni z Katakumb.")
            d.exit_all()
        end    
        
        when 30104.take with item.vnum == 30319 or 30320 and pc.in_dungeon() begin 
            if not party.is_leader() then
                say("Aby przejść dalej, musisz przekazać głowę ")
                say("liderowi grupy, a następnie przenieść go na posąg.")
            else
                say("Po szczegółowej inspekcji kamienia dostrzegasz na")
                say("nim grawerunek.")
                wait()
                say("Wejść może jedynie ten, kto posiada Zasuszoną ")
                say("Głowę i zniszczył pieczęci trzech wrót.")
                say("Jeśli nie posiadasz tego reliktu zostaniesz")
                say("przeniesiony na zewnątrz katakumb.")
                wait()
                local wybor = select("Tak, przepuść mnie!", "Nie, lepiej nie.")
                if wybor == 1 then
                item.remove()
                say("Jesteś w posiadaniu Zasuszonej Głowy i zostaniesz")
                say("przeniesiony na  3. poziom.")
                wait()
                d.jump_all(3072+1379, 12032+250)
                d.notice("<Informacja> Zniszczcie prawdziwy Metin Odwetu!")
                d.notice("<Informacja> Czas upływa..")
                d.set_regen_file("data/dungeon/dc_regen3.txt")        
                elseif wybor == 2 then
                say("Zostaniesz wyrzucony z katakumb!")
                d.exit()
                end
            end
        end    
        when 8038.kill with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            if d.getf("metinowo") = 5 then
                d.notice("<Informacja> Prawdziwy kamień metin został zniszczony!")
                d.notice("<Informacja> Zostaniecie przeniesieni za 10s")
                d.setf("tpbug", 1)
                timer("czworka", 10)
            end
            local metin = math.random(1, 5)
            if metin >= 2 then
                d.notice("<Informacja> Zniszczyliście fałszywy kamień metin!")
                d.setf("metinowo",d.getf("metinowo")+1)
            elseif metin <= 1 then
                d.notice("<Informacja> Prawdziwy kamień metin został zniszczony!")
                d.notice("<Informacja> Zostaniecie przeniesieni za 10s")
                d.setf("tpbug", 1)
                timer("czworka", 10)
            end
        end
        when czworka.timer with d.getf("tpbug") == 1 and pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.jump_all(3072+72, 12032+574)
            d.notice("<Informacja> Znajdźcie właściwe przejście do 5. poziomu!")
            d.set_regen_file("data/dungeon/dc_regen4.txt")
            d.setf("tpbug", 0)
        end    
        when 20083.chat."Przejście na piąty poziom" with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 and party.is_leader() begin
            say_title("Teleporter:")
            say("Witajcie..")
            say("Jestem Teleporterem,")
            say("Chcecie się przenieść na kolejne piętro chaosu?")
            say("Tam skończy się zabawa!")
            say_reward("Na pewno chcecie się tam przenieść?")
            say("")
            local ppppp = select("Tak", "Nie")
            if ppppp == 2 then
            d.exit_all()            
            elseif ppppp == 1 then
            d.jump_all(3072+846, 12032+898)
            d.notice("<Informacja> Zdobądźcie Upiorny Totem z Tartarów.")
            d.notice("<Informacja> Czas upływa..")
            end
        end
        when kill with npc.get_race() == 2522 and pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            local totem = math.random(1, 2)
            if totem == 1 then
                d.notice("<Informacja> Ten Tartar nie posiadał totemu!")
            elseif totem == 2 then
                game.drop_item(30312, 1)
                d.notice("<Informacja> Zdobyliście Upiorny Totem!")
                d.notice("<Informacja> Przenieście go na Bazaltowy Obelisk.")
            end
        end            
        when 30102.take with item.vnum == 30312 and pc.in_dungeon() begin
            if not party.is_leader() then
                say("Przekaż liderowi grupy Upiorny Totem!")
            elseif party.is_leader() then
                pc.remove_item(30312, 1)
                say("Upiorny Totem został przyjęty")
                wait()
                say("Zaraz zostaniecie przeniesieni na")
                say("6. poziom.")
                wait()
                d.jump_all(3072+1322, 12032+631)
                d.regen_file("data/dungeon/dc_regen5.txt")
                d.notice("<Informacja> Zabijcie sługę władcy - Charona, aby dostać się do Komnaty.")
            end
    end
        when kill with npc.get_race() == 2529 and pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            timer("dcsw", 20)
            d.notice("<Informacja> Za 20sekund przeniesiecie się do Komnaty Azraela.")
        end
        when dcsw.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.jump_all(3072+74, 12032+1160)
            d.notice("<Informacja> Przenieśliście do Komnaty - zniszczcie Azraela!")
        end    
        when kill with npc.get_race() == 2530 and pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin 
            d.notice("<Informacja> Za 30s zostaniecie wyrzuceni przed wejście.")
            timer("dcend", 30)
        end
        when dcend.timer with pc.in_dungeon() and pc.get_map_index() >= 820000 and pc.get_map_index() < 830000 begin
            d.exit_all()
        end
    end    
end    
 

lap, zdaj relacje

QmxvbmR5blhfX19ldW5lX19fNTI0X19fTlVMTF9fXzNfX18xMDBfX19ub25lLnBuZ19fXzhfX19ub25lX19fMDAwMDAwX19fc29sbw==.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...