Ir para conteúdo
  • 0

Mana Potion Nao Fica Infinita Alguem Pode Ajuda?


Dersinho

Pergunta

minha "mana potion " e deletei do liquidis e nao feis nenhuma diferensa percebi que nao esta la o script dela esta em actions/potions.lua mais e agora como faso pra coloka infinita eu so queru a mana potion infinita alguem pode me ajuda o script ta logo abaixo!

 

 

local config = {

removeOnUse = "yes",

usableOnTarget = "yes", -- can be used on target? (fe. healing friend)

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.usableOnTarget = getBooleanFromString(config.usableOnTarget)

config.splashable = getBooleanFromString(config.splashable)

config.realAnimation = getBooleanFromString(config.realAnimation)

 

local POTIONS = {

[8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion

[7618] = {empty = 7618, splash = 2, health = {100, 200}}, -- health potion

[7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion

[7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion

[8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion

 

[7620] = {empty = 7620, splash = 7, mana = {70, 130}}, -- mana potion

[7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion

[7590] = {empty = 7635, splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion

 

[8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {150, 190}, 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))

doTransformItem(item.uid, potion.empty)

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

if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then

return false

end

 

local mana = potion.mana

if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then

return false

end

 

if isInArray({8704, 7618, 7588, 7591, 8473}, item.itemid) then

doSendAnimatedText(getPlayerPosition(cid), "Ahhhh...", 180)

elseif isInArray({7620, 7589, 7590, 8472}, item.itemid) then

doSendAnimatedText(getPlayerPosition(cid), "Ahhhh...", 17)

end

doSendMagicEffect(getThingPos(itemEx.uid), 12)

if realAnimation then

for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do

if(isPlayer(tid)) then

end

end

end

 

doAddCondition(cid, exhaust)

if(not potion.empty or config.removeOnUse) then

doRemoveItem(item.uid, 1)

return true

end

doRemoveItem(item.uid, 1)

doPlayerAddItem(cid, potion.empty, 1)

return true

end

 

 

agradeço desde ja xD

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

der eu queria so a mana pot e o heltpot eu consegui sosinhu

fui em actions e coloke >>

 

<action itemid="7620" event="script" value="liquids/mana_potion.lua"/>

<action itemid="7618" event="script" value="liquids/health_potion.lua"/>

 

Pra usa o script>>>>>

 

local MIN = 100

local MAX = 200

local EMPTY_POTION = 7636

 

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 doCreatureAddHealth(itemEx.uid, math.random(MIN, MAX)) == LUA_ERROR then

return FALSE

end

 

doAddCondition(cid, exhaust)

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)

doSendAnimatedText(getPlayerPosition(cid), "Ahhhh...", 180)

doRemoveItem(item.uid, 0)

doPlayerAddItem(cid, EMPTY_POTION, 0)

pot_count = getPlayerItemCount(cid, EMPTY_POTION)

doPlayerRemoveItem(cid, EMPTY_POTION, pot_count)

doPlayerAddItem(cid, EMPTY_POTION, pot_count)

return TRUE

end

 

e claro que vc ´presisa tira o potion do liquis >>

 

<action itemid="7588-7591;8472-8473;8704" event="script" value="liquids/potions.lua"/>

 

no meu caso foi 7618,7620

 

e consegui que presisa do script e so pegar ai blz flw abraço!

Editado por Dersinho
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...