Ir para conteúdo

Pedido De Scripts


MatheusGlad

Posts Recomendados

  • 2 weeks later...

local conf = {}

 

 

-- // config // --

conf.maxItemLevel = 15 -- max item level

conf.successChance = 100 -- succes upgrade chance

 

conf["upgrade"] = { -- how many parcent attributes are rised?

attack = 1, -- attack %

extraAttack = 1, -- extra Attack %

defence = 1, -- defence %

extraDefence = 1, -- extra defence %

armor = 1, -- armor %

attackSpeed = 0, -- attack speed %

hitChance = 1, -- hit chance %

shootRange = 1, -- 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

 

 

 

 

la em cima aonde ta 1 vc pode muda pra + numero

e q almenta mais ai ela dexa o item ate +15 se vc kise muda muda la o lvl do item

 

 

ai vc poim esse script nas action

 

 

 

<action itemid="8306" script="tools/upgrade.lua"/>

 

 

e poim isso e claro

 

:p

se tive duvidas fala ai

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...