Ajutor quest run direct in camera bosului

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Închis
Avatar utilizator
alinjuve23
Nivel 2

Nivel 2
Mesaje: 239
Membru din: 23 Apr 2015, 17:10
Aprecieri: 451  
Mulţumiri: 21  
Medalii

*Problemă/Întrebare: Ajutor cu quest run direct in camera bosului, exemplu questul de la azrael !
Tipologie server(PvM / PvP): pvm easy
*Resursă folosită: -
*ServerFiles utilizat: cartof v5
*Syserr: -
Poză: -
*Detalii suplimentare: Poate cineva sa modificare sau mai bine sa imi explice cum se face un quest cu run direct in camera finala a bonusului?
Vreau sa dea warp direct in camera, sa spameze bossul si sa nu poata intra alt player peste.. Multumesc!

Cod: Selectaţi tot

------------------------------------
---Devils Catacomb by Metin2TN.Ro---
-------------------------------------------- 
quest devilscave begin
    state start begin    
        when login begin
            if pc.get_map_index() == 10 then
                pc.set_warp_location(10, 3148, 12098)
            end
        end    
when 30121.chat."Catacomba Diavolului" begin
if pc . get_level ( ) <= 75 then   
say_title ( "Gardian" )
say("")
say_reward("Pentru a putea intra trebuie ca nivelul tau sa fie mai mare de 75 !");
return
end
if party . is_party ( ) then 
else 
say_reward( "Nu poti intra de unu singur aici...trebuie sa fii intr-o grupa." ) 
say("")
return
end
say_title ( "Gardian" )
say("Eu te pot conduce in catacomba diavolului")say(",dar sa stii ca nu faci fata singur acolo")
say("si te sfatuiesc sa iti iei cei mai buni prieteni cu tine pentru a birui in fata lu Azrael.")
say("Toti membri din grupa trebuie sa aiba peste nivelul 75!")
say("")
local dc_login = select("Vreau sa intru", "Nu vreau")
if dc_login == 1 then
pc.warp(314800, 1209800)
else
say_title("Gardian:")
say("Va inteleg.")
say("Cand esti pregatit poti sa te intorci inapoi aici.")
return
end
end
        
                                    
--Ebene 1        
        when login with pc.get_map_index() == 10 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("Pentru a trece la nivelul 2 ai nevoie de o")
            say_item("Cheie Rubin", 50150, "")
            say("Dupa ce gasiti cheia va veti duce si o veti pune pe statuie!")
            say("")
            say_reward("Mult noroc!")
            say("")
            pc.setqf("sksgedroppt", 0)
        end
        when kill with not npc.is_pc() and pc.get_map_index() == 10 begin 
            local sks = number(1,50)
            if sks==1 and pc.getqf("sksgedroppt")==0 then
                pc.setqf("sksgedroppt", 1)
                chat("Ai gasit Cheia Rubin!")
                game.drop_item(50150, 1)    
        
            end
        end
--Puertas

        when 30101.take with item.vnum == 50150 begin
         if party.is_party() then
            item.remove()
            say("Felicitari...acum veti fi teleportati la nivelul 2")
            wait()
            say("Pentru a putea trece mai departe de acest obstacol va trebui sa cauti drumul cel bun pana la portalul ce te va duce la etajul urmator.Grabeste-te timpul se scurge.....tic tac  ")
            wait()
            
            timer("devils_catacomb_goto_ebene3", 5)
    else
                say("Tu nu mai apartii nici unui grup")
            end
 end
 
            
            
            when devils_catacomb_goto_ebene3.timer begin
            d.new_jump_all(10, 3617, 12074)
            say("~~Pentru a putea trece mai departe gaseste drumul cel bun!~~")
            say("~~Si da click pe portal pentru a putea trece cu grupul mai departe~~")
            d.regen_file("data/dungeon/dc_regen_ebene2.txt")
            d.regen_file("data/dungeon/dc_regen_tore_unten.txt")
            d.regen_file("data/dungeon/dc_regen_tore_left.txt")
            d.spawn_mob(30104, 741, 221)
        end
                      
--Ebene 2
        
        when 30104.chat."Esti pregatit pentru Etajul 3 ?" begin
            if party.is_leader() then
                     else
             say("Tu si grupul tau veti fi teleportati la etajul 3")
                     return
                     end
                     npc.purge()
                  say_reward("Statuia Broasca Testoasa")
            say("Bravo ai trecut mai departe!..Aici te va astepta o porovocare care tine mai mult de noroc.Trebuie sa gasesti in acest tinut metinul cel adevarat si sa il distrugi.")
            wait()
            d.notice("Tu si echipa ta veti fi teleportati mai departe")
            timer("devils_catacomb_goto_ebene8", 5)
end
            when devils_catacomb_goto_ebene8.timer begin
            d.new_jump_all(10, 4427, 12284)

            d.setf("goto_ebene3", 0)
            d.notice("Pentru a putea trece mai departe gaseste metinul adevarat si distrugel")
            d.regen_file("data/dungeon/dc_regen_ebene3.txt")
            local metindv = number(1,4)
            if metindv==1 then
                d.spawn_mob(8028, 1264, 238)
                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 8028.kill with pc.in_dungeon() begin
            d.notice("Acest metin este fals")
        end
        when 8029.kill with pc.in_dungeon() begin
            d.notice("Ai gasit metinul cel bun!")
            timer("devils_catacomb_goto_ebene4", 5)
        end
--Ebene 4 (Labirint)
        when devils_catacomb_goto_ebene4.timer begin
            d.new_jump_all(10, 3143, 12657)
            d.setf("Laberinto", 1)
            d.spawn_mob(30103, 500, 720) 
            d.regen_file("data/dungeon/dc_regen_ebene4_portale.txt")
            d.regen_file("data/dungeon/dc_regen_ebene8.txt")
            d.notice("Gaseste o cale de iesire din acest labirit")
            d.notice("Catre statuia Broastei Testoase")
            if game.get_event_flag("dc_is_wartung") == 1 then
            end
        end            
        when 30103.chat."Cursa Iadului" with pc.in_dungeon() begin
            say("Felicitari ati ajuns la etajul 5")
            npc.purge()
            timer("devils_catacomb_goto_ebene5", 5)
        end
--Ebene 6 (Tartaros)
        when devils_catacomb_goto_ebene5.timer begin
            d.new_jump_all(10, 3917, 12925)
            d.notice("Tartarus detine cheia catre etajul urmator")
            d.notice("Pentru a o obtine trebuie sa omori cat mai multi..depinde de norocul tau.")
            d.spawn_mob(30102, 848, 739)
            d.regen_file("data/dungeon/dc_regen_ebene5.txt")
            local tartaros = number(1,5)
            if tartaros==1 then
                d.spawn_mob(2593, 991, 848)
                d.spawn_mob(2594, 999, 652)
                d.spawn_mob(2594, 848, 577)
                d.spawn_mob(2594, 703, 644)
                d.spawn_mob(2594, 692, 817)
            end
            if tartaros==2 then
                d.spawn_mob(2594, 991, 848)
                d.spawn_mob(2593, 999, 652)
                d.spawn_mob(2594, 848, 577)
                d.spawn_mob(2594, 703, 644)
                d.spawn_mob(2594, 692, 817)
            end
            if tartaros==3 then
                d.spawn_mob(2594, 991, 848)
                d.spawn_mob(2594, 999, 652)
                d.spawn_mob(2593, 848, 577)
                d.spawn_mob(2594, 703, 644)
                d.spawn_mob(2594, 692, 817)
            end
            if tartaros==4 then
                d.spawn_mob(2594, 991, 848)
                d.spawn_mob(2594, 999, 652)
                d.spawn_mob(2594, 848, 577)
                d.spawn_mob(2593, 703, 644)
                d.spawn_mob(2594, 692, 817)
            end
            if tartaros==5 then
                d.spawn_mob(2594, 991, 848)
                d.spawn_mob(2594, 999, 652)
                d.spawn_mob(2594, 848, 577)
                d.spawn_mob(2594, 703, 644)
                d.spawn_mob(2593, 692, 817)
            end
        end        
        when 2594.kill with pc.in_dungeon() begin
        d.notice("Din pacate acest monstru nu a avut cheia la el.")
        end    
        when 2593.kill with pc.in_dungeon() begin
            game.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 5)
            local Reward = 5
            local Achievement = "Höllenbastard"
            local killcount = pc.getqf("2593")
            local actual_achievement_points = pc.getqf("achievement_points")
            pc.setqf("2593", killcount + 1)
            pc.setqf("achievement_points", actual_achievement_points + Reward)
            cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            d.notice("Bastardul Iadului a fost invins si cheia de la portal era la el!")
            game.drop_item(50151, 1)
        end    
        when 30102.take with item.vnum == 50151 begin
            item.remove()
            npc.purge()
            say_reward("Aceasta cheie se potriveste perfect.Tu si echipa ta veti putea trece mai departe.")
            d.notice("Felicitari veti trece mai departe!")
            timer("devils_catacomb_goto_ebene6", 5)
         end 
--Ebene 7 (Charon)
        when devils_catacomb_goto_ebene6.timer begin
            d.new_jump_all(10, 4411, 12736)
            d.notice("Felicitari pentru ca ati putut ajunge pana aici!")
            d.notice("Pentru a putea trece la ultimul nivel va trebuie sa il omorati pe Charon!")
            d.regen_file("data/dungeon/dc_regen_ebene6.txt")
        end        
        when 2597.kill with pc.in_dungeon() begin
            game.set_event_flag((""..pc.get_name().."ap_send"), game.get_event_flag(""..pc.get_name().."ap_send") + 8)
            local Reward = 8
            local Achievement = "Charon"
            local killcount = pc.getqf("2597")
            local actual_achievement_points = pc.getqf("achievement_points")
            pc.setqf("2597", killcount + 1)
            --pc.setqf("achievement_points", actual_achievement_points + Reward)
            cmdchat("achievement ".. Achievement .."_getötet#".. killcount + 1  .."%".. actual_achievement_points + Reward .."")
            pc.give_item2(30320)
            chat("L-ati doborat si pe Charon!")
            d.notice("Sunteti foarte buni...")
            d.notice("Pregatitiva pentru al infrunta pe Marele Azrael")
            timer("devils_catacomb_goto_ebene7", 10)
        end
--Ebene 8 (Azrael)
        when devils_catacomb_goto_ebene7.timer begin
            d.new_jump_all(10, 3147, 13191)
            d.notice("~~Omoaral pe Azrael pentru a primi o recompensa!~~")
            d.regen_file("data/dungeon/dc_regen_ebene7.txt")
        end
        when 2598.kill with pc.in_dungeon() begin
        d.kill_all()
        notice_all("Felicitari Azrael a fost invins.")
        timer("ebane_end_jump", 65)
        end
when ebane_end_jump.timer begin
        d.new_jump_all(65, 5376+535 , 512+480) 
        end
end
end
Avatar utilizator
alinjuve23
Nivel 2

Nivel 2
Mesaje: 239
Membru din: 23 Apr 2015, 17:10
Aprecieri: 451  
Mulţumiri: 21  
Medalii

Careva?..
Multumesc!
Avatar utilizator
FALLEN1
Nivel 4

Nivel 4
Mesaje: 585
Membru din: 14 Noi 2015, 20:12
Server: Dark-Fusion2
Regat: Chunjo
Aprecieri: 366  
Mulţumiri: 758  
  Rezolvări prob.: 2
Discord: Copiază ID
Medalii

alinjuve23 scrie: ↑12 Noi 2021, 19:46 Careva?..
Multumesc!

Cod: Selectaţi tot

------------------------------------
---Devils Catacomb by Metin2TN.Ro---
-------------------------------------------- 
quest devilscave begin
    state start begin    
        when login begin
            if pc.get_map_index() == 10 then
                pc.set_warp_location(10, 3148, 12098)
            end
        end    
when 30121.chat."Catacomba Diavolului" begin
if pc . get_level ( ) <= 75 then   
say_title ( "Gardian" )
say("")
say_reward("Pentru a putea intra trebuie ca nivelul tau sa fie mai mare de 75 !");
return
end
if party . is_party ( ) then 
else 
say_reward( "Nu poti intra de unu singur aici...trebuie sa fii intr-o grupa." ) 
say("")
return
end
say_title ( "Gardian" )
say("Eu te pot conduce in catacomba diavolului")say(",dar sa stii ca nu faci fata singur acolo")
say("si te sfatuiesc sa iti iei cei mai buni prieteni cu tine pentru a birui in fata lu Azrael.")
say("Toti membri din grupa trebuie sa aiba peste nivelul 75!")
say("")
local dc_login = select("Vreau sa intru", "Nu vreau")
if dc_login == 1 then
pc.warp(314600, 1319100)
else
say_title("Gardian:")
say("Va inteleg.")
say("Cand esti pregatit poti sa te intorci inapoi aici.")
return
end
end
        
