function onUse(cid, item, frompos, item2, topos)
minMana = 50
maxMana = 400
bigmana = 2 -- Multiplier according to small manarune
storevalue = 1986
exhaustion = 2
smallruneid = 2275
bigruneid = 2276
if (item.itemid == smallruneid) then
-- Normal mana rune (with my settings: 80-120 mana, 100 on average)
exhast = exhaust(cid, storevalue, exhaustion)
if (exhast == 0) then
doPlayerSendCancel(cid, "You are exhausted.")
else
if (getPlayerAccess(item2.uid) >= 0) then
if (item.type > 1) then
doChangeTypeItem(item.uid, item.type-1)
elseif (getPlayerAccess(cid) >= 0) then
doRemoveItem(item.uid, 1)
end
mana = math.random(minMana, maxMana)
if (topos.x ~= getPlayerPosition(cid).x or topos.y ~= getPlayerPosition(cid).y or topos.z ~= getPlayerPosition(cid).z) then
doPlayerSendTextMessage(item2.uid, 20, getPlayerName(cid).." gave you "..mana.." mana.")
doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", 198)
doSendMagicEffect(topos, 12)
doSendMagicEffect(topos, 12)
doPlayerSendTextMessage(cid, 20, "You gave "..getPlayerName(item2.uid).." "..mana.." mana.")
doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", 198)
doSendMagicEffect(topos, 12)
doSendMagicEffect(topos, 12)
storemana = getPlayerStorageValue(item2.uid, 444) + mana
setPlayerStorageValue(item2.uid, 444, storemana)
else
doPlayerSendTextMessage(item2.uid, 20, "You received "..mana.." mana.")
doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", 198)
doSendMagicEffect(topos, 12)
doSendMagicEffect(topos, 12)
storemana = getPlayerStorageValue(cid, 444) + mana
setPlayerStorageValue(cid, 444, storemana)
end
if (getPlayerAccess(cid) >= 1) then
doPlayerSendTextMessage(item2.uid, 20, getPlayerName(cid).." gave you "..mana.." mana.")
end
doPlayerAddMana(item2.uid, mana)
else
doPlayerSendCancel(cid, "You can only use this rune on players.")
end
end
return 1
elseif (item.itemid == bigruneid) then
-- Normal mana rune (with my settings: 240-360 mana, 300 on average)
exhast = exhaust(cid, storevalue, exhaustion)
if (exhast == 0) then
doPlayerSendCancel(cid, "You are exhausted.")
else
if (getPlayerAccess(item2.uid) >= 0) then
-- Decrease charges - remove if 0
if (item.type > 1) then
doChangeTypeItem(item.uid, item.type-1)
elseif (getPlayerAccess(cid) >= 0) then
doRemoveItem(item.uid, 1)
end
mana = math.random(minMana*bigmana, maxMana*bigmana)
if (topos.x ~= getPlayerPosition(cid).x or topos.y ~= getPlayerPosition(cid).y or topos.z ~= getPlayerPosition(cid).z) then
doPlayerSendTextMessage(item2.uid, 20, getPlayerName(cid).." gave you "..mana.." mana.")
doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", 198)
doSendMagicEffect(topos, 12)
doSendMagicEffect(topos, 12)
doPlayerSendTextMessage(cid, 20, "You gave "..getPlayerName(item2.uid).." "..mana.." mana.")
doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", 198)
doSendMagicEffect(topos, 12)
doSendMagicEffect(topos, 12)
storemana = getPlayerStorageValue(item2.uid, 444) + mana
setPlayerStorageValue(item2.uid, 444, storemana)
else
doPlayerSendTextMessage(item2.uid, 20, "You received "..mana.." mana.")
doSendAnimatedText(getPlayerPosition(cid), "Aaaah...", 198)
doSendMagicEffect(topos, 12)
doSendMagicEffect(topos, 12)
storemana = getPlayerStorageValue(cid, 444) + mana
setPlayerStorageValue(cid, 444, storemana)
end
if (getPlayerAccess(cid) >= 1) then
doPlayerSendTextMessage(item2.uid, 20, getPlayerName(cid).." gave you "..mana.." mana.")
end
doPlayerAddMana(item2.uid, mana)
else
doPlayerSendCancel(cid, "You can only use this rune on players.")
end
end
return 1
else
return 0
end
end
function exhaust(cid, storevalue, exhausttime)
-- Returns 1 if not exhausted and 0 if exhausted
newExhaust = os.time()
oldExhaust = getPlayerStorageValue(cid, storevalue)
if (lastexhaust == nil or lastexhaust < 0) then
lastexhaust = 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