A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] doItemSetAttribute (Não está setando o atributo)
GA
[Encerrado] doItemSetAttribute (Não está setando o atributo)
Por gabriel28, 09 de dez. de 2017 em Tópicos Sem Resposta
2
1.2k


info
Grupo: Visconde
Registrado: 26/08/10
Posts: 431
Reputação: +60
Gênero: Masculino
Char no Tibia: Gabriel Rookgaardian
Estou tentando fazer um script (action) que adiciona defesa elemental em um item, só que não está funcionando. Alguém que entenda e puder me ajudar, ficaria muito agradecido.
Ai vai a minha tentativa de script:
local config = {
FdefBonus = 2, --Bônus de Fdef, em %.
failChance = 30, --Chance de falhar, em porcentagem.
types = {"armor", "legs", "helmet", "boots", "shield"},
noFdef = {1, 2, 3, 9, 10} --Tipos de armamento bloqueados (valores podem ser conferidos em 000-constant.lua, data/lib)
}
function onUse(cid, item, fromPos, itemEx, toPos)
if itemEx.itemid < 100 then
return doPlayerSendCancel(cid, "Use this in valid itens.")
elseif isInArray(config.noFdef, getItemWeaponType(itemEx.uid)) then
return doPlayerSendCancel(cid, "Use this in valid itens.")
elseif getItemAttribute(itemEx.uid, "absorbPercentFire") then
return doPlayerSendCancel(cid, "This item has already a fire defense bonus.")
elseif math.random(1, 100) > config.failChance then
return doPlayerSendTextMessage(cid, 27, "Sorry, your item didn't get a fire defense bonus. Good luck at the next try!"), doRemoveItem(item.uid, 1)
end
local checkItemName
for i = 1, #config.types do
if getItemNameById(itemEx.itemid):find(config.types) then
checkItemName = true
break
end
end
if not checkItemName then
return doPlayerSendCancel(cid, "Use this in valid itens.")
end
doPlayerSendTextMessage(cid, 27, "Congratulations, now your item has a sire defense bonus of "..config.FdefBonus.."%!")
doItemSetAttribute(itemEx.uid, "absorbPercentFire", config.FdefBonus)
doItemSetAttribute(itemEx.uid, "name", getItemName(itemEx.uid).." ref "..config.FdefBonus.."%")
doRemoveItem(item.uid, 1)
return true
end