Postado Março 4, 2012 13 anos Assim queria um item q quando usado em uma sword é tipo refinamento como se foce upgrade quando usado na sword da 10 de atk se usa de novo 10 e assim vai tipo ai fica 10+10 = 20 Editado Março 4, 2012 13 anos por 1215171 (veja o histórico de edições) Ae ajudei? Rep+
Postado Março 4, 2012 13 anos Eu acho que o sistema criado pelo "Azi" já te ajuda' Vale lembrar que ele serve para vários tipos de items. Vamos lá... Em Actions.xml, adicione a tag abaixo: <action itemid="8306" event="script" value="refinamento.lua"/> E em Scritps (data/actions/scripts) crie um arquivo chamado "refinamento.lua" ...copie e cole o código abaixo: É, acho que isso resolve seu problema. Espero ter ajudado, Abraços & Boa sorte. 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 = 10, -- extra Attack % defence = 5, -- defence % extraDefence = 10, -- extra defence % armor = 5, -- armor % attackSpeed = 3, -- attack speed % 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 Editado Março 4, 2012 13 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Março 4, 2012 13 anos Muito bom script ! Explicação tirada de um fórum : conf["upgrade"] = { -- how many parcent attributes are rised? attack = 5, -- attack % extraAttack = 10, -- extra Attack % defence = 5, -- defence % extraDefence = 10, -- extra defence % armor = 5, -- armor % attackSpeed = 3, -- attack speed % hitChance = 5, -- hit chance % shootRange = 2, -- shoot range % } explicando... aki eh o atk... qnto ele ira aumenta a cada upgrade... ex. uma sword com atk 25, ficara 30. aki eh o atk extra... qnto ira aumentar a cada upgrade... ex. uma sword com atk 25+6, ficara 30+16. aki eh o shield... qnto ele ira aumenta a cada upgrade... ex. um escudo com def 20, ficara com def 25. aki eh o shield extra... qnto ele ira aumenta a cada upgrade... ex. um escudo com def 20+5, ficara com def 25+15. aki eh a armadura... qnto ele ira aumenta a cada upgrade... ex. uma armadura com def 15, ficara com def 20. aki eh a velocidade de atk... qnto ele ira aumenta a cada upgrade... ex. um crossbow com velocidade 5, ficara com velocidade 8. aki eh a chance de hit... qnto ele ira aumenta a cada upgrade... ex. um crossbow com chance de hit 5, ficara com chance de hit 10. e aki eh a distancia maxima... qnto ele ira aumenta a cada upgrade... ex. um crossbow q so atk a 3 sqm de distancia, podera atacar a 5 sqm de distancia. Att. Huziwara no Mokou Editado Março 4, 2012 13 anos por Huziwara (veja o histórico de edições)
Postado Março 4, 2012 13 anos Muito bom script ! Explicação tirada de um fórum : conf["upgrade"] = { -- how many parcent attributes are rised? attack = 5, -- attack % extraAttack = 10, -- extra Attack % defence = 5, -- defence % extraDefence = 10, -- extra defence % armor = 5, -- armor % attackSpeed = 3, -- attack speed % hitChance = 5, -- hit chance % shootRange = 2, -- shoot range % } explicando... aki eh o atk... qnto ele ira aumenta a cada upgrade... ex. uma sword com atk 25, ficara 30. aki eh o atk extra... qnto ira aumentar a cada upgrade... ex. uma sword com atk 25+6, ficara 30+16. aki eh o shield... qnto ele ira aumenta a cada upgrade... ex. um escudo com def 20, ficara com def 25. aki eh o shield extra... qnto ele ira aumenta a cada upgrade... ex. um escudo com def 20+5, ficara com def 25+15. aki eh a armadura... qnto ele ira aumenta a cada upgrade... ex. uma armadura com def 15, ficara com def 20. aki eh a velocidade de atk... qnto ele ira aumenta a cada upgrade... ex. um crossbow com velocidade 5, ficara com velocidade 8. aki eh a chance de hit... qnto ele ira aumenta a cada upgrade... ex. um crossbow com chance de hit 5, ficara com chance de hit 10. e aki eh a distancia maxima... qnto ele ira aumenta a cada upgrade... ex. um crossbow q so atk a 3 sqm de distancia, podera atacar a 5 sqm de distancia. Att. Huziwara no Mokou Eu ia colocar esta explicação, porém, nesta parte eu sei que ele manja... Mas valeu por ajudar o tópico e a resposta' Abraços Editado Março 4, 2012 13 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Março 4, 2012 13 anos Autor vlw rep+ pros 2 se pudece eu dava 2 rep pra cada heuheueh Ae ajudei? Rep+
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.