Ir para conteúdo
  • 0
Entre para seguir isso  
Wend Jr

OTClient Dúvida em adiciona HealthBar no OTClient

Pergunta

Wend Jr    9
Wend Jr

Olá pessoal da OTBr, estou aqui hoje para tira uma dúvida sobre OTClient!


 


estou querendo sabe como que posso adiciona uma HealthBar nas skills do OTClient 


as skills estão assim: 141012032228376539.png


 


ai eu queria colocar uma HealthBar nesse Meio ai :)


Compartilhar este post


Link para o post

54 respostass a esta questão

Recommended Posts

  • 0
Elwyn    106
Elwyn

Não tem nada faltando. Desculpa, eu não sei muito sobre OTC então isso é o máximo que eu consigo ajudar. ):

Dalvo-senpai, pls

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

kk tentei uma coisa +ou. assim;

 

function onHealthChange(localPlayer, health, maxHealth, percent)
  setSkillValue('health', health)
  checkAlert('health', health, maxHealth, 30)
  local widget = skillsWindow:recursiveGetChildById('health')
  local progressBar = widget:getChildById('percent')
  progressBar:setMinimum(0)
  progressBar:setMaximum(100)
  progressBar:setValue(percent)

end

mais não foi dessa vez :)

Compartilhar este post


Link para o post
  • 0
dalvorsn    46
dalvorsn

kk tentei uma coisa +ou. assim;

function onHealthChange(localPlayer, health, maxHealth, percent)
  setSkillValue('health', health)
  checkAlert('health', health, maxHealth, 30)
  local widget = skillsWindow:recursiveGetChildById('health')
  local progressBar = widget:getChildById('percent')
  progressBar:setMinimum(0)
  progressBar:setMaximum(100)
  progressBar:setValue(percent)

end

mais não foi dessa vez :)

Cheguei, vou testar esse bagulho aqui, ver qual misterio disso kk

 

Edit: cheio dos erros mesmo, amanha eu quando eu acordar olho isso, vou pegar um otc direto do repo e fazer a barra nele, dai posto pra tu no gist e tu faz no seu

Editado por dalvorsn

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

Ok, esperando você responde :) 

Editado por Wend Jr

Compartilhar este post


Link para o post
  • 0
dalvorsn    46
dalvorsn

 

 

 

Ve so como e simples:

 

- no otui remover o tamanho do widget do health, e adicionar o percentlabel

 

   SkillButton
      id: health
      SkillNameLabel
        !text: tr('Hit Points')
      SkillValueLabel
      SkillPercentPanel

- no lua basicamente precisa setar o skillpercent, como foi feito no gist

 

function onHealthChange(localPlayer, health, maxHealth, percent)
  setSkillValue('health', health)
  checkAlert('health', health, maxHealth, 30)
  setSkillPercent('health', (health * 100)/maxHealth, "")
end
Editado por dalvorsn

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

