Ir para conteúdo

Barra de HP no OTclient


Posts Recomendados

Oiie :)

 

Trazendo um Tutorial Hoje Bem simples, mais que uns Membros estão precisando

Ele vai ensinar Para quando você soltar seu Pokemon o "HP" do Pokemon aparecer Logo abaixo do "HP" do Player..

Tipo assim como na imagem::

 

 

zn0o.png

 

 

Você esta com essa Mesma Dúvida?

Segue tutorial ae::

 

1* vá no Seu data\lib e abra o some functions.lua

Logo no começo do arquivo dê 2 vezes enter para pular 2 Linha, e coloque isso no começo do Arquivo::

 

 

 

function getVitalityByMaster(cid)
if not isCreature(cid) then return 0 end
local ball = getPlayerSlotItem(cid, 8).uid
if not ball or ball <= 1 or not pokes[getItemAttribute(ball, 'poke')] then return true end
return pokes[getItemAttribute(ball, 'poke')].vitality * (getPlayerLevel(cid) + (getItemAttribute(ball, 'boost') or 0))
end
 
function onPokeHealthChange(cid, zerar)
if not isCreature(cid) then return true end
if zerar then doPlayerSendCancel(cid, '#ph#,0,0') end
local ball = getPlayerSlotItem(cid, 8).uid
if not ball or ball <= 1 or not pokes[getItemAttribute(ball, 'poke')] then return true end
 
if #getCreatureSummons(cid) >= 1 and getPlayerStorageValue(cid, 212124) <= 0 then --alterado v1.6
local pokemon = getCreatureSummons(cid)[1]
local pokelife = (getCreatureHealth(pokemon) / getCreatureMaxHealth(pokemon))
doItemSetAttribute(ball, "hp", pokelife)
end
 
local rd = 1 - (tonumber(getItemAttribute(ball, "hp")))
local maxHp = HPperVITsummon * getVitalityByMaster(cid)
local hp = maxHp -(maxHp * rd)
doPlayerSendCancel(cid, '#ph#,'.. math.floor(hp) ..','.. math.floor(maxHp))
end

 

 

 

2* vá no data\movements\scripts e abra o arquivo portrait.lua

Procure por::

 

if not getItemAttribute(item.uid, "poke") then
e depois do end Adicione isso AQ::

onPokeHealthChange(cid)

ai procure por if not getItemAttribute(item.uid, "poke") then De novo,
e depois do end adicione isso::

onPokeHealthChange(cid, true)

3* vá em data\creaturescripts\scripts e abra o arquivo exp2.0.lua
e procure por::

 

valor = math.abs(valor) --alterado v1.9 if isSummon(attacker) then
e Substitua por esse::

valor = math.abs(valor) --alterado v1.9
if isSummon(cid) and valor >= getCreatureHealth(cid) then
onPokeHealthChange(getCreatureMaster(cid), true)
elseif isSummon(cid) then
onPokeHealthChange(getCreatureMaster(cid))
end
if isSummon(attacker) then

4* vá em data\actions\scripts e abra o revive.lua
Procure por::

 

doCureStatus(cid, "all", true)
e substitua por esse::

doCureStatus(cid, "all", true)
cleanBuffs2(item2.uid) --alterado v1.5
if useOTClient then
onPokeHealthChange(cid) --alterei aki
end

5* vá em data\actions\scripts e abra o potion.lua
procure por::

 

if math.floor(turn/10) == turn/10 then
doSendMagicEffect(getThingPos(cid), effect)
end
e substitua por esse;:

if math.floor(turn/10) == turn/10 then
doSendMagicEffect(getThingPos(cid), effect)
end
if useOTClient then
onPokeHealthChange(getCreatureMaster(cid)) --alterei aki
end

6* vá em data\npc\scripts e abra o arquivo heal.lua
e adicione isso lá no final do arquivo::

if useOTClient then
onPokeHealthChange(cid) --alterei aki
end

...

Atualizado 21/04/2015
Editado por AnnaFeeh
Link para o comentário
Compartilhar em outros sites

Parabéns.
Mas tenho uma pergunta.
O meu potion .lua não tem o

if math.floor(turn/10) == turn/10 then

doSendMagicEffect(getThingPos(cid), effect)

end

 

Onde eu colocaria o ?

 

if math.floor(turn/10) == turn/10 then
doSendMagicEffect(getThingPos(cid), effect)
end
if useOTClient then
onPokeHealthChange(getCreatureMaster(cid)) --alterei aki
end

 

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

nao tem precisão dessa linha essa linha nao é do sendcancel para a life do poke

 

 

function getStringOfTaskArray(array)
if type(array) ~= 'table' or not next(array) then return "" end

local result = {}
for _, value in ipairs(array) do
local thing, num = (type(value[1]) == 'string' and value[1] or getItemNameById(value[1])), value[2]
table.insert(result, (_ == 1 and "" or ", ")..num.." "..thing..(num == 1 and "" or "s"))
end
result[#result] = " and"..(result[#result]:sub(2,#result[#result]))
return table.concat(result)
end

 

@malconte

coloca só isso. coloca no final é so isso para a life do poke é só isso o sendcancel entao poe no final que deve da certo ^^

 if useOTClient then
onPokeHealthChange(getCreatureMaster(cid)) --alterei aki

end
Link para o comentário
Compartilhar em outros sites

@malcote

Como já lhe disseram bota isso no seu arquivo::

 

 

if useOTClient then

onPokeHealthChange(getCreatureMaster(cid)) --alterei aki
end

Link para o comentário
Compartilhar em outros sites

  • 11 months later...
  • 3 months later...
×
×
  • Criar Novo...