Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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 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%

 

Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites

Seu client possui as imagens das badges ?

Me pareçe que não...  :facepalm:  :wallbash:

tem como me ajudar com isso?(me envia as imagens?)

@up

Editado 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%

 

Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites

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 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."

Link para o post
Compartilhar em outros sites

essas imagens ficam na pasta do seu servidor [...] blá blá blá /images/game/pokemon/gyns

Download: CLIQUE AQUI

Scan: CLIQUE AQUI

mtmtmtmt obrg, mas é gyns ou gyms? essa pasta não está criada, esta certo?

 

rep+

 

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)

nossa @david0703,  e o @Vinicius Xxgamexx,  são genios!!

 

rep++++ se tivess algo que eu pudesse fazer no lugar de só dar rep+ eu dava..

Editado 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%

 

Link para o post
Compartilhar em outros sites

Nada, qualquer coisa estou aqui  ^^

No meu client esta gyns esta correto, já não sei em seu client mais para prevenir crie uma com o nome gyns e coloque as imagens nela.

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

Link para o post
Compartilhar em outros sites

Nada, qualquer coisa estou aqui  ^^

No meu client esta gyns esta correto, já não sei em seu client mais para prevenir crie uma com o nome gyns e coloque as imagens nela.

Vinicius eu fiz isso mas nada aconteçeu... ;-;

olha como eu fiz:

Editado 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%

 

Link para o post
Compartilhar em outros sites

é só gyns o nome da pasta man  :facepalm: pera ai que vou ver os modules das badges e já te passo

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

Link para o post
Compartilhar em outros sites

é só gyns o nome da pasta man  :facepalm: pera ai que vou ver os modules das badges e já te passo

eu sei disso que é so uma pasta chamada gyns, porem fiz todas essas para testas se era outro nome...

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%

 

Link para o post
Compartilhar em outros sites

Mano não encontrei os modules no otclient, tem uma forma de habilitar o inventory do client old no otc.

eu acho que é em /modules/clientmodulesmanager Esqueci o local, eu fiz isso uma vez em meu otc mais esqueci a forma  :(.

É um local em que você irá configurar com true e false só isso que me lembro tentarei me lembrar,

dei uma procurada aqui porém não encontrei se encontrar te falo não é só em arquivos .lua + também

em .otui e .otmod e isso complica a procura.

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

Link para o post
Compartilhar em outros sites

Mano não encontrei os modules no otclient, tem uma forma de habilitar o inventory do client old no otc.

eu acho que é em /modules/clientmodulesmanager Esqueci o local, eu fiz isso uma vez em meu otc mais esqueci a forma  :(.

É um local em que você irá configurar com true e false só isso que me lembro tentarei me lembrar,

dei uma procurada aqui porém não encontrei se encontrar te falo não é só em arquivos .lua + também

em .otui e .otmod e isso complica a procura.

Os arquivos estão em: Client\modules\client_modulemanager

????????

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%

 

Link para o post
Compartilhar em outros sites

Não, a configuração para habilitar é por lá porém eu não lembro onde...

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

Link para o post
Compartilhar em outros sites

Não, a configuração para habilitar é por lá porém eu não lembro onde...

Cara ta aqui meu arquivo chamado modulemanager.lua

local moduleManagerWindow
local moduleManagerButton
local moduleList

function init()
  moduleManagerWindow = g_ui.displayUI('modulemanager')
  moduleManagerWindow:hide()
  moduleList = moduleManagerWindow:getChildById('moduleList')
  connect(moduleList, { onChildFocusChange = function(self, focusedChild)
                          if focusedChild == nil then return end
                          updateModuleInfo(focusedChild:getText())
                        end })

  g_keyboard.bindKeyPress('Up', function() moduleList:focusPreviousChild(KeyboardFocusReason) end, moduleManagerWindow)
  g_keyboard.bindKeyPress('Down', function() moduleList:focusNextChild(KeyboardFocusReason) end, moduleManagerWindow)

  moduleManagerButton = modules.client_topmenu.addLeftButton('moduleManagerButton', tr('Module Manager'), '/images/topbuttons/modulemanager', toggle)
  moduleManagerButton:setVisible(false)
  
  connect(g_game, { onGameStart = controlButton,
                    onGameEnd = disable }) 

  -- refresh modules only after all modules are loaded
  addEvent(listModules)
end

function terminate()
  moduleManagerWindow:destroy()
  moduleManagerButton:destroy()
  moduleList = nil
  disconnect(g_game, { onGameStart = controlButton,
                    onGameEnd = disable }) 
end

function controlButton()
   moduleManagerButton:setVisible(g_game.isGM())
end

function disable()
  moduleManagerButton:hide()
end

function hide()
  moduleManagerWindow:hide()
end

function show()
  moduleManagerWindow:show()
  moduleManagerWindow:raise()
  moduleManagerWindow:focus()
end

function toggle()
  if moduleManagerWindow:isVisible() then
    hide()
  else
    show()
  end
end

function refreshModules()
  g_modules.discoverModules()
  listModules()
end

function listModules()
  if not moduleManagerWindow then return end

  moduleList:destroyChildren()

  local modules = g_modules.getModules()
  for i,module in ipairs(modules) do
    local label = g_ui.createWidget('ModuleListLabel', moduleList)
    label:setText(module:getName())
    label:setOn(module:isLoaded())
  end

  moduleList:focusChild(moduleList:getFirstChild(), ActiveFocusReason)
end

function refreshLoadedModules()
  if not moduleManagerWindow then return end

  for i,child in ipairs(moduleList:getChildren()) do
    local module = g_modules.getModule(child:getText())
    child:setOn(module:isLoaded())
  end
end

function updateModuleInfo(moduleName)
  if not moduleManagerWindow then return end

  local name = ''
  local description = ''
  local autoLoad = ''
  local author = ''
  local website = ''
  local version = ''
  local loaded = false
  local canReload = false
  local canUnload = false

  local module = g_modules.getModule(moduleName)
  if module then
    name = module:getName()
    description = module:getDescription()
    author = module:getAuthor()
    website = module:getWebsite()
    version = module:getVersion()
    loaded = module:isLoaded()
    canReload = module:canReload()
    canUnload = module:canUnload()
  end

  moduleManagerWindow:recursiveGetChildById('moduleName'):setText(name)
  moduleManagerWindow:recursiveGetChildById('moduleDescription'):setText(description)
  moduleManagerWindow:recursiveGetChildById('moduleAuthor'):setText(author)
  moduleManagerWindow:recursiveGetChildById('moduleWebsite'):setText(website)
  moduleManagerWindow:recursiveGetChildById('moduleVersion'):setText(version)

  local reloadButton = moduleManagerWindow:recursiveGetChildById('moduleReloadButton')
  reloadButton:setEnabled(canReload)
  if loaded then reloadButton:setText('Reload')
  else reloadButton:setText('Load') end

  local unloadButton = moduleManagerWindow:recursiveGetChildById('moduleUnloadButton')
  unloadButton:setEnabled(canUnload)
end

function reloadCurrentModule()
  local focusedChild = moduleList:getFocusedChild()
  if focusedChild then
    local module = g_modules.getModule(focusedChild:getText())
    if module then
      module:reload()
      if modules.client_modulemanager == nil then return end
      updateModuleInfo(module:getName())
      refreshLoadedModules()
      show()
    end
  end
end

function unloadCurrentModule()
  local focusedChild = moduleList:getFocusedChild()
  if focusedChild then
    local module = g_modules.getModule(focusedChild:getText())
    if module then
      module:unload()
      if modules.client_modulemanager == nil then return end
      updateModuleInfo(module:getName())
      refreshLoadedModules()
    end
  end
end

function reloadAllModules()
  g_modules.reloadModules()
  refreshLoadedModules()
  show()
end 

 

modulemanager.otmod

Module
  name: client_modulemanager
  description: Manage other modules
  author: edubart
  website: www.otclient.info
  sandboxed: true
  scripts: [ modulemanager ]
  dependencies: [ client_topmenu ]
  @onLoad: init()
  @onUnload: terminate() 

 

modulemanager.otui

ModuleListLabel < Label
  font: verdana-11px-monochrome
  background-color: alpha
  text-offset: 2 0
  focusable: true
  color: #cccccc

  $focus:
    color: #ffffff

  $on:
    background-color: #006600
  $!on:
    background-color: #660000

  $on focus:
    background-color: #004400
  $!on focus:
    background-color: #440000

ModuleInfoLabel < Label
  $!first:
    margin-top: 5
  margin-bottom: 2

ModuleValueLabel < FlatLabel
  font: verdana-11px-antialised
  color: #aaaaaa
  text-offset: 2 3
  padding-bottom: 5
  height: 20

MainWindow
  id: moduleManagerWindow
  size: 450 450
  !text: tr('Module Manager')

  @onEscape: modules.client_modulemanager.hide()

  TextList
    id: moduleList
    anchors.top: parent.top
    anchors.left: parent.left
    anchors.bottom: parent.bottom
    width: 190
    padding: 1
    focusable: false
    margin-bottom: 30
    vertical-scrollbar: moduleListScrollBar

  VerticalScrollBar
    id: moduleListScrollBar
    anchors.top: moduleList.top
    anchors.bottom: moduleList.bottom
    anchors.left: moduleList.right
    step: 14
    pixels-scroll: true

  Button
    id: refreshModulesButton
    anchors.top: moduleList.bottom
    anchors.left: moduleList.left
    margin-top: 8
    !text: tr('Refresh')
    text-auto-resize: true
    @onClick: modules.client_modulemanager.refreshModules()

  Button
    id: reloadAllModulesButton
    anchors.top: moduleList.bottom
    anchors.right: moduleListScrollBar.right
    margin-top: 8
    !text: tr('Reload All')
    text-auto-resize: true
    @onClick: modules.client_modulemanager.reloadAllModules()

  Panel
    id: moduleInfo
    anchors.left: moduleListScrollBar.right
    anchors.top: parent.top
    anchors.right: parent.right
    margin: 0 5 5 15
    layout:
      type: verticalBox
      fit-children: true
    height: 265

    ModuleInfoLabel
      !text: tr('Module name')
    ModuleValueLabel
      id: moduleName

    ModuleInfoLabel
      !text: tr('Description')
    ModuleValueLabel
      id: moduleDescription
      text-wrap: true
      height: 100

    //ModuleInfoLabel
    //  !text: tr('Autoload')
    //ModuleValueLabel
    //  id: moduleAutoload

    //ModuleInfoLabel
    //  !text: tr('Autoload priority')
    //ModuleValueLabel
    //  id: moduleLoadPriority
    //  text: 1000

    ModuleInfoLabel
      !text: tr('Author')
    ModuleValueLabel
      id: moduleAuthor

    ModuleInfoLabel
      !text: tr('Website')
    TextEdit
      id: moduleWebsite

    ModuleInfoLabel
      !text: tr('Version')
    ModuleValueLabel
      id: moduleVersion

  Button
    id: moduleReloadButton
    anchors.top: moduleInfo.bottom
    anchors.left: moduleInfo.left
    margin-top: 8
    !text: tr('Load')
    enabled: false
    width: 90
    @onClick: modules.client_modulemanager.reloadCurrentModule()

  Button
    id: moduleUnloadButton
    anchors.top: moduleInfo.bottom
    anchors.right: moduleInfo.right
    margin-left: 10
    margin-top: 8
    !text: tr('Unload')
    enabled: false
    width: 90
    @onClick: modules.client_modulemanager.unloadCurrentModule()

  Button
    id: closeButton
    anchors.bottom: parent.bottom
    anchors.right: parent.right
    !text: tr('Close')
    width: 90
    @onClick: modules.client_modulemanager.hide()

 

Me ajuda pelo menos o que voce lembra, pf

Editado 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%

 

Link para o post
Compartilhar em outros sites

Olha aqui, adicionar as cases badge, e atualizar assim que ganhr.

1º Edições no server:

Vá em: talkactions/scripts...crie um arquivo lua com o nome: talkGym.lua: e coloque isso dentro do arquivo:

 

 

function onSay(cid, words, param)
    if gymbadges[param] then
        doPlayerSendCancel(cid, "#getBadges# "..param.." "..getPlayerItemCount(cid, gymbadges[param]))
    end
    return true
end

 

Em Xml:

 

 

<talkaction words="#getGym#" event="script" value="talkGym.lua"/>

 

 

PARA QUEM QUISER QUE ATUALIZE NA HORA QUE GANHAR O GYM

 

npc/scripts/todos os npcs de gym:

 

 

doPlayerSendCancel(cid, "#getBadges# "..getCreatureName(this).." "..getPlayerItemCount(cid, gymbadges[getCreatureName(this)]))

 

Embaixo dessa linha

 

 

if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

 

Ficando assim:

 

 

local function doWinDuel(cid, npc)
    if not isCreature(cid) then return true end
    local this = npc
    local a = gymbadges[getCreatureName(this)] + 8
    doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1)
    local b = getPlayerItemById(cid, true, a)
    if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end
    doPlayerSendCancel(cid, "#getBadges# "..getCreatureName(this).." "..getPlayerItemCount(cid, gymbadges[getCreatureName(this)]))
end

 

No server é apenas isso, agora vamos em: Otclient>modules>game_skills:

 

Skills Otui:

 

Em baixo de tudo la em ultimo coloque

 

 

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: 120
      UIButton
        id: gymMisty
        anchors.top: gymBrock.top
        anchors.left: gymBrock.right
        margin-left: 3
      UIButton
        id: gymSurge
        anchors.top: gymBrock.top
        anchors.left: gymMisty.right
        margin-left: 3
      UIButton
        id: gymErika
        anchors.top: gymBrock.top
        anchors.left: gymSurge.right
        margin-left: 3
      UIButton
        id: gymSabrina
        anchors.top: gymBrock.bottom
        anchors.left: gymBrock.left
        margin-top: 6
      UIButton
        id: gymKoga
        anchors.top: parent.top
        anchors.top: gymBrock.bottom
        anchors.left: gymMisty.left
        margin-top: 6
      UIButton
        id: gymBlaine
        anchors.top: parent.top
        anchors.top: gymBrock.bottom
        anchors.left: gymSurge.left
        margin-top: 6
      UIButton
        id: gymKira
        anchors.top: parent.top
        anchors.top: gymBrock.bottom
        anchors.left: gymErika.left
        margin-top: 6

 

Skills.Lua:

 

Inicio do Script:

 

 

local gyms = {
   ["Brock0"] = "/images/game/pokemon/clan/brock", ---- terminados em 0 apagado, terminados em 1 aceso
   ["Brock1"] = "/images/game/pokemon/clan/brock",
   ["Misty0"] = "/images/game/pokemon/clan/misty",
   ["Misty1"] = "/images/game/pokemon/clan/misty",
   ["Surge0"] = "/images/game/pokemon/clan/surge",
   ["Surge1"] = "/images/game/pokemon/clan/surge",
   ["Erika0"] = "/images/game/pokemon/clan/erika",
   ["Erika1"] = "/images/game/pokemon/clan/erika",
   ["Sabrina0"] = "/images/game/pokemon/clan/sabrina",
   ["Sabrina1"] = "/images/game/pokemon/clan/sabrina",
   ["Koga0"] = "/images/game/pokemon/clan/koga",
   ["Koga1"] = "/images/game/pokemon/clan/koga",
   ["Blaine0"] = "/images/game/pokemon/clan/blaine",
   ["Blaine1"] = "/images/game/pokemon/clan/blaine",
   ["Kira0"] = "/images/game/pokemon/clan/kira",
   ["Kira1"] = "/images/game/pokemon/clan/kira",
}

 

Em baixo de:

 

 

connect(g_game, {
    onGameStart = refresh,
    onGameEnd = offline
  })

 

Coloque:

 

 

connect(g_game, 'onTextMessage', getGym)

 

Ficando:

 

 

connect(g_game, {
    onGameStart = refresh,
    onGameEnd = offline
  })
connect(g_game, 'onTextMessage', getGym)

 

Em baixo de:

 

 

  g_keyboard.unbindKeyDown('Ctrl+S')
  skillsWindow:destroy()
  skillsButton:destroy()
end

 

Coloque:

 

 

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)
  local t = string.explode(text, " ")
  local badges = skillsWindow:recursiveGetChildById("gym"..t[2])
  if not g_game.isOnline() then return end
  if mode == MessageModes.Failure then
    if text:find("#getBadges#") then
      badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])
    end
  end
end

 

Ficando:

 

 

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)
  local t = string.explode(text, " ")
  local badges = skillsWindow:recursiveGetChildById("gym"..t[2])
  if not g_game.isOnline() then return end
  if mode == MessageModes.Failure then
    if text:find("#getBadges#") then
      badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])
    end
  end
end

 

Em baixo de:

 

 

function refresh()
  local player = g_game.getLocalPlayer()
  if not player then return end

 

Coloque:

 

 

autoUpdateTalks()

 

Ficando:

 

 

function refresh()
  local player = g_game.getLocalPlayer()
  if not player then return end

  autoUpdateTalks()

 

 

Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre.

 

skype.png

Trabalhos (C++):

Cor das mensagens nos channels

Ajusta/Mudar cor das mensagens de Loot

Liberação dos novos Remakes da PokeXGames.

NPC "Guild Master" que cria, deleta, invita, kicka players da guild.

 

 B4OBUkH.png At Soon, LIKE ON FACEBOOK. Clik on Imgs

Link para o post
Compartilhar em outros sites

Olha aqui, adicionar as cases badge, e atualizar assim que ganhr.

1º Edições no server:

Vá em: talkactions/scripts...crie um arquivo lua com o nome: talkGym.lua: e coloque isso dentro do arquivo:

 

 

