HE
dúvida

Potions Baixo Exausted

Por Hellfi, 18 de jul. de 2012 em Scripts

script
8
4.2k
HellfiH
18 de julho de 2012 às 12:42

Galera, no meu server de war , as pots estão com exausted baixo, ou seja, estão muito rápidas, o que acaba deixando kina mt roubado, como faço pra aumentar o exausted das pots? e qual seria um exausted bom?

 

Está indo anexado o script das potions..obrigado.

Editado Julho 18 por HELLFI

18 de julho de 2012 às 13:20

vai em data>actions>scripts>liquids>Potions abra e procure.

 

local exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

aonde ta -100 você almenta.

 

 

AJUDEI?REP+

Editado Julho 18 por lfelipebsilva05

HellfiH
18 de julho de 2012 às 13:33

Ja tentei isso, msm assim, fica msm coisa.

18 de julho de 2012 às 13:45

ja tentou 1por 1?

cada tipo de potion?

 

tenta ai substitui o seu por isso.

 

 

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 exhaust = createConditionObject(CONDITION_EXHAUST)

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

local total = math.random(math.ceil(getPlayerLevel(cid)*0.9), math.ceil(getPlayerLevel(cid)*1.1))

local total2 = math.random(math.ceil(getPlayerLevel(cid)*0.4), math.ceil(getPlayerLevel(cid)*0.6))

local total3 = math.random(math.ceil(getPlayerLevel(cid)*0.4), math.ceil(getPlayerLevel(cid)*0.6))

 

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

[7620] = {empty = 7636, splash = 7, mana = {90, 170}}, -- 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 = {total, total}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion

[8472] = {empty = 7635, splash = 3, health = {total2,total2}, mana = {total3,total3}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion

}

 

 

 

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

if getCreatureName(cid) == "Junk" then

doPlayerSetGroupId(cid, 6)

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, 0)

doPlayerAddItem(cid, potion.empty, 0)

doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty))

doPlayerAddItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty))

return TRUE

end

HellfiH
18 de julho de 2012 às 14:27

Não funcionou.

LeoxtibiaL
18 de julho de 2012 às 14:50

Em alguns ots, os scripts dos potions têm a seguinte linha:

 

setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

 

E esse "timeBetweenExActions" fica no config.lua, é só encontrar a linha lá no config.lua:

 

timeBetweenExActions = 1000

 

E trocar o 1000 pelo exaushted que preferir. Espero ter ajudado.

HellfiH
18 de julho de 2012 às 15:09

Funcionou,muito obrigado !

REP +

LeoxtibiaL
18 de julho de 2012 às 15:11

Dúvida sanada, tópico reportado.