PO
pedido

Barra com HP Do pokemon

Por Pokerangers, 16 de mar. de 2014 em Archived

otserv
11
1.3k
PokerangersP
16 de março de 2014 às 00:20

30iatj9.jpg



Boa noite,



Gostaria de pedir uma ajudinha aqui, como sempre peço, poreeeem... haha, vamos ao assunto



divisoriap.png



Em vários servers, eu vejo uma barra azul, abaixo da barra de vida, com a vida do pokemon utilizado,


Dai eu baixo o cliente, mudo o SPR e o DAT, e não aparece a vida do pokemon ali, já tentei em vários clientes...



Fica assim:



24y4biw.jpg



Gostaria de uma ajuda, porque acho esse sistema muito show, e no OTServer, fica legal.



Conto com vocês, fico no aguardo!


Editado Março 16 por Pokerangers

16 de março de 2014 às 02:38

se tiver opcode da pra fazer bem facil igual eu fiz na minha dogInfo, mas se for PDA, desiste.

 

 

1544500_225841580955112_2106018347_n.png

GabrieltxuG
16 de março de 2014 às 03:04

/\ da para fazer no pda sim mano '-' no Skyfall eu coloquei

 

 

1011510_195350213965240_41765083_n.jpg

 

PokerangersP
18 de março de 2014 às 18:42

Poderia me ajudar a por?

 

Mesmo que tenha sido algo teu, próprio, ajuda eu ai :)


Galera, não é querer forçar o topico a primeiro da lista, porem, eu realmente preciso deste sistema, e sei que no xtibia existe muitas pessoas capacitadas a me ajudar.

 

Desde já, obrigado!

18 de março de 2014 às 20:58

e também existe muitos leechers, de qualquer forma, usa sendCancel pra fazer isso já que pda nao tem opcode.

GabrieltxuG
18 de março de 2014 às 21:16

funciona né? então Okay

PokerangersP
18 de março de 2014 às 22:32

Gabriel, poderia me ajudar a por este sistema?

 

Desde já, agradeço pela atenção.

zipter98Z
19 de março de 2014 às 14:24

Movido para derivados (já que o pedido é relacionado à servidores de pokémon).

lganL
19 de março de 2014 às 20:28

cara fiquei rodando atras disso por muito tempo, e ninguem ajudou.... achei o serv do gabrieltxu, e comecei a procurar o q havia de diferente e achei algumas coisas...

Primeiro: acredito que essa não seja a melhor maneira de fazer isso.

Segundo: como não eh opcode, o serv fica mandando essa informação para o clilent por event...

--Primeiro vá em data/lib/some functions.lua, procure por isso

 

"antes de: function addPokeToPlayer(cid, pokemon, boost, gender, ball, unique) --alterado v1.9 \/ peguem ele todo..."

 

e add isso \/ antes disso /\:

 

 

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

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




 

e depois va em data/movements/portrait.lua, substiua o arquivo todo por isso:

 

 

function onEquip (cid, item, slot)

if not cid then return true end
if item.uid <= 0 then return true end

if not getItemAttribute(item.uid, "poke") then
return true
end
onPokeHealthChange(cid)

for i, x in pairs(fotos) do
if string.lower(getItemAttribute(item.uid, "poke")) == string.lower(i) then
doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos)
return true
end
end
end

function onDeEquip(cid, item, slot)

if not cid then return true end
if item.uid <= 0 then return true end

if not getItemAttribute(item.uid, "poke") then
return true
end
onPokeHealthChange(cid, true)

doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid, 2395)
end

 

 

assim cada vez que vc colocar um poke no portrait ele ja vai mostrar a barra de life do poke.

 

então assim: vc precisa ir adicionando as funcões no serv para ele ir atualizando a life do poke...

 

então amigo boa sorte.

 

espero ter ajudado.

Editado Março 19 por lgan

GabrieltxuG
19 de março de 2014 às 21:02

Sim eu tinha falado que o meu server já estava pronto para funfar essa barra de life mais poucos leram oque eu postei '-' , mais é isso boa sorte ai

 

 

Edit:

 

tem uns arquivos nas potion ou no revive tambem , para que quando usa vai aumentando la tambem a vida do poke

Editado Março 19 por Gabrieltxu

PokerangersP
20 de março de 2014 às 21:37

Poderia me explicar esta parte?

 

"então assim: vc precisa ir adicionando as funcões no serv para ele ir atualizando a life do poke..." ??

 

Obrigado