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

Protection zone MANARUNE

atomic chavez

Hi there
Joined
Mar 8, 2009
Messages
84
Reaction score
0
Location
Mexico Monterrey
Yes I have been looking on both forums but I do not find it!
I would like if someone could post the code needed to make my mana potion/ manarune only usable if you are not on protection zone. People is taking backpacks of backpack of mana potions to their houses and getting lots of magic levels and I dont think this is fair so, I would like a mana potion only able to use if outside PZ

Here is the code of the well known Colandus manarune, If you could just edit that to meet my need and I will analyse it and extract what I need to make my own mana potion. THANKS


PHP:
-- Script 100% by Colandus (Except for the exhaustion system). 
-- If you edit this script, make sure to leave the credits to me, Colandus. 

-- >>CONFIG<< -- 
local REMOVE_CHARGES = true -- true/false shall it remove charges? 
local MIN_MANA = 100 -- How much mana minium will you get? 
local MAX_MANA = 300 -- How much mana max will you get? 
local USE_STATS = false -- Shall given mana be affected by player level and magic level? 
local STORE_VALUE = 3567 -- Value where exhaust is saved. 
local EXHAUST_TIME = 1 -- Exhaust time in seconds. 
local ANIMATION_COLOR = 41 -- The color of the "animation". 
-- >>CONFIG<< -- 

local vocMultiply = {0.35, 0.35, 0.85, 1.05, 0, 0, 0.65, 1.05} -- Remove and/or comment it out if you wish not to use it. 
local removeMana = 0 

function onUse(cid, item, frompos, item2, topos) 
    if isPlayer(item2.uid) == 1 then 
        local maxMana = getPlayerMaxMana(item2.uid) 
        if vocMultiply and getPlayerVocation(cid) >= 1 and getPlayerVocation(cid) <= 8 then 
            removeMana = vocMultiply[getPlayerVocation(cid)] 
        end 
        local newMana = math.random(MIN_MANA, MAX_MANA) 
        if USE_STATS then 
            newMana = math.ceil(newMana + getPlayerLevel(cid) + getPlayerMagLevel(cid) - (newMana * removeMana)) 
        end 
        if (maxMana - newMana) < 0 then 
            newMana = maxMana - getPlayerMana(cid) 
        end 
        if getPlayerMana(item2.uid) < maxMana then 
            if exhaust(cid, STORE_VALUE, EXHAUST_TIME) > 0 then 
                if REMOVE_CHARGES then 
                    if item.type > 1 then 
                        doChangeTypeItem(item.uid, item.type - 1) 
                    else 
                        doRemoveItem(item.uid, 1) 
                    end 
                end 
                if comparePos(getPlayerPosition(cid), getPlayerPosition(item2.uid)) 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 from " .. getPlayerName(cid) .. ".") 
                    doPlayerSendTextMessage(cid, 23, "You gave " .. getPlayerName(item2.uid) .. " " .. newMana .. " mana.") 
                end 
                doPlayerAddMana(item2.uid, newMana) 
                doSendAnimatedText(getPlayerPosition(item2.uid), newMana, ANIMATION_COLOR) 
            else 
                doPlayerSendCancel(cid, "You are exhausted.") 
            end 
        else 
            if comparePos(getPlayerPosition(cid), getPlayerPosition(item2.uid)) then 
                doPlayerSendCancel(item2.uid, "Your mana is already full.") 
            else 
                doPlayerSendCancel(cid, getPlayerName(item2.uid) .. " mana is already full.") 
            end 
            doSendMagicEffect(getPlayerPosition(cid), 2) 
        end 
    else 
        doPlayerSendCancel(cid, "You can only use this rune on players.") 
        doSendMagicEffect(getPlayerPosition(cid), 2) 
    end 
    return 1 
end
 
Code:
-- Script 100% by Colandus (Except for the exhaustion system).  
-- If you edit this script, make sure to leave the credits to me, Colandus.  

-- >>CONFIG<< --  
local REMOVE_CHARGES = true -- true/false shall it remove charges?  
local MIN_MANA = 100 -- How much mana minium will you get?  
local MAX_MANA = 300 -- How much mana max will you get?  
local USE_STATS = false -- Shall given mana be affected by player level and magic level?  
local STORE_VALUE = 3567 -- Value where exhaust is saved.  
local EXHAUST_TIME = 1 -- Exhaust time in seconds.  
local ANIMATION_COLOR = 41 -- The color of the "animation".  
-- >>CONFIG<< --  

local vocMultiply = {0.35, 0.35, 0.85, 1.05, 0, 0, 0.65, 1.05} -- Remove and/or comment it out if you wish not to use it.  
local removeMana = 0  

function onUse(cid, item, frompos, item2, topos)  
[B][COLOR="Red"]if getTilePzInfo(getCreaturePosition(cid)) == FALSE then[/COLOR][/B]
    if isPlayer(item2.uid) == 1 then  
        local maxMana = getPlayerMaxMana(item2.uid)  
        if vocMultiply and getPlayerVocation(cid) >= 1 and getPlayerVocation(cid) <= 8 then  
            removeMana = vocMultiply[getPlayerVocation(cid)]  
        end  
        local newMana = math.random(MIN_MANA, MAX_MANA)  
        if USE_STATS then  
            newMana = math.ceil(newMana + getPlayerLevel(cid) + getPlayerMagLevel(cid) - (newMana * removeMana))  
        end  
        if (maxMana - newMana) < 0 then  
            newMana = maxMana - getPlayerMana(cid)  
        end  
        if getPlayerMana(item2.uid) < maxMana then  
            if exhaust(cid, STORE_VALUE, EXHAUST_TIME) > 0 then  
                if REMOVE_CHARGES then  
                    if item.type > 1 then  
                        doChangeTypeItem(item.uid, item.type - 1)  
                    else  
                        doRemoveItem(item.uid, 1)  
                    end  
                end  
                if comparePos(getPlayerPosition(cid), getPlayerPosition(item2.uid)) 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 from " .. getPlayerName(cid) .. ".")  
                    doPlayerSendTextMessage(cid, 23, "You gave " .. getPlayerName(item2.uid) .. " " .. newMana .. " mana.")  
                end  
                doPlayerAddMana(item2.uid, newMana)  
                doSendAnimatedText(getPlayerPosition(item2.uid), newMana, ANIMATION_COLOR)  
            else  
                doPlayerSendCancel(cid, "You are exhausted.")  
            end  
        else  
            if comparePos(getPlayerPosition(cid), getPlayerPosition(item2.uid)) then  
                doPlayerSendCancel(item2.uid, "Your mana is already full.")  
            else  
                doPlayerSendCancel(cid, getPlayerName(item2.uid) .. " mana is already full.")  
            end  
            doSendMagicEffect(getPlayerPosition(cid), 2)  
        end  
    else  
        doPlayerSendCancel(cid, "You can only use this rune on players.")  
        doSendMagicEffect(getPlayerPosition(cid), 2)  
    end
[COLOR="red"][B]else
doPlayerSendCancel(cid, "You can only use this rune outside protection zones.")  
doSendMagicEffect(getPlayerPosition(cid), 2)  
end[/B][/COLOR]
	return 1  
end
 
Back
Top