function onSay(cid, words, param)

    if gymbadges[param] then

        doPlayerSendCancel(cid, "#getBadges# "..param.." "..getPlayerItemCount(cid, gymbadges[param]))

    end

    return true

end

 

Em Xml:

 

 

<talkaction words="#getGym#" event="script" value="talkGym.lua"/>

 

 

PARA QUEM QUISER QUE ATUALIZE NA HORA QUE GANHAR O GYM

 

npc/scripts/todos os npcs de gym:

 

 

doPlayerSendCancel(cid, "#getBadges# "..getCreatureName(this).." "..getPlayerItemCount(cid, gymbadges[getCreatureName(this)]))

 

Embaixo dessa linha

 

 

if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

 

Ficando assim:

 

 

local function doWinDuel(cid, npc)

    if not isCreature(cid) then return true end

    local this = npc

    local a = gymbadges[getCreatureName(this)] + 8

    doCreatureSay(npc, "You won the duel! Congratulations, take this "..getItemNameById(a - 8).." as a prize.", 1)

    local b = getPlayerItemById(cid, true, a)

    if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end

    doPlayerSendCancel(cid, "#getBadges# "..getCreatureName(this).." "..getPlayerItemCount(cid, gymbadges[getCreatureName(this)]))

end

 

No server é apenas isso, agora vamos em: Otclient>modules>game_skills:

 

Skills Otui:

 

Em baixo de tudo la em ultimo coloque

 

 

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: 120

      UIButton

        id: gymMisty

        anchors.top: gymBrock.top

        anchors.left: gymBrock.right

        margin-left: 3

      UIButton

        id: gymSurge

        anchors.top: gymBrock.top

        anchors.left: gymMisty.right

        margin-left: 3

      UIButton

        id: gymErika

        anchors.top: gymBrock.top

        anchors.left: gymSurge.right

        margin-left: 3

      UIButton

        id: gymSabrina

        anchors.top: gymBrock.bottom

        anchors.left: gymBrock.left

        margin-top: 6

      UIButton

        id: gymKoga

        anchors.top: parent.top

        anchors.top: gymBrock.bottom

        anchors.left: gymMisty.left

        margin-top: 6

      UIButton

        id: gymBlaine

        anchors.top: parent.top

        anchors.top: gymBrock.bottom

        anchors.left: gymSurge.left

        margin-top: 6

      UIButton

        id: gymKira

        anchors.top: parent.top

        anchors.top: gymBrock.bottom

        anchors.left: gymErika.left

        margin-top: 6

 

