• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Please edit this script

Scootakid

New Member
Joined
Jun 6, 2009
Messages
32
Reaction score
0
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.

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.
 
Back
Top