Postado Novembro 6, 2023 1 ano 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 =[
Postado Novembro 6, 2023 1 ano 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 Novembro 6, 2023 1 ano 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
Postado Novembro 6, 2023 1 ano 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 Novembro 6, 2023 1 ano 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.