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

Need This Configuration With My Mana Potions

Crayon

New Member
Joined
Mar 23, 2009
Messages
29
Reaction score
0
I Want In My Script, Like This:

----- This Is An Example In My Uh (Ultimate Healing Rune)

function onGetFormulaValues(cid, level, maglevel)
local min = (level * 2.2 + maglevel * 1) * 1.2
local max = (level * 2.1 + maglevel * 1) * 1.1

Well I Want That, But In My Mana Potions (Small,Strong, Great)


But I Dont Know How I Do That In My Script =/
 
use this:
Lua:
local level = getPlayerLevel(itemEx.uid)
local maglevel = getPlayerMagLevel(itemEx.uid)
local formula1 = (level * 2.2 + maglevel * 1) * 1.2
local formula2 = (level * 2.1 + maglevel * 1) * 1.1

doCreatureAddMana(itemEx.uid, math.random(formula1, formula2))
 
local MIN = 110
local MAX = 190
local EMPTY_POTION = 7634

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == FALSE then
return FALSE
end

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end

if((not(isSorcerer(itemEx.uid) or isDruid(itemEx.uid) or isPaladin(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 50) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then
doCreatureSay(itemEx.uid, "Only sorcerers, druids and paladins of level 50 or above may drink this fluid.", TALKTYPE_ORANGE_1)
return TRUE
end

if doPlayerAddMana(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then
return FALSE
end

doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
doTransformItem(item.uid, EMPTY_POTION)
return TRUE
end



THAT IS IN MY STRONG MANA POTION

WELL, I WANT LIKE THIS:

local level = getPlayerLevel(itemEx.uid)
local maglevel = getPlayerMagLevel(itemEx.uid)
local formula1 = (level * 2.2 + maglevel * 1) * 1.2
local formula2 = (level * 2.1 + maglevel * 1) * 1.1

doCreatureAddMana(itemEx.uid, math.random(formula1, formula2))

BUT IN THE SCRIPT, WHERE I PUT THAT OR WHAT I HAVE TO DO?
 
Code:
local EMPTY_POTION = 7634

local level = getPlayerLevel(itemEx.uid)
local maglevel = getPlayerMagLevel(itemEx.uid)
local formula1 = (level * 2.2 + maglevel * 1) * 1.2
local formula2 = (level * 2.1 + maglevel * 1) * 1.1

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == FALSE then
return FALSE
end

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end

if((not(isSorcerer(itemEx.uid) or isDruid(itemEx.uid) or isPaladin(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 50) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then
doCreatureSay(itemEx.uid, "Only sorcerers, druids and paladins of level 50 or above may drink this fluid.", TALKTYPE_ORANGE_1)
return TRUE
end

if doPlayerAddMana(itemEx.uid, math.random(formula1, formula2)) == LUA_ERROR then
return FALSE
end

doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
doTransformItem(item.uid, EMPTY_POTION)
return TRUE
end

Should do the trick.

Take care~
 
check this, when i turn On The Server, This Is The Problem

data/actions/scripts/liquids/strong_mana.lua:3: attempt to index global 'itemEx' (a nil value)

[Warning - Event::loadScript] Can not load script (data/actions/scripts/liquids/strong_mana.lua)

Where Is The Error?
local EMPTY_POTION = 7634

local level = getPlayerLevel(itemEx.uid)
local maglevel = getPlayerMagLevel(itemEx.uid)
local formula1 = (level * 2.2 + maglevel * 1) * 1.2
local formula2 = (level * 2.1 + maglevel * 1) * 1.1

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == FALSE then
return FALSE
end

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end

if((not(isSorcerer(itemEx.uid) or isDruid(itemEx.uid) or isPaladin(itemEx.uid)) or getPlayerLevel(itemEx.uid) < 50) and getPlayerCustomFlagValue(itemEx.uid, PlayerCustomFlag_GamemasterPrivileges) == FALSE) then
doCreatureSay(itemEx.uid, "Only sorcerers, druids and paladins of level 50 or above may drink this fluid.", TALKTYPE_ORANGE_1)
return TRUE
end

if doPlayerAddMana(itemEx.uid, math.random(formula1, formula2)) == LUA_ERROR then
return FALSE
end

doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1)
doTransformItem(item.uid, EMPTY_POTION)
return TRUE
end
 
Back
Top Bottom