Em actions.xml
Mude a vontade o que está em vermelho.
<action itemid="2147" script="upgrade.lua"/>
Actions/scripts/upgrade.luaPHP Code:
-- Azis item upgrading system --
config = {
brokeChance = 10, -- % chance to broke upgrading item
upgradePercent = 10, -- % of rise upgrading item atributtes
maxUpgrade = 100, -- maximum level of item
notAllowed = {} -- items id between comma which you cannot upgrade it
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
local getUpgraded = itemEx.actionid-10000
if getUpgraded < 0 then
getUpgraded = 0
end
if getUpgraded < config.maxUpgrade then
if itemEx.itemid > 100 then
if isItemMoveable(itemEx.itemid) == 1 and isItemRune(itemEx.itemid) == 0 and isCorpse(itemEx.uid) == 0 and isContainer(itemEx.uid) == 0 and isItemStackable(itemEx.itemid) == 0 and isItemFluidContainer(itemEx.itemid) == 0 and isInArray(config.notAllowed, itemEx.itemid) == 0 then
if config.brokeChance <= math.random(1,100) then
setItemName(itemEx.uid, getItemNameById(itemEx.itemid) .. "+" .. (getUpgraded+1))
doSetItemActionId(itemEx.uid, 10000+(getUpgraded+1))
doSendMagicEffect(toPosition, 30)
doPlayerSendTextMessage(cid, 22, "You successfuly upgraded " .. getItemNameById(itemEx.itemid) .. " to " .. (getUpgraded+1) .. " level.")
if getItemAttack(itemEx.uid) > 0 then
setItemAttack(itemEx.uid, (getItemAttack(itemEx.uid)+((getItemAttack(itemEx.uid)/100)*config.upgradePercent))+1)
end
if getItemExtraAttack(itemEx.uid) > 0 then
setExtraItemAttack(itemEx.uid, (getExtraItemAttack(itemEx.uid)+((getExtraItemAttack(itemEx.uid)/100)*config.upgradePercent))+1)
end
if getItemDefense(itemEx.uid) > 0 then
setItemDefense(itemEx.uid, (getItemDefense(itemEx.uid)+((getItemDefense(itemEx.uid)/100)*config.upgradePercent))+1)
end
if getItemExtraDefense(itemEx.uid) > 0 then
setItemExtraDefense(itemEx.uid, (getItemExtraDefense(itemEx.uid)+((getItemExtraDefense(itemEx.uid)/100)*config.upgradePercent))+1)
end
if getItemArmor(itemEx.uid) > 0 then
setItemArmor(itemEx.uid, (getItemArmor(itemEx.uid)+((getItemArmor(itemEx.uid)/100)*config.upgradePercent))+1)
end
if getItemAttackSpeed(itemEx.uid) > 0 then
setItemAttackSpeed(itemEx.uid, (getItemAttackSpeed(itemEx.uid)+((getItemAttackSpeed(itemEx.uid)/100)*config.upgradePercent))+1)
end
if getItemHitChance(itemEx.uid) > 0 then
setItemHitChance(itemEx.uid, (getItemHitChance(itemEx.uid)+((getItemHitChance(itemEx.uid)/100)*config.upgradePercent))+1)
end
else
doPlayerSendTextMessage(cid, 22, getItemNameById(itemEx.itemid).." upgrading to level " .. (getUpgraded+1) .. " fail! You lose item!")
doRemoveItem(itemEx.uid, 1)
doSendMagicEffect(toPosition, 34)
end
doRemoveItem(item.uid, 1)
else
doPlayerSendCancel(cid, "You cannot upgrade this item!")
end
end
else
doPlayerSendCancel(cid, "This item is already upgraded to maximum item level.")
end
return TRUE
end
16 de maio de 2009 às 19:31
Ae alissow , faz ae um pouco melhor explicado pow , tipo qual joia vamos usar , oque acontece quando usa tal jóia , coisas do genero porque so postando o codigo fica foda de entender =(
Ae bem nice seu blog -)
17 de maio de 2009 às 06:26
Funciona assim, a jóa que se usa é a Small rubi, de ID 2147.
Como exemplo eu usei na plate armor.
10:24 You successfuly upgraded plate armor to 1 level.
e a plate armor ficou assim:
10:24 You see a plate armor+1 (Arm:12).
It weighs 120.00 oz.
Espero que tenha entendido ;]
12 de junho de 2009 às 13:46
nao funfo aki em ksa fala q o item nao pode ser upgrade ;x
tem como explicar mais detalhado como qual item pode ser dado o upgrade
12 de junho de 2009 às 14:01
Pode ser armors, weapons, várias coisas.
Funciona perfeitamente em TFS 0.3.4
12 de junho de 2009 às 16:15
estou usando no alissow V3.3.2
nao pego mas onde eu posso colok o id do item ou pode ser usado em todos?
13 de junho de 2009 às 05:13
Pode usar em todos os items.
13 de junho de 2009 às 08:40
aki aparece em todos os itens que eu vo usa o small ruby a seguinte msg
You cannot upgrade this item!
em todos q eu tento da upgrade
12 de agosto de 2009 às 09:25
alissow pow kara explica isso mehor onde bota esses codigos oq tem q fazer
21 de novembro de 2009 às 08:03
Alissow como um grande admirador de seu trabalho por ser pra mim o melhor criador/editor de ots que ja vi, e falo issu porque ja vi muito server e toda semana testo um diferente, venho aqui sugerir que ponha esse enchat system em seus ots apartir de agora pois almentaria muito o RPG do jogo em si...
vai aew minha sugestão de enchants.
seriam no maximo ate +5, como isso eu explico mudando o iten de enchant para as gens que não tem ultilidade alguma no game a não ser infeite xD
--squema--
Yellow Gem +1
Red Gem +2
Blue Gem +3
Green Gem +4
Violet Gem +5
sendo que ouvesse uma chance de fail de 10%,20%,30%,40% e 50% respectivamente...
claro que não estou mandando vc fazer pois nem tenhu esse poder mais como um grande fãn e admirador de seu trabalho aew foi minha sugestão
21 de novembro de 2009 às 19:35
ADM FOX:
Irei colocar um sistema parecido com esse. Não prometo nada, mas, provavelmente sim.
:]
E abrigado pelos elogios... acho que você exagerou um pouco ;]