Postado Novembro 6, 2023 1 ano Estou tentando usar esse cript de boss, porem da esse error, alguem podeira me ajudar a fazer funcionar pf ? TFS 0.4 8.60 Citar local config = { monster = {"Boss"}, -- nome dos monstros, separados por vírgulas. items = { {itemID = 9693, chance = 10}, -- item [1] -- 10% de chance {itemID = 9971, chance = 5}, -- item [2] -- 5% de chance -- Adicione o resto dos itens aqui }, effect = 27, -- efeito ao matar o monstro. } function onKill(cid, target) if isInArray(config.monster, getCreatureName(target)) then local player = Player(cid) if player then local droppedItem = false for _, itemData in ipairs(config.items) do if math.random(100) <= itemData.chance then player:addItem(itemData.itemID, 1) droppedItem = true break -- Se um item cair, saia do loop. end end if droppedItem then doBroadcastMessage("O Boss morreu e você obteve um item!", MESSAGE_STATUS_WARNING) else doBroadcastMessage("O Boss morreu, mas você não obteve nenhum item.", MESSAGE_STATUS_WARNING) end doSendMagicEffect(getThingPos(cid), config.effect) end end return true end ERROR: Citar [13:43:25.786] [Error - CreatureScript Interface] [13:43:25.787] data/creaturescripts/scripts/premio_boss.lua:onKill [13:43:25.788] Description: [13:43:25.789] data/creaturescripts/scripts/premio_boss.lua:18: attempt to index global 'getPlayerIp' (a function value)
Postado Novembro 6, 2023 1 ano Que diabos? Este script foi feito para o TFS 1.x, não para o TFS 0.4. Vamos verificar se o script foi feito para o TFS 1.x ou 0.4. Preste atenção aqui. TFS 1.X. local player = Player(cid) player:addItem(itemData.itemID, 1) TFS 0.4. doPlayerAddItem(cid, itemData.itemID, 1) o resto é quase igual. o script pronto aqui.. local config = { monster = {"Boss"}, -- nome dos monstros, separados por vírgulas. items = { {itemID = 9693, chance = 10}, -- item [1] -- 10% de chance {itemID = 9971, chance = 5}, -- item [2] -- 5% de chance -- Adicione o resto dos itens aqui }, effect = 27, -- efeito ao matar o monstro. } function onKill(cid, target) if isInArray(config.monster, getCreatureName(target)) then if isPlayer(target) then local droppedItem = false for _, itemData in ipairs(config.items) do if math.random(100) <= itemData.chance then doPlayerAddItem(cid, itemData.itemID, 1) droppedItem = true break -- Se um item cair, saia do loop. end end if droppedItem then doBroadcastMessage("O Boss morreu e você obteve um item!", MESSAGE_STATUS_WARNING) else doBroadcastMessage("O Boss morreu, mas você não obteve nenhum item.", MESSAGE_STATUS_WARNING) end doSendMagicEffect(getThingPos(cid), config.effect) end end return true end
Postado Novembro 6, 2023 1 ano Autor Entao amigo, eu pedir para um cara complementar a parte de da so 1 item e para ter chance de qual item o player iria ganhar, porem eles fez dessa forma ai e nao funcionou, e ele desapareceu. E como voce disse ai ta pra tfs x. e o meu e 0.4. Acho q ele se passou =[ o script de verdade é esse aqui. q ele modificou para esse q postei antes. Se voce manja, teria como da essa força namoral ? pra funcionar na tfs 0.4 Citar local config = { monster = {"Boss Hits"}, -- nome dos monstros, separado por vírgulas. item = {[1] = 9693, [2] = 9971, [3] = 7440, [4] = 8300, [5] = 12289,}, -- [um numero maior que o anterior] = ID do item1, ID do item2, ID do item3... qnt = {[1] = 1, [2] = 100, [3] = 1, [4] = 1, [5] = 1,}, -- [um numero maior que o anterior] = quantidade do item1, quantidade do item2, quantidade do item3... effect = 27, -- efeito ao matar o monstro. } function onKill(cid, target) if isInArray(config.monster, getCreatureName(target)) then for i = 1, #config.item do doPlayerAddItem (cid, config.item[i], config.qnt[i]) local players = getPlayersOnline() if #players > 0 then local t,v = {},{} for _, pid in pairs(players) do if not isInArray(t, getPlayerIp(pid)) then t[#t+1] = getPlayerIp(pid) v[#v+1] = pid end end end end doSendMagicEffect (getThingPos (cid), config.effect) end return true end
Postado Novembro 6, 2023 1 ano function onKill(player, target) if isPlayer(target) and isMonster(target) then local bossName = getCreatureName(target) local chanceToDropItem = math.random(1, 100) -- Gera um número aleatório entre 1 e 100 if bossName == "Boss Hits" then if chanceToDropItem <= 50 then -- 50% de chance de receber um item local itemsToDrop = { 1234, -- ID do primeiro item 5678, -- ID do segundo item 91011 -- ID do terceiro item, e assim por diante } local randomItemID = itemsToDrop[math.random(1, #itemsToDrop)] local newItem = doCreateItem(randomItemID, 1) if newItem then doPlayerAddItem(player, newItem) doPlayerSendTextMessage(player, MESSAGE_EVENT_DEFAULT, "Você recebeu um item raro como recompensa por derrotar o Boss!") end else doPlayerSendTextMessage(player, MESSAGE_EVENT_DEFAULT, "Você não recebeu nenhum item como recompensa por derrotar o Boss.") end end end end tentar!
Postado Novembro 6, 2023 1 ano Autor Em 06/11/2023 em 19:50, GM Vortex disse: function onKill(player, target) if isPlayer(target) and isMonster(target) then local bossName = getCreatureName(target) local chanceToDropItem = math.random(1, 100) -- Gera um número aleatório entre 1 e 100 if bossName == "Boss Hits" then if chanceToDropItem <= 50 then -- 50% de chance de receber um item local itemsToDrop = { 1234, -- ID do primeiro item 5678, -- ID do segundo item 91011 -- ID do terceiro item, e assim por diante } local randomItemID = itemsToDrop[math.random(1, #itemsToDrop)] local newItem = doCreateItem(randomItemID, 1) if newItem then doPlayerAddItem(player, newItem) doPlayerSendTextMessage(player, MESSAGE_EVENT_DEFAULT, "Você recebeu um item raro como recompensa por derrotar o Boss!") end else doPlayerSendTextMessage(player, MESSAGE_EVENT_DEFAULT, "Você não recebeu nenhum item como recompensa por derrotar o Boss.") end end end end tentar! Sem nenhum error no console, porem o monstro n morre e nao ganha o item.
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.