AB

Usando Opcode

Por Aberos, 19 de mar. de 2014 em Clients

4
1.3k
AberosA
19 de março de 2014 às 19:01

Galera do Ekz nao manjo muito de lua e opcode e talz , ams estou tentando usar opcode pra fazer uma funçãoq ue envia a life do summon para o OTC para ser usando em uma progressBar

 

parte server

 

 

function getPokeHealth(cid)
local z = getCreatureSummons(cid)[1]
return getCreatureMaxHealth(z)
end
function getPokeHealthMin(cid)
local z = getCreatureSummons(cid)[1]
return getCreatureHealth(z)
end
function lifecode(cid)
doSendPlayerExtendedOpcode(cid, 102, getPokeHealthMin(cid)","getPokeHealth(cid))
end

parte Client

ProtocolGame.registerExtendedOpcode(102, function (protocol, opcode, buffer)
local t = text:explode(',')
localCreature, hp, maxHp = tonumber(buffer), tonumber(buffer)
pokeHealthBar:setText(hp .. ' / ' .. hp)
healthInfoWindow:recursiveGetChildById("pokeHealthBar"):setTooltip(tr(pokeHealthTooltip, hp, maxHp))
pokeHealthBar:setValue(hp, 0, maxHp)
end)

Agradeceria muito se alguem corrigi-se^^

 

SlicerS
19 de março de 2014 às 19:07

eu tb nunca usei isso ae mas acredito q se seja algu +/- assim...

 

 

 

function getPokeHealth(cid)
local z = getCreatureSummons(cid)[1]
return getCreatureMaxHealth(z)
end
 
function getPokeHealthMin(cid)
local z = getCreatureSummons(cid)[1]
return getCreatureHealth(z)
end
 
function lifecode(cid)
doSendPlayerExtendedOpcode(cid, 102, getPokeHealthMin(cid)..","..getPokeHealth(cid))
end


ProtocolGame.registerExtendedOpcode(102, function (protocol, opcode, buffer)
   local t = text:explode(',')
   local hp, maxHp = tonumber(t[1]), tonumber(t[2])
         pokeHealthBar:setText(hp .. ' / ' .. maxHp)
         healthInfoWindow:recursiveGetChildById("pokeHealthBar"):setTooltip(tr(pokeHealthTooltip, hp, maxHp))
         pokeHealthBar:setValue(hp, 0, maxHp)
end)

AberosA
19 de março de 2014 às 19:19

ta dando esse erro

 

 

ERROR: protected lua call failed: LUA ERROR:
/game_healthinfo/healthinfo.lua:185: attempt to index global 'text' (a nil value)
stack traceback:
[C]: ?
/game_healthinfo/healthinfo.lua:185: in function 'callback'
/gamelib/protocolgame.lua:17: in function </gamelib/protocolgame.lua:14>

e a linha 185 é essa : local t = text:explode(',')

ops ja axei o erro era esse troquei o local t = text:explode(',') por local t = buffer:explode(',')

BananaFightB
19 de março de 2014 às 21:26

ProtocolGame.registerExtendedOpcode(102, function (protocol, opcode, buffer)
   local t = buffer:explode(',')
   local hp, maxHp = tonumber(t[1]), tonumber(t[2])
         pokeHealthBar:setText(hp .. ' / ' .. maxHp)
         healthInfoWindow:recursiveGetChildById("pokeHealthBar"):setTooltip(tr(pokeHealthTooltip, hp, maxHp))
         pokeHealthBar:setValue(hp, 0, maxHp)
end)

Editado Março 19 por BananaFight