Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Gente estou usando este ONKILL no reward chest, mais quando eu uso UTEVO RES "fire elemental ou outro monstro se ele matar ou participar do boss do reward chest o servidor cai.

Existe algum meio de fazer o summon do utevo res não participar do reward chest depois que o boss ser morto?

Por favor aceito qualquer uma ideia

 

function onKill(cid, target)
target = Monster(target)
    if (target ~= nil) then
        local mt = MonsterType(target:getName())
        if mt:useRewardChest() then
            local loot = BossLoot:new(target)
            if loot then
                local corpse = Item(doCreateItem(MonsterType(target:getName()):getCorpseId(), 1, target:getPosition()))
                doDecayItem()
                target:setDropLoot(false)
                loot:updateDamage()
                loot:setRewards()
		loot:addRewards()
                corpse:setAttribute('aid', 21584)
            end
        end
    end
	return true
end

 

Link para o post
Compartilhar em outros sites
function onKill(cid, target)
target = Monster(target)
    if target ~= nil and Player(cid) ~= nil then
        local mt = MonsterType(target:getName())
        if mt:useRewardChest() then
            local loot = BossLoot:new(target)
            if loot then
                local corpse = Item(doCreateItem(MonsterType(target:getName()):getCorpseId(), 1, target:getPosition()))
                doDecayItem()
                target:setDropLoot(false)
                loot:updateDamage()
                loot:setRewards()
		loot:addRewards()
                corpse:setAttribute('aid', 21584)
            end
        end
    end
	return true
end

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

@xWhiteWolf obrigado amigo, mais parece que não deu certo ou pode ser outra coisa.

Eu detectei que se eu ligar o server e ir la matar o boss com o player funciona normal... logo apos se eu summonar utevo res ".... ele derruba o server.

Mais eu fiz ao contrario, liguei o server fui matar diretamente com o utevo res ".... o server não caiu, mais dai quando eu matei novamente com o PLAYER o server caiu.

Tem ideia do que seja?

 

Eu vi em outro fórum falando sobre algo do tipo e o cara fez isto.

eu tentei dos dois modos mais continuou caindo.

 

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
    if (Monster(creature) ~= nil) then
        local mt = MonsterType(creature:getName())
        if mt:useRewardChest() then
            if attacker:getMaster() or not attacker:isPlayer() then
                return false
            end
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
end

ou

function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin)
    if (Monster(creature) ~= nil) then
        local mt = MonsterType(creature:getName())
        if mt:useRewardChest() then
            if primaryType ~= COMBAT_HEALING then
                if attacker == nil then
                    return false
                end
                if attacker:getMaster() or not attacker:isPlayer() then
                    return false
                end
            end
        end
    end
    return primaryDamage, primaryType, secondaryDamage, secondaryType
end

 

