Jump to content

Recommended Posts

Good afternoon guys, so I've got a bug in the biologist quest, from quest level 70 onwards, it no longer delivers the fixed bonuses when completing the quest. Can anyone help me?

Spoiler

----------------------------------------------------
--COLLECT QUEST_lv70
--METIN2 Collecting Quest
----------------------------------------------------
quest collect_quest_lv70  begin
        state start begin
        end
        state run begin
                when login or levelup with pc.level >= 70 and not pc.is_gm() begin
                        set_state(information)
                end
        end

        state information begin
                when letter begin
                        local v = find_npc_by_vnum(20084)
                        if v != 0 then
                                target.vid("__TARGET__", v, "Girab ")
                        end
                        send_letter("A Pesquisa do Biólogoo")
                end

                when button or info begin
                        say_title("A Pesquisa do Biólogo ")
                        say()
                        say("O Biólogo precisa novamente de sua ")
                        say("ajuda. Vá falar com ele e ajude-o. ")
                        say()
                end

                when __TARGET__.target.click or
                        20084.chat."Galhos Folhados " begin
                        target.delete("__TARGET__")
                        say_title("Girab: ")
                        say()
                        ---                                                   l
                        say ("Oh! Por favor, preciso novamente de ajuda... ")
                        say ("Como você sabe eu coleto informações sobre os ")
                        say ("monstros que ameaçam constantemente nosso reino, ")
                        say ("mas tenho que reconhecer, não posso fazer isso ")
                        say ("sozinho. Na verdade, eu deveria buscar eu mesmo ")
                        say ("esta informação. Você pode imaginar o enorme ")
                        say ("problema que tenho, sou um simples biólogo. ")
                        say ("Por favor me ajude. Naturalmente receberá uma ")
                        say ("uma boa recompensa pela ajuda. ")
                        say()
                        wait()
                        say_title("Girab:")
                        say()
                        say("Nos últimos tempos me dedico a pesquisar lendas... ")
                        say("Eu gostaria de saber mais sobre o Galho Folhado. ")
                        say("Esta floresta era uma vez um bosque grande. ")
                        say("Depois que as Pedras Metin apareceram, ela ficou ")
                        say("cheia de energia escura. Ela foi aterrorizada ")
                        say("por um fantasma escuro em  épocas anteriores. ")
                        say("Você terá que encontrar Galho Folhado. ")
                        say()
                        wait()
                        say_title("Girab:")
                        say()
                        say("Quanto tempo você precisa para trazer ")
                        say("alguns Galhos Folhados? Mas eles não podem ")
                        say("ser muito finos ou partidos. Porque este ")
                        say("tipo de galho, não pode ser analisado... ")
                        say("Para minha pesquisa precisarei de 25 galhos. ")
                        say("Boa Sorte! ")
                        say()
                        say()
                        set_state(go_to_disciple)
                        pc.setqf("duration",1)  
                         pc.setqf("collect_count",1)
                        pc.setqf("drink_drug",1) 
                        end
        end

        state go_to_disciple begin
                when letter begin
                        send_letter("A Pesquisa do Biólogo")

                end
                when button or info begin
                        say_title("Conseguir Galhos Folhados ")
                        ---                                                   l
                        say()
                        say("O Biólogo, pediu que você vá a floresta em ")
                        say("busca dos Galhos Folhados, para suas pesquisas. ")
                        say("A entrada da floresta está bloqueada por árvores ")
                        say("com habilidades muito especiais. Traga os 25 ")
                        say("galhos folhados que ele precisa para concluir os ")
                        say("estudos. Lembre de entregar apenas um por vez. ")
                        say()
                        say()
                        say_item_vnum(30165)
                        say_reward("Você já entregou "..pc.getqf("collect_count").." Galhos")
                        say()
                end

                when 71035.use begin
                        if get_time() < pc.getqf("duration") then
                        say()
                        say("Você não pode usar o Soro da Persuasão ainda. ")
                        say()
                        return
                        end
                        if pc.getqf("drink_drug")==1 then
                                say()
                                say("Você já usou o Soro da Persuasão. ")
                                say()
                                return
                        end
                        if pc.count_item(30165)==0 then
                                say_title("Girab:")
                                say()
                                say("Quando você for entregar os Galhos, ")
                                say("poderá usar o Soro da Persuasão. ")
                                say()
                                return
                        end
                        item.remove()
                        pc.setqf("drink_drug",1)
                end
        when 2301.kill or 
             2302.kill or
             2303.kill or
             2304.kill or
             2305.kill or 
             2311.kill or 
             2312.kill or 
             2313.kill or
             2314.kill or
             2315.kill  begin
            local s = number(1, 80)
            if s == 1 and pc.count_item(30165)==0 then
                pc.give_item2(30165)
                send_letter("Você adquiriu "..item_name(30165).. ". ")
            end    
        end

        when 30132.use with pc.count_item(30132) >0 begin
            say_title(mob_name(20084))
            say("")
            say("Você deseja pular o tempo de espera?")
            local r = select("Sim","Fechar")
            if r == 2 then
            return
            else
            pc.remove_item("30132",1)
            pc.setqf("duration", get_time()-1)
            say_title(mob_name(20084))
            say("")
            say("Pronto, agora você pode entregar sua missão novamente!")
            return
            end
        end
         when 20084.chat."Você tem os Galhos? " with pc.count_item(30165) >0   begin
                        if get_time() > pc.getqf("duration") then
                                say_title("Girab: ")
                                say()
                                ---                                                   l
                                say("Você trouxe o Galho Folhado. ")
                                say("Eu tenho que verificar isso, ")
                                say("um momento por favor... ")
                                say()
                                pc.remove_item(30165, 1)
                                pc.setqf("duration",get_time()+60*60*2) -- 2ras
                                wait()
                                local pass_percent
                                if pc.getqf("drink_drug")==0 then
                                        pass_percent=60
                                else
                                        pass_percent=90
                                end

                                local s= number(1,100)
                                if s<= pass_percent  then
                                   if pc.getqf("collect_count")< 24 then                                                     
                                       local index =pc.getqf("collect_count")+1
                                       pc.setqf("collect_count",index)     
                                        say_title("Girab: ")
                                        say()
                                        say("Maravilha, obrigado... este está perfeito... ")
                                        say("Faltam".." "..25-pc.getqf("collect_count").. " Galhos Folhados. ")
                                        say("Boa sorte! Busque os que faltam. ")
                                        say()
                                        pc.setqf("drink_drug",0)        
                                        return
                                        end
                                        say_title("Girab: ")
                                        say()
                                        ---                                                   l
                                        say("Bom trabalho! Amigo! ")
                                        say("Me trouxe todos os Galhos Folhados! ")
                                        say("Vou terminar meus estudos e anotações. ")
                                        say("Agora preciso da Pedra da Alma Fantasma que ")
                                        say("você conseguira derrotando as arvores da ")
                                        say("Floresta Fantasma. Pode conseguir para mim?" )             
                                        say()
                                        pc.setqf("collect_count",0)
                                        pc.setqf("drink_drug",0)
                                        pc.setqf("duration",-1)
                                        set_state(key_item)
                                        return
                                else
                                say_title("Girab:")
                                say()
                                say("Hmm... infelizmente este Galho ")
                                say("Folhado não serve para estudo! ")
                                say("Consiga-me outro inteiro! ")
                                say()
                                pc.setqf("drink_drug",0)                                       
                                  return
                                end
                                else
                              say_title("Girab: ")
                            say()
          ---                                                   l
                            say("Olá!...")
                            say("Ainda não terminei a análise, ")
                            say("do galho que me entregou. ") 
                            say("Volte mais tarde. Obrigado! ")
                            say()
                  return
                end

        end