Skills.Lua:

 

Inicio do Script:

 

 

local gyms = {

   ["Brock0"] = "/images/game/pokemon/clan/brock", ---- terminados em 0 apagado, terminados em 1 aceso

   ["Brock1"] = "/images/game/pokemon/clan/brock",

   ["Misty0"] = "/images/game/pokemon/clan/misty",

   ["Misty1"] = "/images/game/pokemon/clan/misty",

   ["Surge0"] = "/images/game/pokemon/clan/surge",

   ["Surge1"] = "/images/game/pokemon/clan/surge",

   ["Erika0"] = "/images/game/pokemon/clan/erika",

   ["Erika1"] = "/images/game/pokemon/clan/erika",

   ["Sabrina0"] = "/images/game/pokemon/clan/sabrina",

   ["Sabrina1"] = "/images/game/pokemon/clan/sabrina",

   ["Koga0"] = "/images/game/pokemon/clan/koga",

   ["Koga1"] = "/images/game/pokemon/clan/koga",

   ["Blaine0"] = "/images/game/pokemon/clan/blaine",

   ["Blaine1"] = "/images/game/pokemon/clan/blaine",

   ["Kira0"] = "/images/game/pokemon/clan/kira",

   ["Kira1"] = "/images/game/pokemon/clan/kira",

}

 

Em baixo de:

 

 

connect(g_game, {

    onGameStart = refresh,

    onGameEnd = offline

  })

 

Coloque:

 

 

connect(g_game, 'onTextMessage', getGym)

 

Ficando:

 

 

connect(g_game, {

    onGameStart = refresh,

    onGameEnd = offline

  })

connect(g_game, 'onTextMessage', getGym)

 

Em baixo de:

 

 

  g_keyboard.unbindKeyDown('Ctrl+S')

  skillsWindow:destroy()

  skillsButton:destroy()

end

 

Coloque:

 

 

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)

  local t = string.explode(text, " ")

  local badges = skillsWindow:recursiveGetChildById("gym"..t[2])

  if not g_game.isOnline() then return end

  if mode == MessageModes.Failure then

    if text:find("#getBadges#") then

      badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])

    end

  end

end

 

Ficando:

 

 

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)

  local t = string.explode(text, " ")

  local badges = skillsWindow:recursiveGetChildById("gym"..t[2])

  if not g_game.isOnline() then return end

  if mode == MessageModes.Failure then

    if text:find("#getBadges#") then

      badges:setImageSource(gyms[t[2]..""..tonumber(t[3])])

    end

  end

end

 

Em baixo de:

 

 

function refresh()

  local player = g_game.getLocalPlayer()

  if not player then return end

 

Coloque:

 

 

autoUpdateTalks()

 

Ficando:

 

 

function refresh()

  local player = g_game.getLocalPlayer()

  if not player then return end

  autoUpdateTalks()

 

 

Vlw :D

tem como me ajudar a fazer as imagens de Badge Case ficar apareçencedo nas Habilidades(Skills)? assim como a imagem mostra

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%

 

Link para o post
Compartilhar em outros sites

Tem sim, posta seu skill.otui ^^

Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre.

 

skype.png

Trabalhos (C++):

Cor das mensagens nos channels

Ajusta/Mudar cor das mensagens de Loot

Liberação dos novos Remakes da PokeXGames.

NPC "Guild Master" que cria, deleta, invita, kicka players da guild.

 

 B4OBUkH.png At Soon, LIKE ON FACEBOOK. Clik on Imgs

Link para o post
Compartilhar em outros sites

local moduleManagerWindow
local moduleManagerButton
local moduleList

function init()
moduleManagerWindow = g_ui.displayUI('modulemanager')
moduleManagerWindow:hide()
moduleList = moduleManagerWindow:getChildById('moduleList')
connect(moduleList, { onChildFocusChange = function(self, focusedChild)
if focusedChild == nil then return end
updateModuleInfo(focusedChild:getText())
end })

g_keyboard.bindKeyPress('Up', function() moduleList:focusPreviousChild(KeyboardFocusReason) end, moduleManagerWindow)
g_keyboard.bindKeyPress('Down', function() moduleList:focusNextChild(KeyboardFocusReason) end, moduleManagerWindow)

moduleManagerButton = modules.client_topmenu.addLeftButton('moduleManagerButton', tr('Module Manager'), '/images/topbuttons/modulemanager', toggle)
moduleManagerButton:setVisible(true)

connect(g_game, { onGameStart = controlButton,
onGameEnd = disable })

