Jump to content
  • Announcements

    • Tierri Lopes

      Introduce yourself   12/20/2017

      Introduce yourself here:  https://tlthings.net/board/index.php?/forum/6-apresentações/  
Sign in to follow this  
Aeglon

event_drop

Recommended Posts

Please login or register to see this code.

agora testei e funciona

 

e corrigi as anteriores

Edited by Aeglon
  • Like 1

Share this post


Link to post
Share on other sites
Please login or register to see this code.

desta forma não é preciso o GM activar

Edited by Aeglon

Share this post


Link to post
Share on other sites

Dropará uma vez, para dropar a cada 10 mobs mortos, adicionar

Please login or register to see this code.

após:

Please login or register to see this code.

 

Share this post


Link to post
Share on other sites

Uma última coisa, se for possível é claro.

Como faço para colocar nível de diferença no máximo 10, exemplo se eu for nível 12 não dropo em mob do nível 1.

E se é possível colocar 3 tipos de itens para dropar porém sortidos?

Share this post


Link to post
Share on other sites

Fiz dessa maneira, porém não funcionou.

quest drop_especial begin
    state start begin
        --- desta forma é para todos os moobs, se quiseres moobs certos usa
        -- when kill with npc.get_race() == 101 begin    --- para cães selvagens
        -- when kill with npc.get_race() == 101 or npc.get_race() == 102 begin    --- para 2 moobs para mais, basta ires fazendo or  npc.get_race() == vnum do mob
        
        when kill with not npc.is_pc() begin  
                -- Diferença maior que 10 niveis
                if math.abs(pc.get_level() - npc.get_level()) > 10 then
                return
                else
                pc.setqf("drop_especial", pc.getqf("drop_especial") + 1)
                if pc.getqf("drop_especial") == 10 then        ---    Altera para o numero de kills a fazer para o drop
                -- Drop aleatório
                local drop = {50135, 50136, 50137}
                game.drop_item_with_ownership(drop[number(1, table.getn(drop))])
                pc.setqf("drop_especial",0)                --- remove esta linha se não queres que eles dropem sempre de x em x moobs
                end                
            end
        end
    end
end

Share this post


Link to post
Share on other sites
Please login or register to see this quote.

@PACI tu não imaginas, mas eu aprendi bastante a nível de quests contigo. E uma vez mais, acabei de aprender uma nova forma para o drop aleatório. Eu usava outra forma, mas com mais uma linha.... é sempre bom, e tenho imenso orgulho\prazer  nisto que te digo: "é delirante ver a "delicadeza" das tuas quests ;)

Obrigado por tudo.

Edited by Aeglon
  • Like 1

Share this post


Link to post
Share on other sites

 

Please login or register to see this code.

@LuizFernando  se voltares ao inicio do tópico e se prestares atenção a tudo. Irás perceber que tens muita coisa para meter os drops por quest da forma que quiseres ;)

Share this post


Link to post
Share on other sites

number() em vez de math.random().
Mas se preferires o segundo, aconselho-te a utilizares: math.randomseed(os.time()) antes.

 

Share this post


Link to post
Share on other sites
Please login or register to see this quote.

Desconhecia de todo essa função. 

Quando puderes e se puderes, explica (com exemplos) qual a diferença entre math.random() math.randomseed(os.time())

edit: no need! Please login or register to see this link.

Edited by Aeglon

Share this post


Link to post
Share on other sites

Estou tendo esse erro aqui.

SYSERR: Dec  6 19:58:07 :: RunState: LUA_ERROR: [string "drop_especial"]:1: attempt to call field `get_level' (a nil value)
SYSERR: Dec  6 19:58:07 :: WriteRunningStateToSyserr: LUA_ERROR: quest drop_especial.start click

Share this post


Link to post
Share on other sites

Não possuis a função npc.get_level().
Coloca a seguinte no teu questlua_npc.cpp e adiciona-o ao array de funções.

Please login or register to see this code.

 

Edited by PACI

Share this post


Link to post
Share on other sites

Fiz dessa maneira, está correto?

Please login or register to see this image. /applications/core/interface/imageproxy/imageproxy.php?img=https://i.imgur.com/NQhqysZ.png&key=b2ee6f2cb0e989b98ab008e5beb11fcd29922e356737d18e30b74fe452bcbb61" width="627">

Please login or register to see this attachment.

Edited by LuizFernando

Share this post


Link to post
Share on other sites
Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use.