Ir para conteúdo

Featured Replies

Postado
  • Autor
  Em 06/11/2023 em 20:24, GM Vortex disse:

local config = {
    NameBoss = "Boss Hits",
    rewardItem1 = {itemID = 8300, chance = 10}, -- 10% de chance de vim esse item
    rewardItem2 = {itemID = 8301, chance = 20}, -- 20% de chance de vim esse item
    rewardItem3 = {itemID = 8302, chance = 30}, -- 30% de chance de vim esse item
    rewardItem4 = {itemID = 8303, chance = 40}, -- 40% de chance de vim esse item
    effect = CONST_ME_MAGIC_RED
}

function onDeath(cid, corpse, deathList)
    local bossName = getCreatureName(cid)

    if bossName == config.NameBoss then
        local chanceToDropItem = math.random(1, 100)
        print("Chance de drop: " .. chanceToDropItem)

        local rewardItemID = nil

        if chanceToDropItem <= config.rewardItem1.chance then
            rewardItemID = config.rewardItem1.itemID
        elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance then
            rewardItemID = config.rewardItem2.itemID
        elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance then
            rewardItemID = config.rewardItem3.itemID
        elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance + config.rewardItem4.chance then
            rewardItemID = config.rewardItem4.itemID
        end

        if rewardItemID then
            doPlayerAddItemEx(deathList[1], rewardItemID, 1)
            doSendMagicEffect(getCreaturePosition(deathList[1]), config.effect)
            doPlayerSendTextMessage(deathList[1], MESSAGE_EVENT_DEFAULT, "Você recebeu um item raro como recompensa por derrotar o Boss!")
            print("Item dropado: " .. rewardItemID)
        else
            doPlayerSendTextMessage(deathList[1], MESSAGE_EVENT_DEFAULT, "Você não recebeu nenhum item como recompensa por derrotar o Boss.")
        end
    end
end

Deve registrar no monstro. Procure por esta linha </monster> antes do final e adicione. Por exemplo, assim aqui

 

<script>
<event name="Kronos"/>
</script>
</monster>

ou aqui funçao onKill..


local config = {
    NameBoss = "Boss Hits",
    rewardItem1 = {itemID = 8300, chance = 10}, -- 10% de chance de vim esse item
    rewardItem2 = {itemID = 8301, chance = 20}, -- 20% de chance de vim esse item
    rewardItem3 = {itemID = 8302, chance = 30}, -- 30% de chance de vim esse item
    rewardItem4 = {itemID = 8303, chance = 40}, -- 40% de chance de vim esse item
    effect = CONST_ME_MAGIC_RED
}

function onKill(cid, target)
    if isMonster(target) then
        local bossName = getCreatureName(target)
        print("Nome do Boss: " .. bossName) 

        if bossName == config.NameBoss then
            local chanceToDropItem = math.random(1, 100)
            print("Chance de drop: " .. chanceToDropItem)

            local rewardItemID = nil

            if chanceToDropItem <= config.rewardItem1.chance then
                rewardItemID = config.rewardItem1.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance then
                rewardItemID = config.rewardItem2.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance then
                rewardItemID = config.rewardItem3.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance + config.rewardItem4.chance then
                rewardItemID = config.rewardItem4.itemID
            end

            if rewardItemID then
                doPlayerAddItemEx(cid, rewardItemID, 1)
                doSendMagicEffect(getCreaturePosition(cid), config.effect)
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você recebeu um item raro como recompensa por derrotar o Boss!")
                print("Item dropado: " .. rewardItemID)
            else
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não recebeu nenhum item como recompensa por derrotar o Boss.")
            end
        else
            print("Boss não encontrado no banco de dados ou não é 'Boss Hits'.")
        end
    end
end

 

error na onkill =[

 

error.png

  • Respostas 14
  • Visualizações 218
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • data > creaturescripts > creaturescripts.xml   <event type="kill" name="killTheBoss" event="script" value="killTheBoss.lua"/> <event type="login" name="killTheBossLogin" eve

  • Mateus Robeerto
    Mateus Robeerto

    tentou onDeath? local config = { NameBoss = "Boss Hits", rewardItem1 = {itemID = 8300, chance = 10}, -- 10% de chance de vim esse item rewardItem2 = {itemID = 8301, chance = 20}, -- 20%

Posted Images

Postado

tentou onDeath?

local config = {
    NameBoss = "Boss Hits",
    rewardItem1 = {itemID = 8300, chance = 10}, -- 10% de chance de vim esse item
    rewardItem2 = {itemID = 8301, chance = 20}, -- 20% de chance de vim esse item
    rewardItem3 = {itemID = 8302, chance = 30}, -- 30% de chance de vim esse item
    rewardItem4 = {itemID = 8303, chance = 40}, -- 40% de chance de vim esse item
    effect = CONST_ME_MAGIC_RED
}

function onKill(cid, target)
    if isMonster(target) then
        local bossName = getCreatureName(target)
        print("Nome do Boss: " .. bossName) 

        if bossName == config.NameBoss then
            local chanceToDropItem = math.random(1, 100)
            print("Chance de drop: " .. chanceToDropItem)

            local rewardItemID = nil

            if chanceToDropItem <= config.rewardItem1.chance then
                rewardItemID = config.rewardItem1.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance then
                rewardItemID = config.rewardItem2.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance then
                rewardItemID = config.rewardItem3.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance + config.rewardItem4.chance then
                rewardItemID = config.rewardItem4.itemID
            end

            if rewardItemID then
                doPlayerAddItemEx(cid, rewardItemID, 1)
                doSendMagicEffect(getCreaturePosition(cid), config.effect)
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você recebeu um item raro como recompensa por derrotar o Boss!")
                print("Item dropado: " .. rewardItemID)
            else
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não recebeu nenhum item como recompensa por derrotar o Boss.")
            end
        else
            print("Boss não encontrado no banco de dados ou não é 'Boss Hits'.")
        end
    end
end

 

Postado
  • Autor
  Em 06/11/2023 em 20:48, GM Vortex disse:

tentou onDeath?


local config = {
    NameBoss = "Boss Hits",
    rewardItem1 = {itemID = 8300, chance = 10}, -- 10% de chance de vim esse item
    rewardItem2 = {itemID = 8301, chance = 20}, -- 20% de chance de vim esse item
    rewardItem3 = {itemID = 8302, chance = 30}, -- 30% de chance de vim esse item
    rewardItem4 = {itemID = 8303, chance = 40}, -- 40% de chance de vim esse item
    effect = CONST_ME_MAGIC_RED
}

function onKill(cid, target)
    if isMonster(target) then
        local bossName = getCreatureName(target)
        print("Nome do Boss: " .. bossName) 

        if bossName == config.NameBoss then
            local chanceToDropItem = math.random(1, 100)
            print("Chance de drop: " .. chanceToDropItem)

            local rewardItemID = nil

            if chanceToDropItem <= config.rewardItem1.chance then
                rewardItemID = config.rewardItem1.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance then
                rewardItemID = config.rewardItem2.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance then
                rewardItemID = config.rewardItem3.itemID
            elseif chanceToDropItem <= config.rewardItem1.chance + config.rewardItem2.chance + config.rewardItem3.chance + config.rewardItem4.chance then
                rewardItemID = config.rewardItem4.itemID
            end

            if rewardItemID then
                doPlayerAddItemEx(cid, rewardItemID, 1)
                doSendMagicEffect(getCreaturePosition(cid), config.effect)
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você recebeu um item raro como recompensa por derrotar o Boss!")
                print("Item dropado: " .. rewardItemID)
            else
                doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não recebeu nenhum item como recompensa por derrotar o Boss.")
            end
        else
            print("Boss não encontrado no banco de dados ou não é 'Boss Hits'.")
        end
    end
end

 

deu esse error

dddddddddddddddddddddddddddddddddddddddddddddd.png

Postado
  • Solução
  Em 06/11/2023 em 16:45, Doidodepeda disse:

Estou tentando usar esse cript de boss, porem da esse error, alguem podeira me ajudar a fazer funcionar pf ?
TFS 0.4 8.60

 



ERROR:
 

 

 

data > creaturescripts > creaturescripts.xml

 

	<event type="kill"  name="killTheBoss" event="script" value="killTheBoss.lua"/>
	<event type="login" name="killTheBossLogin" event="script" value="killTheBoss.lua"/>

 

data > creaturescripts > scripts > killTheBoss.lua

 

local config = {
    monsters = {"Boss Hits"},
    rewards = {
        {itemID = 8300, chanceToGainInPercent = 10, quantity = 1},
        {itemID = 8301, chanceToGainInPercent = 20, quantity = 1},
        {itemID = 8302, chanceToGainInPercent = 30, quantity = 1},
        {itemID = 8303, chanceToGainInPercent = 40, quantity = 1},
    }, 
    effect = 27,
}

-- Função para selecionar um item com base na porcentagem
function selectRandomItem()
    local totalChance = 0

    for _, reward in pairs(config.rewards) do
        totalChance = totalChance + reward.chanceToGainInPercent
    end

    local randomValue = math.random(1, totalChance)
    local cumulativeChance = 0

    for _, reward in pairs(config.rewards) do
        cumulativeChance = cumulativeChance + reward.chanceToGainInPercent

        if randomValue <= cumulativeChance then
            return reward
        end
    end
end


function onKill(cid, target, lastHit)
    if isPlayer(cid) and isMonster(target) then
        
        if getCreatureMaster(target) ~= nil then
            return true
        end

        local monsterNameKilled = getCreatureName(target)

        if isInArray(config.monsters, monsterNameKilled) then            
            local selectedItem = selectRandomItem()
            doPlayerAddItem(cid, selectedItem.itemID, selectedItem.quantity)
            doSendMagicEffect(getCreaturePosition(cid), config.effect)
        end 
        
    end
    return true
end

function onLogin(cid)
    registerCreatureEvent(cid, "killTheBoss")
    return true
end

 

Postado
  • Autor
  Em 06/11/2023 em 22:07, Imperius disse:

 

data > creaturescripts > creaturescripts.xml

 


	<event type="kill"  name="killTheBoss" event="script" value="killTheBoss.lua"/>
	<event type="login" name="killTheBossLogin" event="script" value="killTheBoss.lua"/>

 

data > creaturescripts > scripts > killTheBoss.lua

 


local config = {
    monsters = {"Boss Hits"},
    rewards = {
        {itemID = 8300, chanceToGainInPercent = 10, quantity = 1},
        {itemID = 8301, chanceToGainInPercent = 20, quantity = 1},
        {itemID = 8302, chanceToGainInPercent = 30, quantity = 1},
        {itemID = 8303, chanceToGainInPercent = 40, quantity = 1},
    }, 
    effect = 27,
}

-- Função para selecionar um item com base na porcentagem
function selectRandomItem()
    local totalChance = 0

    for _, reward in pairs(config.rewards) do
        totalChance = totalChance + reward.chanceToGainInPercent
    end

    local randomValue = math.random(1, totalChance)
    local cumulativeChance = 0

    for _, reward in pairs(config.rewards) do
        cumulativeChance = cumulativeChance + reward.chanceToGainInPercent

        if randomValue <= cumulativeChance then
            return reward
        end
    end
end


function onKill(cid, target, lastHit)
    if isPlayer(cid) and isMonster(target) then
        
        if getCreatureMaster(target) ~= nil then
            return true
        end

        local monsterNameKilled = getCreatureName(target)

        if isInArray(config.monsters, monsterNameKilled) then            
            local selectedItem = selectRandomItem()
            doPlayerAddItem(cid, selectedItem.itemID, selectedItem.quantity)
            doSendMagicEffect(getCreaturePosition(cid), config.effect)
        end 
        
    end
    return true
end

function onLogin(cid)
    registerCreatureEvent(cid, "killTheBoss")
    return true
end

 

Funcionou man, Muito obrigado !

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo