Tudo bom pessoal! Creditos do script original: TFS Creditos da modificação: 314256   Vou trazer o script de potions, que fiz uma pequena atualização: Neste script, as poções do seu servidor vão passar a curar uma porcentagem da vida e mana máximas do player, com abertura para limite minimo e máximo de mana ou vida ganhos pela poção. É um tanto interessante para certos servidores.   Foi feito e testado no Alissow 4.11 para 8.60, mas acredito funcionar em outros servidores também.     1º Instalação Crie um arquivo potions.lua no seguinte local (data\actions\scripts\liquids), pode ser que no seu servidor tal arquivo já exista, neste caso apague e coloque isto: local config = { removeOnUse = "no", 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 = {5, 10}, max = 100, min = 50}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {10, 20}, max = 200, min = 50}, -- health potion [7588] = {empty = 7634, splash = 2, health = {20, 40}, max = 500, min = 0, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {50, 70}, max = 1000, min = 0, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {80, 100}, max = 2000, min = 0, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {7, 13}, max = 150, min = 50}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {11, 19}, max = 300, min = 0, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {20, 30}, max = 500, min = 0, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {20, 40}, mana = {11, 19}, max = 1000, min = 0, 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 min_, max_ = potion.min, potion.max local health = potion.health local maxhp = getCreatureMaxHealth(cid) if health then local random = math.ceil(math.random(health[1], health[2])) / 100 local hp = maxhp * random * healthMultiplier if hp < min_ then hp = min_ elseif hp > max_ then hp = max_ end doCreatureAddHealth(itemEx.uid, hp) end local mana = potion.mana local maxmp = getPlayerMaxMana(cid) if mana then local random = math.ceil(math.random(mana[1], mana[2])) / 100 local mp = maxmp * random * manaMultiplier if mp < min_ then mp = min_ elseif mp > max_ then mp = max_ end doPlayerAddMana(itemEx.uid, mp) 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 doRemoveItem(item.uid, 1) return true end doRemoveItem(item.uid, 1) doPlayerAddItem(cid, potion.empty, 1) return true end   E então, na pasta (data/actions), abra um arquivo actions.xml e adicione isto: <action itemid="7589;7590;8472;8473;7618;7620;8704" event="script" value="liquids/potions.lua"/> 2º Configuração Altere apenas a seguinte parte do Script: local config = { removeOnUse = "no", 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, -Multiplicador de vida recuperada, basicamente multiplica a força da poção manaMultiplier = 1.0 -Multiplicador de mana recuperada, basicamente multiplica a força da poção } Não altere config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) Não altere local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {5, 10}, max = 100, min = 50}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {10, 20}, max = 200, min = 50}, -- health potion [7588] = {empty = 7634, splash = 2, health = {20, 40}, max = 500, min = 0, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {50, 70}, max = 1000, min = 0, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {80, 100}, max = 2000, min = 0, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {7, 13}, max = 150, min = 50}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {11, 19}, max = 300, min = 0, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {20, 30}, max = 500, min = 0, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {20, 40}, mana = {11, 19}, max = 1000, min = 0, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } Aqui vão as configurações nas respectivas cores (para modificar as poções já existentes): Laranja = porcentagem de vida ou mana recuperada, são dois números pois ele vai randomizar, no caso da small health potion, ela vai recuperar algo entre 5% e 10% da vida total do jogador, se quiser sempre um mesmo número, coloque ele duas vezes. Roxo = Maximo que vai recuperar, neste caso o limite que o player pode recuperar usando esta poção. Verde = Minimo que o player vai recuperar, para evitar da poção curar 10 ou 5 dos jogadores mais novos.   Para criar uma nova poção: [7588] = {empty = 7634, splash = 2, health = {20, 40}, max = 500, min = 0, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, Vermelho = Id original da potion Sabe lá deus que cor é essa = Id da poção vazia Cinza = Imagem que aparece quando joga a potion no chão (2:poça vermelha ; 3:poça marrom ; 7:poça roza) health, max e min estão explicados acima Azul = Nível minimo para usar a poção Salmão claro (OtNet que ta dizendo) = Vocações que podem usar a potion (1 e 5: Sorcerer e Master Sorcerer ; 2 e 6: Druid e Elder Druid ; 3 e 7: Paladin e Royal Paladin ; 4 e 8: Kinght e Elite Knight), (Sim precisa colocar os dois números)     Então ai esta, espero que gostem e qualquer duvida é só questionar.