Ir para conteúdo
  • Cadastre-se

[Resolvido] [Ajuda] Potions/infinita


Posts Recomendados

Ola pessoal do TK, estou aqui solicitando uma ajuda!! na mudança desse script...

Tipo no meu OT as potions não são infinitas...mas quero que caso player seja premium as potions não irá remover cargas...tornando assim elas infinitas para premiuns...



local config = { 

        removeOnUse = "yes", 

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

        splashable = "yes", 

        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, 14}, 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 = {900, 1000}, level = 130, vocations = {4, 8 , 12, 14}, vocStr = "knights"}, -- ultimate health potion 

        [7620] = {empty = 7636, splash = 7, mana = {100, 190}}, -- mana potion 

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

        [7590] = {empty = 7635, splash = 7, mana = {400, 450}, level = 80, vocations = {1, 2, 5, 6 ,9 ,10, 13, 14}, vocStr = "sorcerers and druids"}, -- great mana potion 

        [8472] = {empty = 7635, splash = 3, health = {300, 400}, mana = {210, 250}, level = 80, vocations = {3, 7 ,11 ,13}, 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)) 

                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 

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

doRemoveItem(item.uid, 1)

return true

end

doRemoveItem(item.uid, 1)

return true

end

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

doRemoveItem(item.uid, 1)

return true

end

doRemoveItem(item.uid, 1)

return true

end

Em VERMELHO é a condição de Remover!!! Queria que adiciona-se uma condição que se o player premium usa potion não remove-se

Editado por Rogeriok (veja o histórico de edições)

Assinatura retirada pela direção!

Link para o post
Compartilhar em outros sites

Tente..

entre

local config = { e }

adicione isso PremiumUse = Yes

logo abaixo config.PremiumUse = getPlayerPremiumDays(config.PremiumUse) >= 1

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

doRemoveItem(item.uid, 1)

return true

end

doRemoveItem(item.uid, 1)

return true

end

NAO TESTEI.

Editado por Fabiano Alberto (veja o histórico de edições)

SE AJUDEI REP+ ;D, NÃO CUSTA NADA.

uRti.png

<a href="http://central.evenhost.net/aff.php?aff=020"><img src="http://i.imm.io/uRti.png" width="500" height="82" border="0"></a>

Link para o post
Compartilhar em outros sites

Rogeriok, tente este script:

local config = {
PremiumNotRemove = "yes",
removeOnUse = "yes",
usableOnTarget = "yes", -- can be used on target? (fe. healing friend)
splashable = "yes",
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, 14}, 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 = {900, 1000}, level = 130, vocations = {4, 8 , 12, 14}, vocStr = "knights"}, -- ultimate health potion
[7620] = {empty = 7636, splash = 7, mana = {100, 190}}, -- mana potion
[7589] = {empty = 7634, splash = 7, mana = {150, 290}, level = 50, vocations = {1, 2, 3, 5, 6, 7 ,11, 13, 14}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion
[7590] = {empty = 7635, splash = 7, mana = {400, 450}, level = 80, vocations = {1, 2, 5, 6 ,9 ,10, 13, 14}, vocStr = "sorcerers and druids"}, -- great mana potion
[8472] = {empty = 7635, splash = 3, health = {300, 400}, mana = {210, 250}, level = 80, vocations = {3, 7 ,11 ,13}, 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))
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
if config.PremiumNotRemove == "yes" and getPlayerPremiumDays(cid) <= 0 then
doRemoveItem(item.uid, 1)
return true
end
if config.PremiumNotRemove == "no" then
doRemoveItem(item.uid, 1)
return true
end
return true
end[/code]

Link para o post
Compartilhar em outros sites

Valeu @Matheus....Reputado!!

Editado por Rogeriok (veja o histórico de edições)

Assinatura retirada pela direção!

Link para o post
Compartilhar em outros sites
  • 2 years later...
  • Administrador

Desculpe reviver este tópico mais é que preciso dele.

Ele funciona perfeitamente POREM SEM Exausted.. Alguem ajuda???

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por PedroPr
      Galera aonde modifico !para que os viials do potion desapareção ????
       
    • Por Yago Blind.
      Salve galera do TK , estou tendo 2 problemas com meu servidor e não estou conseguindo solucionar . Vejam se podem me ajudar.

      1°[PEDIDO] Queria um comando "!Stamina" que recupere-se toda a stamina do player por 500k.
       
      2°[DUVIDA] Fiz um esquema de um topic que vi aqui mesmo no TK , de como fazer o pally usar a potion e continuar batendo ao mesmo tempo e não funcionou foi o de adicionar no weapons.xml na linha de Ammunitions o comando swing="true" e não funcionou , como faço agora ??
       
       
    • Por crupie
      Fala galera tudo bem?
       
      Eu criei um server recentemente e estou tendo um probleminha, venho procurando isso a um tempo e nao acho nenhuma soluçao para o meu problema.
       
       
      Meu servidor esta com poçoes infinitas, eu ja mudei o meu potions para remover ao usar.
      deem uma olhada no meu potions.lua
       
       
      Se alguem souber onde que eu possa mudar para remover as pots infinitas, favor me indicar.
       
      Obrigado
    • Por Lucasote
      Alguem ai sabe como fazer pra vc usar pot e sumir o vial.
    • Por Enzoo
      Meu ot tem alavancas no ultimo andar do dp,porém queria colocar elas no templo,e essas que tem no dp,vem apenas 20 potions juntamente com uma backpack,gostaria de qnd clicasse,vim 100 potions porém sem backpack.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo