Ir para conteúdo
  • 0

alguem da uma ajuda aqui rapidin


Emooooo

Pergunta

nao estou conseguir deixa que seja exibido apenas uma mensagem de loot quando a criatura morre , gostaria de deixar aparecer apenas a mensagem debaixo e colocar (boosted loot) . usei a I.A para fazer o script e ela nao resolve essa parte

ai como esta sendo exibido.

13:08 Loot of rat: 3 gold coin, (boosted loot)
13:08 Loot of a rat: cheese, 3 gold coins, 3 gold coins.

gostaria que fosse assim.

13:08 Loot of a rat: cheese, 3 gold coins, 3 gold coins. (boosted loot)

Citar

local BOOSTED_MONSTER = 56404
local boostedMonstersList = {"rat"}
local experienceBonus = 8.0

function onDeath(cid, corpse, deathList)
    local master = getCreatureMaster(cid)
    if (master and master ~= cid) then
        return true
    end

    local boostedMonster = boostedMonstersList[getGlobalStorageValue(BOOSTED_MONSTER)]
    if getCreatureName(cid):lower() == boostedMonster then
        -- Inicializa a mensagem de loot
        local lootMessage = "Loot of " .. getCreatureName(cid):lower() .. ": "
        local lootAdded = false

        for i = 1, #deathList do
            -- Experiência bônus
            local bonusExperience = getMonsterInfo(getCreatureName(cid)).experience / i * getPlayerRates(deathList[i])[SKILL__LEVEL] * experienceBonus
            doPlayerAddExperience(deathList[i], bonusExperience)
            doSendAnimatedText(getPlayerPosition(deathList[i]), bonusExperience, 215)

            -- Iteração sobre o loot
            local lootList = getMonsterLootList(getCreatureName(cid))
            for _, loot in pairs(lootList) do
                if loot.count > 1 then
                    local numb = math.random(1, loot.count)
                    doAddContainerItem(corpse.uid, loot.id, numb)
                    if not lootAdded then
                        lootMessage = lootMessage .. numb .. " " .. getItemNameById(loot.id) .. ", "
                        lootAdded = true
                    end
                elseif math.random(1, 100000) <= loot.chance then
                    doAddContainerItem(corpse.uid, loot.id, 1)
                    if not lootAdded then
                        lootMessage = lootMessage .. getItemNameById(loot.id) .. ", "
                        lootAdded = true
                    end
                end
            end
        end

        -- Adiciona "(boosted loot)" ao final da mensagem
        lootMessage = lootMessage .. "(boosted loot)"
        
        -- Envia a mensagem de loot para todos os jogadores
        for i = 1, #deathList do
            doPlayerSendTextMessage(deathList[i], MESSAGE_INFO_DESCR, lootMessage)
        end
    end

    return true
end
 

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
local BOOSTED_MONSTER = 56404
local boostedMonstersList = {"rat"}
local experienceBonus = 8.0

function onDeath(cid, corpse, deathList)
    local master = getCreatureMaster(cid)
    if (master and master ~= cid) then
        return true
    end

    local boostedMonster = boostedMonstersList[getGlobalStorageValue(BOOSTED_MONSTER)]
    if getCreatureName(cid):lower() == boostedMonster then
        -- Inicializa a mensagem de loot
        local lootMessage = "Loot of " .. getCreatureName(cid):lower() .. ": "
        local lootList = getMonsterLootList(getCreatureName(cid))
        local firstLoot = true

        for _, loot in pairs(lootList) do
            if loot.count > 1 then
                local numb = math.random(1, loot.count)
                doAddContainerItem(corpse.uid, loot.id, numb)
                if firstLoot then
                    lootMessage = lootMessage .. numb .. " " .. getItemNameById(loot.id)
                    firstLoot = false
                else
                    lootMessage = lootMessage .. ", " .. numb .. " " .. getItemNameById(loot.id)
                end
            elseif math.random(1, 100000) <= loot.chance then
                doAddContainerItem(corpse.uid, loot.id, 1)
                if firstLoot then
                    lootMessage = lootMessage .. getItemNameById(loot.id)
                    firstLoot = false
                else
                    lootMessage = lootMessage .. ", " .. getItemNameById(loot.id)
                end
            end
        end

        -- Adiciona "(boosted loot)" ao final da mensagem
        lootMessage = lootMessage .. ". (boosted loot)"

        -- Envia a mensagem de loot para todos os jogadores
        for i = 1, #deathList do
            doPlayerSendTextMessage(deathList[i], MESSAGE_INFO_DESCR, lootMessage)
        end
    end

    return true
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, El Rusher disse:
local BOOSTED_MONSTER = 56404
local boostedMonstersList = {"rat"}
local experienceBonus = 8.0

function onDeath(cid, corpse, deathList)
    local master = getCreatureMaster(cid)
    if (master and master ~= cid) then
        return true
    end

    local boostedMonster = boostedMonstersList[getGlobalStorageValue(BOOSTED_MONSTER)]
    if getCreatureName(cid):lower() == boostedMonster then
        -- Inicializa a mensagem de loot
        local lootMessage = "Loot of " .. getCreatureName(cid):lower() .. ": "
        local lootList = getMonsterLootList(getCreatureName(cid))
        local firstLoot = true

        for _, loot in pairs(lootList) do
            if loot.count > 1 then
                local numb = math.random(1, loot.count)
                doAddContainerItem(corpse.uid, loot.id, numb)
                if firstLoot then
                    lootMessage = lootMessage .. numb .. " " .. getItemNameById(loot.id)
                    firstLoot = false
                else
                    lootMessage = lootMessage .. ", " .. numb .. " " .. getItemNameById(loot.id)
                end
            elseif math.random(1, 100000) <= loot.chance then
                doAddContainerItem(corpse.uid, loot.id, 1)
                if firstLoot then
                    lootMessage = lootMessage .. getItemNameById(loot.id)
                    firstLoot = false
                else
                    lootMessage = lootMessage .. ", " .. getItemNameById(loot.id)
                end
            end
        end

        -- Adiciona "(boosted loot)" ao final da mensagem
        lootMessage = lootMessage .. ". (boosted loot)"

        -- Envia a mensagem de loot para todos os jogadores
        for i = 1, #deathList do
            doPlayerSendTextMessage(deathList[i], MESSAGE_INFO_DESCR, lootMessage)
        end
    end

    return true
end

 

22:28 Loot of rat: 4 gold coin, cheese. (boosted loot)
22:28 Loot of a rat: cheese, 4 gold coins, cheese, 4 gold coins.  

continua do mesmo jeito.                                    tsf 0.3.6 a versao 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...