Ok, I need this manarune script to be edited. I wish for it to always heal mana, atm it stops at full mana. Also, if you could make it so it could say +(how much mana you heal). So i if heal maybe 1000, it would say +1000.
Sorry for the long script.
HTML:
-- 90% made by Colandus (Except exhaustion system).
-- If you edit on this script, be sure that you leave the credits to me, Colandus.
-- 10% Modified by Arthur, aka artofwork
-- changes made were added magic level formula to minMana & maxMana anything not needed was commented out.
function onUse(cid, item, frompos, item2, topos)
-- beginning of changes made are below
local ml = getPlayerMagLevel(cid, true)
local level = getPlayerLevel(cid)
minMana = (level * 1 + ml * 4) * 2.08
maxMana = (level * 1 + ml * 4) * 2.7
local total = math.random(minMana, maxMana)
-- end of changes made
---------------------------------------------------------------------------------------------
magToUse = 0 -- What magic level do you need to be to use the rune?
runeID = 7620 -- Enter the item Id of the rune.
loseCharges = false -- Write "true" if it shall lose charges. If not, then write something else such as "false".
storeValue = 3567 -- Value where exhaust is saved.
exhaustTime = 1 -- 1 = 1 second of exhaustion.
animationColor = 39 -- The color of the "animation".
mLvlLowMsg = "Your magic level is too low." -- Appears when player got too low magic level.
missPlayerMsg = "You can only use this rune on players."-- Appears when you don't shoot on a player.
exhaustMsg = "You are exhausted." -- Appears when you are exhausted.
if item.itemid == runeID then
if getThingfromPos({x=topos.x, y=topos.y, z=topos.z, stackpos=253}).itemid > 0 then
if getPlayerMagLevel(cid) >= magToUse then
if (exhaust(cid, storeValue, 1) > 0) then
if loseCharges == true or loseCharges == True then
--if item.type > 1 then
--doChangeTypeItem(item.uid, item.type-1)
--else
--doRemoveItem(item.uid, 1)
end
end
mana = math.random(minMana, maxMana)
newMana = mana+getPlayerLevel(cid)+getPlayerMagLevel(cid)
manaNow = getPlayerMana(item2.uid)
doPlayerAddMana(item2.uid, total, FALSE)
manaMax = getPlayerMana(item2.uid)
doPlayerAddMana(item2.uid, - manaMax + manaNow, FALSE)
nMana = manaMax - manaNow
if newMana > nMana then
newMana = nMana
end
if getPlayerMana(item2.uid) == manaMax then
if getPlayerPosition(cid).x == getPlayerPosition(item2.uid).x and getPlayerPosition(cid).y == getPlayerPosition(item2.uid).y then
--doPlayerSendCancel(item2.uid, "Your mana is already full.")
--doChangeTypeItem(item.uid, item.type)
else
--doPlayerSendCancel(cid, "" .. getPlayerName(item2.uid) .. " mana is already full.")
--doChangeTypeItem(item.uid, item.type)
end
else
if getPlayerPosition(cid).x == getPlayerPosition(item2.uid).x and getPlayerPosition(cid).y == getPlayerPosition(item2.uid).y 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.")
--doPlayerSendTextMessage(cid, 23, "You gave " .. getPlayerName(item2.uid) .. " " .. newMana .. " mana.")
end
doPlayerAddMana(item2.uid, newMana, FALSE)
doSendAnimatedText(getPlayerPosition(item2.uid), newMana, animationColor)
end
else
doPlayerSendCancel(cid, exhaustMsg)
end
else
--doSendMagicEffect(getPlayerPosition(cid), 2)
--doPlayerSendCancel(cid, mLvlLowMsg)
end
else
--doSendMagicEffect(getPlayerPosition(cid), 2)
--doPlayerSendCancel(cid, missPlayerMsg)
end
return 1
end
-- end
-- Exhaustion system (Made by Alreth, bugfix by me)
-- DO NOT EDIT!
function exhaust(cid, storeValue, exhaustTime)
newExhaust = os.time()
oldExhaust = getPlayerStorageValue(cid, storeValue)
if (oldExhaust == nil or oldExhaust < 0) then
oldExhaust = 0
end
if (exhaustTime == nil or exhaustTime < 0) then
exhaustTime = 1
end
diffTime = os.difftime(newExhaust, oldExhaust)
if (diffTime >= exhaustTime) then
setPlayerStorageValue(cid, storeValue, newExhaust)
return 1
else
return 0
end
end
Sorry for the long script.