Upgrae rune

Status
Zamknięty.

Napper

Active User
Zarejestrowany
Dołączył
Sierpień 12, 2009
Posty
118
Liczba reakcji
3
Kto mi napisze jak DOK?ADNIE zrobi? upgrade rune(fo ulepszania item?w) DO tibi 8.50
to dam reputa xdd plx HELP

Notka moderatorska:
Przenosz?.
 
Odp: Upgrae rune

M?g?by? napisa? pod jak? tibi? potrzebujesz tego scrypta :< a pozatym na 17 postach nie dasz reputa ;p ale tak: scrypt nie m?j:

Skrypt testowany, dzia?a tylko na silnikach 8.4+:
Skrypt polega na tym ?e bierzemy Use witch... na itemie kt?ry zdeklarowali?my w actions.xml i u?ywamy go na 2 itemie, co podnosi jego atak i poziom. Musi on by? "movable" (ruszalny), nie mo?e byc runa/cia?em/containerem/lub itemem wpisanym w notAllowed
Data/actions/scripts/upgrade.lua

--by Azii--
config = {
brokeChance = 10, -- % na zniszczenie przedmiotu
upgradePercent = 10, -- ile % ataku z poprzedniego bedzie za next lvl
maxUpgrade = 100, -- max lvl itema
notAllowed = {} -- itemy kt?rych nie mozna upgradowac [id]
}
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 > 0 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))
end
if getItemExtraAttack(itemEx.uid) > 0 then
setExtraItemAttack(itemEx.uid, getExtraItemAttack(itemEx.uid)+((getExtraItemAttack(itemEx.uid)/100)*config.upgradePercent))
end
if getItemDefense(itemEx.uid) > 0 then
setItemDefense(itemEx.uid, getItemDefense(itemEx.uid)+((getItemDefense(itemEx.uid)/100)*config.upgradePercent))
end
if getItemExtraDefense(itemEx.uid) > 0 then
setItemExtraDefense(itemEx.uid, getItemExtraDefense(itemEx.uid)+((getItemExtraDefense(itemEx.uid)/100)*config.upgradePercent))
end
if getItemArmor(itemEx.uid) > 0 then
setItemArmor(itemEx.uid, getItemArmor(itemEx.uid)+((getItemArmor(itemEx.uid)/100)*config.upgradePercent))
end
if getItemAttackSpeed(itemEx.uid) > 0 then
setItemAttackSpeed(itemEx.uid, getItemAttackSpeed(itemEx.uid)+((getItemAttackSpeed(itemEx.uid)/100)*config.upgradePercent))
end
if getItemHitChance(itemEx.uid) > 0 then
setItemHitChance(itemEx.uid, getItemHitChance(itemEx.uid)+((getItemHitChance(itemEx.uid)/100)*config.upgradePercent))
end
else
doPlayerSendTextMessage(cid, 22, "Item 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

Data/actions/actions.xml

<action itemid="2147" script="upgrade.lua"/>

2147 -- mo?na zmieni? na inny item [id]
 
Status
Zamknięty.
Back
Do góry