Postado Abril 25, 2015 10 anos ALO COM QUEM EU FALO? Gente do TK tem como me ajuda? o problema é que eu quero as seguintes coisas: 1)adicionar o Badge Case na aba de Habilidades(Skills) 2)colocar mais icones na barra superior 3)trocar de lugar os icones da parte 2 para a 3 uma imagem que representa o que eu disse a cima: O problema do Badge Case nas Skills Arquivo encontrado em: Client\modules\game_skills\skills.lua skillsWindow = nil skillsButton = nil local gyms = { ["Brock0"] = "/images/game/pokemon/clan/8", ---- terminados em 0 apagado, terminados em 1 aceso ["Brock1"] = "/images/game/pokemon/clan/16", ["Misty0"] = "/images/game/pokemon/clan/7", ["Misty1"] = "/images/game/pokemon/clan/15", ["Surge0"] = "/images/game/pokemon/clan/6", ["Surge1"] = "/images/game/pokemon/clan/14", ["Erika0"] = "/images/game/pokemon/clan/5", ["Erika1"] = "/images/game/pokemon/clan/13", ["Sabrina0"] = "/images/game/pokemon/clan/4", ["Sabrina1"] = "/images/game/pokemon/clan/12", ["Koga0"] = "/images/game/pokemon/clan/3", ["Koga1"] = "/images/game/pokemon/clan/11", ["Blaine0"] = "/images/game/pokemon/clan/2", ["Blaine1"] = "/images/game/pokemon/clan/10", ["Kira0"] = "/images/game/pokemon/clan/1", ["Kira1"] = "/images/game/pokemon/clan/9", } local imgs = { [-1] = "/modules/game_skills/img/trainer", -- -1 quer dizer esta sem clan... [1] = "/modules/game_skills/img/volcanic", [2] = "/modules/game_skills/img/seavell", [3] = "/modules/game_skills/img/orebound", [4] = "/modules/game_skills/img/wingeon", [5] = "/modules/game_skills/img/malefic", [6] = "/modules/game_skills/img/gardestrike", [7] = "/modules/game_skills/img/psycraft", [8] = "/modules/game_skills/img/naturia", [9] = "/modules/game_skills/img/raibolt", } 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', getGym) 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 function 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 }) disconnect(g_game, 'onTextMessage', getParams) disconnect(g_game, {onGameStart = changeImg}) g_keyboard.unbindKeyDown('Ctrl+S') skillsWindow:destroy() skillsButton:destroy() end function autoUpdateTalks() local player = g_game.getLocalPlayer() if not player then return end ---------- g_game.talk("#getGym# Brock") g_game.talk("#getGym# Misty") g_game.talk("#getGym# Surge") g_game.talk("#getGym# Erika") g_game.talk("#getGym# Sabrina") g_game.talk("#getGym# Koga") g_game.talk("#getGym# Blaine") g_game.talk("#getGym# Kira") ---------- end function getGym(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getBadges#") then local t = string.explode(text, " ") local badges = skillsWindow:recursiveGetChildById("gym"..t[2]) badges:setImageSource(gyms[t[2]..""..tonumber(t[3])]) end end end function changeImg() local player = g_game.getLocalPlayer() if not player then return end g_game.talk("#getSto# 86228") end function getParams(mode, text) if not g_game.isOnline() then return end if mode == MessageModes.Failure then if text:find("#getSto#") then local icon = skillsWindow:recursiveGetChildById("clanicon") if icon then local t = string.explode(text, " ") icon:setImageSource(imgs[tonumber(t[2])]) end end end end function expForLevel(level) return math.floor((50*level*level*level)/3 - 100*level*level + (850*level)/3 - 200) end function expToAdvance(currentLevel, currentExp) return expForLevel(currentLevel+1) - currentExp end function resetSkillColor(id) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor('#bbbbbb') end function 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() end end function setSkillValue(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setText(value) end function setSkillColor(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setColor(value) end function setSkillTooltip(id, value) local skill = skillsWindow:recursiveGetChildById(id) local widget = skill:getChildById('value') widget:setTooltip(value) end function 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) end end function 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) end end function 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() end end function refresh() local player = g_game.getLocalPlayer() if not player then return end autoUpdateTalks() 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(110) skillsWindow:setContentMaximumHeight(310) end function offline() if expSpeedEvent then expSpeedEvent:cancel() expSpeedEvent = nil end end function toggle() if skillsButton:isOn() then skillsWindow:close() skillsButton:setOn(false) else skillsWindow:open() skillsButton:setOn(true) skillsButton:setOpacity(1.0) end end function 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) end end function onMiniWindowClose() skillsButton:setOn(false) skillsButton:setOpacity(0.5) end function 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 end end function onExperienceChange(localPlayer, value) setSkillValue('level', value) end function onLevelChange(localPlayer, value, percent) setSkillValue('experience', localPlayer:getName()) setSkillValue('experiencee', 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) end function onHealthChange(localPlayer, health, maxHealth) setSkillValue('health', health) checkAlert('health', health, maxHealth, 30) end function onManaChange(localPlayer, mana, maxMana) setSkillValue('mana', mana) checkAlert('mana', mana, maxMana, 30) end function onSoulChange(localPlayer, soul) setSkillValue('soul', soul) end function onFreeCapacityChange(localPlayer, freeCapacity) setSkillValue('capacity', freeCapacity) checkAlert('capacity', freeCapacity, localPlayer:getTotalCapacity(), 20) end function onTotalCapacityChange(localPlayer, totalCapacity) checkAlert('capacity', localPlayer:getFreeCapacity(), totalCapacity, 20) end function onStaminaChange(localPlayer, stamina) local hours = math.floor(stamina / 60) local minutes = stamina % 60 if minutes < 10 then minutes = '0' .. minutes end setSkillValue('stamina', hours .. ":" .. minutes) end function 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)) end function 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) end function onSpeedChange(localPlayer, speed) setSkillValue('speed', speed) onBaseSpeedChange(localPlayer, localPlayer:getBaseSpeed()) end function onBaseSpeedChange(localPlayer, baseSpeed) setSkillBase('speed', localPlayer:getSpeed(), baseSpeed) end function onMagicLevelChange(localPlayer, magiclevel, percent) setSkillValue('magiclevel', magiclevel) setSkillPercent('magiclevel', percent, tr('You have %s percent to go', 100 - percent)) onBaseMagicLevelChange(localPlayer, localPlayer:getBaseMagicLevel()) end function onBaseMagicLevelChange(localPlayer, baseMagicLevel) setSkillBase('magiclevel', localPlayer:getMagicLevel(), baseMagicLevel) end function onSkillChange(localPlayer, id, level, percent) setSkillValue('skillId' .. id, level) setSkillPercent('skillId2', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId3', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId4', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId5', percent, tr('You have %s percent to go', 100 - percent)) setSkillPercent('skillId6', percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id)) end function onBaseSkillChange(localPlayer, id, baseLevel) setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel) end Arquivo encontrado em: Client\modules\game_skills\skills.otmod Module name: game_skills description: Manage skills window author: baxnie, edubart website: www.otclient.info sandboxed: true scripts: [ skills ] @onLoad: init() @onUnload: terminate() dependencies: - game_interface Arquivo encontrado em: Client\modules\game_skills\skills.otui SkillFirstWidget < UIWidget SkillButton < UIButton height: 21 margin-bottom: 2 &onClick: onSkillButtonClick SkillNameLabel < GameLabel font: verdana-11px-antialised anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom SkillValueLabel < GameLabel id: value font: verdana-11px-antialised text-align: topright anchors.right: parent.right anchors.top: parent.top anchors.bottom: parent.bottom anchors.left: prev.left SkillPercentPanel < ProgressBar id: percent background-color: green height: 5 image-source: /modules/game_skills/img/skillprogress image-border-left: 2 image-border-right: 3 margin-top: 15 anchors.left: parent.left anchors.right: parent.right anchors.top: parent.top phantom: false MiniWindow id: skillWindow !text: tr('Skills') height: 150 icon: /modules/game_skills/img/perfil_icon @onClose: modules.game_skills.onMiniWindowClose() &save: true MiniWindowContents layout: verticalBox padding-left: 5 padding-right: 5 SkillButton margin-top: 5 id: experience height: 13 SkillValueLabel width: 130 text-align: top anchors.horizontalCenter: parent.horizontalCenter margin-left: 15 UIButton id: clanicon width: 37 height: 36 image-source: /modules/game_skills/img/skillicon anchors.top: parent.top anchors.left: parent.left SkillButton margin-top: 5 id: experiencee height: 13 SkillValueLabel width: 130 font: sans-bold-16px text-align: top anchors.horizontalCenter: parent.horizontalCenter margin-top: -6 margin-left: 15 SkillButton id: level SkillNameLabel !text: tr('Experience') SkillValueLabel SkillPercentPanel background-color: red SkillButton id: skillId6 SkillNameLabel !text: tr('Fishing') SkillValueLabel SkillPercentPanel SkillButton id: skillId3 SkillNameLabel !text: tr('Headbutt') SkillValueLabel SkillPercentPanel SkillButton id: health height: 15 SkillNameLabel !text: tr('Hit Points') SkillValueLabel visible: false SkillButton id: mana height: 15 SkillNameLabel !text: tr('Mana') SkillValueLabel visible: false SkillButton id: capacity height: 15 SkillNameLabel !text: tr('Capacity') SkillValueLabel visible: false SkillButton id: regenerationTime SkillNameLabel !text: tr('Regeneration Time') SkillValueLabel visible: false 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: stamina height: 15 SkillNameLabel !text: tr('Stamina') SkillValueLabel margin-top: 8 HorizontalSeparator height: 7 anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right margin-top: -6 SkillButton id: soul height: 15 SkillNameLabel !text: tr('All Catches') SkillValueLabel SkillButton id: speed height: 15 SkillNameLabel !text: tr('Speed') SkillValueLabel SkillButton id: skillId1 height: 15 SkillNameLabel !text: tr('Duels Win') SkillValueLabel SkillButton id: skillId0 height: 15 SkillNameLabel !text: tr('Duels Lost') SkillValueLabel SkillButton id: skillId2 SkillNameLabel !text: tr('Sword Fighting') SkillValueLabel SkillPercentPanel visible: false SkillButton id: skillId4 SkillNameLabel !text: tr('Distance Fighting') SkillValueLabel SkillPercentPanel visible: false SkillButton id: skillId5 SkillNameLabel !text: tr('Shielding') SkillPercentPanel SkillValueLabel visible: false SkillButton id: skillId6 margin-top: 8 height: 13 SkillNameLabel !text: tr('Insígnias:') SkillValueLabel HorizontalSeparator height: 7 anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right margin-top: -6 SkillButton id: pokeGym size: 143 69 margin-top: 8 UIButton id: gymBrock size: 32 32 anchors.top: parent.top anchors.right: parent.right margin-right: 129 UIButton id: gymMisty anchors.top: gymBrock.top anchors.left: gymBrock.right margin-left: 7 UIButton id: gymSurge anchors.top: gymBrock.top anchors.left: gymMisty.right margin-left: 7 UIButton id: gymErika anchors.top: gymBrock.top anchors.left: gymSurge.right margin-left: 7 UIButton id: gymSabrina anchors.top: gymBrock.bottom anchors.left: gymBrock.left margin-top: 7 UIButton id: gymKoga anchors.top: parent.top anchors.top: gymBrock.bottom anchors.left: gymMisty.left margin-top: 7 UIButton id: gymBlaine anchors.top: parent.top anchors.top: gymBrock.bottom anchors.left: gymSurge.left margin-top: 7 UIButton id: gymKira anchors.top: parent.top anchors.top: gymBrock.bottom anchors.left: gymErika.left margin-top: 7 Em breve colocarei o resto das informações necessarias... REP+ E VLW PELA AJUDA... :3 Editado Abril 28, 2015 10 anos por TsplayerT (veja o histórico de edições) Meus Contatos! Minhas Funções: Skype: TsplayerT Facebook: TakaFukushii YouTube: ADoseDupla Twitter: @_Splayer_ Mapper:▓▓▓▓▓▓▓▓▓▓ 97% Programmer:▓▓▓▓▓▒▒▒▒▒ 45% Scripter:▓▓▓▓▓▓▓▓▓▒ 83% Spriter:▓▓▓▓▓▓▒▒▒▒ 57% Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99% Ot Creator:▓▓▓▓▓▓▓▒▒▒71% Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%
Postado Abril 25, 2015 10 anos Seu client possui as imagens das badges ? Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais... ________________________________________________________________________________ Minhas Sprites: Mega Metagross Mega Abomasnow Pack de Shinys [Posso atualizá-lo com novos shinys a qualquer momento] Tutoriais: [Completo] Criando e adicionando um novo Pokémon [Actions] Criando quest no RME Editores Lua/Xml/Sync Entre outros: Editores Win/Mac/Linux
Postado Abril 25, 2015 10 anos Autor Seu client possui as imagens das badges ? Me pareçe que não... tem como me ajudar com isso?(me envia as imagens?) @up Editado Abril 25, 2015 10 anos por TsplayerT (veja o histórico de edições) Meus Contatos! Minhas Funções: Skype: TsplayerT Facebook: TakaFukushii YouTube: ADoseDupla Twitter: @_Splayer_ Mapper:▓▓▓▓▓▓▓▓▓▓ 97% Programmer:▓▓▓▓▓▒▒▒▒▒ 45% Scripter:▓▓▓▓▓▓▓▓▓▒ 83% Spriter:▓▓▓▓▓▓▒▒▒▒ 57% Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99% Ot Creator:▓▓▓▓▓▓▓▒▒▒71% Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%
Postado Abril 25, 2015 10 anos essas imagens ficam na pasta do seu servidor [...] blá blá blá /images/game/pokemon/gyns Download: CLIQUE AQUI Scan: CLIQUE AQUI Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais... ________________________________________________________________________________ Minhas Sprites: Mega Metagross Mega Abomasnow Pack de Shinys [Posso atualizá-lo com novos shinys a qualquer momento] Tutoriais: [Completo] Criando e adicionando um novo Pokémon [Actions] Criando quest no RME Editores Lua/Xml/Sync Entre outros: Editores Win/Mac/Linux
Postado Abril 25, 2015 10 anos Pra colocar um botão ao lado esquerdo, use esse comando modules.client_topmenu.addCustomLeftButton('iddobotao', tr('nomedobotao'), 'caminhodaimagem/imagem.png', funcaodequandoclicar, true) Pra colocar um botão ao lado direito, use esse comando modules.client_topmenu.addCustomRightButton('iddobotao', tr('nomedobotao'), 'caminhodaimagem/imagem.png', funcaodequandoclicar, true) Ou seja, pra colocar o icone de quest pro outro lado, basta abrir o arquivo modules/game_questlog/questlog.lua e trocar isso questLogButton = modules.client_topmenu.addCustomLeftButton('questLogButton', tr('Quest Log'), '/images/ui/pxg/topMenu_icons/quest_icon', function() g_game.requestQuestLog() end, false) por isso questLogButton = modules.client_topmenu.addCustomRightButton('questLogButton', tr('Quest Log'), '/images/ui/pxg/topMenu_icons/quest_icon', function() g_game.requestQuestLog() end, false) Editado Abril 25, 2015 10 anos por david0703 (veja o histórico de edições) Atenciosamente, David Araujo Meu Conteúdo Fui útil? Gostou? Faça uma doação. "É errando que se erra." "Gambiarras resolvem instantemente, porém podem complicar em problemas futuros." "Cada dia vivido é um aprendizado."
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.