Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Olá pessoal,

 

Queria uma ajuda pra quando o monstro morresse o loot dele caísse espalhado no chão perto do corpo dele, pra entender melhor, eu uso um evento de bosses, e queria dar a chance de todos terem o loot, ou se vocês souberem uma maneira melhor de fazer que essa distribuição de loot todos tenham chance eu aceito também.

Resolvido por fezeRa

Ir para solução
Postado

@Toulouse, era só procurar na barra de pesquisa.
 

 

Editado por pablobion (veja o histórico de edições)

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Postado
  • Autor
  • Solução

@pablobion

É mas esse script é bugado, já tentei usa-lo, alem de não funcionar depois não consigo mais logar no server

 

 

Editando, encontrei outro script que funcionou e vou deixar aqui para caso alguém precise:

 

 

Em 2015-12-7 ás 19:42, zipter98 disse:

O Oneshot/Garou havia feito um código semelhante ao seu pedido. A única diferença é que, na versão dele, o loot de todos os monstros é espalhado.

Escrevi uma pequena adaptação para que esta função limite-se apenas a alguns monstros, à sua escolha. 

data/creaturescripts/scripts


local bosses = {"monster_name", "monster_name", ...}                 --Configure esta tabela com o nome dos monstros que terão o loot espalhado.

local function doSpreadLoot(fromPosition, toPosition, container)
    for slot = (getContainerSize(container.uid) - 1), 0, -1 do
        local item = getContainerItem(container.uid, slot)
        if not isContainer(item.uid) then
            local position = {
                x = math.random(fromPosition.x, toPosition.x),
                y = math.random(fromPosition.y, toPosition.y),
                z = fromPosition.z,
            }
            local itemEx = doCreateItemEx(item.itemid, item.type)
            if doTileAddItemEx(position, itemEx) then
                doRemoveItem(item.uid)
            end
        else
            doSpreadLoot(fromPosition, toPosition, item)
            doRemoveItem(item.uid)
        end
    end    
    return true
end

function onKill(cid, target)
    if isMonster(target) and isInArray(bosses, getCreatureName(target)) then
        local position = getCreaturePosition(target)
        local name = getCreatureName(target)
        
        local fromPosition = {x = position.x - 1, y = position.y - 1, z = position.z}
        local toPosition = {x = position.x + 1, y = position.y + 1, z = position.z}
        
        addEvent(function()
            local container = getTileItemById(position, getMonsterInfo(name).lookCorpse)
            if container.uid > 0 then
                doSpreadLoot(fromPosition, toPosition, container)
            end
        end, 100)
    end
    return true
end

Tag (não se esqueça de registrar o evento em login.lua):


<event type="kill" name="SpreadLoot" event="script" value="nome_do_arquivo.lua"/>


 

Editado por Toulouse (veja o histórico de edições)

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