-- refresh modules only after all modules are loaded
addEvent
(listModules)
end

function terminate()
moduleManagerWindow:destroy()
moduleManagerButton:destroy()
moduleList = nil
disconnect(g_game, { onGameStart = controlButton,
onGameEnd = disable })
end

function controlButton()
moduleManagerButton:setVisible(g_game.isGM())
end

function disable()
moduleManagerButton:hide()
end

function hide()
moduleManagerWindow:hide()
end

function show()
moduleManagerWindow:show()
moduleManagerWindow:raise()
moduleManagerWindow:focus()
end

function toggle()
if moduleManagerWindow:isVisible() then
hide()
else
show()
end
end

function refreshModules()
g_modules.discoverModules()
listModules()
end

function listModules()
if not moduleManagerWindow then return end

moduleList:destroyChildren()

local modules = g_modules.getModules()
for i,module in ipairs(modules) do
local label = g_ui.createWidget('ModuleListLabel', moduleList)
label:setText(module:getName())
label:setOn(module:isLoaded())
end

moduleList:focusChild(moduleList:getFirstChild(), ActiveFocusReason)
end

function refreshLoadedModules()
if not moduleManagerWindow then return end

for i,child in ipairs(moduleList:getChildren()) do
local module = g_modules.getModule(child:getText())
child:setOn(module:isLoaded())
end
end

function updateModuleInfo(moduleName)
if not moduleManagerWindow then return end

local name = ''
local description = ''
local autoLoad = ''
local author = ''
local website = ''
local version = ''
local loaded = false
local canReload = false
local canUnload = false

local module = g_modules.getModule(moduleName)
if module then
name = module:getName()
description = module:getDescription()
author = module:getAuthor()
website = module:getWebsite()
version = module:getVersion()
loaded = module:isLoaded()
canReload = module:canReload()
canUnload = module:canUnload()
end

moduleManagerWindow:recursiveGetChildById('moduleName'):setText(name)
moduleManagerWindow:recursiveGetChildById('moduleDescription'):setText(description)
moduleManagerWindow:recursiveGetChildById('moduleAuthor'):setText(author)
moduleManagerWindow:recursiveGetChildById('moduleWebsite'):setText(website)
moduleManagerWindow:recursiveGetChildById('moduleVersion'):setText(version)

local reloadButton = moduleManagerWindow:recursiveGetChildById('moduleReloadButton')
reloadButton:setEnabled(canReload)
if loaded then reloadButton:setText('Reload')
else reloadButton:setText('Load') end

local unloadButton = moduleManagerWindow:recursiveGetChildById('moduleUnloadButton')
unloadButton:setEnabled(canUnload)
end

function reloadCurrentModule()
local focusedChild = moduleList:getFocusedChild()
if focusedChild then
local module = g_modules.getModule(focusedChild:getText())
if module then
module:reload()
if modules.client_modulemanager == nil then return end
updateModuleInfo(module:getName())
refreshLoadedModules()
show()
end
end
end

function unloadCurrentModule()
local focusedChild = moduleList:getFocusedChild()
if focusedChild then
local module = g_modules.getModule(focusedChild:getText())
if module then
module:unload()
if modules.client_modulemanager == nil then return end
updateModuleInfo(module:getName())
refreshLoadedModules()
end
end
end

function reloadAllModules()
g_modules.reloadModules()
refreshLoadedModules()
show()
end 

agora clica no module manager lá no client e aperta em inventory e habilita ele

ps: esse é o .lua

Editado por Vinicius Xxgamexx (veja o histórico de edições)

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

Link para o post
Compartilhar em outros sites

Tem sim, posta seu skill.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

local moduleManagerWindow

local moduleManagerButton

local moduleList

function init()

moduleManagerWindow = g_ui.displayUI('modulemanager')

moduleManagerWindow:hide()

moduleList = moduleManagerWindow:getChildById('moduleList')

connect(moduleList, { onChildFocusChange = function(self, focusedChild)

if focusedChild == nil then return end

updateModuleInfo(focusedChild:getText())

end })

g_keyboard.bindKeyPress('Up', function() moduleList:focusPreviousChild(KeyboardFocusReason) end, moduleManagerWindow)

g_keyboard.bindKeyPress('Down', function() moduleList:focusNextChild(KeyboardFocusReason) end, moduleManagerWindow)

moduleManagerButton = modules.client_topmenu.addLeftButton('moduleManagerButton', tr('Module Manager'), '/images/topbuttons/modulemanager', toggle)

moduleManagerButton:setVisible(true)

connect(g_game, { onGameStart = controlButton,

onGameEnd = disable })

-- refresh modules only after all modules are loaded

addEvent(listModules)

end

function terminate()

moduleManagerWindow:destroy()

moduleManagerButton:destroy()

moduleList = nil

disconnect(g_game, { onGameStart = controlButton,

onGameEnd = disable })

end

function controlButton()

moduleManagerButton:setVisible(g_game.isGM())

end

function disable()

moduleManagerButton:hide()

end

function hide()

moduleManagerWindow:hide()

end

function show()

moduleManagerWindow:show()

moduleManagerWindow:raise()

moduleManagerWindow:focus()

end

function toggle()

if moduleManagerWindow:isVisible() then

hide()

else

show()

end

end

function refreshModules()

g_modules.discoverModules()

listModules()

end

function listModules()

if not moduleManagerWindow then return end

moduleList:destroyChildren()

local modules = g_modules.getModules()

for i,module in ipairs(modules) do

local label = g_ui.createWidget('ModuleListLabel', moduleList)

label:setText(module:getName())

label:setOn(module:isLoaded())

end

moduleList:focusChild(moduleList:getFirstChild(), ActiveFocusReason)

end

function refreshLoadedModules()

if not moduleManagerWindow then return end

for i,child in ipairs(moduleList:getChildren()) do

local module = g_modules.getModule(child:getText())

child:setOn(module:isLoaded())

end

end

function updateModuleInfo(moduleName)

if not moduleManagerWindow then return end

local name = ''

local description = ''

local autoLoad = ''

local author = ''

local website = ''

local version = ''

local loaded = false

local canReload = false

local canUnload = false

local module = g_modules.getModule(moduleName)

if module then

name = module:getName()

description = module:getDescription()

author = module:getAuthor()

website = module:getWebsite()

version = module:getVersion()

loaded = module:isLoaded()

canReload = module:canReload()

canUnload = module:canUnload()

end

moduleManagerWindow:recursiveGetChildById('moduleName'):setText(name)

moduleManagerWindow:recursiveGetChildById('moduleDescription'):setText(description)

moduleManagerWindow:recursiveGetChildById('moduleAuthor'):setText(author)

moduleManagerWindow:recursiveGetChildById('moduleWebsite'):setText(website)

moduleManagerWindow:recursiveGetChildById('moduleVersion'):setText(version)

local reloadButton = moduleManagerWindow:recursiveGetChildById('moduleReloadButton')

reloadButton:setEnabled(canReload)

if loaded then reloadButton:setText('Reload')

else reloadButton:setText('Load') end

local unloadButton = moduleManagerWindow:recursiveGetChildById('moduleUnloadButton')

unloadButton:setEnabled(canUnload)

end

function reloadCurrentModule()

local focusedChild = moduleList:getFocusedChild()

if focusedChild then

local module = g_modules.getModule(focusedChild:getText())

if module then

module:reload()

if modules.client_modulemanager == nil then return end

updateModuleInfo(module:getName())

refreshLoadedModules()

show()

end

end

end

function unloadCurrentModule()

local focusedChild = moduleList:getFocusedChild()

if focusedChild then

local module = g_modules.getModule(focusedChild:getText())

if module then

module:unload()

if modules.client_modulemanager == nil then return end

updateModuleInfo(module:getName())

refreshLoadedModules()

end

end

end

function reloadAllModules()

g_modules.reloadModules()

refreshLoadedModules()

show()

end

agora clica no module manager lá no client e aperta em inventory e habilita ele

ps: esse é o .lua

cara o botão não apareçe

Editado 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%

 

Link para o post
Compartilhar em outros sites

Subistitui o seu por essa:

 

SkillFirstWidget < UIWidget

SkillButton < UIButton
  height: 20
  margin-bottom: 5
  &onClick: onSkillButtonClick

SkillNameLabel < GameLabel
  font: verdana-11px-monochrome
  anchors.left: parent.left
  anchors.top: parent.top
  anchors.bottom: parent.bottom
  color: red

SkillValueLabel < GameLabel
  id: value
  font: verdana-8px-monochrome
  text-align: topright
  anchors.right: parent.right
  anchors.top: parent.top
  anchors.bottom: parent.bottom
  anchors.left: prev.left
  color: white

SkillPercentPanel < ProgressBar
  id: percent
  background-color: white
  height: 5
  image-source: /modules/game_skills/img/skillprogress
  image-border-left: 5
  image-border-right: 5
  margin-top: 15
  anchors.left: parent.left
  anchors.right: parent.right
  anchors.top: parent.top
  phantom: false

