Ir para conteúdo

Featured Replies

  • Respostas 6
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Adriano SwaTT
    Adriano SwaTT

    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"

  • 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, -

Postado

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 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.

 

cbCyOSZ.png

Postado

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 por Huziwara (veja o histórico de edições)

bXEB9.jpg
Postado

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 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.

 

cbCyOSZ.png

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo