Ir para conteúdo
  • Cadastre-se

Error script boss


Ir para solução Resolvido por Imperius,

Posts Recomendados

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

Mostrar mais  



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)

Mostrar mais  

 

Link para o post
Compartilhar em outros sites
  • Respostas 14
  • Created
  • Última resposta

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Popular Posts

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 =

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

Posted Images

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

 

Link para o post
Compartilhar em outros sites

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

Mostrar mais  

 

Link para o post
Compartilhar em outros sites
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!

Link para o post
Compartilhar em outros sites
  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!

Expand   Mostrar mais  

Sem nenhum error no console, porem o monstro n morre e nao ganha o item.

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.

  • Estatísticas dos Fóruns

    96844
    Tópicos
    519609
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo