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

Problemos - DT


Rekomendowane odpowiedzi

Opublikowano

W którym pliku edytować mobki na DT?


Sprawdzałem już chyball, regeny itp i nie moge.


ID w regenach się zgadza, a na mapce są potworki wgl, ktorego id nie ma w nich.


83818689743271644001.png


Opublikowano

 

W którym pliku edytować mobki na DT?

Sprawdzałem już chyball, regeny itp i nie moge.

ID w regenach się zgadza, a na mapce są potworki wgl, ktorego id nie ma w nich.

83818689743271644001.png

 

to sprawdzałeś czy nie? usr/home/mt2/share/data/dungeon-deviltower2-9? Ogarnij jeszcze raz group.txt i porównaj id w navi CZY ABY NA PEWNO SĄ TO TE MOBY-iiii masz czystego klienta? (jeżeli np stawiałes na terenzo) czy coś typu by like etc? 

Opublikowano

Co nam da ten plik, sprawdź w queście z jakiego pliku odczytuje ci regeny, może w queście masz podmienione na inne regeny.

Jeśli nie to to widocznie w plikach było kombinowane z dt i trzeba będzie wyczyścić object i questy załadować na nowo.

di-HLXD.jpg

Opublikowano

Sam już nie wiem...

quest DTWW 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((5376+532)*100, (512+596+4)*100, 65)
				end
			pc.set_warp_location(5428705, 571777)
			elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
				pc.set_warp_location(5428705, 571777)
			end
		end

		when deviltower_man.chat.locale.deviltower_man_chat begin
			if pc.get_level() <= 40 then
				say(locale.deviltower_man_say_you_cant)
			else
				say(locale.deviltower_man_say)
			local s = select(locale.deviltower_enter,locale.deviltower_no_enter)
				if s == 1 then
					pc.warp(216500,727000)
				end
			end
		end

		when devil_stone1.kill begin
			timer("devil_stone1_1", 6)
		end

		when devil_stone1_1.timer begin
			local mapto7= pc.count_item(30302)
				pc.remove_item(30302,mapto7)

			local boxto7= pc.count_item(30300)
				pc.remove_item(30300,boxto7)

			d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
			d.regen_file("data/dungeon/deviltower2_regen.txt")
			d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
		end

		when devil_stone3.kill begin
			d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
			d.check_eliminated()
		end

		function get_4floor_stone_pos()
			local positions = {
							  {368, 629},
							  {419, 630},
							  {428, 653},
							  {422, 679},
							  {395, 689},
							  {369, 679},
							  {361, 658},
							  }
						for i = 1, 6 do
					local j = number(i, 7)
						if i != j then
					local t = positions[i];
						positions[i] = positions[j];
						positions[j] = t;
					end
				end
				return positions
			end

			when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
				d.setf("level", 4)
				local positions = DTWW.get_4floor_stone_pos()
				for i = 1, 6 do
				chat(positions[i][1], positions[i][2])
				d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
			end

			chat(positions[7][1], positions[7][2])
			local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
			chat(vid)
			d.set_unique("real", vid)
			server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
			server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
			d.notice("Brawo, udalo sie Tobie");
			d.notice("zniszczyc kamien metin!");
			d.notice("Macie 15 minut na nastepnym pietrze[ENTER] zanim zostaniecie wylogowani.");
			d.notice("Spieszcie sie!");
		end

		when devil_stone4_fail1.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("Pozostalo 10 minut!")
				server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
			end
		end

		when devil_stone4_fail2.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("Pozostalo 5 minut!")
				server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
			end
		end

		when devil_stone4_fail.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("Nie udalo sie, zostaniecie wylogowany!")
				d.exit_all()
				clear_server_timer('devil_stone4_update', get_server_timer_arg())
			end
		end

		when devil_stone4_update.server_timer begin
			if d.select(get_server_timer_arg()) then
				if not d.is_unique_dead("real") then
					for i = 1, 6 do
						if d.getf("fakedead" .. i) == 0 then
							if d.unique_get_hp_perc("fake" .. i) < 50 then
								d.purge_unique("fake" .. i)
								d.setf("fakedead" .. i, 1)
								d.notice("To nie ten kamien!");
							end
						end
					end
				else
					server_timer("devil_stone4_end", 5, get_server_timer_arg())
					d.notice("Udalo sie! Zabij wszystkie potwory na nastepnym");
					d.notice("pietrze, aby zdobyc kamien otwarcia!")
					clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
					clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
					clear_server_timer('devil_stone4_fail', get_server_timer_arg())
				end
			else
				server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
			end
		end

		when devil_stone4_stop_timer.server_timer begin
			clear_server_timer('devil_stone4_update', get_server_timer_arg())
		end

		when devil_stone4_end.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.setf("level", 5)
				d.setf("stone_count", 5)
				d.notice("Brawo, jestes na 5 pietrze!")
				d.notice("Aby przejsc na 6 pietro musisz zabic")
				d.notice("wszystkie potwory tutaj, zdobyc kamien")
				d.notice("otwarcia i otworzyc pieczecie przed czasem!")
				d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
				server_timer('devil_stone5_fail1', 60*5, get_server_timer_arg())
				clear_server_timer('devil_stone4_update', get_server_timer_arg())
				d.set_regen_file("data/dungeon/deviltower5_regen.txt")
				d.spawn_mob(20073, 421, 452)
				d.spawn_mob(20073, 380, 460)
				d.spawn_mob(20073, 428, 414)
				d.spawn_mob(20073, 398, 392)
				d.spawn_mob(20073, 359, 426)
			end
		end

		when devil_stone5_fail1.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("Pozostalo 15 minut!")
				server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
			end
		end

		when devil_stone5_fail2.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("Pozostalo 10 minut!")
				server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
			end
		end

		when devil_stone5_fail3.server_timer begin
			if d.select(get_server_timer_arg()) then
			d.notice("Pozostalo 5 minut!")
			server_timer('devil_stone5_fail', 100*60, get_server_timer_arg())
			end
		end

		when devil_stone5_fail.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("Nie udalo sie, zostaniesz wylogowany!")
				d.exit_all()
			end
		end

		when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
			local KILL_COUNT_FOR_DROP_KEY = 50
			local n =d.getf("count") + 1
			d.setf("count", n) 
			if n == KILL_COUNT_FOR_DROP_KEY then
				game.drop_item(50084, 1)
				d.setf("count", 0)
			end
		end

		when devil_stone5.take with item.vnum == 50084 begin
			npc.purge()
			item.remove()
			d.setf("stone_count", d.getf("stone_count") - 1)
			if d.getf("stone_count") <= 0 then
				d.setf("level", 6)
				d.clear_regen()
				d.regen_file("data/dungeon/deviltower6_regen.txt")
				d.notice("Brawo udalo sie! jestes na 6 pietrze!")
				d.notice("Zabij wszystkie potwory!")
				d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
				clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
				clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
				clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
				clear_server_timer('devil_stone5_fail', get_server_timer_arg())
			else
				d.notice("Do otwarcia pozostały "..d.getf("stone_count").." pieczęcie")
			end
		end

		when devil_stone6.kill begin
			d.kill_all()
			d.check_eliminated()
			local reward_alchemist = {20074, 20075, 20076}
			d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
			d.setqf("can_refine", 1)
		end

		when 20074.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
			say(""..mob_name(20074).."")
			say("Zostaniesz przeniesiony")
			say("na 7 pietro Wiezy Demonow!")
			say("Lecz uwazaj...")
			say("Tam nie bedzie tak latwo jak wczesniej!")
			wait()
			if pc.level >= 75 then
				say("Kazdy z graczy zostanie przeniesiony!")
				timer("devil_jump_7", 6)
				return
			end
			say("Mozesz przejsc dalej!")
			say("")
			say("")
			wait()
			pc.warp(590500, 110500)
			return
		end

		when 20075.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
			say(""..mob_name(20075).."")
			say("Zostaniesz przeniesiony")
			say("na 7 pietro Wiezy Demonow!")
			say("Lecz uwazaj...")
			say("Tam nie bedzie tak latwo jak wczesniej!")
			wait()
			if pc.level >= 75 then
				say("Kazdy z graczy zostanie przeniesiony!")
				timer("devil_jump_7", 6)
				return
			end
			say("Mozesz przejsc dalej!")
			say("")
			say("")
			wait()
			pc.warp(590500, 110500)
			return
		end

		when 20076.chat."Chce przejsc dalej" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
			say(""..mob_name(20076).."")
			say("Zostaniesz przeniesiony")
			say("na 7 pietro Wiezy Demonow!")
			say("Lecz uwazaj...")
			say("Tam nie bedzie tak latwo jak wczesniej!")
			wait()
			if pc.level >= 75 then
				say("Kazdy z graczy zostanie przeniesiony!")
				timer("devil_jump_7", 6)
				return
			end
			say("Mozesz przejsc dalej!")
			say("")
			say("")
			wait()
			pc.warp(590500, 110500)
			return
		end

		when devil_jump_7.timer begin
			d.clear_regen()
			d.spawn_mob(8018, 639, 658)
			d.spawn_mob(8018, 611, 637)
			d.spawn_mob(8018, 596, 674)
			d.spawn_mob(8018, 629, 670)
			d.setf("level", 7)
			d.jump_all(2048+590, 6656+638)
		end

		when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			local cont = d.getf("7_stone_kill") + 1
			d.setf("7_stone_kill", cont)
			if cont >= 4 then
				d.setf("7_stone_kill", 0)
				d.set_regen_file("data/dungeon/deviltower7_regen.txt")
			end
		end

		when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			game.drop_item(30300, 1)
		end

		when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			pc.remove_item("30300", 1)
			local pct = number(1,3)
			if pct == 1 then
				game.drop_item(30302, 1)
				d.clear_regen()
			else
				game.drop_item(30301, 1)
			end
		end

		when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			say("Przeniesiesz sie na 8 pietro!")
			pc.remove_item("30302", 1)
			timer("devil_jump_8", 6)
			d.clear_regen()
		end

		when devil_jump_8.timer begin
			d.setf("level", 8)
			d.jump_all(2048+590, 6656+403)
			d.set_regen_file("data/dungeon/deviltower8_regen.txt")
			d.spawn_mob(20366, 640, 460)
			local _count= pc.count_item(30302)
			pc.remove_item(30302,_count)
		end

		when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			local pct1 = number(1, 5)
			if pct1 == 1 then
				local pct2 = number(1, 10)
				if pct2 == 1 then
					game.drop_item(30304, 1)
				else
					game.drop_item(30303, 1)
				end
			else
				return
			end
		end

		when 20366.take with item.vnum == 30304 begin
			d.notice("Zostaniecie przeniesieni na 9 pietro!")
			npc.purge()
			item.remove()
			timer("devil_jump_9", 6)
		end

		when devil_jump_9.timer begin
			d.setf("level", 9)
			d.jump_all(2048+590, 6656+155)
			d.spawn_mob(1095, 614, 190)
			d.regen_file("data/dungeon/deviltower9_regen.txt")
			d.notice("Macie 10 minut na zabicie Umarłego Rozpruwacza!")
			timer("devil_end_jump", 600)
		end

		when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			d.kill_all()
			d.notice("Pokonales Niebieska Smierc za 60 sekund zostaniesz")
			d.notice("Przeniesiony do swiatyni, gratulacje!")
			timer("devil_end_jump", 60)
		end

		when devil_end_jump.timer begin
			d.exit_all()
		end

	end
end

Opublikowano

No to zostaje sprawdzić grupy lub czyścić object, widocznie masz pliki przy których ktoś kombinował przy dt i gdzieś w object jest zapisany resp inny na drugim piętrze.

 

Najlepiej zmień nazwę object na object2

wgraj quest na nowo

Jeśli będzie działać to git, jeśli nie to w każdej chwili możesz przywrócić swój stary object zmieniając nazwę z object2 na object.

di-HLXD.jpg

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...