Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Como faço para que o local chance = 1 seja alterado para uma array do tipo local rare_items = {2152, 2555, 3252}?


Desde já agradeço pela ajuda. (Sou iniciante).

 

Código:

 

local effect = CONST_ME_TUTORIALARROW -- magic effect
local chance = 1 -- magic effect for item that drops less than 5% of the time

function onLogin(player)
    player:registerEvent('rarelootkill')
    return true
end

function onKill(player, target)
    if target:isMonster() then target:registerEvent('rarelootdeath') end
    return true
end

function getContainerItemIds(container)
    t = {}
    if not container then return t end
    if not container:getSize() then return t end
    for i = container:getSize()-1, 1, -1 do
        table.insert(t,container:getItem(i):getId())
    end
    return t
end

function hasItemById(container,itemid)
    if not itemid or not container then return false end
    if isInArray(getContainerItemIds(container),itemid) then return true end
    return false
end

function onDeath(creature, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified)
    if not creature then return true end
    local loot = creature:getType():getLoot()
    if not loot then return true end
    local totalchance = 0
    for i, k in pairs(loot) do
        totalchance = totalchance + k.chance
    end
    addEvent(function()
        for i, k in pairs(loot) do
            if not corpse or not killer then
                return
            end
            if hasItemById(corpse,k.itemId) and k.chance/totalchance < chance/100  then
                corpse:getPosition():sendMagicEffect(effect)
                killer:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You looted a "..ItemType(k.itemId):getName().."!")
            end
        end
    end,1)
    return true
end

 

Editado por darkmu (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Não testado.

Spoiler

local effect = CONST_ME_TUTORIALARROW -- magic effect
local rareItems = {2154, 2160}

function onLogin(player)
    player:registerEvent('rarelootkill')
    return true
end

function onKill(player, target)
    if target:isMonster() then target:registerEvent('rarelootdeath') end
    return true
end

function getContainerItemIds(container)
    t = {}
    if not container then return t end
    if not container:getSize() then return t end
    for i = container:getSize()-1, 1, -1 do
        table.insert(t,container:getItem(i):getId())
    end
    return t
end

function hasItemById(container,itemid)
    if not itemid or not container then return false end
    if isInArray(getContainerItemIds(container),itemid) then return true end
    return false
end

function onDeath(creature, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified)
    if not creature then return true end
    local loot = creature:getType():getLoot()
    if not loot then return true end
    addEvent(function()
        for i, k in pairs(loot) do
            if not corpse or not killer then
                return
            end
            if hasItemById(corpse,k.itemId) and isInArray(rareItems, k.itemid) then
                corpse:getPosition():sendMagicEffect(effect)
                killer:sendTextMessage(MESSAGE_STATUS_DEFAULT, "You looted a "..ItemType(k.itemId):getName().."!")
            end
        end
    end,1)
    return true
end

 

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo