BUG DT/Mob_drop_item

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

Nivel 3
Mesaje: 303
Membru din: 07 Apr 2015, 19:27
Server: Metin2VDS
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 9  
 Contact:
Medalii

Salutare Just4Metin, am si eu o problema la DT, in camera 4 din DT dupa ce bat piatrele metin si urc la etajul 5 ma scoate automat afara din joc umpic de ajutor daca stie cineva ce trebuie sa fac.
Am aici questul cu DemonTower

Cod: Selectaţi tot

-------------------------------
-- SERVERFILE BY HOPE v2 
-------------------------------
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(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 logout begin
		if pc.count_item(30300) >= 1 then
			pc.remove_item(30300, pc.count_item(30300))
		end
		if pc.count_item(30302) >= 1 then
			pc.remove_item(30302, pc.count_item(30302))
		end				
	end
	
	when deviltower_man.chat."Intrarea în Turnul Demonilor" begin
                if pc.get_level() < 40 then
                        say_title("Gardă a Demonilor:")
						say("")
                        ---                                                   l
                        say("Acest turn este plin de demoni.")
                        say("Doar cei puternici pot ajunge în vârf.")
                        say("Se spune că, cine intra în turn")
                        say("nu iese în viaţă.")
                        say("Momentan ... nivelul tău este prea mic")
                        say("pentru a te lăsa să intri.")
						say("Revin-o când ai nivelul 40.")
						say("")
                else
				        say_title("Gardă a Demonilor:")
						say("")
                        ---                                                   l
                        say("Acest turn este plin de demoni.")
                        say("Doar cei puternici pot ajunge în vârf.")
                        say("Se spune că, cine intra în turn")
                        say("nu iese în viaţă.")
                        say("Eşti sigur că vrei să intri?")
                        say("")
                        local s = select("Intră.", "Pleacă.")
                        if s == 1 then
                                -- warp into!
                                pc.warp(216500,727000)
                        end
            end
        end
        when devil_stone1.kill begin
            timer("devil_stone1_1", 8)
        end
        when devil_stone1_1.timer begin
            d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
            d.regen_file("data/dungeon/deviltower/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/deviltower/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/deviltower/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
                d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
            end
            local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
            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("Ai ajuns la Poarta Alegerii la etajul 4.");
            d.notice("Multe pietre Metin false îţi vor irita ochii şi urechile.");
            d.notice("Găseşte piatra Metin corectă şi distruge-o. Ai 15 minute.");
            d.notice("Aceasta este singura modalitate de a trece această poartă.");
        end

        when devil_stone4_fail1.server_timer begin
            if d.select(get_server_timer_arg()) then
                d.notice("Minute rămase: 10")
		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("Minute rămase: 5")
		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()) and d.getf("level") == 4 then
                d.notice("Timpul a expirat.")
                d.exit_all()
            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("Piatra Metin falsă a dispărut...");
                            end
                        end
                    end
                else
                    server_timer("devil_stone4_end", 5, get_server_timer_arg())
                    
                    d.notice("Te-ai bazat pe instinct şi ai reuşit!");
                    d.notice("Ai distrus piatra Metin corectă.")
                    d.purge()
                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
			clear_server_timer('devil_stone4_update', get_server_timer_arg())
			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())

                d.setf("level", 5)
                d.setf("stone_count", 5)
                
                d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
                d.notice("Ai ajuns la Poarta Sigilată la etajul 5.")
                d.notice("Câţiva demoni au Piatra Cheie, care poate fi")
                d.notice("folosită pentru a deschide Sigiliile Antice.")
                d.notice("Deschide cele 5 sigilii în 20 de minute")
                d.notice("pentru a avansa la etajul următor!")

                
		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/deviltower/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("Minutes left: 15")
		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("Minute rămase: 10")
		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("Minute rămase: 5")
		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()) and d.getf("level") == 5 then
		d.notice("Timpul a expirat.")
		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.clear_regen()
            	d.kill_all()
                d.notice("Ai deschis toate sigliile.")
                d.notice("Vei avansa la etajul 6!")

		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())
		
                d.setf("level", 6)
                d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
				d.regen_file("data/dungeon/deviltower/deviltower6_regen.txt")
		
                d.notice("Învinge toţi demonii apoi omoară regele.")

            else
                d.notice("Sigiliul a fost rupt! Au mai rămas "..d.getf("stone_count")..".")
            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 de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
			say_title(""..mob_name(20074)..":")
			say("")
			say("Aţi găsit drumul până la etajul 6.")
			say("Necesită multă îndemânare să ajungi aici ...")
			say("Hmmmm...")
			say("După cum ţi-am examinat abilităţile.....")
			say("")
			wait()		
        if pc.level >=75 then
			say_title(""..mob_name(20074)..":")
			say("")
			say("Te voi lăsa să treci mai departe..")
			say("")
			timer("devil_jump_7", 6)
			npc.unlock()
			d.purge()
			return
        end
			say_title(""..mob_name(20074)..":")
			say("")
			say("Ai nevoie de mai mult antrenament")
			say("pentru a te lăsa să treci mai departe.")
			say("Revin-o când eşti destul de puternic..")
			say("")
			wait()
			pc.warp(590500, 110500)
			return
	    end
		
   when 20075.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
			say_title(""..mob_name(20075)..":")
			say("")
			say("Aţi găsit drumul până la etajul 6.")
			say("Necesită multă îndemânare să ajungi aici ...")
			say("Hmmmm...")
			say("După cum ţi-am examinat abilităţile.....")
			say("")
			wait()
		if pc.level >=75 then
			say_title(""..mob_name(20075)..":") 
			say("")
			say("Te voi lăsa să treci mai departe..")
			say("")
			timer("devil_jump_7", 6)
			npc.unlock()
			d.purge()
			return
		end
			say_title(""..mob_name(20075)..":") 
			say("")
			say("Ai nevoie de mai mult antrenament")
			say("pentru a te lăsa să treci mai departe.")
			say("Revin-o când eşti destul de puternic..")
			say("")
			wait()
			pc.warp(590500, 110500)
			return
		end
		
   when 20076.chat."Etajele de vârf ale turnului" with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
			say_title(""..mob_name(20076)..":")
			say("")
			say("Aţi găsit drumul până la etajul 6.")
			say("Necesită multă îndemânare să ajungi aici ...")
			say("Hmmmm...")
			say("După cum ţi-am examinat abilităţile.....")
			say("")
			wait()
		if pc.level >=75 then
			say_title(""..mob_name(20076)..":") 
			say("")
			say("Te voi lăsa să treci mai departe..")
			say("")
			timer("devil_jump_7", 6)
			npc.unlock()
			d.purge()
			return
		end
			say_title(""..mob_name(20076)..":") 
			say("")
			say("Ai nevoie de mai mult antrenament")
			say("pentru a te lăsa să treci mai departe.")
			say("Revin-o când eşti destul de puternic..")
			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/deviltower/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,8)

		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
		-- 8ĂţŔ¸·Î żöÇÁ

			if d.getf( "level" ) != 7 then
				pc.remove_item( "30302", 1)
				return
			end
			
		say("Cu această hartă poţi avansa la nivelul următor!")
		pc.remove_item("30302", 1)
	    timer("devil_jump_8", 6)
		d.clear_regen()
	end
						
	---------------------------------------------
	-- ETAJ 8
	---------------------------------------------
	
	when devil_jump_8.timer begin
		d.setf("level", 8)
		d.jump_all(2048+590, 6656+403)
		d.set_regen_file("data/dungeon/deviltower/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
		if d.getf("level") < 9 then
			local pct1 = number(1, 10)
			if pct1 == 1 then
				local pct2 = number(1, 4)
				if pct2 == 1 then
					game.drop_item(30304, 1)
				else
					game.drop_item(30303, 1)
				end
			else
				return
			end
		end
	end

	when 20366.take with item.vnum == 30304 begin
		npc.purge()
		item.remove()
		timer("devil_jump_9", 8)
	end

	---------------------------------------------
	-- ETAJ 9
	---------------------------------------------
	
	when devil_jump_9.timer begin
		d.setf("level", 9)
		d.jump_all(2048+590, 6656+155)
		d.regen_file("data/dungeon/deviltower/deviltower9_regen.txt")
	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", 30)
	end

	when devil_end_jump.timer begin
	    d.exit_all()
	end
	
	end
end
P.S. Am incercat mai multe questuri la toate imi face asa.

Si mai am o problema daca are cineva sau ma poate ajuta cu un mob_drop_item.txt
Dar:
Sa fie asa.

Cod: Selectaţi tot

Group	1
{
	type	kill			
	mob	691			
	kill_drop	1			
	1	50070	1	100	0
	2	70101	1	100	0
}
Group	2
{
	type	kill			
	mob	791			
	kill_drop	1			
	1	50071	1	100	0
}
Group	3
{
	type	kill			
	mob	1304			
	kill_drop	1			
	1	50078	1	100	0
}
Group	4
{
	type	kill			
	mob	1901			
	kill_drop	1			
	1	50077	1	100	0
}
Group	5
{
	type	kill			
	mob	2091			
	kill_drop	1			
	1	50073	1	100	0
Nu asa.

Cod: Selectaţi tot

Group	ŔúÁÖąŢŔş_ÇŞ¸ĄµÎ¸ń´Á´ë				
{					
	Type	kill			
	Mob	134			
	kill_drop	150			
	1	»óȲ·É+0	1	25	10
	2	¸¸żůµµ+0	1	25	10
Deci nu in chineza, in coduri daca aveti.

Multumesc mult si as dori sa ma ajutati, Dau THX.
Imagine
Servicii complete de găzduire, mentenanță și promovare online, utilizăm doar software licențiat și echipamente bare metal.
Afișează semnătura
Avatar utilizator
F. Gabriel
Membru Club

Membru Club
Mesaje: 3759
Membru din: 17 Aug 2013, 20:44
Server: -
Regat: Shinsoo
Aprecieri: 358  
Mulţumiri: 84  
 Contact:
Medalii

Pentru DT, cred ca nu ai mapa respectiva adaugata la allow si de aia te scoate.
Cat despre mob_drop_item, nu ai legatura cu numele, poate fi si J4M-Boss4Wdsadzsxc , nu conteaza asta ci codul pentru mob-ul care sa dropeze itemul.
Imagine

Hosting Metin2 by OVINETWORK.RO
Afișează semnătura
Avatar utilizator
iNooB
Nivel 3

Nivel 3
Mesaje: 303
Membru din: 07 Apr 2015, 19:27
Server: Metin2VDS
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 9  
 Contact:
Medalii

Stiu asta, dar obesrvi ca in al 2-lea drop nu sunt coduri bagate doar nume in chineza si as vrea unu cu coduri ca mie unul nu imi merge dropul in v2 si la pietre metin, cat despre adaugare camera 5 in DT imi poti spune cum sa o bag si de unde iau mapele din DT?
Imagine
Servicii complete de găzduire, mentenanță și promovare online, utilizăm doar software licențiat și echipamente bare metal.
Afișează semnătura
Avatar utilizator
F. Gabriel
Membru Club

Membru Club
Mesaje: 3759
Membru din: 17 Aug 2013, 20:44
Server: -
Regat: Shinsoo
Aprecieri: 358  
Mulţumiri: 84  
 Contact:
Medalii

Nu la asta ma refeream.
Uite pentru item_proto 1 ai

Cod: Selectaţi tot

   mob   691  
si pentru item_proto 2 tot la fel

Cod: Selectaţi tot

   Mob   134         
Linia respectiva conteaza, la nume poti pune ce vrei tu, nu influenteaza cu nimic.
Imagine

Hosting Metin2 by OVINETWORK.RO
Afișează semnătura
Avatar utilizator
iNooB
Nivel 3

Nivel 3
Mesaje: 303
Membru din: 07 Apr 2015, 19:27
Server: Metin2VDS
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 9  
 Contact:
Medalii

Si map allow la demon tower?
Imagine
Servicii complete de găzduire, mentenanță și promovare online, utilizăm doar software licențiat și echipamente bare metal.
Afișează semnătura
Avatar utilizator
iNooB
Nivel 3

Nivel 3
Mesaje: 303
Membru din: 07 Apr 2015, 19:27
Server: Metin2VDS
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 9  
 Contact:
Medalii

Cum fac acolo la demon tower ca nu prea ma pricep la mape, si nu stiu cum sa fac, unde sa bag fisiere sau ce fisiere.
Imagine
Servicii complete de găzduire, mentenanță și promovare online, utilizăm doar software licențiat și echipamente bare metal.
Afișează semnătura
Avatar utilizator
iNooB
Nivel 3

Nivel 3
Mesaje: 303
Membru din: 07 Apr 2015, 19:27
Server: Metin2VDS
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 9  
 Contact:
Medalii

Up cineva sa ma ajute cu Bugul de la camera 5 din DT, Va rog mult !!
Imagine
Servicii complete de găzduire, mentenanță și promovare online, utilizăm doar software licențiat și echipamente bare metal.
Afișează semnătura
Avatar utilizator
C.Mihai
Nivel 9

Nivel 9
Mesaje: 1875
Membru din: 26 Mai 2014, 13:57
Server: xGamer
Regat: Chunjo
Aprecieri: 24  
Mulţumiri: 7  
 Contact:
Medalii

Subiect INACTIV De mai bine de 3 zile !
Arhivat :-h !
Nu iti poti trai viata pentru altii. Trebuie sa faci ceea ce e bine pentru tine, chiar daca astfel ii ranesti pe cei pe care ii iubesti. – Nicholas Sparks
Imagine
Cea mai bună firmă de HOSTING !
Afișează semnătura
Închis
Răspunsuri
7
Vizualizări
451
Răspunsuri
8
Vizualizări
1197
Răspunsuri
6
Vizualizări
469

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

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Google [Bot] și 61 vizitatori