--Ebene 8 (Azrael)
        when login with pc.get_map_index() == 10 begin
            d.notice("~~Omoaral pe Azrael pentru a primi o recompensa!~~")
            d.regen_file("data/dungeon/dc_regen_ebene7.txt")
        end

        when 2598.kill with pc.in_dungeon() begin
        d.kill_all()
        notice_all("Felicitari Azrael a fost invins.")
        timer("ebane_end_jump", 65)
        end
when ebane_end_jump.timer begin
        d.new_jump_all(65, 5376+535 , 512+480) 
        end
end
end
Pentru acest mesaj, FALLEN1 for the post:
alinjuve23
Avatar utilizator
alinjuve23
Nivel 2

Nivel 2
Mesaje: 239
Membru din: 23 Apr 2015, 17:10
Aprecieri: 451  
Mulţumiri: 21  
Medalii

Salut si multumesc pentru ajutor!
Intampin o problema.. ma teleporteaza in harta, dar nu spameaza bossul..

Am modificat in quest urmatoarele:
when login with pc.get_map_index() == 206 begin, am index 206:

Cod: Selectaţi tot

206 metin2_map_devilcatacomb
Am modificat locatia de la d.regen_file, aici am fisierul txt:

Cod: Selectaţi tot

d.regen_file("data/dungeon/devils_catacomb/dc_regen_level7.txt")
Asa arata dc_regen_level7.txt:

Cod: Selectaţi tot

m	73	1110	0	0	0	0	90s	100	1	2598
Nu am nici o eroare in syslog pe ch1 unde incerc sa intru, iar syslog arata asa:

Cod: Selectaţi tot

Nov 12 21:38:10 :: OnClick Spiritul Sura[vnum 30121 ServerUniqueID 42787, pid 0] by kLLik
Nov 12 21:38:11 :: QUEST ScriptAnswer pid 2936 answer 0
Nov 12 21:38:14 :: QUEST ScriptAnswer pid 2936 answer 0
Nov 12 21:38:14 :: WarpSet kLLik 314600 1319100 current map 1 target map 206
Nov 12 21:38:14 :: SAVE: kLLik 314600x1319100
Nov 12 21:38:14 :: DISCONNECT: kLLik (DESC::~DESC)
Nov 12 21:38:14 :: SAVE: kLLik 314600x1319100
Nov 12 21:38:14 :: QUEST clear timer 0
Nov 12 21:38:14 :: SYSTEM: closing socket. DESC #24
Nov 12 21:38:15 :: P2P: Login kLLik
Nov 12 21:38:24 :: RegisterRaceNumMap Zacamant de argint 20051
Nov 12 21:38:30 :: RegisterRaceNumMap Zacamant de jade 20053
Avatar utilizator
alinjuve23
Nivel 2

Nivel 2
Mesaje: 239
Membru din: 23 Apr 2015, 17:10
Aprecieri: 451  
Mulţumiri: 21  
Medalii

Ma poate ajuta cineva? Ms.
Avatar utilizator
FALLEN1
Nivel 4

Nivel 4
Mesaje: 585
Membru din: 14 Noi 2015, 20:12
Server: Dark-Fusion2
Regat: Chunjo
Aprecieri: 366  
Mulţumiri: 758  
  Rezolvări prob.: 2
Discord: Copiază ID
Medalii

alinjuve23 scrie: ↑13 Noi 2021, 22:09 Ma poate ajuta cineva? Ms.

Cod: Selectaţi tot

------------------------------------
---Devils Catacomb by Metin2TN.Ro---
-------------------------------------------- 
quest devilscave begin
    state start begin    
        when login begin
            if pc.get_map_index() == 10 then
                pc.set_warp_location(10, 3148, 12098)
            end
        end    
when 30121.chat."Catacomba Diavolului" begin
if pc . get_level ( ) <= 75 then   
say_title ( "Gardian" )
say("")
say_reward("Pentru a putea intra trebuie ca nivelul tau sa fie mai mare de 75 !");
return
end
if party . is_party ( ) then 
else 
say_reward( "Nu poti intra de unu singur aici...trebuie sa fii intr-o grupa." ) 
say("")
return
end
say_title ( "Gardian" )
say("Eu te pot conduce in catacomba diavolului")say(",dar sa stii ca nu faci fata singur acolo")
say("si te sfatuiesc sa iti iei cei mai buni prieteni cu tine pentru a birui in fata lu Azrael.")
say("Toti membri din grupa trebuie sa aiba peste nivelul 75!")
say("")
local dc_login = select("Vreau sa intru", "Nu vreau")
if dc_login == 1 then
pc.warp(314600, 1319100)
else
say_title("Gardian:")
say("Va inteleg.")
say("Cand esti pregatit poti sa te intorci inapoi aici.")
return
end
end
        
--Ebene 8 (Azrael)
        when login with pc.get_map_index() == 10 begin
            d.notice("~~Omoaral pe Azrael pentru a primi o recompensa!~~")
            d.spawn_mob(cod_azrael, coordonata_X, coordonata_Y) -- modifici cu cod si coordonate.
        end

        when 2598.kill with pc.in_dungeon() begin
        d.kill_all()
        notice_all("Felicitari Azrael a fost invins.")
        timer("ebane_end_jump", 65)
        end
when ebane_end_jump.timer begin
        d.new_jump_all(65, 5376+535 , 512+480) 
        end
end
end
Modifica la sfarsit, ti-am scris ce si cum...
Pentru acest mesaj, FALLEN1 for the post:
alinjuve23
Avatar utilizator
alinjuve23
Nivel 2

Nivel 2
Mesaje: 239
Membru din: 23 Apr 2015, 17:10
Aprecieri: 451  
Mulţumiri: 21  
Medalii

Am incercat ieri si varianta cu d.spawn_mob, dar tot nu merge.
Deci, se intampla in felul urmator:
1. apare la npc 30121 sa intru in catacomba diavolului.
2. dau pe Vreau sa intru, ma teleporteaza in camera lui Azrael.
Iar de aici nu se mai intampla nimic, nu apare nici textul de la d.notice("...")
Nu spameaza bossul, nu se mai intampla nimic !

Am modificat pc.get_map_index() cu 206, asa am la catacomba diavlolului...

Edit: Am incercat si varianta asta de mai jos:

Cod: Selectaţi tot

when login with pc.get_map_index() == 206 begin
        say("asteapta 10 secunde")
	timer("devils_catacomb_goto_ebene7", 10)
end
--Ebene 8 (Azrael)
        when devils_catacomb_goto_ebene7.timer begin
	say("timpul a expirat")
	d.notice("~~Omoaral pe Azrael pentru a primi o recompensa!~~")
	d.spawn_mob(2598, 75, 1115) -- modifici cu cod si coordonate.
        end
Cand ma teleporteaza in camera apare "asteapta 10 secunde"
Dupa 10 secunde apare: "timpul a expirat"
Dar pe urma, nu se mai intampla nimic... azrael nu apare, d.notice nu apare !
Avatar utilizator
sanducatalin1
Mister Just4Metin

Mister Just4Metin
Mesaje: 619
Membru din: 28 Iun 2015, 16:07
Server: Draco
Regat: Shinsoo
Aprecieri: 127  
Mulţumiri: 168  
 Contact:
Medalii

Ia dai pe /m și codul monstrului, măcar îl ai implementat?
Avatar utilizator
alinjuve23
Nivel 2

Nivel 2
Mesaje: 239
Membru din: 23 Apr 2015, 17:10
Aprecieri: 451  
Mulţumiri: 21  
Medalii

Nu era vorba de mob.. era implementat..
Am rezolvat problema.. nu era questul facut bun!

In primul rand, din ce am citit, d.notice si d.regen_file functioneaza doar daca esti in dungeon... iar eu din quest, nu eram in dungeon !
Dupa ce mergeam cu pc.warp in catacomba, trebuie sa ma teleporteze in camera lui azrael cu d.new_jump(206, 314900, 131900) ...
Iar pe urma, ai nevoie when login with pc.in_dungeon() == true and pc.get_map_index == 206 begin
-- si aici se pune d.notice si d.regen_file -- si totul functioneaza...

Multumesc, se poate da TC.
Închis
Răspunsuri
13
Vizualizări
1215
Răspunsuri
2
Vizualizări
130

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

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