Skocz do zawartości
Opublikowano

Siema, Quest DT:

quest dungeon_dt 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(590500, 110500)
				end
				pc.set_warp_location(65, 5905, 1105)
			elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
				pc.set_warp_location(65, 5905, 1105)
			end
		end
		when deviltower_man.chat.locale.deviltower_man_chat begin
			if pc.get_level() < 40 then
				say_title("Strażnik Wieży Demonów: ")
				say(locale.deviltower_man_say_you_cant)
			else
				say_title("Strażnik Wieży Demonów: ")
				say(locale.deviltower_man_say)
				local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
				if s == 1 then
					pc.warp(216500,727000)
				else
					return
				end
			end
		end

Quest działa i moby się normalnie respią, jeśli użyję pc.warp(216500, 727000), ale to nie jest wtedy prywatnym DT.

Z kolei kiedy używam d.join, d.new_jump_all itd., to mogę się teleportować tylko wtedy, gdy dungeon i NPC z questa są na tym samym CH.

Przykład: ustawiam dungeon na CH1, quest odpalam też na CH1, używam d.join(66) — teleportuje mnie na mapę, ale nie ma tam żadnych mobów.

Ktoś ma pomysł, gdzie może być problem i jak ustawić możliwość wejścia z każdego channelu na dungeon?

Pliki Terenzo.

Featured Replies

Opublikowano
  • Programista

Co to do cholery jest? Użyj normalnie d.join, później whena, który sprawdza czy gracz jest w dungeonie (i czy koordynaty się zgadzają), a potem d.spawn_mob, czy tam d.regen_file.

Opublikowano
  • Programista
6 godzin temu, Thorek napisał(a):

Co to do cholery jest? Użyj normalnie d.join, później whena, który sprawdza czy gracz jest w dungeonie (i czy koordynaty się zgadzają), a potem d.spawn_mob, czy tam d.regen_file.

Widać, że solidna firma, a nie jakieś d.new_chuj_wie_co.

  • Sevence zmienił(a) tytuł na Quest dungeonu, a wejście?
Opublikowano
  • Autor
11 godzin temu, Thorek napisał(a):

Co to do cholery jest? Użyj normalnie d.join, później whena, który sprawdza czy gracz jest w dungeonie (i czy koordynaty się zgadzają), a potem d.spawn_mob, czy tam d.regen_file.

Czysty quest z plików terenzo.

d.join(66) - index dt nie wrzuci na mapę gdy NPC i mapa są na innych channelach..

Opublikowano
  • Autor

f5

Opublikowano

Nie baw sie w koygera z 2k16, ucz sie na bledach innych, on juz kiedys wymyslil w ten sposób system jednorazowych dungeonów xD
Wywal te stejty i napisz od nowa questa bo z tego nic nie bedzie
image.png

Opublikowano
  • Autor
5 minut temu, ouiai napisał(a):

Nie baw sie w koygera z 2k16, ucz sie na bledach innych, on juz kiedys wymyslil w ten sposób system jednorazowych dungeonów xD
Wywal te stejty i napisz od nowa questa bo z tego nic nie bedzie
image.png

Testowałem wiele questów nawet te które dał @Hydro z WO i sprawa wygląda tak samo jak na tym ori z terenzo

dung ch99 to po rozmowie z npc wrzuci na dunga TYLKO gdy będę na ch99.

Edytowane przez ExoCarossa

Opublikowano
18 minut temu, ExoCarossa napisał(a):

Testowałem wiele questów nawet te które dał @Hydro z WO i sprawa wygląda tak samo jak na tym ori z terenzo

dung ch99 to po rozmowie z npc wrzuci na dunga TYLKO gdy będę na ch99.

czego nie rozumiesz? Dungi z reguły się wrzuca na ch99 i mapę od dungow. Przy DT sprawa wygląda inaczej bo chyba jest dodane w każdym kanale lub podkanale. Nie patrzyłem

d.new_jump_party

d.join

Zastosowanie

quest dungeon_loch_cieni begin
    state start begin
        when login with pc.in_dungeon() and d.getf("stage") == 0 begin
            d.setf("stage", 1)
            d.notice("Pokonaj wszystkie potwory!")
            d.regen_file("data/dungeon/cienie_wave.txt")
            timer("loch_cieni_limit", 240) -- 4 minuty
        end

        when loch_cieni_limit.timer begin
            d.notice("Czas minął! Zostajesz przeniesiony.")
            d.exit_all()
        end

        when 101.kill or 102.kill with d.getf("stage") == 1 begin
            if d.count_monster() == 0 then
                d.setf("stage", 2)
                d.notice("Dobrze! Teraz zniszcz 2 Kamienie Cienia!")
                d.spawn_mob(8001, 100, 100)
                d.spawn_mob(8001, 120, 100)
            end
        end

        when 8001.kill with d.getf("stage") == 2 begin
            if d.count_monster() == 0 then
                d.notice("Udało się! Dungeon ukończony!")
                d.setf("stage", 3)
                d.exit_all()
            end
        end

        when 20084.chat."Wejdź do Lochu Cieni" begin -- NPC: Biolog (lub inny z ID 20084)
            if pc.level < 15 then
                say("Musisz mieć co najmniej 15 poziom.")
                return
            end

            if pc.count_item(30100) == 0 then
                say("Potrzebujesz Przepustki do Lochu Cieni.")
                return
            end

            say_title("Strażnik Cieni:")
            say("Przed tobą ciemność...")
            say("Czy jesteś gotów stawić jej czoła?")
            local s = select("Wejdź", "Anuluj")
            if s == 2 then return end

            pc.remove_item(30100, 1)
            d.new_jump_party(666, 5000, 5000) -- mapa dungeonowa 666
        end
    end
end

Edytowane przez MalikOo

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...