é Uma coisa tão simples e que deu tanta dor de cabeça :)  
Obrigado por tudo Dalvo (--

 

Só que ainda tem um problema :(

quando você entra no OT ai a barra de health fica na metade, só fica normal depois que algum pokemon ataca você 

mais quando desloga que vai loga de novo a barr fica na metade precisa leva algum hit de outro pokemon para a barra fica normal (-- tem algum modo de arruma isso?

 

Imagem quando entra no OT;

141023023511135817.png

 

imagem quando leva hit de um pokemon;

141023023512507640.png

Editado por Wend Jr

Compartilhar este post


Link para o post
  • 0
dalvorsn    46
dalvorsn

Estranho, porque ele ta dando o connect no gameStart pra função refresh e ela chama o onHealthChange, teoricamente deveria ir

Porque a atualização da barra ve junto com a do player

manda de novo ai o arquivos do module, pra eu dar uma olhada, deve ta faltando alguma coisa, deve haver alguma diferença do que eu testei pro que tu usa

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

 

Estranho, porque ele ta dando o connect no gameStart pra função refresh e ela chama o onHealthChange, teoricamente deveria ir

Porque a atualização da barra ve junto com a do player

manda de novo ai o arquivos do module, pra eu dar uma olhada, deve ta faltando alguma coisa, deve haver alguma diferença do que eu testei pro que tu usa

Aqui >> https://www.4shared.com/rar/CQkEtDhiba/game_skills.html

 

 

@@dalvorsn estava mexendo nas coisa e encontrei isso;

     if characterInfo.health then        widget:getChildById("health"):setText(characterInfo.health .. ' / ' .. characterInfo.healthMax)        widget:getChildById("health"):setValue(characterInfo.health, 0, characterInfo.healthMax)      end

tem alguma coisa a ver ou não? estou desesperado tentando terminar isso kk

Compartilhar este post


Link para o post
  • 0
dalvorsn    46
dalvorsn

@@dalvorsn estava mexendo nas coisa e encontrei isso;

     if characterInfo.health then
        widget:getChildById("health"):setText(characterInfo.health .. ' / ' .. characterInfo.healthMax)
        widget:getChildById("health"):setValue(characterInfo.health, 0, characterInfo.healthMax)
      end

tem alguma coisa a ver ou não? estou desesperado tentando terminar isso kk 

Isso parece um progressbar sim, cheguei em casa hoje, vou testar aqui o module que tu mandou

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

Isso parece um progressbar sim, cheguei em casa hoje, vou testar aqui o module que tu mandou

Beleza, por enquanto estou tentando achar uma solução aqui também ^_^

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr
@@dalvorsn, Isto é na função connect, la no Init do script.

 

Você precisa colocar, pra quando conectar, ele atualizar a barra de acordo com o life :)

 

mais como farei isso? 

 

function init()
  connect(LocalPlayer, {
    onExperienceChange = onExperienceChange,
    onLevelChange = onLevelChange,
    onHealthChange = onHealthChange,
    onManaChange = onManaChange,
    onSoulChange = onSoulChange,
    onFreeCapacityChange = onFreeCapacityChange,
    onTotalCapacityChange = onTotalCapacityChange,
    onStaminaChange = onStaminaChange,
    onOfflineTrainingChange = onOfflineTrainingChange,
    onRegenerationChange = onRegenerationChange,
    onSpeedChange = onSpeedChange,
    onBaseSpeedChange = onBaseSpeedChange,
    onMagicLevelChange = onMagicLevelChange,
    onBaseMagicLevelChange = onBaseMagicLevelChange,
    onSkillChange = onSkillChange,
    onBaseSkillChange = onBaseSkillChange
  })
  connect(g_game, {
    onGameStart = refresh,
    onGameEnd = offline
  })
  connect(g_game, 'onTextMessage', getParams)
  connect(g_game, {onGameStart = changeImg})
 
  skillsButton = modules.client_topmenu.addCustomRightButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle, true)
  skillsButton:setOn(true)
  skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills
 
  g_keyboard.bindKeyDown('Ctrl+S', toggle)
 
  refresh()
  skillsWindow:setup()
end

Compartilhar este post


Link para o post
  • 0
dalvorsn    46
dalvorsn

 

@@dalvorsn, Isto é na função connect, la no Init do script.
 
Você precisa colocar, pra quando conectar, ele atualizar a barra de acordo com o life :)
 
mais como farei isso? 
 
function init()
  connect(LocalPlayer, {
    onExperienceChange = onExperienceChange,
    onLevelChange = onLevelChange,
    onHealthChange = onHealthChange,
    onManaChange = onManaChange,
    onSoulChange = onSoulChange,
    onFreeCapacityChange = onFreeCapacityChange,
    onTotalCapacityChange = onTotalCapacityChange,
    onStaminaChange = onStaminaChange,
    onOfflineTrainingChange = onOfflineTrainingChange,
    onRegenerationChange = onRegenerationChange,
    onSpeedChange = onSpeedChange,
    onBaseSpeedChange = onBaseSpeedChange,
    onMagicLevelChange = onMagicLevelChange,
    onBaseMagicLevelChange = onBaseMagicLevelChange,
    onSkillChange = onSkillChange,
    onBaseSkillChange = onBaseSkillChange
  })
  connect(g_game, {
    onGameStart = refresh,
    onGameEnd = offline
  })
  connect(g_game, 'onTextMessage', getParams)
  connect(g_game, {onGameStart = changeImg})
 
  skillsButton = modules.client_topmenu.addCustomRightButton('skillsButton', tr('skills') .. ' (Ctrl+S)', '/modules/game_skills/img/perfil_icon', toggle, true)
  skillsButton:setOn(true)
  skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel()) -- skills
 
  g_keyboard.bindKeyDown('Ctrl+S', toggle)
 
  refresh()
  skillsWindow:setup()
end

 

joga na funçao onHealthChange

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

joga na funçao onHealthChange

Tentei e não deu certo poderia adiciona na função onHealthChange?

Compartilhar este post


Link para o post
  • 0
dalvorsn    46
dalvorsn

Tentei e não deu certo poderia adiciona na função onHealthChange?

Embarco hoje, dificil ter tempo agora

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×