Editado por GlobalCores (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

não faço idéia, teria que analisar uma por uma as funções do reward chest.. pq vc não desabilita ele?

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

ja esta desabilitado.. eu so estou querendo fazer funcionar porque to muito tempo tentando arrumar esse reward, consegui resolver o problema do debug que ficava derrubando mais agora esse do summon achei que seria mais simples

 

@xWhiteWolf te mando o script inteiro você pode olhar pra mim e me dar uma ideia?

Link para o post
Compartilhar em outros sites

O problema é que esses rewards chests q tem por aí são tudo umas gambiarras, eu não posso me comprometer em te ajudar e acabar me metendo no meio de uma gambiarra gigantesca que vai deixar nós dois cansados. Se fosse algo oficial ou que eu tivesse feito, com um bug simples eu até podia tentar te dar uma força

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

@xWhiteWolf você com certeza não pode fazer um então ne?

mais então o script inteiro ta aqui, eu estou  tentando arrumar diariamente acabo perdendo a paciência e deixando pra la mais depois volto é que preciso muito adicionar um negocio desses no server eu vejo muitos ots por ai que tem.

 

Se pudesse fazer com que o summon ou monstros não cause nenhum dano no boss do reward acho que resolveria o problema.

Será possível fazer isso?

 

Alguém pode tentar me ajudar ai por favor também... opinião é sempre bem vinda.

 

function sort_descending(t)
    local tmp = {}
    for k, v in pairs(t) do
        table.insert(tmp, {k, v})
    end
    table.sort(tmp, function(a, b) return a[2] > b[2] end)
    return tmp
end

function table.find(t, v)
    for i,x in pairs(t) do
        if x == v then
            return true
        end
    end
end

function Player:addItemRewardBag(item)
local rewardbag = self:getDepotChest(99, true)
    return rewardbag:addItemEx(item)
end

function MonsterType:getBossReward(chance, unique)
    local ret = {}
    local function randomItem(lootBlock, chance)
        local randvalue = math.random(0, 100000) / (getConfigInfo("rateLoot") * chance)
        if randvalue < lootBlock.chance then
            if (ItemType(lootBlock.itemId):isStackable()) then
                return (randvalue%lootBlock.maxCount) + 0
            else
                return 1
            end
        end
    end
    local lootBlockList = self:getLoot()
    for _, loot in pairs(lootBlockList) do
        local rd = randomItem(loot, chance)
        if rd then
            if loot.uniquedrop then
                if unique then
                    table.insert(ret, {loot, rd})
                end
            else
                table.insert(ret, {loot, rd})
            end
        end
    end
    return ret
end

BossLoot = {}
BossUids = {}

function BossLoot:new(boss)
    if not table.find(BossUids, boss:getId()) then
        table.insert(BossUids, boss:getId())
        return setmetatable({creature=boss}, {__index = BossLoot})
    end
end

function BossLoot:updateDamage()
    if self.creature then
        local tmp = {}
        local totaldmg = 0
        for killer, damage in pairs(self.creature:getDamageMap()) do
            totaldmg = totaldmg+damage.total
            tmp[killer] = damage.total
        end
        self.players = sort_descending(tmp)
        self.totaldmg = totaldmg
    else
        error("Creature not found.")
    end
end

function BossLoot:setRewards()
    if self.totaldmg and self.creature then
        if getConfigInfo("rateLoot") > 0 then
            local mt = MonsterType(self.creature:getName())
            for i, playertab in ipairs(self.players) do
                local loot
                if i == 1 then
                    loot = mt:getBossReward(playertab[2] / self.totaldmg, true)
                else
                    loot = mt:getBossReward(playertab[2] / self.totaldmg, false)
                end
                table.insert(self.players[i], loot)
            end
        end
    else
        error("Error")
    end
end

local bagId = 20620
function BossLoot:addRewards()
    if self.players and self.players[1] and self.players[1][3] then
        for i, playertab in ipairs(self.players) do
            local player = Player(playertab[1])
            if player then
                local str = "The following items are available in your reward chest: "
                local bagUid = Game.createItem(bagId, 1)
                for i, lootTable in ipairs(playertab[3]) do
                    local item = bagUid:addItem(lootTable[1].itemId, math.ceil(lootTable[2]))
                    if item then
                        str = str .. item:getNameDescription() .. ", "
                    end
                end
                player:addItemRewardBag(bagUid)
                str = str:sub(1, #str-2)
                player:sendTextMessage(MESSAGE_EVENT_ADVANCE, str)
            end
        end
    else
        error("Error")
    end
end

function onKill(cid, target)

target = Monster(target)
    if (target ~= nil) then
        local mt = MonsterType(target:getName())
        if mt:useRewardChest() then
            local loot = BossLoot:new(target)
            if loot then
                local corpse = Item(doCreateItem(MonsterType(target:getName()):getCorpseId(), 1, target:getPosition()))
		corpse:decay()
                target:setDropLoot(false)
                loot:updateDamage()
                loot:setRewards()
		loot:addRewards()
                corpse:setAttribute('aid', 21584)
            end
        end
    end
	return true
end

 

Eu fiz um teste se eu remover isso 

loot:updateDamage()

O server não cai mesmo matando com player, com summon ou ambos juntos.

Isso também pode ajudar não?

 

Editado por GlobalCores (veja o histórico de edições)
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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo