Problema DT Etajul 5

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

Nivel 1
Mesaje: 138
Membru din: 18 Iul 2018, 11:34
Server: Metin2
Regat: Jinno
Aprecieri: 16  
Mulţumiri: 1  
Medalii

*Problemă:Cand sparg acele metine de la etajul 4 ma teleporteaza in etajul 5 si cand incep sa bat peste 5 secunde ma teleporteaza exact in locul unde te teleporteaza de obicei si apar tot mai multi moobi si ma dupa sunt prea multi moobi si ma scoate de pe server
Tipologie server:PVM Mediu
*Resursă folosită:
*ServerFiles utilizat:
*Syserr:
Poză:
*Detalii suplimentare:Am sters tot din object si alea dar ma tot teleporteaza , ideei ?
QUEST

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
      
   ------------------------------------------------------
   -- Paznicul demonilor : Intrare în turnul demonilor --
   ------------------------------------------------------

      when deviltower_man.chat."Intrare" with pc.get_map_index() == 65 begin
      
         if pc.get_level() < 40 then
            
            say("Ai nevoie de lv 40")
         
         else
            
            say("Vrei sa intri?")
            
            local s = select("Da","Nu")
            
            if s == 1 then
               
               pc.warp(216500,727000)
               
            elseif s == 2 then
            
               return
            
            end
            
         end
         
      end

   ------------------------------------------------------
   -- Paznicul demonilor : Ieºire din turnul demonilor --
   ------------------------------------------------------

      when deviltower_man.chat."Ieºire din turn" with pc.get_map_index() == 66 begin
         
         say_title("Gardianul turnului:")
         say("Eºti de acord sã pãrãseºti Turnul Demonilor?")
         local b =select("Da!","Mai stau..")

         if b == 1 then

            say_title("Gardianul turnului:")
            say("O decizie foarte bunã. Este prea periculos")
            say("pentru tine sã mai rãmâi acolo. Ai grijã.")
            
            wait()
            
            pc.warp(590500, 110500)
            
         end
         
      end
      
      ------------------------------------
      -- Turnul Demonilor : Fix iteme   --
      ------------------------------------

      when login or logout with pc.get_map_index() == 66 begin
      
         pc.remove_item(30302, pc.count_item(30302)) -- Hartã pentru pestera Zin

         pc.remove_item(30300, pc.count_item(30300)) -- Ladã veche necunoscutã
         
         pc.remove_item(50084, pc.count_item(50084)) -- Piatrã Cheie
         
         pc.remove_item(30304, pc.count_item(30304)) -- Cheie Zin-Bong-In
         
         
      end
      
      
      when login or logout with pc.in_dungeon() and pc.get_map_index() == 66 begin
      
         pc.remove_item(30302, pc.count_item(30302)) -- Hartã pentru pestera Zin

         pc.remove_item(30300, pc.count_item(30300)) -- Ladã veche necunoscutã
         
         pc.remove_item(50084, pc.count_item(50084)) -- Piatrã Cheie
         
         pc.remove_item(30304, pc.count_item(30304)) -- Cheie Zin-Bong-In
         
         
      end
      
      when login or logout with pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
      
         pc.remove_item(30302, pc.count_item(30302)) -- Hartã pentru pestera Zin

         pc.remove_item(30300, pc.count_item(30300)) -- Ladã veche necunoscutã
         
         pc.remove_item(50084, pc.count_item(50084)) -- Piatrã Cheie
         
         pc.remove_item(30304, pc.count_item(30304)) -- Cheie Zin-Bong-In
         
         
      end
      
      when login or logout with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
      
         pc.remove_item(30302, pc.count_item(30302)) -- Hartã pentru pestera Zin

         pc.remove_item(30300, pc.count_item(30300)) -- Ladã veche necunoscutã
         
         pc.remove_item(50084, pc.count_item(50084)) -- Piatrã Cheie
         
         pc.remove_item(30304, pc.count_item(30304)) -- Cheie Zin-Bong-In
         
         
      end
      
   ------------------------------------
   -- Turnul Demonilor : Parter      --
   ------------------------------------

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

   -------------------------------
   -- Turnul Demonilor : Etaj 2 --
   -------------------------------
      
      when devil_stone1_1.timer begin
         
         pc.remove_item(30302, pc.count_item(30302))

         pc.remove_item(30300, pc.count_item(30300))

         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

   ----------------------------------------------
   -- Turnul Demonilor : Etaj 3 : Regele Demon --
   ----------------------------------------------

      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

   ------------------------------------------------
   -- Turnul Demonilor : Etaj 4 : Pietrele Metin --
   ------------------------------------------------

      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)
         
         d.notice("Te afli la poarta sigilatã de la etajul 3.")
         d.notice("Multe pietre false te aºteaptã pentru a te")
         d.notice("induce în eroare ºi numai una dintre ele")
         d.notice("este Piatra Metin cu adevãrat importantã.")
         d.notice("Trebuie sã o distrugi în 15 minute sau nu")
         d.notice("vei putea trece prin poartã.")
         
         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())

      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()) then
         
            d.notice("Timpul a expirat.")
            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("Pietrele metin false dispar ...")
                        
                     end
                     
                  end
                  
               end
               
            else
            
               server_timer("devil_stone4_end", 5, get_server_timer_arg())
               
               d.notice("Ai dovedit un auz excelent ºi un instinct bun, ºi")
               d.notice("ai distrus adevãrata piatrã metin.")
               d.notice("Vei ajunge de îndatã la etajul 4.")
               
               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

   -------------------------------------------------
   -- Turnul Demonilor : Etaj 5 : Sigiliile vechi --
   -------------------------------------------------

      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("Acum eºti la poarta sigilatã de la etajul 4.")
            d.notice("Trebuie sã deschizi cele cinci Sigilii Antice")
            d.notice("pentru a trece la etajul urmãtor. Drumul este")
            d.notice("plin de creaturi care te vor ataca.")
            d.notice("Unele dintre ele au niste chei. Strânge destule")
            d.notice("Pietre Chei, sã deschizi toate cele cinci Sigilii")
            d.notice("Antice ºi sã treci la etajul 5.")
            d.notice("Dar ai grijã: Ai timp numai 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("Minute rãmase: 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()) 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.setf("level", 6)
            d.clear_regen()
            d.regen_file("data/dungeon/deviltower6_regen.txt")
            
            d.notice("Ai rupt sigiliul Cheii de Piatra ºi poþi sa")
            d.notice("intri în etajul 5. Regele Demon Mândru este de")
            d.notice("asemenea la acest etaj. Distruge toate creaturile")
            d.notice("întâlnite acolo.")
            d.notice("Ucide toþi monºtrii de la etajul 6!")       
            
            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("Ai deschis pecetea! Mai rãmân "..d.getf("stone_count")..".")
            
         end
         
      end
      
   -----------------------------------------------------
   -- Turnul Demonilor : Etaj 6 : Regele Demon Mândru --
   -----------------------------------------------------

      when devil_stone6.kill begin
      
         d.kill_all()
         d.kill_all()
         d.kill_all()
         d.kill_all()
         
         d.check_eliminated()
         
         d.notice("Ai omorât toate creaturile. Acum mergi la Fierar")
         d.notice("ºi alege recompensa - îþi va îmbunãtãþi un obiect")
         d.notice("la alegerea ta. pentru a face asta, pune")
         d.notice("obiectul care vrei sã îl îmbunãtãþeºti pe fierar.")
         
         local reward_alchemist = {20074, 20075, 20076}
         d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
         d.setqf("can_refine", 1)
         
      end

   -------------------------------------------
   -- Turnul Demonilor : Etajele superioare --
   -------------------------------------------

      when 20074.chat."Etajele superioare .." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
         
         npc.lock()
         
         say_title(""..mob_name(20074).."")
         say("Vrei sa mergi la etajul 6 al turnului?")
         say("E nevoie de multe competenþe ºi multa")
         say("dibacie pentru a învinge acest etaj.")
         say("Doar daca ai atins nivelul 75 te pot")
         say("teleporta acolo!")
         
         wait()
         
         if pc.level >=75 then
            
            say_title(""..mob_name(20074).."")
            say("Ai experienþa necesara deci ai o ºansa buna")
            say("sa supravieþuieºti etajelor superioare.")
            say("Poþi intra acum!")
            
            npc.purge()
            timer("devil_jump_7", 6)
            
            return
            
         end
            
         say_title(""..mob_name(20074)..":")
         say("Ai nevoie de nivelul 75 pentru a urca!")
         say("Revino când eºti mai puternic, aici cei slabi pier în faþa demonilor..")
         say("Acum te voi teleporta în faþa turnului, doar pentru siguranþa ta.")
         say("")
         
         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
         
         npc.lock()
         
         say_title(""..mob_name(20075).."")
         say("Vrei sa mergi la etajul 6 al turnului?")
         say("E nevoie de multe competenþe ºi multa")
         say("dibacie pentru a învinge acest etaj.")
         say("Doar daca ai atins nivelul 75 te pot")
         say("teleporta acolo!")
         
         wait()
         
         if pc.level >=75 then
            
            say_title(""..mob_name(20075).."")
            say("Ai experienþa necesara deci ai o ºansa buna")
            say("sa supravieþuieºti etajelor superioare.")
            say("Poþi intra acum!")
            npc.purge()
            timer("devil_jump_7", 6)
            
            return
            
         end
         
         say("Ai nevoie de nivelul 75 pentru a urca!")
         say("Revino când eºti mai puternic, aici cei slabi pier în faþa demonilor..")
         say("Acum te voi teleporta în faþa turnului, doar pentru siguranþa ta.")
         say("")
         
         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
         
         npc.lock()
         say_title(""..mob_name(20076).."")
         say("Vrei sa mergi la etajul 6 al turnului?")
         say("E nevoie de multe competenþe ºi multa")
         say("dibacie pentru a învinge acest etaj.")
         say("Doar daca ai atins nivelul 75 te pot")
         say("teleporta acolo!")
         
         wait()
         
         if pc.level >=75 then
         
            say_title(""..mob_name(20076).."")
            say("Ai experienþa necesara deci ai o ºansa buna")
            say("sa supravieþuieºti etajelor superioare.")
            say("Poþi intra acum!")
            
            npc.purge()
            timer("devil_jump_7", 6)
            
            return
            
         end
         
         say("Ai nevoie de nivelul 75 pentru a urca!")
         say("Revino când eºti mai puternic, aici cei slabi pier în faþa demonilor..")
         say("Acum te voi teleporta în faþa turnului, doar pentru siguranþa ta.")
         say("")
         
         wait()
         
         pc.warp(590500, 110500)
         
         return
      
      end

   -------------------------------------------
   -- Turnul Demonilor : Etaj 7 : Planurile --
   -------------------------------------------

      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)
         
         d.notice("Harta Turnului Zin-Sa-Gui deschide calea cãtre")
         d.notice("urmãtorul etaj. Le poþi gãsi distrugând Pietrele")
         d.notice("Metin.")
         
      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

         -- Cutie de fier necunoscutã

         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,5)

         if pct == 1 then

            -- Hartã Zin-Sa-Gui (Adevãrat)

            game.drop_item(30302, 1)
            d.clear_regen()
            
         else

            -- Hartã Sa-Gui (Fals)

            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_title("Informaþie:")
         say("Aceastã hart te teleporteazã la etajul 7 al")
         say("Turnului Demonilor")
         pc.remove_item("30302", 1)
         timer("devil_jump_8", 6)
         d.clear_regen()
         
      end

   ----------------------------------------
   -- Turnul Demonilor : Etaj 8 : Cheile --
   ----------------------------------------

      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)
         
         d.notice("Gãseºte cheia potrivitã.")
         d.notice("Ai nevoie de cheia Zin-Bong-In pentru a")
         d.notice("deschide Pecetea Sa-Soein ºi a ajunge la")
         d.notice("etajul urmãtor.")
         
      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

               -- Cheie Zin-Bong (Adevãrat)

               game.drop_item(30304, 1)
               
            else
            
               -- Cheie Bong-In (Fals)

               game.drop_item(30303, 1)
               
            end
            
         else

            return
         
         end
         
      end

      when 20366.take with item.vnum == 30304 begin
         
         npc.purge()
         item.remove()
         timer("devil_jump_9", 6)
         
         d.notice("Ucide conducãtorul demonilor.")
         
      end

   --------------------------------------------------
   -- Turnul Demonilor : Etaj 9 : Îngerul cu coasã --
   --------------------------------------------------

      when devil_jump_9.timer begin
      
         d.setf("level", 9)
         d.jump_all(2048+590, 6656+155)
         d.regen_file("data/dungeon/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()
         d.kill_all()
         d.kill_all()
         
         d.notice("Ai îndeplinit sarcina cu succes ºi vei")
         d.notice("fi teleportat afarã în puþine minute.")
         d.notice("Te aºtept în Catacomba Diavolului!")
         d.notice("Urmeazã-mã iar mânia mea te va învãlui")
         d.notice("ca o tornadã!")
         
         -- Paznicul Catacombelor
         
         d.spawn_mob(20351,600,168,0,0,60);
         
         timer("devil_end_jump", 60)
         
      end

      when devil_end_jump.timer begin
      
         d.exit_all()
         
      end
      
   end
   
end
Avatar utilizator
DominiK
Nivel 1

Nivel 1
Mesaje: 138
Membru din: 18 Iul 2018, 11:34
Server: Metin2
Regat: Jinno
Aprecieri: 16  
Mulţumiri: 1  
Medalii

UP !
Avatar utilizator
Titan
Metin Master

Metin Master
Mesaje: 2783
Membru din: 01 Iun 2015, 15:09
Server: In curand.
Regat: Chunjo
Aprecieri: 42  
Mulţumiri: 377  
  Rezolvări prob.: 3
Discord: Copiază ID
 Contact:
Medalii

Topic inactiv de mai mult de 3 zile, arhivat.
Imagine
Afișează semnătura
Închis
Răspunsuri
4
Vizualizări
574
Răspunsuri
6
Vizualizări
682
Răspunsuri
2
Vizualizări
252
Răspunsuri
6
Vizualizări
568

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

  • Informaţie
  • Cine este conectat

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