MiniWindow
  id: skillWindow
  !text: tr('Habilidades')
  height: 100
  icon: /modules/game_skills/img/perfil_icon
  @onClose: modules.game_skills.onMiniWindowClose()
  &save: true

  MiniWindowContents
    padding-left: 5
    padding-right: 5
    layout: verticalBox 

    SkillButton
      margin-top: 8
      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: -7
        margin-left: 15 
        color: green

    SkillButton
      id: level       
      SkillNameLabel  
        !text: tr('Experience')
      SkillValueLabel
      SkillPercentPanel 
        background-color: green


    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
      margin-top: 8
      height: 15
      SkillNameLabel
        !text: tr('Duels Wins')
      SkillValueLabel

      HorizontalSeparator
        height: 7
        anchors.top: parent.top
        anchors.left: parent.left
        anchors.right: parent.right
        margin-top: -6

    SkillButton
      id: skillId0
      height: 15
      SkillNameLabel
        !text: tr('Duels Losses')
      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')
      SkillValueLabel
      SkillPercentPanel
      visible: false
    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: 120
      UIButton
        id: gymMisty
        anchors.top: gymBrock.top
        anchors.left: gymBrock.right
        margin-left: 3
      UIButton
        id: gymSurge
        anchors.top: gymBrock.top
        anchors.left: gymMisty.right
        margin-left: 3
      UIButton
        id: gymErika
        anchors.top: gymBrock.top
        anchors.left: gymSurge.right
        margin-left: 3
      UIButton
        id: gymSabrina
        anchors.top: gymBrock.bottom
        anchors.left: gymBrock.left
        margin-top: 6
      UIButton
        id: gymKoga
        anchors.top: parent.top
        anchors.top: gymBrock.bottom
        anchors.left: gymMisty.left
        margin-top: 6
      UIButton
        id: gymBlaine
        anchors.top: parent.top
        anchors.top: gymBrock.bottom
        anchors.left: gymSurge.left
        margin-top: 6
      UIButton
        id: gymKira
        anchors.top: parent.top
        anchors.top: gymBrock.bottom
        anchors.left: gymErika.left
        margin-top: 6

Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre.

 

skype.png

Trabalhos (C++):

Cor das mensagens nos channels

Ajusta/Mudar cor das mensagens de Loot

Liberação dos novos Remakes da PokeXGames.

NPC "Guild Master" que cria, deleta, invita, kicka players da guild.

 

 B4OBUkH.png At Soon, LIKE ON FACEBOOK. Clik on Imgs

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por matiasz123
      [OTCLIENT SHOWOFF] Questlog Actualizado
      Updated quest log, showing quest details:
      Npc name Npc level Npc outfit Mission status Description Amount of reward experience Number of reward points Enemies you must kill Items to collect  
       

       
      When you click on the follow button, an alternative map opens that shows you the next objective of the mission and at what coordinates:


       
      If you want the system write a comment with your discord
    • Por Underewar
      Tutorial: Criando um Sistema de Enviar efeito com OTClient.


       
      Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient.
      Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico.
      Pré-requisitos:
      Ambiente de Desenvolvimento:
      Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua:
      Familiaridade com a linguagem de script Lua.
       
      Passo 1: Estrutura do projeto
       
      Organize seu projeto conforme abaixo:

      OTC / MODS



      Passo 2: Criando a Interface Gráfica (OTUI)

      game_pass.otui
      Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side)

       



      Passo 3: Criando funções Client-Side

      Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface.
      Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador.

      game_pass.lua
       
       
      Passo 4: Registrando o novo Mod

      Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

      game_pass.otmod
       

      Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar :
      protocolGame:sendExtendedOpcode(14, "1")
      Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor.

      Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua

      Verificando se o opcode é 14 se for 14 então fazemos x ação.

      Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos 

      Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente.

      data/creaturescripts/otc/game_pass.lua
       
      Passo 6: Registrando o evento para evitar erros futuros!
      Para que tudo funcione corretamente sem erros é  necessário registrar o evento no creaturescript.xml / login.lua

      creaturescript.xml
      <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" />
      login.lua
          player:registerEvent("GamePass")  


      Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito.

      Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes.

      Arquivos usados no tutorrial:
      OTC MODULE
      game_pass.rar
      Creaturescript
      game_pass.lua

      Vi muitos tutoriais desatualizado então resolvi trazer esse!
      Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player.

      Melhorando a formatação com JSON Encoder

       
       
    • Por LasseXeterno
      Então, estou tentando adicionar uma nova "race" no meu Ot de base Cyan, tentei seguir 3 tutoriais aqui do tibiaking, um sobre race, porém nos códigos do meu servidor não tem o constant.h e nem o monster.cpp. E o outro tutorial, eu fiz tudo que ele pediu e quando entrei no game para testar, funcionava os golpes e as imunidades, porém não aparecia o número do dano e nem a cor.  Usei esse tutorial como base: 
      Pois ele é derivado. E o outro tutorial que usei foi: 
      Porém nesse, não consegui achar a const.h, e quando fui nos arquivos do creaturescript e adicionei uma cor nova a "COLOR_FAIRY", quando abro o jogo, os pokemons que seriam teoricamente "fada", o que eu usei de teste foi a Clefable. A Clefable tomava IK e dava IK no seu atk do tipo fada. 
      Além de que, o meu erro principal é esse: Warning - Monsters::loadMonster] Unknown race type fairy. (data/monster/pokes/geracao 1/Clefable.xml)
       Pois como eu já disse, não consigo achar onde adicionar uma nova race.

    • Por yuriowns
      Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.
       
    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Bom pessoal, a algumas semanas atras eu joguei um servidor que havia sistema de imbuimento sendo 8.60, no servidor se utilizava a spellwand para encantar as armas, os comandos eram dado no canal Imbuiment... Gostaria de saber se alguém teria como disponibilizar algum sistema de imbuimento, já procurei pra caramba aqui no fórum mas tudo que encontro é pra versões acima da que eu uso.
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo