Ir para conteúdo
  • 0

Bar Atacks


BrunooMaciell

Pergunta

Estou com um erro na bar de atacks do otclient!!

PokeTibia

Quando uso meu otclient a barra de atack fica escura e nao consigo usa.

Ta sem print mais qualquer coisa se alguem nao sobe eu edito aqui e posto uma print!

Mais a barra de atacks nao funciona fica escura.

Se alguem puder me ajuda ^^

 

@Edited \/ com a imagem do erro como que ta!


9hi2hc.png

 

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

14 respostass a esta questão

Posts Recomendados

  • 0

Aii \/

 

 

function getPlayerPokeballs(cid) --alterado v1.9 \/
local ret = {}
local container = 0

if isCreature(cid) then
container = getPlayerSlotItem(cid, 3).uid
local myball = getPlayerSlotItem(cid, 8)
if myball.uid > 0 then
table.insert(ret, myball)
end
else
container = cid
end

if isContainer(container) and getContainerSize(container) > 0 then
for slot = 0, (getContainerSize(container) - 1) do
local item = getContainerItem(container, slot)
if isContainer(item.uid) then
local itemsbag = getPlayerPokeballs(item.uid)
if itemsbag and #itemsbag > 0 then
for i = 0, #itemsbag do
table.insert(ret, itemsbag)
end
end
elseif isPokeball(item.itemid) then
table.insert(ret, item)
end
end
end
return ret
end

function doUpdatePokemonsBar(cid)
if not isCreature(cid) then return true end
if getPlayerStorageValue(cid, 656494) > 0 then
return true
end
setPlayerStorageValue(cid, 656494, 1000)
addEvent(setPlayerStorageValue, 100, cid, 656494, -1)

local ret = {}
table.insert(ret, "p#,")
local balls = getPlayerPokeballs(cid)
local times = 0
for a = 1, #balls do
local item = balls[a]
local hp = math.ceil(getItemAttribute(item.uid, "hp") * 100)
local name = getItemAttribute(item.uid, "poke")
local port = getPlayerSlotItem(cid, CONST_SLOT_LEGS)
if fotos[name] >= 11137 and fotos[name] <= 11387 then
times = times + 1
local foto = fotos[name] - 911
doItemSetAttribute(item.uid, "ballorder", times)
table.insert(ret, foto..","..name..""..times..","..hp..",")
elseif fotos[name] >= 12605 then
times = times + 1
local foto = fotos[name] - 1178 --alterado v1.9
doItemSetAttribute(item.uid, "ballorder", times)
table.insert(ret, foto..","..name..""..times..","..hp..",")
else
times = times + 1
local foto = fotos[name] - 928
doItemSetAttribute(item.uid, "ballorder", times)
table.insert(ret, foto..","..name..""..times..","..hp..",")
end
end
doPlayerSendCancel(cid, table.concat(ret))
end

function getNewMoveTable(table, n)
if table == nil or not n then return false end

local moves = {table.move1, table.move2, table.move3, table.move4, table.move5, table.move6, table.move7, table.move8, table.move9,
table.move10, table.move11, table.move12}

return moves[n] or false
end


function doUpdateMoves(cid)
if not isCreature(cid) then return true end
local summon = getCreatureSummons(cid)[1]
local ret = {}
table.insert(ret, "12&,")
if not summon then
for a = 1, 12 do
table.insert(ret, "n/n,")
end
doPlayerSendCancel(cid, table.concat(ret))
addEvent(doUpdateCooldowns, 100, cid)
return true
end
if isTransformed(summon) then --alterado v1.9
moves = movestable[getPlayerStorageValue(summon, 1010)]
else
moves = movestable[getCreatureName(summon)]
end
for a = 1, 12 do
local b = getNewMoveTable(moves, a)
if b then
table.insert(ret, b.name..",")
else
table.insert(ret, "n/n,")
end
end
doPlayerSendCancel(cid, table.concat(ret))
addEvent(doUpdateCooldowns, 100, cid)
end

