Ir para conteúdo
  • 0

[Ajuda] Potions Baseadas No Lvl/ml


Zeehca

Pergunta

Eu queria que alguem modificasse para min esse script de potion

 

local MIN = 3.8

local MAX = 4.0

 

 

local exhaust = createConditionObject(CONDITION_EXHAUST)

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

 

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

if isPlayer(itemEx.uid) == FALSE then

return FALSE

end

 

if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then

doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)

return TRUE

end

 

if doPlayerAddMana(itemEx.uid, math.random((getPlayerLevel(cid) * MIN), (getPlayerLevel(cid) * MAX))) == LUA_ERROR then

return FALSE

end

 

doAddCondition(cid, exhaust)

doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)

doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1)

return TRUE

end

 

para que somente duas classe pudesse usar , que no caso , seria sorcerers e druids ,

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Tente:

 

local MIN = 3.8
local MAX = 4.0

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == FALSE and
if getPlayerVocation(cid) ~= 1, 2, 5, 6 then
return FALSE
end
if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end
if doPlayerAddMana(itemEx.uid, math.random((getPlayerLevel(cid) * MIN), (getPlayerLevel(cid) * MAX))) == LUA_ERROR then
return FALSE
end
doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1)
return TRUE
end

 

Se não der certo me avise (mande por pm preferencialmente), pq n estou em meu computador portanto não testei.

Link para o comentário
Compartilhar em outros sites

  • 0

Tente:

 

local MIN = 3.8
local MAX = 4.0

local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == FALSE and
if getPlayerVocation(cid) ~= 1, 2, 5, 6 then
return FALSE
end
if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end
if doPlayerAddMana(itemEx.uid, math.random((getPlayerLevel(cid) * MIN), (getPlayerLevel(cid) * MAX))) == LUA_ERROR then
return FALSE
end
doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1)
return TRUE
end

 

Se não der certo me avise (mande por pm preferencialmente), pq n estou em meu computador portanto não testei.

 

Seu script esta com muitos erros .

 

o seu no certo ficaria assim .

 

local MIN = 3.8
local MAX = 4.0
local voc = {1,2,5,6}
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))
function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) == FALSE then
if getPlayerVocation(cid) ~= voc then
return FALSE
end
if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return TRUE
end
if doPlayerAddMana(itemEx.uid, math.random((getPlayerLevel(cid) * MIN), (getPlayerLevel(cid) * MAX))) == LUA_ERROR then
return FALSE
end
doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1)
end
return TRUE
end

 

Veja este http://www.xtibia.com/forum/topic/195403-runa-heal-por-level/page__p__1352519#entry1352519

Link para o comentário
Compartilhar em outros sites

  • 0

/\

certeza q o teu funciona? pq pelo q vi..

if isPlayer(itemEx.uid) == FALSE then --isso era pra ser == true n?
if getPlayerVocation(cid) ~= voc then --tas tentando comparar um numero com uma tabela n?

 

 

eu tentaria algu +/- assim..

local MIN = 3.8
local MAX = 4.0
local voc = {1,2,5,6}
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100))

function onUse(cid, item, fromPosition, itemEx, toPosition)
if isPlayer(itemEx.uid) then
  if not isInArray(voc, getPlayerVocation(cid)) then
  return FALSE
  end
  if hasCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE then
  doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
  return TRUE
  end
  if doPlayerAddMana(itemEx.uid, math.random((getPlayerLevel(cid) * MIN), (getPlayerLevel(cid) * MAX))) == LUA_ERROR then
  return FALSE
  end
  doAddCondition(cid, exhaust)
  doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE)
  doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1)
end
return TRUE
end

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...