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

Unlimited Mana Fluids *Not Spilling* 7.6 (Help please)

Zaggyzigzig

plx itens menz
Joined
Aug 25, 2014
Messages
386
Reaction score
50
Location
Canada Ontario
I have been trying to figure this out for a about a month now, Made a post a while back but did not get any help!

If anyone knows how to make it so my unlimited mana fluid script does not spill fluids onto the ground! Players walk and they spill them, Its very annoying! Please someone! Help!


Here is my script: using 7.6 avesta

local exhaust_heal = createConditionObject(CONDITION_EXHAUSTED)
setConditionParam(exhaust_heal, CONDITION_PARAM_TICKS, 1000)
local poison = createConditionObject(CONDITION_POISON)
setConditionParam(poison, CONDITION_PARAM_DELAYED, 1)
local drunk = createConditionObject(CONDITION_DRUNK)
setConditionParam(drunk, CONDITION_PARAM_TICKS, 60000)
addDamageCondition(poison, 4, 6000, -5)
addDamageCondition(poison, 5, 6000, -4)
addDamageCondition(poison, 6, 6000, -3)
addDamageCondition(poison, 10, 6000, -2)
addDamageCondition(poison, 36, 6000, -1)
local TYPE_EMPTY = 0
local TYPE_WATER = 1
local TYPE_BLOOD = 2
local TYPE_BEER = 3
local TYPE_SLIME = 4
local TYPE_LEMONADE = 5
local TYPE_MANA_FLUID = 7
local TYPE_LIFE_FLUID = 10
local TYPE_OIL = 11
local TYPE_URINE = 13
local TYPE_WINE = 15
local TYPE_MUD = 19
local TYPE_LAVA = 26
local TYPE_RUM = 27
local TYPE_SWAMP = 28
function onUse(cid, item, frompos, item2, topos)
if (item.type == 0) then
doPlayerSendCancel(cid,"You can not use this object. ")
elseif (item2.uid ~= cid) and (topos.stackpos > 0) and (isMoveable(item2.uid) ~= TRUE) and (isCreature(item2.uid) ~= 1) then
doPlayerSendCancel(cid,"There is not enough room.")
elseif (isInArray(FLUID_CONTAINERS,item2.itemid) == TRUE) and (item2.type == TYPE_EMPTY) then
doChangeTypeItem(item.uid, TYPE_EMPTY)
doChangeTypeItem(item2.uid, item.type)
elseif (topos.x == 65535) and (item2.uid ~= cid) and (isPlayer(item2.uid) ~= cid) then
if(isInArray(DIRT_WALL,item2.itemid) ~= TRUE) then
doChangeTypeItem(item.uid, 0)
else
doPlayerSendCancel(cid,"There is not enough room.")
end
elseif (item2.itemid > 0) and (item2.uid ~= cid) and (isPlayer(item2.uid) ~= cid) then
if(isInArray(DIRT_WALL,item2.itemid) ~= TRUE) then
doChangeTypeItem(item.uid, 0)
else
doPlayerSendCancel(cid,"There is not enough room.")
end
elseif (frompos.x == 65535) and (item2.uid ~= cid) and (isPlayer(item2.uid) ~= cid) then
if(isInArray(DIRT_WALL,item2.itemid) ~= TRUE) then
doChangeTypeItem(item.uid, 0)
else
doPlayerSendCancel(cid,"There is not enough room.")
end
else
if (item2.uid == cid) and (isPlayer(item2.uid) == 1) then
doChangeTypeItem(item.uid, 7)
if (item.type == TYPE_MANA_FLUID) then
new_mana = math.random(300, 550)
doPlayerAddMana(cid, new_mana)
doSendMagicEffect(topos, 1)
doPlayerSay(cid, "Aaaah...", 1)
doAddCondition(cid, exhaust_heal)
elseif (item.type == TYPE_LIFE_FLUID) then
new_life = math.random(200, 500)
doPlayerAddHealth(cid, new_life)
doSendMagicEffect(topos, 12)
doPlayerSay(cid, "Aaaah...", 1)
doAddCondition(cid, exhaust_heal)
elseif (item.type == TYPE_BEER or item.type == TYPE_WINE or item.type == TYPE_RUM) then
doTargetCombatCondition(0, cid, drunk, CONST_ME_NONE)
doPlayerSay(cid, "Aah...", 1)
elseif (item.type == TYPE_LEMONADE) then
doPlayerSay(cid, "Mmmh.", 1)
elseif (item.type == TYPE_SLIME or item.type == TYPE_SWAMP) then
doTargetCombatCondition(0, cid, poison, CONST_ME_NONE)
doPlayerSay(cid, "Urgh!", 1)
elseif (item.type == TYPE_OIL or item.type == TYPE_URINE) then
doPlayerSay(cid, "Urgh!", 1)
else
doPlayerSay(cid, "Gulp.", 1)
end
end
end
if (item.type == 0) then
if item2.itemid >= 490 and item2.itemid <= 517
or item2.itemid >= 618 and item2.itemid <= 629
or item2.itemid == 1368 or item2.itemid == 1369
or item2.itemid >= 4820 and item2.itemid <= 4825
or item2.itemid >= 4828 and item2.itemid <= 4831
or item2.itemid >= 4608 and item2.itemid <= 4666 then
doChangeTypeItem(item.uid, TYPE_WATER)
elseif item2.itemid == 103 then
doChangeTypeItem(item.uid, TYPE_MUD)
elseif item2.itemid >= 598 and item2.itemid < 601
or item2.itemid == 1509
or item2.itemid >= 518 and item2.itemid <= 529 then
doChangeTypeItem(item.uid, TYPE_LAVA)
elseif item2.itemid >= 351 and item2.itemid <= 355 then
doChangeTypeItem(item.uid, TYPE_MUD)
elseif item2.itemid >= 602 and item2.itemid <= 605
or item2.itemid >= 4691 and item2.itemid <= 4755
or item2.itemid == 4758 then
doChangeTypeItem(item.uid, TYPE_SWAMP)
elseif item2.itemid == 1771 then
doChangeTypeItem(item.uid, TYPE_WATER)
elseif item2.itemid == 1772 then
doChangeTypeItem(item.uid, TYPE_BEER)
elseif item2.itemid == 1773 then
doChangeTypeItem(item.uid, TYPE_WINE)
elseif item2.itemid == 1776 then
doChangeTypeItem(item.uid, TYPE_LEMONADE)
elseif(isInArray(NORMAL_CORPSE_STAGE_I,item2.itemid) == TRUE) then
doChangeTypeItem(item.uid, TYPE_BLOOD)
elseif(isInArray(SLIME_CORPSES,item2.itemid) == TRUE) then
doChangeTypeItem(item.uid, TYPE_SLIME)
elseif item2.itemid >= 371 and item2.itemid <= 382
or item2.itemid >= 356 and item2.itemid <= 367 then
doPlayerSendCancel(cid, "You cannot use this object.")
end
end
return TRUE
end
 
Try this script instead:
fluids.lua
Code:
local exhaust = createConditionObject(CONDITION_EXHAUST_COMBAT)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 1000)

function onUse(cid, item, frompos, item2, topos)
      if(hasCondition(cid, CONDITION_EXHAUST_COMBAT) == TRUE) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
        return TRUE
    end

    if item2.itemid == 1 then
        if item.type == 0 then
            doPlayerSendCancel(cid, "It is empty.")
        else
            if item2.uid == cid then
                if item.type == 7 then
                    new_mana = math.random(40, 70)
                    doPlayerAddMana(cid, new_mana)
                    doSendMagicEffect(topos, 12)
                    doAddCondition(cid, exhaust)
                    doCreatureSay(cid, "Aaaah...", 1)
                elseif item.type == 10 then
                    new_life = math.random(40, 80)
                    doPlayerAddHealth(cid, new_life)
                    doSendMagicEffect(topos, 12)
                    doPlayerSay(cid, "Aaaah...", 1)
                else
                    doPlayerSay(cid, "Gulp.", 1)
                end
            end
        end
    elseif item2.itemid >= 490 and item2.itemid <= 517
    or item2.itemid >= 618 and item2.itemid <= 629
    or item2.itemid == 1368 or item2.itemid == 1369
    or item2.itemid >= 4820 and item2.itemid <= 4825
    or item2.itemid >= 4828 and item2.itemid <= 4831
    or item2.itemid >= 4608 and item2.itemid <= 4666 then
    elseif item2.itemid == 103 then
    elseif item2.itemid >= 598 and item2.itemid < 601
    or item2.itemid == 1509
    or item2.itemid >= 518 and item2.itemid <= 529 then
    elseif item2.itemid >= 351 and item2.itemid <= 355 then
    elseif item2.itemid >= 602 and item2.itemid <= 605
    or item2.itemid >= 4691 and item2.itemid <= 4755
    or item2.itemid == 4758 then
    elseif item2.itemid == 1771 then
    elseif item2.itemid == 1772 then
    elseif item2.itemid == 1773 then
    elseif item2.itemid > 2806 and item2.itemid < 3132
    or item2.itemid >= 4251 and item2.itemid <= 4327 then
    else
        if item.type == 0 then
            doPlayerSendCancel(cid, "It is empty.")
        end
    end
   
    return TRUE
end
 
OMG I LOVE YOU IT WORKS! YOUR AMAZING!!!!!!!!!! If I had money I would pay you so much man! I am broke as fuck tho, Anyways thanks so much! You helped my server become 10x better!!!!
 
How come I can't spam mana fluids and cast spells? Tried changing.

But no effects, Only really fast mana fluids at 800 or really snow at 1000 exhaust =/


local exhaust = createConditionObject(CONDITION_EXHAUST_COMBAT)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 1000)

function onUse(cid, item, frompos, item2, topos)
if(hasCondition(cid, CONDITION_EXHAUST_COMBAT) == TRUE) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end

(If a moderator edits this because of the tags its because I DO NOT KNOW HOW TO ADD TAGS!!. You guy's don't make it very easy to find out how even searched everywhere on this website how to add tags.
 
Last edited:
if you wanna spam, you have to change the exhaust, try putting exhaust to 0, see if it works.
Code:
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 0)
 
Try remove this row

Code:
      if(hasCondition(cid, CONDITION_EXHAUST_COMBAT) == TRUE) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
        return TRUE
    end
might work
 
Back
Top