Doggynub
LUA / C++
- Joined
- Sep 28, 2008
- Messages
- 2,541
- Reaction score
- 186
I use
server:TFS 0.2.4 (8.50)
error:
script i use:
server:TFS 0.2.4 (8.50)
error:
Code:
Lua Script Error: [Action Interface]
data/actions/scripts/other/manarune.lua:onUse
data/actions/scripts/other/manarune.lua:15: attempt to index global 'item2' (a n
il value)
stack traceback:
data/actions/scripts/other/manarune.lua:15: in function <data/actions/sc
ripts/other/manarune.lua:14>
script i use:
LUA:
-- Script 100% by Colandus (Except for the exhaustion system).
-- If you edit this script, make sure to leave the credits to me, Colandus.
-- >>CONFIG<< -
local REMOVE_CHARGES = false -- true/false shall it remove charges?
local MIN_MANA = 10000 -- How much mana minium will you get?
local MAX_MANA = 10000 -- How much mana max will you get?
local USE_STATS = false -- Shall given mana be affected by player level and magic level?
local STORE_VALUE = 3567 -- Value where exhaust is saved.
local EXHAUST_TIME = 0 -- Exhaust time in seconds.
local ANIMATION_COLOR = 41 -- The color of the "animation"
-- >>CONFIG<< --
local vocMultiply = {0.35, 0.35, 0.85, 1.05, 0, 0, 0.65, 1.05} -- Remove and/or comment it out if you wish not to use it.
local removeMana = 0
function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(item2.uid) == 1 then
local maxMana = getPlayerMaxMana(item2.uid)
if vocMultiply and getPlayerVocation(cid) >= 1 and getPlayerVocation(cid) <= 8 then
removeMana = vocMultiply[getPlayerVocation(cid)]
end
local newMana = math.random(MIN_MANA, MAX_MANA)
if USE_STATS then
newMana = math.ceil(newMana + getPlayerLevel(cid) + getPlayerMagLevel(cid) - (newMana * removeMana))
end
if (maxMana - newMana) < 0 then
newMana = maxMana - getPlayerMana(cid)
end
if getPlayerMana(item2.uid) < maxMana then
if exhaust(cid, STORE_VALUE, EXHAUST_TIME) > 0 then
if REMOVE_CHARGES then
if item.type > 1 then
doChangeTypeItem(item.uid, item.type - 1)
else
doRemoveItem(item.uid, 1)
end
end
if comparePos(getPlayerPosition(cid), getPlayerPosition(item2.uid)) then
doSendMagicEffect(getPlayerPosition(cid), 12)
doPlayerSendTextMessage(cid, 23, "You received " .. newMana .. " mana.")
else
doSendMagicEffect(getPlayerPosition(cid), 14)
doSendMagicEffect(getPlayerPosition(item2.uid), 12)
doPlayerSendTextMessage(item2.uid, 23, "You received " .. newMana .. " mana from " .. getPlayerName(cid) .. ".")
doPlayerSendTextMessage(cid, 23, "You gave " .. getPlayerName(item2.uid) .. " " .. newMana .. " mana.")
end
doPlayerAddMana(item2.uid, newMana)
doSendAnimatedText(getPlayerPosition(item2.uid), newMana, ANIMATION_COLOR)
else
doPlayerSendCancel(cid, "You are exhausted.")
end
else
if comparePos(getPlayerPosition(cid), getPlayerPosition(item2.uid)) then
doPlayerSendCancel(item2.uid, "Your mana is already full.")
else
doPlayerSendCancel(cid, getPlayerName(item2.uid) .. " mana is already full.")
end
doSendMagicEffect(getPlayerPosition(cid), 2)
end
else
doPlayerSendCancel(cid, "You can only use this rune on players.")
doSendMagicEffect(getPlayerPosition(cid), 2)
end
return True
end
Last edited by a moderator: