é 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
é 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
posta seu skills.lua (fica em modules/game_skills)
Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.
DICA
Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.
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
/
up