Ir para conteúdo

Posts Recomendados

Oláa a todos! :D

 

Então pessoal, eu estou procurando uma script á 3 dias e não consegui achar. Procurei em tudo conté fórum, e não achei. Resolvi então pedir =]

É assim oh: Eu peguei e me passaram várias scripts de potions. Mas nenhuma era a que eu queria.

O que eu quero é o seguinte:

 

Preciso de uma script (.lua) da versão 8.6 (Real Server) de potions (potions.lua). Nessa script, eu preciso que elã não seja infinita (ou seja, que ela acabe), que ela se agrupe com as outras (Ex.: eu tenho 50 potions na backpack, se eu pegar 25 do chão e colocar em qualquer lugar backpack, ela se agrupa sosinha) e que na contagem esteja certinho (Ex.: Se eu tenho 2000 na backpack e usar 1, daí aparece aquela mensagem "Using one of 2000 great mana potions..." daí uso mais 1, ""Using one of 1999 great mana potions..." e assim vai). Tipo, as outras scrips que eu peguei, se eu tinha 500, ela só falava "Using one of 100 great mana potions...". Então tem que ser certinho .-.

 

Se alguém usa, sabe, ou tem essa script, me passa por favor? =x

 

Meu Script ta assim (potion.lua):

 

 

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 = {50, 100}}, -- small health potion

[7618] = {empty = 7636, 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 = 7636, 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 = {110, 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

 

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)

return true

end

 

Edit:

Surgiu uma dúvida aqui agora, eu já coloquei um monte de scripts (potions.lua) inclusive do Real Server 8.6 do Doidin, do Snowz Thyranic do Alissow, e nenhum resolveu o problema de dar Using. ("Using one of 100 great mana potions...") Será que esse problema é em outro lugar?

Editado por Garrius
Link para o comentário
https://xtibia.com/forum/topic/161012-pedido-script-de-potions-finitas-que-acabam/
Compartilhar em outros sites

×
×
  • Criar Novo...