Vou fazer a script rapidamente aqui e já já edito.
@
Usei a script do Azi como base.
Actions.xml (data/actions/scripts)
<action itemid="id do item" event="script" value="pedraatkspeed.lua"/>
Crie um arquivo chamado pedraatkspeed.lua em data/actions/scripts e adicione isso:
local conf = {}
-- // config // --
conf.maxItemLevel = 10 -- max item level
conf.successChance = 50 -- succes upgrade chance
conf["upgrade"] = { -- how many parcent attributes are rised?
attack = 5, -- attack %
extraAttack = 0, -- extra Attack % (porcentagem de attack ganho)
defence = 5, -- defence %
extraDefence = 0, -- extra defence % (porcentagem de defesa ganha)
armor = 5, -- armor %
attackSpeed = 3, -- attack speed % (porcentagem de attack speed ganho)
hitChance = 5, -- hit chance %
shootRange = 2, -- shoot range %
}
--// end // --
function getItemInfo(item)
local attr = {}
local name = string.explode(getItemName(item), '+');
if #name == 1 then
attr.name = name[1]
attr.level = math.abs(0)
else
attr.level = math.abs(name[2])
attr.name = name[1]
end
attr.attack = (getItemAttack(item) > 0) and getItemAttack(item) or 0
attr.extraAttack = (getItemExtraAttack(item) > 0) and getItemExtraAttack(item) or 0
attr.defence = (getItemDefense(item) > 0) and getItemDefense(item) or 0
attr.extraDefence = (getItemExtraDefense(item) > 0) and getItemExtraDefense(item) or 0
attr.armor = (getItemArmor(item) > 0) and getItemArmor(item) or 0
attr.attackSpeed = (getItemAttackSpeed(item) > 0) and getItemAttackSpeed(item) or 0
attr.hitChance = (getItemHitChance(item) > 0) and getItemHitChance(item) or 0
attr.shootRange = (getItemShootRange(item) > 0) and getItemShootRange(item) or 0
attr.weight = (getItemWeight(item) > 0) and getItemWeight(item) or 0
return attr
end
function upgradeValue(value, parcent)
local newValue = math.ceil(((value/100)*parcent)+value)
return (newValue > 0) and newValue or 0
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if toPosition.x == 65535 then
local upgradingItem = getItemInfo(itemEx.uid)
if (upgradingItem.attack > 0 or upgradingItem.defence > 0 or upgradingItem.armor > 0 or upgradingItem.shootRange > 1) then
if (upgradingItem.level < conf.maxItemLevel) then
if conf.successChance >= math.random(1,100) then
setItemName(itemEx.uid, upgradingItem.name.." + "..(upgradingItem.level+1))
setItemAttack(itemEx.uid, upgradeValue(upgradingItem.attack, conf["upgrade"].attack))
setItemExtraAttack(itemEx.uid, upgradeValue(upgradingItem.extraAttack, conf["upgrade"].extraAttack))
setItemDefense(itemEx.uid, upgradeValue(upgradingItem.defence, conf["upgrade"].defence))
setItemExtraDefense(itemEx.uid, upgradeValue(upgradingItem.extraDefence, conf["upgrade"].extraDefence))
setItemArmor(itemEx.uid, upgradeValue(upgradingItem.armor, conf["upgrade"].armor))
setItemAttackSpeed(itemEx.uid, upgradeValue(upgradingItem.attackSpeed, conf["upgrade"].attackSpeed))
setItemHitChance(itemEx.uid, upgradeValue(upgradingItem.hitChance, conf["upgrade"].hitChance))
setItemShootRange(itemEx.uid, upgradeValue(upgradingItem.shootRange, conf["upgrade"].shootRange))
doSendMagicEffect(toPosition, 30)
doPlayerSendTextMessage(cid, 22, "Upgraded was successful, your item has become stronger!")
else
doRemoveItem(itemEx.uid, itemEx.type)
doSendMagicEffect(toPosition, 2)
doPlayerSendTextMessage(cid, 22, "Upgrading fail... you lost upgraded item!")
end
doRemoveItem(item.uid, 1)
else
doPlayerSendCancel(cid, "This item is on max level!")
end
else
doPlayerSendCancel(cid, "You cannot upgrade this item!")
end
else
doPlayerSendCancel(cid, "You can upgrading items only in inventory!")
end
return TRUE;
end
Espero que resolva sua dúvida!




info
Grupo: Cavaleiro
Registrado: 01/04/13
Posts: 156
Reputação: +26
Gênero: Masculino
Char no Tibia: Yugami
gostaria de um script q quando o player dar um click em X item da use em outro item como uma armadura,arma.... ele adiciona-se X Attack Speed.Acho que ja da pra entender só por isso,tentei fazer algo como isso com a tag "setItemAttackSpeed" porem ele não da erro mais tambem não funciona,espero que auguem possa ajudar.