end


        state key_item begin
                when letter begin
                        send_letter("A Pedra da Alma Fantasma ")

                        if pc.count_item(30224)>0 then
                                local v = find_npc_by_vnum(20084)
                                if v != 0 then
                                        target.vid("__TARGET__", v, "A Pedra da Alma Fantasma ")
                                end
                        end

                end
                when button or info begin
                        if pc.count_item(30224) >0 then
                                say_title("A Pedra da Alma Fantasma ")
                                say()
                ---                                                   l
                                say("O Girab está em busca da Pedra da Alma ")
                                say("Fantasma. Finalmente você conseguiu. ")
                                say("Entregue para ele.")
                                say()
                                return
                        end

                        say_title("A Pedra da Alma Fantasma ")
                        say()
                        ---                                                   l
                        say("O Biólogo concluiu que de acordo com o ")
                        say("que pode conseguir na análise dos Galhos ") 
                        say("Folhados que existe a  Pedra da Alma Fantasma ")
                        say()
                        say()
                        say_item_vnum(30224)
                        say ("")
                        say("Procure na Floresta que encontrará derrotando as ")
                        say("Driades e todos os tipos de árvores. Mas sempre ")
                        say("há perigo, cuidado. Boa sorte. ")
                        say()
                end

        when 2301.kill or
             2302.kill or
             2303.kill or
             2304.kill or
             2305.kill or 
             2311.kill or 
             2312.kill or 
             2313.kill or
             2314.kill or
             2315.kill  begin 
                        local s = number(1, 500)
                        if s == 1 and pc.count_item(30224)==0 then
                                pc.give_item2(30224)
                                send_letter("Você conseguiu a Pedra da Alma Fantasma ")
                        end
                end

                when __TARGET__.target.click  or
                        20084.chat."Entregar a Pedra da Alma Fantasma " with pc.count_item(30224) > 0  begin
                    target.delete("__TARGET__")
                        say_title("Girab:")
            say()
              ---                                                   l
                        say("Muito Obrigado! ")
                        say("Estas árvores finalmente foram derrotadas! ")
                        say("Baek-Go, oferecerá uma excelente recompensa ")
                        say("por seu árduo trabalho. ")
                        say("Estou em dívida contigo! ")
                        say("Bem os problemas vão e vem, novamente ")
                        say("estou ocupado. Nos vemos em breve ")
                        say()
                        pc.remove_item(30224,1)
                        set_state(__reward)
                end

        end

        state __reward begin
                when letter begin
                        send_letter("Recompensa do Girab ")

                        local v = find_npc_by_vnum(20018)
                        if v != 0 then
                                target.vid("__TARGET__", v, "Baek Go")
                        end

                end
                when button or info begin
                        say_title("Recompensa do Girab ")
                        ---                                                   l
                        say ("")
                        say("Agora que você já entregou os 25 Galhos ")
                        say("Folhados e a Pedra da Alma Fantasma, ")
                        say("Baek-Go está esperando para te recompensar ")
                        say("com mais uma poção secreta poderosa. ")

                        say()
                end

                when __TARGET__.target.click  or
                        20018.chat."A Receita Secreta"  begin
                    target.delete("__TARGET__")
                        say_title("Baek-Go:")
            say()
            ---                                                   l
                        say("Então foi você quem nos ajudou ")
                        say("a combater a magia das árvores. ")
                        say("Então por sua valentia e determinação ")
                        say("vou te dar 10% de aumento na velocidade de ")
                        say("ataque permantentes.")
                        say()
                        say_title("Recompensa:")
                        say_reward("")
                        say_reward("Bonus Permanente: Velocidade de Ataque: +10%")
                        say()
                        affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)    
                        clear_letter()
                        set_quest_state("collect_quest_lv80", "run")
                        set_state(__complete)
                end

        end


        state __complete begin
        end
end

 

Link to comment
Share on other sites

  • 3 weeks later...
  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • Active+ Member
On 3/21/2024 at 6:48 PM, Rodrigo152 said:

Good afternoon guys, so I've got a bug in the biologist quest, from quest level 70 onwards, it no longer delivers the fixed bonuses when completing the quest. Can anyone help me?

  Hide contents

----------------------------------------------------
--COLLECT QUEST_lv70
--METIN2 Collecting Quest
----------------------------------------------------
quest collect_quest_lv70  begin
        state start begin
        end
        state run begin
                when login or levelup with pc.level >= 70 and not pc.is_gm() begin
                        set_state(information)
                end
        end

        state information begin
                when letter begin
                        local v = find_npc_by_vnum(20084)
                        if v != 0 then
                                target.vid("__TARGET__", v, "Girab ")
                        end
                        send_letter("A Pesquisa do Biólogoo")
                end

                when button or info begin
                        say_title("A Pesquisa do Biólogo ")
                        say()
                        say("O Biólogo precisa novamente de sua ")
                        say("ajuda. Vá falar com ele e ajude-o. ")
                        say()
                end

                when __TARGET__.target.click or
                        20084.chat."Galhos Folhados " begin
                        target.delete("__TARGET__")
                        say_title("Girab: ")
                        say()
                        ---                                                   l
                        say ("Oh! Por favor, preciso novamente de ajuda... ")
                        say ("Como você sabe eu coleto informações sobre os ")
                        say ("monstros que ameaçam constantemente nosso reino, ")
                        say ("mas tenho que reconhecer, não posso fazer isso ")
                        say ("sozinho. Na verdade, eu deveria buscar eu mesmo ")
                        say ("esta informação. Você pode imaginar o enorme ")
                        say ("problema que tenho, sou um simples biólogo. ")
                        say ("Por favor me ajude. Naturalmente receberá uma ")
                        say ("uma boa recompensa pela ajuda. ")
                        say()
                        wait()
                        say_title("Girab:")
                        say()
                        say("Nos últimos tempos me dedico a pesquisar lendas... ")
                        say("Eu gostaria de saber mais sobre o Galho Folhado. ")
                        say("Esta floresta era uma vez um bosque grande. ")
                        say("Depois que as Pedras Metin apareceram, ela ficou ")
                        say("cheia de energia escura. Ela foi aterrorizada ")
                        say("por um fantasma escuro em  épocas anteriores. ")
                        say("Você terá que encontrar Galho Folhado. ")
                        say()
                        wait()
                        say_title("Girab:")
                        say()
                        say("Quanto tempo você precisa para trazer ")
                        say("alguns Galhos Folhados? Mas eles não podem ")
                        say("ser muito finos ou partidos. Porque este ")
                        say("tipo de galho, não pode ser analisado... ")
                        say("Para minha pesquisa precisarei de 25 galhos. ")
                        say("Boa Sorte! ")
                        say()
                        say()
                        set_state(go_to_disciple)
                        pc.setqf("duration",1)  
                         pc.setqf("collect_count",1)
                        pc.setqf("drink_drug",1) 
                        end
        end

        state go_to_disciple begin
                when letter begin
                        send_letter("A Pesquisa do Biólogo")

                end
                when button or info begin
                        say_title("Conseguir Galhos Folhados ")
                        ---                                                   l
                        say()
                        say("O Biólogo, pediu que você vá a floresta em ")
                        say("busca dos Galhos Folhados, para suas pesquisas. ")
                        say("A entrada da floresta está bloqueada por árvores ")
                        say("com habilidades muito especiais. Traga os 25 ")
                        say("galhos folhados que ele precisa para concluir os ")
                        say("estudos. Lembre de entregar apenas um por vez. ")
                        say()
                        say()
                        say_item_vnum(30165)
                        say_reward("Você já entregou "..pc.getqf("collect_count").." Galhos")
                        say()
                end

                when 71035.use begin
                        if get_time() < pc.getqf("duration") then
                        say()
                        say("Você não pode usar o Soro da Persuasão ainda. ")
                        say()
                        return
                        end
                        if pc.getqf("drink_drug")==1 then
                                say()
                                say("Você já usou o Soro da Persuasão. ")
                                say()
                                return
                        end
                        if pc.count_item(30165)==0 then
                                say_title("Girab:")
                                say()
                                say("Quando você for entregar os Galhos, ")
                                say("poderá usar o Soro da Persuasão. ")
                                say()
                                return
                        end
                        item.remove()
                        pc.setqf("drink_drug",1)
                end
        when 2301.kill or 
             2302.kill or
             2303.kill or
             2304.kill or
             2305.kill or 
             2311.kill or 
             2312.kill or 
             2313.kill or
             2314.kill or
             2315.kill  begin
            local s = number(1, 80)
            if s == 1 and pc.count_item(30165)==0 then
                pc.give_item2(30165)
                send_letter("Você adquiriu "..item_name(30165).. ". ")
            end    
        end

        when 30132.use with pc.count_item(30132) >0 begin
            say_title(mob_name(20084))
            say("")
            say("Você deseja pular o tempo de espera?")
            local r = select("Sim","Fechar")
            if r == 2 then
            return
            else
            pc.remove_item("30132",1)
            pc.setqf("duration", get_time()-1)
            say_title(mob_name(20084))
            say("")
            say("Pronto, agora você pode entregar sua missão novamente!")
            return
            end
        end
         when 20084.chat."Você tem os Galhos? " with pc.count_item(30165) >0   begin
                        if get_time() > pc.getqf("duration") then
                                say_title("Girab: ")
                                say()
                                ---                                                   l
                                say("Você trouxe o Galho Folhado. ")
                                say("Eu tenho que verificar isso, ")
                                say("um momento por favor... ")
                                say()
                                pc.remove_item(30165, 1)
                                pc.setqf("duration",get_time()+60*60*2) -- 2ras
                                wait()
                                local pass_percent
                                if pc.getqf("drink_drug")==0 then
                                        pass_percent=60
                                else
                                        pass_percent=90
                                end

                                local s= number(1,100)
                                if s<= pass_percent  then
                                   if pc.getqf("collect_count")< 24 then                                                     
                                       local index =pc.getqf("collect_count")+1
                                       pc.setqf("collect_count",index)     
                                        say_title("Girab: ")
                                        say()
                                        say("Maravilha, obrigado... este está perfeito... ")
                                        say("Faltam".." "..25-pc.getqf("collect_count").. " Galhos Folhados. ")
                                        say("Boa sorte! Busque os que faltam. ")
                                        say()
                                        pc.setqf("drink_drug",0)        
                                        return
                                        end
                                        say_title("Girab: ")
                                        say()
                                        ---                                                   l
                                        say("Bom trabalho! Amigo! ")
                                        say("Me trouxe todos os Galhos Folhados! ")
                                        say("Vou terminar meus estudos e anotações. ")
                                        say("Agora preciso da Pedra da Alma Fantasma que ")
                                        say("você conseguira derrotando as arvores da ")
                                        say("Floresta Fantasma. Pode conseguir para mim?" )             
                                        say()
                                        pc.setqf("collect_count",0)
                                        pc.setqf("drink_drug",0)
                                        pc.setqf("duration",-1)
                                        set_state(key_item)
                                        return
                                else
                                say_title("Girab:")
                                say()
                                say("Hmm... infelizmente este Galho ")
                                say("Folhado não serve para estudo! ")
                                say("Consiga-me outro inteiro! ")
                                say()
                                pc.setqf("drink_drug",0)                                       
                                  return
                                end
                                else
                              say_title("Girab: ")
                            say()
          ---                                                   l
                            say("Olá!...")
                            say("Ainda não terminei a análise, ")
                            say("do galho que me entregou. ") 
                            say("Volte mais tarde. Obrigado! ")
                            say()
                  return
                end

        end
