Ir para conteúdo
  • Cadastre-se

(Resolvido)[CREATURESCRIPT] Ajuda com script


Ir para solução Resolvido por MatteusDeli,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

Boa noite, alguém poderia estar me ajudando com esse script? ele não apresentada erro nenhum, só que quando adiciona mais de 2 items no script, ao matar o monstro e dropar os 2 items aparece duas vezes a mensagem que dropou x item exemplo:

[LOOT MENSAGEM]: O jogador Teste dropou um item de um Monk.

[LOOT MENSAGEM]: O jogador Teste dropou um item de um Monk.

 

poderiam me ajudar a deixar com a descrição do item dropado exemplo 2157(gold nugget) e 2159(scarab coin), ao matar o monstro e por ventura dropar 1 ou os 2 o script puxasse os nomes dos items exemplo

[LOOT MENSAGEM]: O jogador Teste dropou um gold nugget de um Monk.

[LOOT MENSAGEM]: O jogador Teste dropou um scarab coin de um Monk.

 

 

local config = {
    ids = {2157, 2159},                        --ID do item.
    drop_effect = false                    --Efeito que aparecerá em cima da corpse (apenas para o dono da corpse). OPCIONAL! Se não quiser, coloque false.
}
 
function examine(cid, position, corpse_id, name)
    if not isPlayer(cid) then return true end
    local corpse = getTileItemById(position, corpse_id).uid
    
    if corpse <= 1 or not (corpse) then return true end
 
    for slot = 0, getContainerSize(corpse) - 1 do
        local item = getContainerItem(corpse, slot)
        if item.uid <= 1 then return true end
        
        if isInArray(config.ids, item.itemid) then
            doBroadcastMessage("[LOOT MENSAGEM]: O jogador ("..getCreatureName(cid)..") dropou um item de um ("..name..").", 19)
            if config.drop_effect then
                doSendMagicEffect(position, config.drop_effect, cid)
            end
        end
    end
end
 
function onKill(cid, target)
    if not isMonster(target) then return true end
    local monster_name = getCreatureName(target)
    
    local corpse_id = getMonsterInfo(monster_name).lookCorpse
 
    addEvent(examine, 5, cid, getThingPos(target), corpse_id, monster_name)
    return true
end

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link para o post
Compartilhar em outros sites
  • Solução

@gabrielbuff Boa noite, tenta assim:

 

Spoiler

local config = {
    ids = {2157, 2159},                        --ID do item.
    drop_effect = false                    --Efeito que aparecerá em cima da corpse (apenas para o dono da corpse). OPCIONAL! Se não quiser, coloque false.
}
 
function examine(cid, position, corpse_id, name)
    if not isPlayer(cid) then return true end
    local corpse = getTileItemById(position, corpse_id).uid
    
    if corpse <= 1 or not (corpse) then return true end
 
    for slot = 0, getContainerSize(corpse) - 1 do
        local item = getContainerItem(corpse, slot)
        if item.uid <= 1 then return true end
        

        for i=1, #config.ids do
            if (item.itemid == config.ids[i]) then
                doBroadcastMessage("[LOOT MENSAGEM]: O jogador ("..getCreatureName(cid)..") dropou um "..string.lower(getItemNameById(config.ids[i])).." de um ("..name..").", 19)
                    if config.drop_effect then
                        doSendMagicEffect(position, config.drop_effect, cid)
                    end
            end
        end
    end
end
 
function onKill(cid, target)
    if not isMonster(target) then return true end
    local monster_name = getCreatureName(target)
    
    local corpse_id = getMonsterInfo(monster_name).lookCorpse
 
    addEvent(examine, 5, cid, getThingPos(target), corpse_id, monster_name)
    return true
end

 

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo