Ir para conteúdo

[Action]Refinamento De Itens


kozaka

Posts Recomendados

Bom esse e meu primeiro post aki... vi esse script no otfans.net

e resolvi posta-lo aos que querem o sistema de refinamento em seu ot...

 

Creditos:98% ao Azi pelo script



1% ao Hamstery por te-lo postado no otfans.net e 1% para mim por estar postando aki.

 

Edited:

como o Eduardo falou ali em baixo, realmente ja tem topico para isso...

+ qndo eu era um "newbe" em script, eu naum tinha entendito muito o script do Mock.

entaum axei esse + facil e postei aki...

 

e sim Eduardo tem coisa diferente nesse..

nesse script. com esse script, voce pode refinar qualquer item.

ate bows e crossbows. no do Mock, voce nao pode refinar armas de distancia.

 

 

em data/actions/scripts, copie e cole um arquivo e renomei-o para upgrade.lua. Abra-o, apague tdo q estiver dentro e cole 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 = 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

 

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.

 

apos isso, abra actions.xml e cole isso:

 

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

 

explicando...

 

esse eh o id do item q ira fazer o upgrade...

se quiser vc pode muda-lo para outro id q obviamente sera outro item

 

bom... tai o sistema de refinamento de itens...



como esse eh meu primeiro post pode ter algumas coisas erradas om os quotes...

desculpem pela falta de acentos, meu teclado ta um lixo :p...

qualquer duvida pq naum entendeu o script manda pm.

te+ gente abrass

Editado por KozakA
Link para o comentário
Compartilhar em outros sites

Bom esse e meu primeiro post aki... vi esse script no otfans.net

e resolvi posta-lo aos que querem o sistema de refinamento em seu ot...

 

Amigo, Pelo que eu ja Tenho Visto Em Todo os Xtibia Ja Existe Este Topico, Em Entro Lugar!

Topico:[Action]Sistema de Refinamento Perfeito

 

Pode Me Dizer se Muda Alguma Coisa.?

 

Desculpe-me Mais ja Existe!

 

Moderadores (por Favor Fechem o Topico happy.gif) Até Mais!!!

Lembrando Pense Bem, Olhe, e Confira Que Nao Existe Nenhum Igual Até!wacko.gifblink.gifblink.gifblink.gifblink.gifblink.gifblink.gif

e Nao use Palavras Assim! Como foda-se Por Favor, nao queremos ouvir essas coisas!@,@

blink.gifblink.gifblink.gif

Editado por EduArdo20
Link para o comentário
Compartilhar em outros sites

Amigo, Pelo que eu ja Tenho Visto Em Todo os Xtibia Ja Existe Este Topico, Em Entro Lugar!

Topico:[Action]Sistema de Refinamento Perfeito

 

Pode Me Dizer se Muda Alguma Coisa.?

 

Desculpe-me Mais ja Existe!

 

Moderadores (por Favor Fechem o Topico happy.gif) Até Mais!!!

Lembrando Pense Bem, Olhe, e Confira Que Nao Existe Nenhum Igual Até!wacko.gifblink.gifblink.gifblink.gifblink.gifblink.gifblink.gif

e Nao use Palavras Assim! Como foda-se Por Favor, nao queremos ouvir essas coisas!@,@

blink.gifblink.gifblink.gif

 

qual o problema de se postar outro script que execute a mesma ação?

teria problema se posta-se o mesmo script e não a mesma ação do script.

Link para o comentário
Compartilhar em outros sites

aki aki ta essa ERROr

 

Error - Action Interface]

data/actions/scripts/upgrade.lua:onUse

Description:

data/lib/050-function.lua:234: attempt to index a boolean value

stack traceback:

data/lib/050-function.lua:234: in function 'getItemName'

data/actions/scripts/upgrade.lua:24: in function 'getItemInfo'

data/lib/050-function.lua:527: in function 'getItemDescriptions'

data/lib/050-function.lua:234: in function 'getItemName'

data/actions/scripts/upgrade.lua:24: in function 'getItemInfo'

data/actions/scripts/upgrade.lua:53: in function <data/actions/scripts/upgrade.lua:50>

 

Oq teve fazer ?

Link para o comentário
Compartilhar em outros sites

aki aki ta essa ERROrError - Action Interface] data/actions/scripts/upgrade.lua:onUse Description: data/lib/050-function.lua:234: attempt to index a boolean value stack traceback:data/lib/050-function.lua:234: in function 'getItemName'data/actions/scripts/upgrade.lua:24: in function 'getItemInfo'data/lib/050-function.lua:527: in function 'getItemDescriptions'data/lib/050-function.lua:234: in function 'getItemName'data/actions/scripts/upgrade.lua:24: in function 'getItemInfo'data/actions/scripts/upgrade.lua:53: in function <data/actions/scripts/upgrade.lua:50>Oq teve fazer ?

 

cara... primeiramente me desculpe... naum posso te ajudar porque ainda naum so scripter...

to aprendendo um pokin pra pode começa a faze uns scripts legais e posta aki...

+ intaum.. desculpa por naum poder te ajudar.. eu so postei ele aki e o colorido foi o basico do basico

q eu entendi =p

minha dica eh pra vc pergunta a um scripter bom. ele provavelmente sabera

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 4 weeks later...
×
×
  • Criar Novo...