end


        state key_item begin
                when letter begin
                        send_letter("A Pedra da Alma Fantasma ")

                        if pc.count_item(30224)>0 then
                                local v = find_npc_by_vnum(20084)
                                if v != 0 then
                                        target.vid("__TARGET__", v, "A Pedra da Alma Fantasma ")
                                end
                        end

                end
                when button or info begin
                        if pc.count_item(30224) >0 then
                                say_title("A Pedra da Alma Fantasma ")
                                say()
                ---                                                   l
                                say("O Girab está em busca da Pedra da Alma ")
                                say("Fantasma. Finalmente você conseguiu. ")
                                say("Entregue para ele.")
                                say()
                                return
                        end

                        say_title("A Pedra da Alma Fantasma ")
                        say()
                        ---                                                   l
                        say("O Biólogo concluiu que de acordo com o ")
                        say("que pode conseguir na análise dos Galhos ") 
                        say("Folhados que existe a  Pedra da Alma Fantasma ")
                        say()
                        say()
                        say_item_vnum(30224)
                        say ("")
                        say("Procure na Floresta que encontrará derrotando as ")
                        say("Driades e todos os tipos de árvores. Mas sempre ")
                        say("há perigo, cuidado. Boa sorte. ")
                        say()
                end

        when 2301.kill or
             2302.kill or
             2303.kill or
             2304.kill or
             2305.kill or 
             2311.kill or 
             2312.kill or 
             2313.kill or
             2314.kill or
             2315.kill  begin 
                        local s = number(1, 500)
                        if s == 1 and pc.count_item(30224)==0 then
                                pc.give_item2(30224)
                                send_letter("Você conseguiu a Pedra da Alma Fantasma ")
                        end
                end

                when __TARGET__.target.click  or
                        20084.chat."Entregar a Pedra da Alma Fantasma " with pc.count_item(30224) > 0  begin
                    target.delete("__TARGET__")
                        say_title("Girab:")
            say()
              ---                                                   l
                        say("Muito Obrigado! ")
                        say("Estas árvores finalmente foram derrotadas! ")
                        say("Baek-Go, oferecerá uma excelente recompensa ")
                        say("por seu árduo trabalho. ")
                        say("Estou em dívida contigo! ")
                        say("Bem os problemas vão e vem, novamente ")
                        say("estou ocupado. Nos vemos em breve ")
                        say()
                        pc.remove_item(30224,1)
                        set_state(__reward)
                end

        end

        state __reward begin
                when letter begin
                        send_letter("Recompensa do Girab ")

                        local v = find_npc_by_vnum(20018)
                        if v != 0 then
                                target.vid("__TARGET__", v, "Baek Go")
                        end

                end
                when button or info begin
                        say_title("Recompensa do Girab ")
                        ---                                                   l
                        say ("")
                        say("Agora que você já entregou os 25 Galhos ")
                        say("Folhados e a Pedra da Alma Fantasma, ")
                        say("Baek-Go está esperando para te recompensar ")
                        say("com mais uma poção secreta poderosa. ")

                        say()
                end

                when __TARGET__.target.click  or
                        20018.chat."A Receita Secreta"  begin
                    target.delete("__TARGET__")
                        say_title("Baek-Go:")
            say()
            ---                                                   l
                        say("Então foi você quem nos ajudou ")
                        say("a combater a magia das árvores. ")
                        say("Então por sua valentia e determinação ")
                        say("vou te dar 10% de aumento na velocidade de ")
                        say("ataque permantentes.")
                        say()
                        say_title("Recompensa:")
                        say_reward("")
                        say_reward("Bonus Permanente: Velocidade de Ataque: +10%")
                        say()
                        affect.add_collect(apply.ATT_SPEED,10,60*60*24*365*60)    
                        clear_letter()
                        set_quest_state("collect_quest_lv80", "run")
                        set_state(__complete)
                end

        end


        state __complete begin
        end
end

 

Quest seems correct , just remember there's always a limit you can use on max att mov speed etc and other bonuses , since these bonuses add to a timer as a buff its not like its permanent

spacer.png

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.