Mesaje informative in dungeoane

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
DragonA7X
Nivel 3

Nivel 3
Mesaje: 434
Membru din: 06 Apr 2017, 10:41
Aprecieri: 100  
Mulţumiri: 3  
Medalii

*Problemă/Întrebare: Am nevoie sa stiu unde mai exact se adauga mesajele informative in dungeoane pentru fiecare etaj. In DT de exemplu lipsesc mesaje sau nu vrea sa le citeasca (nu am modificat nimic la quest). Cine stie si-mi poate da un exemplu?
Tipologie server: PvM PvP
*Resursă folosită:
*ServerFiles utilizat: Argo
*Syserr:
Poză:
*Detalii suplimentare:
Avatar utilizator
MapshitoWork
Utilizator interzis !

Utilizator interzis !
Mesaje: 68
Membru din: 28 Iun 2020, 12:38
Regat: Jinno
Aprecieri: 4  
Mulţumiri: 223  
Discord: Copiază ID
Medalii

În quest se adaugă acele mesaje informative de ex: ești în etajul 3 al demonilor și trebuie să omori toți mobi că să avansezi la următorul etaj.

Lasă questul mai jos că să vedem si noi ce lipsește în el sau de ce nu afișează acele mesaje.

[ Postat de pe Android ] Imagine
Avatar utilizator
DragonA7X
Nivel 3

Nivel 3
Mesaje: 434
Membru din: 06 Apr 2017, 10:41
Aprecieri: 100  
Mulţumiri: 3  
Medalii

Cod: Selectaţi tot

quest deviltower_zone 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(65, 5376+532, 512+596+4)
			elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
				pc.set_warp_location(65, 5376+532, 512+596+4)
			end
		end
		when deviltower_man.chat."Turnul Demonilor(DT)" begin
			addimage(20, 12, "turn_demon.tga")
			say("")
			say("")
			say("")
			if pc.get_level() < 40 then
				say_title("Gardianul Turnului Demonilor:")
				say("Acest turn este plin cu demoni înfricoºãtori.")
				say("Numai cel mai puternic poate ajunge în vârf.")
				say("Se spune cã nimeni care intrã în acest turn nu")
				say("s-a mai întors în viaþã, tu nu poþi intra încã ")
				say("deoarece nu ai nivelul 40.")
			else
				say_title("Gardianul Turnului Demonilor:")
				say("Acest turn este plin cu demoni înfricoºãtori.")
				say("Numai cel mai puternic poate ajunge în vârf.")
				say("Se spune cã nimeni care intrã în acest turn nu")
				say("s-a mai întors în viaþã.")
				say("Încã vrei sã intri în Turnul Demonilor?")
				local s = select("Intru.", "Nu, mulþumesc.")
				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 = deviltower_zone.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("<Turnul Demonilor> Bun venit la cel de al 4-lea etaj, gãseºte Piatra Metin adevãratã ºi distruge-o.");
			d.notice("<Informaþie> Aveti la dipozitie doar 15 minute.");
		end

		when devil_stone4_fail1.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("<Atenþie> Mai sunt doar 10 minute")
				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("<Atenþie> Mai sunt doar 5 minute")
				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("<Atenþie> Timpul a expirat,veti fi dati afara din Turn")
				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("<Informaþie> Ai distrus una dintre Pietrele Metin false.")
							end
						end
					end
				else
					server_timer("devil_stone4_end", 5, get_server_timer_arg())
					d.notice("<Atenþie> Piatra Metin adevãratã a fost distrusã,veþi fi teleportaþi la etajul urmãtor.")
					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("<Informaþie> Omoarã monºtrii pentru a colecta Piatra Cheie, iar acesta puneþi-o pe sigilii")
				d.notice("pentru a le desface ºi a ajunge la etajul urmãtor. Aveþi la dispoziþie doar 20 de minute.")
				d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
				server_timer('devil_stone5_fail1', 5*60, 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("<Atenþie> Mai sunt doar 15 minute.")
				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("<Atenþie> Mai sunt doar 10 minute.")
				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("<Atenþie> Mai sunt doar 5 minute.")
				server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
			end
		end

		when devil_stone5_fail.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.notice("<Informaþie> Timpul a expirat,veþi fi scoºi afarã din Turnul Demonilor.")
				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("<Atenþie> Veþi fi teleportaþi la etajul urmãtor al Turnului Demonilor.")
				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("<Informaþie> Mai ai de desfãcut "..d.getf("stone_count").." sigilii.")
			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."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			addimage(20, 12, "turn_demon.tga")
			say("")
			say("")
			say("")
			say_title(""..mob_name(20074).."")
			say("Doriþi sã treceþi mai departe,la alt etaj?")
			say("Eu cu siguranã voi rãmâne aici.")
			wait()
			say_title(""..mob_name(20074).."")
			if pc.level >=75 then
				say("Ce avem noi aici,eºti trecut de nivelul 75.")
				say("Dar întrebarea e dacã eºti suficient de curajos")
				say("pentru a supravieþui în etajele superioare,putem")
				say("sã aflãm asta într-un singur mod, te voi duce la")
				say("etajul urmãtor.")
				timer("devil_jump_7", 6)
				return
			end
			say("Încã eºti un rãzboinic în devenire, nu ai nivelul")
			say("75,de aceea nu te pot lãsa sã treci la etajele")
			say("superioare, revin-o când vei avea nivelul 75.")
			wait()
			pc.warp(590500, 110500)
			return
		end

		when 20075.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			addimage(20, 12, "turn_demon.tga")
			say("")
			say("")
			say("")
			say_title(""..mob_name(20074).."")
			say("Doriþi sã treceþi mai departe,la alt etaj?")
			say("Eu cu siguranã voi rãmâne aici.")
			wait()
			say_title(""..mob_name(20074).."")
			if pc.level >=75 then
				say("Ce avem noi aici,eºti trecut de nivelul 75.")
				say("Dar întrebarea e dacã eºti suficient de curajos")
				say("pentru a supravieþui în etajele superioare,putem")
				say("sã aflãm asta într-un singur mod, te voi duce la")
				say("etajul urmãtor.")
				timer("devil_jump_7", 6)
				return
			end
			say("Încã eºti un rãzboinic în devenire, nu ai nivelul")
			say("75,de aceea nu te pot lãsa sã treci la etajele")
			say("superioare, revin-o când vei avea nivelul 75.")
			wait()
			pc.warp(590500, 110500)
			return
		end
		
		when 20076.chat."Etajele Superioare" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			addimage(20, 12, "turn_demon.tga")
			say("")
			say("")
			say("")
			say_title(""..mob_name(20074).."")
			say("Doriþi sã treceþi mai departe,la alt etaj?")
			say("Eu cu siguranã voi rãmâne aici.")
			wait()
			say_title(""..mob_name(20074).."")
			if pc.level >=75 then
				say("Ce avem noi aici,eºti trecut de nivelul 75.")
				say("Dar întrebarea e dacã eºti suficient de curajos")
				say("pentru a supravieþui în etajele superioare,putem")
				say("sã aflãm asta într-un singur mod, te voi duce la")
				say("etajul urmãtor.")
				timer("devil_jump_7", 6)
				return
			end
			say("Încã eºti un rãzboinic în devenire, nu ai nivelul")
			say("75,de aceea nu te pot lãsa sã treci la etajele")
			say("superioare, revin-o când vei avea nivelul 75.")
			wait()
			pc.warp(590500, 110500)
			return
		end

		when devil_jump_7.timer begin
			chat("<Informaþie> Distruge Pietrele Metin ºi fã rost de Hartã pentru Peºtera Zin.")
			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
			chat("<Informaþie> Ai distrus Metinul Morþii,continuã sã distrugi Metine pânã vei gãsi")
			chat("Harta pentru Peºtera Zin.")
			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
			chat("<Informaþie> Ai distrus Metinul Crimelor, ai primit Hartã pentru Peºtera Zin.")
			pc.give_item2(30302, 1)
		end

		when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			if d.getf("level") == 7 then
				say_title("Turnul Demonilor:")
				say("Felicitãri,ai reuºit sã ajungi pânã aici,veþi fi")
				say("teleportaþi la etajul urmãtor.")
				pc.remove_item("30302", 1)
				timer("devil_jump_8", 6)
				d.clear_regen()
			else
				pc.remove_item("30302", 1)
			end
		end
						
		when devil_jump_8.timer begin
			d.setf("level", 8)
			d.jump_all(2048+590, 6656+403)
			chat("<Informaþie> Omoarã monºtrii de la acest etaj ºi cautã Cheie Zin Bong In ºi desfã ")
			chat("Sigiliul Sa Soe cu ea.")
			d.set_regen_file("data/dungeon/deviltower8_regen.txt")
			d.spawn_mob(20366, 640, 460)
			local _count= pc.count_item(30304)
			pc.remove_item(30304,_count)
		end

		when 20366.take with item.vnum == 30304 begin
			chat("<Atenþie> Felicitãri,aþi desfãcut sigiliul, ve-þi fi teleportaþi la etajul urmãtor.")
			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.clear_regen()
			chat("<Informaþie> Înfrânge Îngerul cu Coasã pentru a ajunge la Etajul Urmãtor.")
			d.spawn_mob(1093, 606, 177)
		end

		when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			d.kill_all()
			timer("devil_end_jump", 10)
			pc.change_alignment(500)
			syschat("Ai înfrânt un monstru de categoria ªef,gradul tãu va creºte cu 500 de puncte.")
			notice_all("<Hall of Fame>"..pc.getname().." a reuºit sã îl rãpunã pe Îngerul cu Coasã.")
			d.notice("Vei fi teleportat la etajul urmãtor.")
		end

		when devil_end_jump.timer begin
			d.setf("level", 7)
			d.jump_all(2048+590, 6656+638)
			d.clear_regen()
			chat("<Informaþie> Înfrânge Demonul Rege Întunecat pentru a ajunge la Etajul Urmãtor.")
			d.spawn_mob(1094, 639, 658)
		end

		when 1094.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			pc.change_alignment(500)
			syschat("Ai înfrânt un monstru de categoria ªef,gradul tãu va creºte cu 500 de puncte.")
			notice_all("<Hall of Fame>"..pc.getname().." a reuºit sã îl rãpunã pe Demonul Rege Întunecat.")
			d.notice("Vei fi teleportat în sanctuarul Morþii Albastre.")
			d.kill_all()
			timer("devil_end_jump_schmied", 10)
		end

		when devil_end_jump_schmied.timer begin
			d.setf("level", 9)
			d.jump_all(2048+590, 6656+155)
			d.clear_regen()
			chat("<Informaþie> Înfrânge Moartea Albastrã pentru a curãþa Etajele Superioare.")
			d.spawn_mob(1095, 605, 178)
		end
	
		when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
			syschat("Ai înfrânt un monstru de categoria ªef,gradul tãu va creºte cu 500 de puncte.")
			pc.change_alignment(500)
			notice_all("<Hall of Fame> ".. pc.get_name() .." cu o ultimã suflare a rãpus Moartea Albastrã.")
			d.notice("<Misiune Îndeplinitã>: Moartea Albastrã a fost înfrântã, aþi curãþat etajele cu succes.")
			d.check_eliminated()
			d.spawn_mob(9012, 619, 170);
			d.setqf("can_refine", 1)
		end
	end
end
Am aceeasi problema si la Catacomba Diavolului, unele mesaje functioneaza, altele parca nici nu exista si pe langa asta, observ ca la catacomba nu mai trebuie sa merg la statuie cu cheia, ci doar sa omor un metin, posibil o alta varianta de cataomba.

Cod: Selectaţi tot

quest devilcave begin
	state start begin
		when login begin
			if pc.get_map_index() == 206 then
				warp_all_to_village()
			end
		end
--DC Status Reset
		when 20367.chat."Reseteaza statusul Catacombei" with pc.is_gm begin
			say_title("Gardianul Catacombei")
			say_reward("Statusul a fost resetat!")
			game.set_event_flag("dc_versuche",1)
			game.set_event_flag("dcgamer",0)
			game.set_event_flag("dc_geschaft",0)
		end	
--Configuration	
		when 20367.chat."Configuratia catacombei" with game.get_event_flag("block_dc_config") == 0 and pc.is_gm begin
			game.set_event_flag("dc_is_ok",1)
			game.set_event_flag("block_dc_config",1)
			game.set_event_flag("dc_versuche",1)
		end
--Entry	
		when 20367.chat."Catacomba Diavolului (lv.85)" with game.get_event_flag("dc_is_ok") == 1 begin
			addimage(20, 12, "devil_catacomb.tga")
			say("")
			say("")
			say("")
			if pc.level > 84 then
				if pc.count_item(30319) > 0 then
                say_title("Paznicul Catacombei")
		say("")
		say("Pana in acest moment sunt:")
		say_green(""..game.get_event_flag("dc_geschaft").." jucatori invingatori;") 
                say_reward(""..game.get_event_flag("dcgamer").." jucatori infranti;")
		say("")
                wait()
                say_title("Paznicul Catacombei")
		say("")
                say("Vei fi al "..game.get_event_flag("dc_versuche").." jucator care incearca sa il")
                say("invinga pe puternicul Azrael.")
		say("")
                local dc_login = select("Intra", "Renunta")
                if dc_login == 1 then
					pc.remove_item(30319, 1)
                    pc.warp(314800, 1209800)
                elseif dc_login == 2 then
                    return
				else
                say_title("Paznicul Catacombei")
		say("")
		say("Imi pare rau, nu te pot lasa sa intri.")
		say("Nivelul minim de intrare este 85.")		
				end
			else
                say_title("Paznicul Catacombei")
		say("")
		say("Imi pare rau, nu te pot lasa sa intri.")
		say("Ai nevoie de: Cap Mumificat.")
		say("Il poti obtine de la Ingerul cu Coasa.")
				wait()
				end	
			end
		end	
--Ebene 1		
		when login with pc.get_map_index() == 206 begin
			game.set_event_flag(("dcgamer"), game.get_event_flag("dcgamer")+1)
			game.set_event_flag(("dc_versuche"), game.get_event_flag("dc_versuche")+1)			
			say_title("Catacomba Diavolului:")
			say("")
			say("Pentru a urca la urmatorul nivel va")
			say("trebui sa distrugi metinul de la capatul")
			say("drumului langa Statuia Kud.")
		end
		when 8056.kill with pc.get_map_index() == 206 begin
			d.new_jump_all(206, 3636, 12086)
			timer("dc1", 600)
			d.regen_file("data/dungeon/devilcave/dc_regen_ebene2.txt")
			d.regen_file("data/dungeon/devilcave/dc_regen_tore_left.txt")
			d.spawn_mob(30104, 741, 221)
		end	

		when dc1.timer begin
			chat("Timpul a expirat!")
			warp_all_to_village()
		end	 

		when dc20.timer begin
			chat("Mai aveti 50 de minute la dispozitie.")
			timer("dc3", 206)
		end

		when dc30.timer begin
			chat("Mai aveti 45 de minute la dispozitie.")
			timer("dc4", 206)
		end

		when dc40.timer begin
			chat("Mai aveti 40 de minute la dispozitie.")
			timer("dc5", 206)
		end

		when dc50.timer begin
			chat("Mai aveti 35 de minute la dispozitie.")
			timer("dc6", 206)
		end

		when dc60.timer begin
			chat("Mai aveti 30 de minute la dispozitie.")
			timer("dc7", 206)
		end

		when dc70.timer begin
			chat("Mai aveti 25 de minute la dispozitie.")
			timer("dc8", 206)
		end

		when dc80.timer begin
			chat("Mai aveti 20 de minute la dispozitie.")
			timer("dc9", 206)
		end

		when dc90.timer begin
			chat("Mai aveti 15 de minute la dispozitie.")
			timer("dc10", 206)
		end

		when dc100.timer begin
			chat("Mai aveti 10 de minute la dispozitie.")
			timer("dc11", 206)
		end

		when dc101.timer begin
			chat("Mai aveti 5 de minute la dispozitie.")
			timer("dc12", 206)
		end

		when dc110.timer begin
			chat("Timpul a expirat.")
			warp_all_to_village()
		end

--Ebene 2
		when 30104.chat."Etajul 3" begin
			npc.purge()
			say_title("Fragment de Runa:")
			say("")
			say("Drumul catre Azrael iti va pune rabdarea la incercare.")
			wait()
			d.new_jump_all(206, 4427, 12284)
			say_title("Catacomba Diavolului:")
			say("")
			say("Distruge piatra Metin adevarata pentru a ajunge la etajul urmator.")
			d.setf("goto_ebene3", 0)
			say_title("Catacomba Diavolului:")
			say("")
			say("Distruge piatra Metin adevarata pentru a ajunge la etajul urmator.")
			d.regen_file("data/dungeon/devilcave/dc_regen_ebene3.txt")
			say_title("Catacomba Diavolului:")
			say("")
			say("Distruge piatra Metin adevarata pentru a ajunge la etajul urmator.")
			local metindv = number(1,4)
			if metindv==1 then
				d.spawn_mob(8028, 1351, 348)
				d.spawn_mob(8028, 1148, 350)
				d.spawn_mob(8028, 1151, 155)
				d.spawn_mob(8029, 1351, 149)
			end
			if metindv==2 then
				d.spawn_mob(8028, 1351, 348)
				d.spawn_mob(8028, 1148, 350)
				d.spawn_mob(8029, 1151, 155)
				d.spawn_mob(8028, 1351, 149)
			end
			if metindv==3 then
				d.spawn_mob(8028, 1351, 348)
				d.spawn_mob(8029, 1148, 350)
				d.spawn_mob(8028, 1151, 155)
				d.spawn_mob(8028, 1351, 149)
			end
			if metindv==4 then
				d.spawn_mob(8029, 1351, 348)
				d.spawn_mob(8028, 1148, 350)
				d.spawn_mob(8028, 1151, 155)
				d.spawn_mob(8028, 1351, 149) 
			end
		end			
		when 8029.kill with pc.get_map_index() == 206 begin
			chat("Ai distrus o Piatraa Metin falsa.")
		end
		when 8028.kill with pc.get_map_index() == 206 begin
			chat("Ai distrus Piatra Metin adevarata,vei fi teleportat la etajul urmator.")
			timer("devils_catacomb_goto_ebene5", 5)
		end	
		
--Ebene 6 (Tartaros)
		when devils_catacomb_goto_ebene5.timer begin
			d.new_jump_all(206, 3917, 12925)
			chat("Ucide Ucigasul Iadului pentru a obtine Totemul Schimonosit.")
			chat("Acesta se trage peste Basalt-Obelisk.")
			d.spawn_mob(30102, 848, 739)
			timer("dc4", 600)
			d.regen_file("data/dungeon/devilcave/dc_regen_ebene5.txt")
			local tartaros = number(1,4)
			if tartaros==1 then
				d.spawn_mob(2591, 991, 848)
			end
			if tartaros==2 then
				d.spawn_mob(2591, 999, 652)
			end
			if tartaros==3 then
				d.spawn_mob(2591, 848, 577)
			end
			if tartaros==4 then
				d.spawn_mob(2591, 703, 644)
			end
			if tartaros==5 then
				d.spawn_mob(2591, 692, 817)
			end
		end			
		when 2591.kill with pc.get_map_index() == 206 begin
			chat("Ai obtinut un Totem Schimonosit,acum du-te si trage-l peste")
			chat("Basalt-Obelisk.")
			game.drop_item(30312, 1)
		end	
		when 30102.take with item.vnum == 30312 begin
			timer("dc4", 6000)
			item.remove()
			npc.purge()
			chat("O sa fii teleportat la etajul urmator.")
			timer("devils_catacomb_goto_ebene6", 5)
		end
		when dc4.timer begin
			chat("Timpul a expirat.")
			warp_all_to_village()
		end	
--Ebene 7 (Charon)
		when devils_catacomb_goto_ebene6.timer begin
			d.new_jump_all(206, 4411, 12736)
			timer("dc5", 600)
			chat("Ucide-l pe Charon pentru a ajunge la Printul Iadului Azrael.")
			d.regen_file("data/dungeon/devilcave/dc_regen_ebene6.txt")
		end		
		when 2597.kill with pc.get_map_index() == 206 begin	
			timer("dc5", 6000)
			chat("Vei fi teleportat la Azrael,fii pregatit pentru lupta finala.")
			timer("devils_catacomb_goto_ebene7", 10)
		end
		when dc5.timer begin
			chat("Timpul a expirat!")
			warp_all_to_village()
		end	
--Ebene 8 (Azrael)
		when devils_catacomb_goto_ebene7.timer begin
			d.new_jump_all(206, 3147, 13191)
			chat("Ultima sarcina este de a il invinge pe Azrael.")
			d.regen_file("data/dungeon/devilcave/dc_regen_ebene7.txt")
		end
		when 2598.kill with pc.get_map_index() == 206 begin
			syschat("Ai infrant un monstru de categoria ªef,gradul tau va creste cu 500 de puncte.")
			pc.change_alignment(500)
			game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
			local level = pc.get_level()			
			d.kill_all()
			d.kill_all()
			notice_all("<Hall of Fame> Eroul "..pc.get_name().." impreuna cu camarazii sai l-au invins")
			notice_all("pe Regele Purgatoriului, Azrael.")
			timer("goout_from_dc", 60)
		end
	end
end
Avatar utilizator
DragonA7X
Nivel 3

Nivel 3
Mesaje: 434
Membru din: 06 Apr 2017, 10:41
Aprecieri: 100  
Mulţumiri: 3  
Medalii

Up

[ Postat de pe Android ] Imagine
Avatar utilizator
DragonA7X
Nivel 3

Nivel 3
Mesaje: 434
Membru din: 06 Apr 2017, 10:41
Aprecieri: 100  
Mulţumiri: 3  
Medalii

up
Avatar utilizator
DragonA7X
Nivel 3

Nivel 3
Mesaje: 434
Membru din: 06 Apr 2017, 10:41
Aprecieri: 100  
Mulţumiri: 3  
Medalii

up
Avatar utilizator
Alcinous
Untrusted User

Untrusted User
Mesaje: 670
Membru din: 13 Noi 2020, 23:46
Server: None
Regat: Jinno
Aprecieri: 322  
Mulţumiri: 487  
Discord: Copiază ID

Foloseste-te de acest quest este testat si perfect functional
--********************************************--
--** Northenlongju Deviltower Quest          *--
--********************************************--

quest deviltower_zone begin
    state start begin
		--**
		--** Login e logout
		--**
		
		when login begin
			local map_index = pc.get_map_index()
			if map_index == deviltower_zone.GetMapIndex() then
				pc.set_warp_location(deviltower_zone.GetTempleMapIndex(), deviltower_zone.GetTempleBaseCoord()[1]+532, deviltower_zone.GetTempleBaseCoord()[2]+600)
			elseif deviltower_zone.InDungeon(map_index) then
				pc.set_warp_location(deviltower_zone.GetTempleMapIndex(), deviltower_zone.GetTempleBaseCoord()[1]+532, deviltower_zone.GetTempleBaseCoord()[2]+600)
			end
		end
		
		when logout begin
			if deviltower_zone.InDungeon(pc.get_map_index()) then
				pc.remove_item(30300, pc.count_item(30300))
				pc.remove_item(30301, pc.count_item(30301))
				pc.remove_item(30302, pc.count_item(30302))
				pc.remove_item(30303, pc.count_item(30303))
				pc.remove_item(30304, pc.count_item(30304))
			end
		end	

		--**
		--** Guardiano torre
		--**
		
		when 20348.chat."Vreau sa intru" with pc.get_map_index() == deviltower_zone.GetTempleMapIndex() begin
			local min_lev = deviltower_zone.GetEnterMinLevel()
			say_title(mob_name(npc.get_race()))
			if pc.get_level() < min_lev then
				say("Ca sa intri trebuie sa ai cel putin ")
				say("nivelul "..min_lev..".[ENTER]")
				return
			end
			say("Vrei sa intri?")
			local s = select("Intru", "Nu")
			if s == 2 then
				return
			end
			pc.warp((deviltower_zone.GetBaseCoord()[1]+116)*100, (deviltower_zone.GetBaseCoord()[2]+614)*100)
		end
		
		--**
		--** Piano terra
		--**
		
		when devil_stone1.kill begin
			notice_in_map("Piatra Metin a fost distrusa,in scurt timp veti trece la urmatorul nivel.", false)
			timer("devil_floor_2", 6)
		end
		
		--**
		--** Secondo piano
		--**
		
		when devil_floor_2.timer begin
			d.new_jump_all(deviltower_zone.GetMapIndex(), deviltower_zone.GetBaseCoord()[1]+126, deviltower_zone.GetBaseCoord()[2]+384)
			d.regen_file("data/dungeon/deviltower2_regen.txt")
			d.set_warp_at_eliminate(4, d.get_map_index(), deviltower_zone.GetBaseCoord()[1]+134, deviltower_zone.GetBaseCoord()[2]+147, "data/dungeon/deviltower3_regen.txt")
		end

		--**
		--** Terzo piano
		--**
		
		when devil_stone3.kill with deviltower_zone.InDungeon(pc.get_map_index()) begin
			d.notice("Regele Demon a fost ucis,in scurt timp veti trece la urmatorul nivel.")
			d.clear_regen()
			d.kill_all()
			d.kill_all()
			timer('devil_floor_4', 20)
		end

		--**
		--** Quarto piano
		--**
		
		when devil_floor_4.timer begin 				
			d.jump_all(deviltower_zone.GetBaseCoord()[1]+383, deviltower_zone.GetBaseCoord()[2]+618)
			d.notice("In scurt timp va aparea Piatra Metin.")
			timer('devil_floor_4_spawn', 6)
		end
		
		when devil_floor_4_spawn.timer begin
			d.spawn_mob(8016, 371, 633)
		end
		
		when 8016.kill with deviltower_zone.InDungeon(pc.get_map_index()) begin			
			local positions = {{368,629},{419,630},{428,653},{422,679},{395,689},{369,679},{361,658}}

			for i = 1, table.getn(positions) do
				d.spawn_mob (8017, positions[1], positions[2])
			end

			d.setf("floor", 4)
			d.notice("Distruge toate pietrele metin!")			
			d.notice("Aveti 15 minute la dispozitie...")
		end

		when 8017.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf ("floor") == 4 begin
			d.setf ("floor_4_counter_metin", d.getf ("floor_4_counter_metin") + 1 )
			if d.getf ("devil_floor_4_count_metin_first") == 0 then
				local nmb = number (1, 7)
				d.setf ("devil_floor_4_count_metin_first", 1)
				d.setf ("floor_4_correct_metin", nmb)
			end

			if d.getf ("floor_4_counter_metin") == d.getf ("floor_4_correct_metin") then
				d.notice ( "Ati spart Piatra Metin corecta." )	
				d.clear_regen()
				d.kill_all()
				d.kill_all()
				server_timer("devil_floor_5", 20, d.get_map_index())
			else
				d.notice ( "Aceasta Piatra Metin este falsa,mai incearca." )				
			end
		end
		
		--**
		--** Quinto piano
		--**
		
		when devil_floor_5.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.clear_regen()
				d.kill_all()
				d.kill_all()
				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)				
				d.jump_all(deviltower_zone.GetBaseCoord()[1]+369, deviltower_zone.GetBaseCoord()[2]+401)
				server_timer("devil_floor_5_15m", 5*60, d.get_map_index())
				d.setf("floor", 5)
				d.setf("stone_count", 0)
				d.setf("mob_count", 0)
				d.notice("Obtineti Cheie de deblocare a sigiliilor pentru a trece de acest nivel.")
				d.notice("Aveti la dispozitie 20 Minute.")
			end
		end
		
		--** 15 minuti
		when devil_floor_5_15m.server_timer begin
			if d.select(get_server_timer_arg()) then
				clear_server_timer('devil_floor_5_15m', d.get_map_index())	
				server_timer('devil_floor_5_10m', 5*60, d.get_map_index())
				d.notice("Mai aveti 15 Minute.")
			end
		end

		--** 10 minuti
		when devil_floor_5_10m.server_timer begin
			if d.select(get_server_timer_arg()) then
				clear_server_timer('devil_floor_5_10m', d.get_map_index())	
				server_timer('devil_floor_5_5m', 5*60, d.get_map_index())
				d.notice("Mai aveti 10 Minute.")
			end
		end

		--** 5 minuti
		when devil_floor_5_5m.server_timer begin
			if d.select(get_server_timer_arg()) then
				clear_server_timer('devil_floor_5_5m', d.get_map_index())	
				server_timer('devil_floor_5_0m', 5*60, d.get_map_index())
				d.notice("Mai aveti 5 Minute.")
			end
		end

		--** Tempo scaduto
		when devil_floor_5_0m.server_timer begin
			if d.select(get_server_timer_arg()) then
				clear_server_timer('devil_floor_5_5m', d.get_map_index())	
				d.notice("Timpul a expirat,ne pare rau dar vei fii teleportat.")
				d.exit_all() 
			end
		end

		when 1031.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 5 begin
			local n = d.getf("mob_count")+1
			d.setf("mob_count", n) 
			if n == deviltower_zone.Get5FloorKill() then
				game.drop_item(50084, 1)
				d.setf("mob_count", 0)
			end 
		end
		
		when devil_stone5.take with item.get_vnum() == 50084 and deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 5 begin
			npc.purge()
			item.remove()
			local n = d.getf("stone_count")+1
			d.setf("stone_count", n)
			if n == 5 then
				clear_server_timer('devil_floor_5_15m', get_server_timer_arg())
				clear_server_timer('devil_floor_5_10m', get_server_timer_arg())
				clear_server_timer('devil_floor_5_5m', get_server_timer_arg())
				clear_server_timer('devil_floor_5_0m', get_server_timer_arg())			
				d.clear_regen()
				d.kill_all()
				d.kill_all()
				d.notice ( "Toate sigiliile au fost deblocate." )
				d.notice ( "In scurt timp veti fii teleportati la urmatorul nivel." )
				timer ( "devi_tower_6floor_antibug", 20 )
			else
				if n == 4 then
					d.notice("Mai aveti un sigiliu de deblocat.")
				else
					d.notice("Mai aveti "..5-n.." sigilii de deblocat.")
				end
			end
		end

		--**
		--** Sesto piano
		--**

		when devi_tower_6floor_antibug.timer begin
			d.setf("floor", 6)
			d.regen_file("data/dungeon/deviltower6_regen.txt")
			d.notice("Ucideti Regele Demonilor,astfel veti putea urca la urmatorul nivel.")
			d.jump_all(deviltower_zone.GetBaseCoord()[1]+374, deviltower_zone.GetBaseCoord()[2]+167)
		end
		
		when devil_stone6.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 6 begin
			d.clear_regen()
			d.kill_all()
			d.kill_all()
			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."Al 7-lea etaj" or 20075.chat."Al 7-lea etaj" or 20076.chat."Al 7-lea etaj" with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 6 begin
			local min_lev = deviltower_zone.Get7FloorMinLevel()
			local race = npc.get_race()
			say_title(mob_name(race))
			say("Felicitari,ati reusit sa ajungi pana la acest nivel.")
			say("De acum incolo va fii mult mai rau.")
			wait()
			say_title(mob_name(race))
			if pc.get_level() >= min_lev then
				say("Pari destul de puternic aventurierule.")
				say("O sa te las sa urci la urmatoarele etaje.")
				say("Fii foarte atent")
				d.notice("Veti urca la urmatorul etaj...")
				timer("devil_floor_7", 20)
				return
			end
			say("Nu esti destul de puternic")
			say("Intoarcete cand o sa ai nivelul "..min_lev..".")
			wait()
			pc.warp((deviltower_zone.GetTempleBaseCoord()[1]+532)*100, (deviltower_zone.GetTempleBaseCoord()[2]+600)*100)
		end

		--**
		--** Settimo piano
		--**
		
	   when devil_floor_7.timer begin
			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("floor", 7)
			d.setf("stone_count", 0)
			d.jump_all(deviltower_zone.GetBaseCoord()[1]+590, deviltower_zone.GetBaseCoord()[2]+638)
		end
		
		when 8018.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
			local n = d.getf("stone_count")+1
			d.setf("stone_count", n)
			if n >= 4 then
				d.notice("Gasiti harta corecta pentru a urca.")
				d.set_regen_file("data/dungeon/deviltower7_regen.txt")
			end	
		end

		when 8019.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
			game.drop_item(30300, 1)
		end

		when 1093.kill with deviltower_zone.InDungeon(pc.get_map_index()) begin
			local name = pc.get_name()
			d.kill_all()
			d.kill_all()
			server_timer("deviltower_exit_all", 20, pc.get_map_index())
		end
		
		when deviltower_exit_all.server_timer begin
			if d.select(get_server_timer_arg()) then
				d.exit_all()
			end
		end
		
		when 30300.use with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
			local n = number(1, 10)
			if n == 1 then
				game.drop_item(30302, 1)
			else
				game.drop_item(30301, 1)				
			end
			pc.remove_item(item.get_vnum(), 1)
		end

		when 30302.use with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 7 begin
			d.clear_regen()
			d.kill_all()
			d.kill_all()
			d.clear_regen()		
			d.notice("Harta pentru pestera Zin a fost gasita.")
			pc.remove_item(item.get_vnum(), 1)
			timer("devil_floor_8", 20)
		end

		--**
		--** Ottavo piano
		--**
		
		when devil_floor_8.timer begin
			d.set_regen_file("data/dungeon/deviltower8_regen.txt")
			d.spawn_mob(20366, 640, 460)		
			d.jump_all(deviltower_zone.GetBaseCoord()[1]+590, deviltower_zone.GetBaseCoord()[2]+403)
			d.setf("floor", 8)
			d.notice("Gasiti cheia corecta pentru a urca.")			
		end

		when 1040.kill with deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 8 begin
			local drop_key = number (1, 10)
			local drop_mob = number (1, 5)
			
			if drop_mob == 2 then 
				return

			elseif drop_key == 1 then
				game.drop_item(30304, 1)

			else
				game.drop_item(30303, 1)
			end
		end

		when 20366.take with item.get_vnum() == 30304 and deviltower_zone.InDungeon(pc.get_map_index()) and d.getf("floor") == 8 begin
			npc.purge()
			item.remove()		
			d.notice("Foarte bine, in scurt timp veti urca.")		
			timer("devil_floor_9", 20)
			d.clear_regen()
			d.kill_all()
			d.kill_all()
		end
		
		--**
		--** Nono piano
		--**

		when devil_floor_9.timer begin
			d.clear_regen()
			d.kill_all()
			d.kill_all()
			d.regen_file("data/dungeon/deviltower9_regen.txt")
			d.jump_all(deviltower_zone.GetBaseCoord()[1]+590, deviltower_zone.GetBaseCoord()[2]+155)
			d.setf("floor", 10)
		end

		--**
		--** Funzioni
		--**

		function GetMapIndex()
			return 66
		end
		
		function GetBaseCoord()
			return {2048,6656}
		end		
		
		function GetTempleMapIndex()
			return 65
		end
		
		function GetTempleBaseCoord()
			return {5376,512}
		end			
		
		function InDungeon(pc_index)
			local map_index = deviltower_zone.GetMapIndex()
			return (pc.in_dungeon() and pc_index >= map_index*10000 and pc_index < (map_index+1)*10000)
		end

		--**
		--** Funzione dedicata al drop della chiave, più diminuisco la percentuale è maggiore è il drop.
		--**
		
		function Get5FloorKill()
			return 35
		end
		
		function GetEnterMinLevel()
			return 35
		end
		
		function Get7FloorMinLevel()
			return 55
		end		
	end
end/
Avatar utilizator
DragonA7X
Nivel 3

Nivel 3
Mesaje: 434
Membru din: 06 Apr 2017, 10:41
Aprecieri: 100  
Mulţumiri: 3  
Medalii

Multumesc, am sa il testez diseara.

[ Postat de pe Android ] Imagine
Avatar utilizator
Tommy Shelby
Utilizator interzis !

Utilizator interzis !
Mesaje: 432
Membru din: 31 Mai 2015, 20:42
Server: AOG2 soon
Regat: Jinno
Aprecieri: 58  
Mulţumiri: 579  
Discord: Copiază ID
Medalii

Arhivat

[ Postat de pe iPhone ] Imagine
Închis
Răspunsuri
1
Vizualizări
32
Răspunsuri
0
Vizualizări
110
Răspunsuri
1
Vizualizări
124
Răspunsuri
2
Vizualizări
310

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 20 vizitatori