function doUpdateCooldowns(cid)
if not isCreature(cid) then return true end
local a = getPlayerSlotItem(cid, 8)
local ret = {}
table.insert(ret, "12|,")
if a.uid <= 0 or #getCreatureSummons(cid) <= 0 then
for cds = 1, 12 do
if useOTClient then table.insert(ret, "-1|0,") else table.insert(ret, "-1,") end
end
doPlayerSendCancel(cid, table.concat(ret))
return true
end
for cds = 1, 12 do
----
local summon = getCreatureSummons(cid)[1]
if summon and getPlayerStorageValue(summon, 212123) >= 1 then
cdzin = "cm_move"..cds
else
cdzin = "move"..cds
end
----
if isTransformed(summon) then --alterado v1.9
moves = movestable[getPlayerStorageValue(summon, 1010)]
else
moves = movestable[getCreatureName(summon)]
end
local b = getNewMoveTable(moves, cds)
if not b then
for cds = 1, 12 do
if useOTClient then table.insert(ret, "-1|0,") else table.insert(ret, "-1,") end --alterado v1.9
end
doPlayerSendCancel(cid, table.concat(ret))
return true
end
----
if getCD(a.uid, cdzin) > 0 then
if (useOTClient and b) then table.insert(ret, (getCD(a.uid, cdzin)).."|"..b.level..",") else table.insert(ret, (getCD(a.uid, cdzin))..",") end
else
if (useOTClient and b) then table.insert(ret, "0|"..b.level..",") else table.insert(ret, "0,") end
end
end
doPlayerSendCancel(cid, table.concat(ret))
end

function getBallsAttributes(item)
local t = {"poke", "gender", "nick", "boost", "happy", "hp", "description", "transBegin", "hunger", "transLeft", "transTurn", "transOutfit", "transName",
"trans", "light", "blink", "move1", "move2", "move3", "move4", "move5", "move6", "move7", "move8", "move9", "move10", "move11", "move12", "ballorder",
"hands", "aura", "burn", "burndmg", "poison", "poisondmg", "confuse", "sleep", "miss", "missSpell", "missEff", "fear", "fearSkill", "silence",
"silenceEff", "stun", "stunEff", "stunSpell", "paralyze", "paralyzeEff", "slow", "slowEff", "leech", "leechdmg", "Buff1", "Buff2", "Buff3", "Buff1skill",
"Buff2skill", "Buff3skill", "control", "unique", "task", "lock"}
local ret = {}
for a = 1, #t do
if getItemAttribute(item, t[a]) == "hands" then
return
end
ret[t[a]] = getItemAttribute(item, t[a]) or false
end
return ret
end

function doChangeBalls(cid, item1, item2)
if not isCreature(cid) then return true end
if item1.uid == item2.uid then
if #getCreatureSummons(cid) <= 0 then
doGoPokemon(cid, getPlayerSlotItem(cid, 8))
else
doReturnPokemon(cid, getCreatureSummons(cid)[1], getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect)
end
return true
end

if item1.uid > 0 and item2.uid > 0 then
local io = getBallsAttributes(item1.uid)
local it = getBallsAttributes(item2.uid)
for a, b in pairs (io) do
if b then
doItemSetAttribute(item2.uid, a, b)
else
doItemEraseAttribute(item2.uid, a)
end
end
for a, b in pairs (it) do
if b then
doItemSetAttribute(item1.uid, a, b)
else
doItemEraseAttribute(item1.uid, a)
end
end
local id = item2.itemid
doTransformItem(item2.uid, item1.itemid)
doTransformItem(item1.uid, id)
doGoPokemon(cid, getPlayerSlotItem(cid, 8))
else
local id = item2.itemid
local b = getBallsAttributes(item2.uid)
local a = doPlayerAddItem(cid, 2643, false)
for c, d in pairs (b) do
if d then
doItemSetAttribute(a, c, d)
else
doItemEraseAttribute(a, c)
end
end
doRemoveItem(item2.uid, 1)
doTransformItem(a, id)
doGoPokemon(cid, getPlayerSlotItem(cid, 8))
end
end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Pronto \/ ^^

 

 

-- Privates variables
local cdBarWin = nil
local isIn = 'H' --[[ 'H' = horizontal; 'V' = vertical ]]--
local namesAtks = ''
local icons = {}
-- End privates variables

-- Public functions
function init()
cdBarWin = g_ui.displayUI('cdBar', modules.game_interface.getRootPanel())
cdBarWin:setVisible(false)
cdBarWin:move(250,50)

connect(g_game, 'onTextMessage', getParams)
connect(g_game, { onGameEnd = hide } )
connect(LocalPlayer, { onLevelChange = onLevelChange })

g_mouse.bindPress(cdBarWin, function() createMenu() end, MouseRightButton)

createIcons()
end

function terminate()
disconnect(g_game, { onGameEnd = hide })
disconnect(g_game, 'onTextMessage', getParams)
disconnect(LocalPlayer, { onLevelChange = onLevelChange })

destroyIcons()
cdBarWin:destroy()
end

function onLevelChange(localPlayer, value, percent)
g_game.talk("/reloadCDs")
end

function getParams(mode, text)
if not g_game.isOnline() then return end
if mode == MessageModes.Failure then
if string.find(text, '12//,') then
if string.find(text, 'hide') then hide() else show() end
elseif string.find(text, '12|,') then
atualizarCDs(text)
elseif string.find(text, '12&,') then
FixTooltip(text)
end
end
end

function atualizarCDs(text)
if not g_game.isOnline() then return end
if not cdBarWin:isVisible() then return end
local t = text:explode(",")
table.remove(t, 1)
for i = 1, 12 do
local t2 = t:explode("|")
barChange(i, tonumber(t2[1]), tonumber(t2[2]), tonumber(t2[3]))
end
end

function changePercent(progress, icon, perc, num, init)
if not cdBarWin:isVisible() then return end
if init then
progress:setPercent(0)
else
progress:setPercent(progress:getPercent()+perc)
end
if progress:getPercent() >= 100 then
progress:setText("")
return
end
progress:setText(num)
icons[icon:getId()].event = scheduleEvent(function() changePercent(progress, icon, perc, num-1) end, 1000)
end

function barChange(ic, num, lvl, lvlPoke)
if not g_game.isOnline() then return end
if not cdBarWin:isVisible() then return end
local icon = icons['Icon'..ic].icon
local progress = icons['Icon'..ic].progress

if not progress:getTooltip() then return end
local player = g_game.getLocalPlayer()
local pathOn = "moves_icon/"..progress:getTooltip().."_on.png"

icon:setImageSource(pathOn)

if num and num >= 1 then
cleanEvents('Icon'..ic)
changePercent(progress, icon, 100/num, num, true)
else
if (lvlPoke and lvlPoke < lvl) or player:getLevel() < lvl then
progress:setPercent(0)
progress:setText('L.'.. lvl)
progress:setColor('#FF0000')
else
progress:setPercent(100)
progress:setText("")
end
end
end

function FixTooltip(text)
cdBarWin:setHeight(isIn == 'H' and 416 or 40)
cdBarWin:setWidth(isIn == 'H' and 40 or 416)
if not text then text = namesAtks else namesAtks = text end

local t2 = text:explode(",")
local count = 0
for j = 2, 13 do
local ic = icons['Icon'..(j-1)]
ic.icon:setMarginLeft(isIn == 'H' and 4 or ic.dist)
ic.icon:setMarginTop(isIn == 'H' and ic.dist or 4)
if t2[j] == 'n/n' then
ic.icon:hide()
count = count+1
else
ic.icon:show()
ic.progress:setTooltip(t2[j])
ic.progress:setVisible(true)
end
end
if count > 0 and count ~= 12 then
if isIn == "H" then
cdBarWin:setHeight(416 - (count*34))
else
cdBarWin:setWidth(416 - (count*34))
end
elseif count == 12 then
cdBarWin:setHeight(40)
cdBarWin:setWidth(40)
local p = icons['Icon1'].progress
p:setTooltip(false)
p:setVisible(false)
end
end

function createIcons()
local d = 38
for i = 1, 12 do
local icon = g_ui.createWidget('SpellIcon', cdBarWin)
local progress = g_ui.createWidget('SpellProgress', cdBarWin)
icon:setId('Icon'..i)
progress:setId('Progress' ..i)
icons['Icon'..i] = {icon = icon, progress = progress, dist = (i == 1 and 5 or i == 2 and 38 or d + ((i-2)*34)), event = nil}
icon:setMarginTop(icons['Icon'..i].dist)
icon:setMarginLeft(4)
progress:fill(icon:getId())
progress.onClick = function() g_game.talk('m'..i) end
end
end

function destroyIcons()
for i = 1, 12 do
icons['Icon'..i].icon:destroy()
icons['Icon'..i].progress:destroy()
end
cleanEvents()
icons = {}
end

function cleanEvents(icon)
local e = icons[icon]
if icon then
if e and e.event ~= nil then
removeEvent(e.event)
e.event = nil
end
else
for i = 1, 12 do
e = icons['Icon'..i]
cleanEvents('Icon'..i)
e.progress:setPercent(100)
e.progress:setText("")
end
end
end

function createMenu()
local menu = g_ui.createWidget('PopupMenu')
menu:addOption("Set "..(isIn == 'H' and 'Vertical' or 'Horizontal'), function() toggle() end)
menu:display()
end

function toggle()
if not cdBarWin:isVisible() then return end
cdBarWin:setVisible(false)
if isIn == 'H' then
isIn = 'V'
else
isIn = 'H'
end
FixTooltip()
show()
end

function hide()
cleanEvents()
cdBarWin:setVisible(false)
end

function show()
cdBarWin:setVisible(true)
end
-- End public functions

 

Link para o comentário
Compartilhar em outros sites

  • 0

@

se seu server for pda normalmente os pda na some functions.lua eles tem uma variavel global useOTClient que fika assim

useOTClient  = true

verifica se o seu tem se e se esta assim , senao e so vc add

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...