• 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!

Action Manarune %base..

udxero

New Member
Joined
Mar 25, 2010
Messages
13
Reaction score
0
I know, manarunes have been posted billions of time... Also i take NO CREDIT for the script since it's not mine.. all i did was edit for %'s... ...

actions/scripts/Manarune.lua

Code:
-----------------------------------
------- 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 = 25         --Magic Level required to use it
    local reqlvl = 10       --Character Level required to use it
    local potExhaust = false    -- causes exhaust like potions (false creates seperate exhaust for mana rune)

local mana = getPlayerMaxMana(cid)

    local minMana = mana * .08     --Minimum amount of mana to be added
  local maxMana = mana * .09  --Maximum amount of mana to be added
    local ani = 1           --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 = 150       --Minimum amount of health to be added
    local maxHealth = 300       --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)
doCreatureSay(cid, "You need magic level 20 to use this rune.", TALKTYPE_ORANGE_1)
        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
        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

Add this to actions.xml

Code:
<action itemid="2272" event="script" value="manarune.lua"/>

*** feel free to change the itemid to whatever rune suits you lol this is just the one i wanted 0.o

As i said all i did was edited it so that % mana heal is possible.. This particular rune only adds 8-9% of the characters max mana. It is possible to use the same edit i made to make this same rune heal both hp and Mp with a % :D hope it helps... ...


________________________________________________________________

i'm new.. go easy on me :(
 
Back
Top