• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Error Healing/Mana rune.

nystrom

New Member
Joined
Nov 17, 2009
Messages
269
Reaction score
0
This is the script that i am using, i couldnt find any other that worked with TFS 0.3.6 i am also using if for my mana rune but i dont think it works to 100% :P seins i am getting alot of errors in my server log.
Well this dont work at all and i dont think that there is an idea to fix it ^^ so i wounder if some one has a working healing/mana rune script. Seins i have played alot of servers and they all have nice working mana/healing runes :D
it shoud be awsome if some one wanted to share it with me :D
thanks :D

PHP:
-----------------------------------
------- Universal Mana Rune -------
----------- Version 1.1 -----------
------ Script By: OsoSangre -------
-----------------------------------
--Created to make the script easy to manipulate
--If used without using server potion exhaust (EX: potExhaust = false), it will work regardless of server
--Remember, true = yes, false = no, in the config
 
function onUse(cid, item, frompos, item2, topos)
    --Config
    local reqml = 1         --Magic Level required to use it
    local reqlvl = 1       --Character Level required to use it
    local potExhaust = false    -- causes exhaust like potions (false creates seperate exhaust for mana rune)
    local minMana = 0     --Minimum amount of mana to be added
    local maxMana = 0         --Maximum amount of mana to be added
    local ani = 12          --Animation to be sent to player when used (these can be found in your global.lua; search for CONST_ME_)
    --If you don't want it to give health, set both to 0
    local minHealth = 750       --Minimum amount of health to be added
    local maxHealth = 1150       --Maximum amount of health to be added
    --If you're not using potion exhaust (potExhaust = false) edit the following the way you'd like
    local storeValue = 50       --The storage value that will be used for exhaust if you have potexhaust to false
    local exhaustTime = 1       --Exhaust in seconds
    local infinite = false      --Will it cause rune to lose charges
    local canUseInPz = true    --If true, mana rune may be used in PZ, otherwise, it will not work.
 
    local player_say = "Ahhh..."                            --What player says after successfully using the mana rune
    local error_ml = "You don't have the required magic level to use that rune."    --What the cancel says when ml is too low
    local error_lvl = "You don't have the required magic level to use that rune."   --What the cancel says when level is too low
    local error_notPlayer = "You can only use this rune on players."        --What the cancel says when you try to use it on something not a player
    local error_exhaust = "You are exhausted."                  --What the cancel says when you are exhausted
    local error_pz = "You may not use this in Protected Zones."	--What the cancel says when you are in PZ and canUseInPz is false
    ------------------------------------------- DO NOT EDIT BELOW THIS LINE!! -------------------------------------------
 
    ---------------------------START Check for Errors--------------------------------
    --If doesn't allow use in PZ, send poof and cancel message
    if canUseInPz == false  and getTilePzInfo(getPlayerPosition(cid)) == 1 then
        doSendMagicEffect(frompos, CONST_ME_POFF)
        doPlayerSendCancel(cid, error_pz)
        return 0
    end
    --If not high enough level, send poof and cancel message
    if getPlayerLevel(cid) < reqlvl then
        doSendMagicEffect(frompos, CONST_ME_POFF)
        doPlayerSendCancel(cid, error_lvl)
        return 0
    end
 
    --If ml is too low, send poof and cancel message
    if getPlayerMagLevel(cid) < reqml then
        doSendMagicEffect(frompos, CONST_ME_POFF)
        doPlayerSendCancel(cid, error_ml)
        return 0
    end
 
    --If it's not a player, send poof and cancel message
    if item2.uid < 1 then
        doSendMagicEffect(frompos, CONST_ME_POFF)
        doPlayerSendCancel(cid, error_notPlayer)
        return 0
    end
 
    --Check if exhausted
    if potExhaust == false then --If not using Potion Exhaust
        if exhaust(cid, storeValue, exhaustTime) == 0 then
            doSendMagicEffect(frompos, CONST_ME_POFF)
            doPlayerSendCancel(cid, error_exhaust)
            return 0
        end
    else --If you are using potion exhaust
        if hasCondition(cid, CONDITION_EXHAUSTED) == 1 then
            doPlayerSendCancel(cid, error_exhaust)
            return 0
        end
    end
 
    ---------------------------END Check for Errors--------------------------------
 
    doSendMagicEffect(topos, ani)
    doPlayerAddMana(item2.uid, math.random(minMana, maxMana))
    if infinite == false then
        if item.type > 1 then
            doChangeTypeItem(item.uid,item.type-1)
        else
            doRemoveItem(item.uid,1)
        end
    end
end
 
--Exhaust System created by Alreth
--Edited by OsoSangre
function exhaust(cid, storeValue, exhaustTime)
    local newExhaust = os.time()
    local 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
 
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local lvl, mag, storage, exhausted = getPlayerLevel(cid), getPlayerMagLevel(cid), 1337, 1
	if exhaustion.check(cid, storage) == true then
		doPlayerSendCancel(cid, "You are exhausted.")
	elseif not isPlayer(itemEx.uid) then
		doPlayerSendCancel(cid, "Sorry, not possible.")
	else
		local min = lvl * 0 + mag * 7
		local max = lvl * 0 + mag * 10
		local rand = math.random(min, max)
		doPlayerAddMana(itemEx.uid, rand)
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)
		doCreatureSay(itemEx.uid, 'Aaaah...', TALKTYPE_ORANGE_1)
		exhaustion.set(cid, storage, exhausted)
	end
	return true
end

Note this mana has no req but can be edited to be based on your magic level
 
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local lvl, mag, storage, exhausted = getPlayerLevel(cid), getPlayerMagLevel(cid), 1337, 1
	if exhaustion.check(cid, storage) == true then
		doPlayerSendCancel(cid, "You are exhausted.")
	elseif not isPlayer(itemEx.uid) then
		doPlayerSendCancel(cid, "Sorry, not possible.")
	else
		local min = lvl * 0 + mag * 7
		local max = lvl * 0 + mag * 10
		local rand = math.random(min, max)
		doPlayerAddMana(itemEx.uid, rand)
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)
		doCreatureSay(itemEx.uid, 'Aaaah...', TALKTYPE_ORANGE_1)
		exhaustion.set(cid, storage, exhausted)
	end
	return true
end

Note this mana has no req but can be edited to be based on your magic level

Im sorry but i need a mana/health rune that is configabel :(
 
Last edited:
Back
Top