Potrzebuję aby było widać ile się lecze nawet gdy mam full hp oraz gdy full mane. Teraz widać tylko za ile sie ulecze gdy nie mam full hp. Chcialbym też aby flaska od potiona kazdego znikala po uzyciu a nie zostawała w bp. Najbardziej mi zalezy na widocznosci ilosci leczenia hp / mp.
Co tutaj wrzucić aby ktoś mogł mnie naprowadzić albo pokazać podobny config abym mogl u siebie to edytowac.
Wrzucam potions.lua
Kod:
local berserk = Condition(CONDITION_ATTRIBUTES)
berserk:setParameter(CONDITION_PARAM_SUBID, 7)
berserk:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
berserk:setParameter(CONDITION_PARAM_SKILL_MELEE, 5)
berserk:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
berserk:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local mastermind = Condition(CONDITION_ATTRIBUTES)
mastermind:setParameter(CONDITION_PARAM_SUBID, 8)
mastermind:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
mastermind:setParameter(CONDITION_PARAM_STAT_MAGICPOINTS, 3)
mastermind:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local bullseye = Condition(CONDITION_ATTRIBUTES)
bullseye:setParameter(CONDITION_PARAM_SUBID, 9)
bullseye:setParameter(CONDITION_PARAM_TICKS, 10 * 60 * 1000)
bullseye:setParameter(CONDITION_PARAM_SKILL_DISTANCE, 5)
bullseye:setParameter(CONDITION_PARAM_SKILL_SHIELD, -10)
bullseye:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local antidote = Combat()
antidote:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING)
antidote:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
antidote:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON)
antidote:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
antidote:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
local potions = {
[6558] = {transform = {id = {7588, 7589}}, effect = CONST_ME_DRAWBLOOD},
[7439] = {condition = berserk, vocations = {4, 8}, effect = CONST_ME_MAGIC_RED,
description = "Only knights may drink this potion.", text = "You feel stronger."},
[7440] = {condition = mastermind, vocations = {1, 2, 5, 6}, effect = CONST_ME_MAGIC_BLUE,
description = "Only sorcerers and druids may drink this potion.", text = "You feel smarter."},
[7443] = {condition = bullseye, vocations = {3, 7}, effect = CONST_ME_MAGIC_GREEN,
description = "Only paladins may drink this potion.", text = "You feel more accurate."},
[8474] = {combat = antidote, flask = 7636},
[7620] = {mana = {115, 190}, flask = 7636},
[7589] = {mana = {175, 280}, vocations = {1, 2, 3, 5, 6, 7}, level = 50, flask = 7634,
description = "Only sorcerers, druids and paladins of level 50 or above may drink this fluid."},
[7590] = {mana = {275, 375}, vocations = {1, 2, 5, 6}, level = 80, flask = 7635,
description = "Only druids and sorcerers of level 80 or above may drink this fluid."},
[26029] = {mana = {400, 600}, vocations = {1, 2, 5, 6}, level = 250, flask = 7635,
description = "Only druids and sorcerers of level 250 or above may drink this fluid."},
[8472] = {health = {375, 525}, mana = {175, 280}, vocations = {3, 7}, level = 80, flask = 7635,
description = "Only paladins of level 80 or above may drink this fluid."},
[26030] = {health = {400, 600}, mana = {150, 250}, vocations = {3, 7}, level = 250, flask = 7635,
description = "Only paladins of level 250 or above may drink this fluid."},
[8704] = {health = {90, 115}, flask = 7636},
[7618] = {health = {135, 255}, flask = 7636},
[7588] = {health = {375, 525}, vocations = {3, 4, 7, 8}, level = 50, flask = 7634,
description = "Only knights and paladins of level 50 or above may drink this fluid."},
[7591] = {health = {600, 750}, vocations = {4, 8}, level = 80, flask = 7635,
description = "Only knights of level 80 or above may drink this fluid."},
[8473] = {health = {850, 1050}, vocations = {4, 8}, level = 130, flask = 7635,
description = "Only knights of level 130 or above may drink this fluid."},
[26031] = {health = {900, 1200}, vocations = {4, 8}, level = 250, flask = 7635,
description = "Only knights of level 250 or above may drink this fluid."}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if type(target) == "userdata" and not target:isPlayer() then
return false
end
local potion = potions[item:getId()]
if potion.level and player:getLevel() < potion.level or potion.vocations and not isInArray(potion.vocations, player:getVocation():getBase():getId()) and not (player:getGroup():getId() >= 2) then
player:say(potion.description, TALKTYPE_MONSTER_SAY)
return true
end
if potion.health or potion.mana or potion.combat then
if potion.health then
doTargetCombatHealth(0, target, COMBAT_HEALING, potion.health[1], potion.health[2], CONST_ME_MAGIC_BLUE)
end
if potion.mana then
doTargetCombatMana(0, target, potion.mana[1], potion.mana[2], CONST_ME_MAGIC_BLUE)
end
if potion.combat then
potion.combat:execute(target, Variant(target:getId()))
end
target:say("Aaaah...", TALKTYPE_MONSTER_SAY)
end
if potion.condition then
player:addCondition(potion.condition)
player:say(potion.text, TALKTYPE_MONSTER_SAY)
player:getPosition():sendMagicEffect(potion.effect)
end
if potion.transform then
item:transform(potion.transform.id[math.random(#potion.transform.id)])
item:getPosition():sendMagicEffect(potion.effect)
return true
end
item:remove(1)
return true
end
Zakładki