Skocz do zawartości

[Pytanie] funkcja d.join game r34083


Rekomendowane odpowiedzi

Witam mam mały problem mianowicie wydaję mi się, że z funkcją d.join jest coś nie tak, jak było wcześniej na warp to normalnie przenosiło macie jakiegoś diffa, który to naprawi? ;>

 

Treść:

http://wklej.to/eSFDu

lub:

quest dc begin
	state start begin
		when 20367.chat."Piekielne Katakumby" begin
			say("Strażnik Katakumb:")
				if party.get_near_count() < 1 then
					say("Aby wejść do Piekielnych Katakumb musisz posiadać ")
					say("przynajmniej 1 osobę w grupie! ")
					return	
			end
			if pc.level < 100 then
				say("Aby wejść do Piekielnych 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("Chcecie tam się teraz przenieść? ")
			local s = select("Tak", "Nie ")
			if s == 1 then
				pc.setqf("priv_dc", 1)
				d.join(209)
			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 Duszy. ")
				d.notice("<Informacja> Klucz ten 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() >= 2090000 and pc.get_map_index() < 2100000 begin
			if d.getf("ki") == 1 then
			local szansa = math.random(40, 100)
			if szansa == 80 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("Informacja: ")
				say("Aby przejść dalej, musisz przekazać klucz ")
				say("liderowi grupy. Następnie lider musi przenieść go ")
				say("na żółwią skałę! ")
			elseif party.is_leader() then
				item.remove()
				say("Informacja: ")
				say("Otworzyły się wrota. ")
				say("Szybko przejdź przez nie! ")
				wait()
				say("Informacja:")
				say("Tutaj zaczyna się prawdziwa przygoda! Masz jednak ")
				say("tylko godzinę na zbadanie Piekielnych Katakumb. ")
				wait()
				d.jump_all(3622, 12077)
				d.set_regen_file("data/dungeon/dc_regen2.txt")
				d.notice("<Informacja> Zniszczcie wrota, aby dotrzeć do Runicznego Pala. ")
				d.notice("<Informacja> Pozostało Wam jeszcze 60 minut. ")
				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() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.notice("<Informacja> Pozostało 50 minut. Pospieszcie się! ")
		end	
		when liczniksecond.timer with pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.notice("<Informacja> Pozostało 40 minut. Pospieszcie się! ")
		end		
		when licznikthird.timer with pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.notice("<Informacja> Pozostało 30 minut. Pospieszcie się! ")
		end	
		when licznikfourth.timer with pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.notice("<Informacja> Pozostało 20 minut. Pospieszcie się! ")
		end	
		when licznikfifth.timer with pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.notice("<Informacja> Pozostało 10 minut. 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("Informacja: ")
				say("Aby przejść dalej, musisz przekazać przedmiot ")
				say("liderowi grupy. Następnie lider musi przenieść go ")
				say("na Runiczny Pal. ")
			else
				say("Informacja:")
				say("Po szczegółowej inspekcji kamienia dostrzegasz na ")
				say("nim grawerunek. ")
				wait()
				say("Informacja:")
				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("Informacja:")
				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/devilcave/dc_regen_ebene3.txt")
				elseif wybor == 2 then
				say("Informacja: ")
				say("Zostaniesz wyrzucony z katakumb! ")
				d.exit()
				end
			end
		end	
		when kill with npc.get_race() == 8038 and pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			local metin = math.random(1, 5)
			if metin >= 2 then
				d.notice("<Informacja> Zniszczyliście fałszywy kamień metin! ")
			elseif metin <= 1 then
				d.notice("<Informacja> Prawdziwy kamień metin został zniszczony! ")
				d.notice("<Informacja> Zostaniecie przeniesieni za 10 sekund. ")
				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() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.jump_all(3072+846, 12032+898)
			d.notice("<Informacja> Zdobądźcie Upiorny Totem z Bastardów. ")
			d.notice("<Informacja> Czas upływa... ")
			d.set_regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
			d.setf("tpbug", 0)
		end	
		when kill with npc.get_race() == 2593 and pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			local totem = math.random(1, 2)
			if totem == 1 then
				d.notice("<Informacja> Ten Bastard 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("Informacja: ")
				say("Przekaż liderowi grupy Upiorny Totem! ")
			elseif party.is_leader() then
				pc.remove_item(30312, 1)
				say("Informacja: ")
				say("Upiorny Totem został przyjęty! ")
				wait()
				say("Informacja: ")
				say("Zaraz zostaniecie przeniesieni na 5. poziom. ")
				wait()
				d.jump_all(3072+1322, 12032+631)
				d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
				d.notice("<Informacja> Zabijcie sługę władcy - Charona, aby dostać się do Komnaty Azraela. ")
			end
	end
		when kill with npc.get_race() == 2597 and pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			timer("dcsw", 20)
			d.notice("<Informacja> Za 20 sekund przeniesiecie się do Komnaty Azraela.")
		end
		when dcsw.timer with pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.jump_all(3072+74, 12032+1160)
			d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
			d.notice("<Informacja> Jesteście w głównej komnacie - zniszczcie Azraela! ")
		end	
		when kill with npc.get_race() == 2598 and pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin 
			d.notice("<Informacja> Za 30 sekund zostaniecie wyrzuceni przed wejście. ")
			d.kill_all()
			timer("dcend", 30)
		end
		when dcend.timer with pc.in_dungeon() and pc.get_map_index() >= 2090000 and pc.get_map_index() < 2100000 begin
			d.exit_all()
		end
	end	
end	


hehpng_esrnree.png

Odnośnik do komentarza

Sam się domyśliłem, a teraz to przeczytałem ;D bo wcześniej miałem dc pod 216, a teraz 209 i zapomniałem zmienić. Ale i tak masz lajka bo ceni się ludzi, którzy mimo wszystko chcą pomóc chyba wiesz o czym mówię ;)

 

nowy problem po:

 

local wybor = select("Tak, przepuść mnie! ", "Nie, lepiej nie. ")
if wybor == 1 then
item.remove()
say("Informacja:")
say("Jesteś w posiadaniu Zasuszonej Głowy i zostaniesz ")
say("przeniesiony na  3. poziom. ")
wait()
d.jump_all(3072+1379, 12032+250)

przenosi i wywala clienta gry, chyba wina leży po winie Clienta ale dokładnie nwm wie ktoś?


hehpng_esrnree.png

Odnośnik do komentarza

Zarchiwizowany

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

  • Ostatnio przeglądający forum [Pytanie] funkcja d.join game r34083   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...