Batonek
Senior User
- Joined
- Apr 26, 2008
- Messages
- 605
- Reaction score
- 25
Siema. Ot?? chcia?em u?y? starszego upgrade systemu by Gelio na nowym TFSie 0.3.6 jednak co? nie idzie i nie wiem jak to zmieni?
O to skrypt:
A tu m?j b??d:
Z g?ry dzi?ki za pomoc,
pozdrawiam.
O to skrypt:
Code:
-- Upgrade system by Gelio v. 3
-- Dodane:
-- Szansa na zniszczenie przedmiotu
-- Zmienione:
-- zniszczenie przedmiotu -> anty upgade (zamiast dodawa? odejmuje)
local znika = "tak" -- Czy item ma znika? po upgrade (item upgraduj?cy)
local ileProcent = 1 -- O ile procent powi?ksza atrybuty czego?. Jak wyjdzie liczba rzeczywista to podnosi o tyle, ?eby by?a liczba ca?kowita.
local maksProcent = 3 -- Ile maksymalnie procent mo?e by? upgradowane. 0 - niesko?czono??
local antyUlepszenieProcent = 0 -- Ile procent szansy na anty-ulepszenie przedmiotu. 0 - 0% szans na anty upgrade, zawsze upgraduje
local antyUlepszenieZabieraProcent = 5 -- Ile procent ka?dego atrybutu zabiera je?eli nie uda si? upgreade
function onUse(cid, item, frompos, item2, topos)
if(item2.uid ~= 0) then
local arm = getItemArmor(item2.uid)
local def = getItemDefense(item2.uid)
local atk = getItemAttack(item2.uid)
local descr = ""
local action = item2.actionid-100
if(action < 0) then
action = 0
end
if(maksProcent > 0 and action >= maksProcent) then
doPlayerSendCancel(cid,"You can't upgrade it anymore.")
return TRUE
end
if(arm ~= 0 or def ~= 0 or atk ~= 0) then
if(znika == "tak") then
if(item.type > 1) then
doChangeTypeItem(item.uid, item.type-1)
else
doRemoveItem(item.uid,1)
end
end
if(antyUlepszenieProcent > 0) then
if(math.random(1,100) <= antyUlepszenieProcent) then
descr = "Values: "
if(arm ~= 0) then
setItemArmor(item2.uid,math.floor(arm * (antyUlepszenieZabieraProcent/100)))
descr = descr .."armor incrased by ".. action-antyUlepszenieZabieraProcent .." percents "
doSetItemActionId(item2.uid,100+action-antyUlepszenieZabieraProcent)
end
if(def ~= 0) then
setItemDefense(item2.uid,math.floor(def * (antyUlepszenieZabieraProcent/100)))
descr = descr .."defense incrased by ".. action-antyUlepszenieZabieraProcent .." percents "
doSetItemActionId(item2.uid,100+action-antyUlepszenieZabieraProcent)
end
if(atk ~= 0) then
setItemAttack(item2.uid,math.floor(atk * (antyUlepszenieZabieraProcent/100)))
descr = descr .."attack incrased by ".. action-antyUlepszenieZabieraProcent .." percents "
doSetItemActionId(item2.uid,100+action-antyUlepszenieZabieraProcent)
end
doSetItemSpecialDescription(item2.uid,descr)
doPlayerSendCancel(cid,"You have anty-upgraded this item.")
return TRUE
end
end
descr = "Values: "
if(arm ~= 0) then
descr = descr .."armor increased ".. ileProcent+action .. " levels up "
local ilePowieksza = math.ceil(arm * (ileProcent/100))
setItemArmor(item2.uid, arm+ilePowieksza)
doSetItemActionId(item2.uid,100+action+ileProcent)
end
if(def ~= 0) then
descr = descr .."defense increased ".. ileProcent+action .." levels up "
local ilePowieksza = math.ceil(def * (ileProcent/100))
setItemDefense(item2.uid, def+ilePowieksza)
doSetItemActionId(item2.uid,100+action+ileProcent)
end
if(atk ~= 0) then
descr = descr .."attack increased ".. ileProcent+action .." levels up "
local ilePowieksza = math.ceil(atk * (ileProcent/100))
setItemAttack(item2.uid, atk+ilePowieksza)
doSetItemActionId(item2.uid,100+action+ileProcent)
end
doSetItemSpecialDescription(item2.uid,descr)
doSendMagicEffect(topos,CONST_ME_MAGIC_GREEN)
else
doPlayerSendCancel(cid,"You can't upgrade this.")
end
return TRUE
end
return FALSE
end
Code:
[19/05/2010 20:52:47] [Error - Action Interface]
[19/05/2010 20:52:47] data/actions/scripts/upgrade.lua:onUse
[19/05/2010 20:52:47] Description:
[19/05/2010 20:52:47] data/actions/scripts/upgrade.lua:13: attempt to call global 'getItemArmor' (a nil value)
[19/05/2010 20:52:47] stack traceback:
[19/05/2010 20:52:47] data/actions/scripts/upgrade.lua:13: in function <data/actions/scripts/upgrade.lua:11>
pozdrawiam.