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

Windows Potions error

Knasmannen

Google.com
Joined
Apr 28, 2014
Messages
104
Reaction score
10
Location
Sweden
Hello, I got this error when use healt potion, but mana potions works.
What can it be ?

Error
Code:
[15:19:15.120] [Error - Action Interface]
[15:19:15.122] data/actions/scripts/liquids/potions.lua:onUse
[15:19:15.123] Description:
[15:19:15.124] data/actions/scripts/liquids/potions.lua:51: attempt to index glo
bal 'mana' (a nil value)
[15:19:15.125] stack traceback:
[15:19:15.126]  data/actions/scripts/liquids/potions.lua:51: in function <data/a
ctions/scripts/liquids/potions.lua:26>
Script
Code:
local config = {
    removeOnUse = "no",
    splashable = "no",
    realAnimation = "no", -- make text effect visible only for players in range 1x1
    healthMultiplier = 1.0,
    manaMultiplier = 1.0
}

config.removeOnUse = getBooleanFromString(config.removeOnUse)
config.splashable = getBooleanFromString(config.splashable)
config.realAnimation = getBooleanFromString(config.realAnimation)

local POTIONS = {
     [8704] = {empty = 7636, splash = 2, health = {3, 5}}, -- small health potion
     [7618] = {empty = 7636, splash = 2, health = {10, 15}}, -- health potion
     [7588] = {empty = 7634, splash = 2, health = {15, 20}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
     [7591] = {empty = 7635, splash = 2, health = {25, 30}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
     [8473] = {empty = 7635, splash = 2, health = {30, 40}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion
     [7620] = {empty = 7636, splash = 7, mana = {5, 10}}, -- mana potion
     [7589] = {empty = 7634, splash = 7, mana = {10, 15}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
     [7590] = {empty = 7635, splash = 7, mana = {20, 25}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion
     [8472] = {empty = 7635, splash = 3, health = {20, 30}, mana = {10, 15}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion
}
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
function onUse(cid, item, fromPosition, itemEx, toPosition)
     local potion = POTIONS[item.itemid]
     if(not potion) then
         return false
     end
     if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
         if(not config.splashable) then
             return false
         end
         if(toPosition.x == CONTAINER_POSITION) then
             toPosition = getThingPos(item.uid)
         end
         doDecayItem(doCreateItem(2016, potion.splash, toPosition))
         return true
     end
     if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
         doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
         return true
     end
     if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then
         doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
         return true
     end
     local health = potion.health
     local healthmax = getCreatureMaxHealth(cid)
     if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(healthmax * (mana[1]/100), healthmax * (mana[2]/100)) * config.healthMultiplier))) then
         return false
     end
     local mana = potion.mana
     local manamax = getPlayerMaxMana(cid)
     if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(manamax * (mana[1]/100), manamax * (mana[2]/100)) * config.manaMultiplier))) then
         return false
     end
     doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
     if(not realAnimation) then
         doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
     else
         for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do
             if(isPlayer(tid)) then
                 doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
             end
         end
     end
     doAddCondition(cid, exhaust)
     if(not potion.empty or config.removeOnUse) then
         return true
     end  
     if(fromPosition.x == CONTAINER_POSITION) then
         doRemoveItem(item.uid, 0)
     else    
         doCreateItem(potion.empty, 1, getThingPos(item.uid))
         doRemoveItem(item.uid, 0)      
     return TRUE
  end
return true
end
 
Hello, I got this error when use healt potion, but mana potions works.
What can it be ?

Error
Code:
[15:19:15.120] [Error - Action Interface]
[15:19:15.122] data/actions/scripts/liquids/potions.lua:onUse
[15:19:15.123] Description:
[15:19:15.124] data/actions/scripts/liquids/potions.lua:51: attempt to index glo
bal 'mana' (a nil value)
[15:19:15.125] stack traceback:
[15:19:15.126]  data/actions/scripts/liquids/potions.lua:51: in function <data/a
ctions/scripts/liquids/potions.lua:26>
Script
Code:
local config = {
    removeOnUse = "no",
    splashable = "no",
    realAnimation = "no", -- make text effect visible only for players in range 1x1
    healthMultiplier = 1.0,
    manaMultiplier = 1.0
}

config.removeOnUse = getBooleanFromString(config.removeOnUse)
config.splashable = getBooleanFromString(config.splashable)
config.realAnimation = getBooleanFromString(config.realAnimation)

local POTIONS = {
     [8704] = {empty = 7636, splash = 2, health = {3, 5}}, -- small health potion
     [7618] = {empty = 7636, splash = 2, health = {10, 15}}, -- health potion
     [7588] = {empty = 7634, splash = 2, health = {15, 20}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion
     [7591] = {empty = 7635, splash = 2, health = {25, 30}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion
     [8473] = {empty = 7635, splash = 2, health = {30, 40}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion
     [7620] = {empty = 7636, splash = 7, mana = {5, 10}}, -- mana potion
     [7589] = {empty = 7634, splash = 7, mana = {10, 15}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
     [7590] = {empty = 7635, splash = 7, mana = {20, 25}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion
     [8472] = {empty = 7635, splash = 3, health = {20, 30}, mana = {10, 15}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion
}
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
function onUse(cid, item, fromPosition, itemEx, toPosition)
     local potion = POTIONS[item.itemid]
     if(not potion) then
         return false
     end
     if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then
         if(not config.splashable) then
             return false
         end
         if(toPosition.x == CONTAINER_POSITION) then
             toPosition = getThingPos(item.uid)
         end
         doDecayItem(doCreateItem(2016, potion.splash, toPosition))
         return true
     end
     if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then
         doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
         return true
     end
     if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then
         doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1)
         return true
     end
     local health = potion.health
     local healthmax = getCreatureMaxHealth(cid)
     if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(healthmax * (mana[1]/100), healthmax * (mana[2]/100)) * config.healthMultiplier))) then
         return false
     end
     local mana = potion.mana
     local manamax = getPlayerMaxMana(cid)
     if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(manamax * (mana[1]/100), manamax * (mana[2]/100)) * config.manaMultiplier))) then
         return false
     end
     doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
     if(not realAnimation) then
         doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
     else
         for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do
             if(isPlayer(tid)) then
                 doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid)
             end
         end
     end
     doAddCondition(cid, exhaust)
     if(not potion.empty or config.removeOnUse) then
         return true
     end 
     if(fromPosition.x == CONTAINER_POSITION) then
         doRemoveItem(item.uid, 0)
     else   
         doCreateItem(potion.empty, 1, getThingPos(item.uid))
         doRemoveItem(item.uid, 0)     
     return TRUE
  end
return true
end

change
local mana = potion.mana
to
local mana = POTIONS.mana
 
@up +1, but I don't think he should make it capital, upper case lettersonly makes a difference if he is on linux :)

Always type same letters even on windows. No matter what. What if he wants to host it later on Linux?
 
Still problems,
when I reload actions.
Code:
[14:7:39.101] [Error - Action Interface]
[14:7:39.102] data/actions/scripts/liquids/potions.lua:onUse
[14:7:39.103] Description:
[14:7:39.103] data/actions/scripts/liquids/potions.lua:51: attempt to index glob
al 'mana' (a nil value)
[14:7:39.104] stack traceback:
[14:7:39.105]   data/actions/scripts/liquids/potions.lua:51: in function <data/a
ctions/scripts/liquids/potions.lua:26>
[14:9:24.455] [Error - LuaInterface::loadFile] cannot open data/actions/scripts/
potions.lua: No such file or directory
[14:9:24.457] [Warning - Event::loadScript] Cannot load script (data/actions/scr
ipts/potions.lua)
[14:9:24.458] cannot open data/actions/scripts/potions.lua: No such file or dire
ctory
 
Back
Top