Ir para conteúdo
  • 0

Barra de heath no OTC


Nooob II

Pergunta

é nas skills, tipo o heath está configurado apenas para mostrar os pontos e não nenhuma progress bar, eu estava querendo colocar pra ser por progress bar mais buga sempre :(

 

Tá assim / Queria que ficasse assim


Screenshot_2.png  Screenshot_1.png 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
3 horas atrás, Deadpool disse:

posta seu skills.lua (fica em modules/game_skills)

 

skills.lua

 

 

 

skillsWindow = nilskillsButton = nilfunction 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  })  skillsButton = modules.client_topmenu.addRightGameToggleButton('skillsButton', tr('Skills') .. ' (Ctrl+S)', '/images/topbuttons/skills', toggle)  skillsButton:setOn(true)  skillsWindow = g_ui.loadUI('skills', modules.game_interface.getRightPanel())  g_keyboard.bindKeyDown('Ctrl+S', toggle)  refresh()  skillsWindow:setup()endfunction terminate()  disconnect(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  })  disconnect(g_game, {    onGameStart = refresh,    onGameEnd = offline  })  g_keyboard.unbindKeyDown('Ctrl+S')  skillsWindow:destroy()  skillsButton:destroy()endfunction expForLevel(level)  return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200)endfunction expToAdvance(currentLevel, currentExp)  return expForLevel(currentLevel+1) - currentExpendfunction resetSkillColor(id)  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('value')  widget:setColor('#bbbbbb')endfunction setSkillBase(id, value, baseValue)  if baseValue <= 0 or value < 0 then    return  end  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('value')  if value > baseValue then    widget:setColor('#008b00') -- green    skill:setTooltip(baseValue .. ' +' .. (value - baseValue))  elseif value < baseValue then    widget:setColor('#b22222') -- red    skill:setTooltip(baseValue .. ' ' .. (value - baseValue))  else    widget:setColor('#bbbbbb') -- default    skill:removeTooltip()  endendfunction setSkillValue(id, value)  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('value')  widget:setText(value)endfunction setSkillColor(id, value)  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('value')  widget:setColor(value)endfunction setSkillTooltip(id, value)  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('value')  widget:setTooltip(value)endfunction setSkillPercent(id, percent, tooltip)  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('percent')  widget:setPercent(math.floor(percent))  if tooltip then    widget:setTooltip(tooltip)  endendfunction checkAlert(id, value, maxValue, threshold, greaterThan)  if greaterThan == nil then greaterThan = false end  local alert = false  -- maxValue can be set to false to check value and threshold  -- used for regeneration checking  if type(maxValue) == 'boolean' then    if maxValue then      return    end    if greaterThan then      if value > threshold then        alert = true      end    else      if value < threshold then        alert = true      end    end  elseif type(maxValue) == 'number' then    if maxValue < 0 then      return    end    local percent = math.floor((value / maxValue) * 100)    if greaterThan then      if percent > threshold then        alert = true      end    else      if percent < threshold then        alert = true      end    end  end  if alert then    setSkillColor(id, '#b22222') -- red  else    resetSkillColor(id)  endendfunction update()  local offlineTraining = skillsWindow:recursiveGetChildById('offlineTraining')  if not g_game.getFeature(GameOfflineTrainingTime) then    offlineTraining:hide()  else    offlineTraining:show()  end  local regenerationTime = skillsWindow:recursiveGetChildById('regenerationTime')  if not g_game.getFeature(GamePlayerRegenerationTime) then    regenerationTime:hide()  else    regenerationTime:show()  endendfunction refresh()  local player = g_game.getLocalPlayer()  if not player then return end  if expSpeedEvent then expSpeedEvent:cancel() end  expSpeedEvent = cycleEvent(checkExpSpeed, 30*1000)  onExperienceChange(player, player:getExperience())  onLevelChange(player, player:getLevel(), player:getLevelPercent())  onHealthChange(player, player:getHealth(), player:getMaxHealth())  onManaChange(player, player:getMana(), player:getMaxMana())  onSoulChange(player, player:getSoul())  onFreeCapacityChange(player, player:getFreeCapacity())  onStaminaChange(player, player:getStamina())  onMagicLevelChange(player, player:getMagicLevel(), player:getMagicLevelPercent())  onOfflineTrainingChange(player, player:getOfflineTrainingTime())  onRegenerationChange(player, player:getRegenerationTime())  onSpeedChange(player, player:getSpeed())  for i=0,6 do    onSkillChange(player, i, player:getSkillLevel(i), player:getSkillLevelPercent(i))    onBaseSkillChange(player, i, player:getSkillBaseLevel(i))  end  update()  local contentsPanel = skillsWindow:getChildById('contentsPanel')  skillsWindow:setContentMinimumHeight(44)  skillsWindow:setContentMaximumHeight(390)endfunction offline()  if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil endendfunction toggle()  if skillsButton:isOn() then    skillsWindow:close()    skillsButton:setOn(false)  else    skillsWindow:open()    skillsButton:setOn(true)  endendfunction checkExpSpeed()  local player = g_game.getLocalPlayer()  if not player then return end  local currentExp = player:getExperience()  local currentTime = g_clock.seconds()  if player.lastExps ~= nil then    player.expSpeed = (currentExp - player.lastExps[1][1])/(currentTime - player.lastExps[1][2])    onLevelChange(player, player:getLevel(), player:getLevelPercent())  else    player.lastExps = {}  end  table.insert(player.lastExps, {currentExp, currentTime})  if #player.lastExps > 30 then    table.remove(player.lastExps, 1)  endendfunction onMiniWindowClose()  skillsButton:setOn(false)endfunction onSkillButtonClick(button)  local percentBar = button:getChildById('percent')  if percentBar then    percentBar:setVisible(not percentBar:isVisible())    if percentBar:isVisible() then      button:setHeight(21)    else      button:setHeight(21 - 6)    end  endendfunction onExperienceChange(localPlayer, value)  setSkillValue('experience', value)endfunction onLevelChange(localPlayer, value, percent)  setSkillValue('level', value)  local text = tr('You have %s percent to go', 100 - percent) .. '\n' ..               tr('%s of experience left', expToAdvance(localPlayer:getLevel(), localPlayer:getExperience()))  if localPlayer.expSpeed ~= nil then     local expPerHour = math.floor(localPlayer.expSpeed * 3600)     if expPerHour > 0 then        local nextLevelExp = expForLevel(localPlayer:getLevel()+1)        local hoursLeft = (nextLevelExp - localPlayer:getExperience()) / expPerHour        local minutesLeft = math.floor((hoursLeft - math.floor(hoursLeft))*60)        hoursLeft = math.floor(hoursLeft)        text = text .. '\n' .. tr('%d of experience per hour', expPerHour)        text = text .. '\n' .. tr('Next level in %d hours and %d minutes', hoursLeft, minutesLeft)     end  end  setSkillPercent('level', percent, text)endfunction onHealthChange(localPlayer, health, maxHealth)  setSkillValue('health', health)  checkAlert('health', health, maxHealth, 30)endfunction onManaChange(localPlayer, mana, maxMana)  setSkillValue('mana', mana)  checkAlert('mana', mana, maxMana, 30)endfunction onSoulChange(localPlayer, soul)  setSkillValue('soul', soul)endfunction onFreeCapacityChange(localPlayer, freeCapacity)  setSkillValue('capacity', freeCapacity)  checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20)endfunction onTotalCapacityChange(localPlayer, totalCapacity)  checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20)endfunction onStaminaChange(localPlayer, stamina)  local hours = math.floor(stamina / 60)  local minutes = stamina % 60  if minutes < 10 then    minutes = '0' .. minutes  end  local percent = math.floor(100 * stamina / (42 * 60)) -- max is 42 hours  setSkillValue('stamina', hours .. ":" .. minutes)  setSkillPercent('stamina', percent, tr('You have %s percent', percent))endfunction onOfflineTrainingChange(localPlayer, offlineTrainingTime)  if not g_game.getFeature(GameOfflineTrainingTime) then    return  end  local hours = math.floor(offlineTrainingTime / 60)  local minutes = offlineTrainingTime % 60  if minutes < 10 then    minutes = '0' .. minutes  end  local percent = 100 * offlineTrainingTime / (12 * 60) -- max is 12 hours  setSkillValue('offlineTraining', hours .. ":" .. minutes)  setSkillPercent('offlineTraining', percent, tr('You have %s percent', percent))endfunction onRegenerationChange(localPlayer, regenerationTime)  if not g_game.getFeature(GamePlayerRegenerationTime) or regenerationTime < 0 then    return  end  local minutes = math.floor(regenerationTime / 60)  local seconds = regenerationTime % 60  if seconds < 10 then    seconds = '0' .. seconds  end  setSkillValue('regenerationTime', minutes .. ":" .. seconds)  checkAlert('regenerationTime', regenerationTime, false, 300)endfunction onSpeedChange(localPlayer, speed)  setSkillValue('speed', speed)  onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed())endfunction onBaseSpeedChange(localPlayer, baseSpeed)  setSkillBase('speed', localPlayer:getSpeed(), baseSpeed)endfunction onMagicLevelChange(localPlayer, magiclevel, percent)  setSkillValue('magiclevel', magiclevel)  setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent))  onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel())endfunction onBaseMagicLevelChange(localPlayer, baseMagicLevel)  setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel)endfunction onSkillChange(localPlayer, id, level, percent)  setSkillValue('skillId' .. id, level)  setSkillPercent('skillId' .. id, percent, tr('You have %s percent to go', 100 - percent))  onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel)  setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end 

 

 

 

skills.otui

 

 

 

SkillFirstWidget < UIWidgetSkillButton < UIButton  height: 21  margin-bottom: 2  &onClick: onSkillButtonClickSkillNameLabel < GameLabel  font: verdana-11px-monochrome  anchors.left: parent.left  anchors.top: parent.top  anchors.bottom: parent.bottomSkillValueLabel < GameLabel  id: value  font: verdana-11px-monochrome  text-align: topright  anchors.right: parent.right  anchors.top: parent.top  anchors.bottom: parent.bottom  anchors.left: prev.leftSkillPercentPanel < ProgressBar  id: percent  background-color: green  height: 5  margin-top: 15  anchors.left: parent.left  anchors.right: parent.right  anchors.top: parent.top  phantom: falseMiniWindow  id: skillWindow  !text: tr('Perfil')  height: 150  icon: /images/topbuttons/skills  @onClose: modules.game_skills.onMiniWindowClose()  &save: true  MiniWindowContents    padding-left: 5    padding-right: 5    layout: verticalBox    SkillButton      margin-top: 5      id: experience      height: 15      SkillNameLabel        !text: tr('Experience')      SkillValueLabel    SkillButton      id: level      SkillNameLabel        !text: tr('Level')      SkillValueLabel      SkillPercentPanel        background-color: red    SkillButton      id: health      height: 15      SkillNameLabel        !text: tr('Hit Points')      SkillValueLabel    SkillButton      id: mana      height: 15      SkillNameLabel        !text: tr('Mana')      SkillValueLabel    SkillButton      id: soul      height: 15      SkillNameLabel        !text: tr('Soul Points')      SkillValueLabel      visible: false    SkillButton      id: capacity      height: 15      SkillNameLabel        !text: tr('Capacity')      SkillValueLabel      visible: false    SkillButton      id: speed      height: 15      SkillNameLabel        !text: tr('Speed')      SkillValueLabel    SkillButton      id: regenerationTime      SkillNameLabel        !text: tr('Regeneration Time')      SkillValueLabel    SkillButton      id: stamina      SkillNameLabel        !text: tr('Stamina')      SkillValueLabel      SkillPercentPanel    SkillButton      id: offlineTraining      SkillNameLabel        !text: tr('Offline Training')      SkillValueLabel      SkillPercentPanel      visible: false    SkillButton      id: magiclevel      SkillNameLabel        !text: tr('Magic Level')      SkillValueLabel      SkillPercentPanel        background-color: red      visible: false    SkillButton      id: skillId0      SkillNameLabel        !text: tr('Fist Fighting')      SkillValueLabel      SkillPercentPanel      visible: false    SkillButton      id: skillId1      SkillNameLabel        !text: tr('Club Fighting')      SkillValueLabel      SkillPercentPanel      visible: false    SkillButton      id: skillId2      SkillNameLabel        !text: tr('Skill de Captura')      SkillValueLabel      SkillPercentPanel    SkillButton      id: skillId3      SkillNameLabel        !text: tr('Axe Fighting')      SkillValueLabel      SkillPercentPanel      visible: false    SkillButton      id: skillId4      SkillNameLabel        !text: tr('Distance Fighting')      SkillValueLabel      SkillPercentPanel      visible: false    SkillButton      id: skillId5      SkillNameLabel        !text: tr('Shielding')      SkillValueLabel      SkillPercentPanel      visible: false    SkillButton      id: skillId6      SkillNameLabel        !text: tr('Skill de Pesca')      SkillValueLabel      SkillPercentPanel 

/

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...