Ir para conteúdo

Featured Replies

Postado

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!

Postado

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>

Postado

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]

  • 2 years later...

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo