Ir para conteúdo
Propaganda

Posts Recomendados

Por acaso alguém sabe como eu faço para poder recuperar outros dados, como o level por exemplo, no módulo entergame? para poder usar na characterlist.otui?

O level ficaria entre o nome do personagem e o mundo.

 

Até tentei de algumas maneiras, alterando algumas funções, mas sem sucesso.

characterlist.lua:

local function resendWait()
  if waitingWindow then
    waitingWindow:destroy()
    waitingWindow = nil

    if updateWaitEvent then
      updateWaitEvent:cancel()
      updateWaitEvent = nil
    end

    if charactersWindow then
      local selected = characterList:getFocusedChild()
      if selected then
        local charInfo = { worldHost = selected.worldHost,
                           worldPort = selected.worldPort,
                           worldName = selected.worldName,
                           characterName = selected.characterName,
                           characterLevel = selected.characterLevel }
        tryLogin(charInfo)
      end
    end
  end
end
function CharacterList.create(characters, account, otui)
  if not otui then otui = 'characterlist' end

  if charactersWindow then
    charactersWindow:destroy()
  end

  charactersWindow = g_ui.displayUI(otui)
  characterList = charactersWindow:getChildById('characters')

  -- characters
  G.characters = characters
  G.characterAccount = account

  characterList:destroyChildren()
  local accountStatusLabel = charactersWindow:getChildById('accountStatusLabel')

  local focusLabel
  for i,characterInfo in ipairs(characters) do
    local widget = g_ui.createWidget('CharacterWidget', characterList)
    for key,value in pairs(characterInfo) do
      local subWidget = widget:getChildById(key)
      if subWidget then
        if key == 'outfit' then -- it's an exception
          subWidget:setOutfit(value)
        else
          local text = value
          if subWidget.baseText and subWidget.baseTranslate then
            text = tr(subWidget.baseText, text)
          elseif subWidget.baseText then
            text = string.format(subWidget.baseText, text)
          end
          subWidget:setText(text)
        end
      end
    end

    -- these are used by login
    widget.characterName = characterInfo.name
    widget.worldName = characterInfo.worldName
    widget.worldHost = characterInfo.worldIp
    widget.worldPort = characterInfo.worldPort
    widget.characterLevel = characterInfo.level

    connect(widget, { onDoubleClick = function () CharacterList.doLogin() return true end } )

    if i == 1 or (g_settings.get('last-used-character') == widget.characterName and g_settings.get('last-used-world') == widget.worldName) then
      focusLabel = widget
    end
  end

image.png.9fe3871592a62c53e8dde721b4f1cbf1.png

Link para o comentário
https://tibiadevs.com/forums/topic/743-recuperar-level-do-personagem-no-entergamecharacterlist/
Compartilhar em outros sites

  • Administrador
2 horas atrás, alucarddz disse:

Por acaso alguém sabe como eu faço para poder recuperar outros dados, como o level por exemplo, no módulo entergame? para poder usar na characterlist.otui?

O level ficaria entre o nome do personagem e o mundo.

 

Até tentei de algumas maneiras, alterando algumas funções, mas sem sucesso.

characterlist.lua:

local function resendWait()
  if waitingWindow then
    waitingWindow:destroy()
    waitingWindow = nil

    if updateWaitEvent then
      updateWaitEvent:cancel()
      updateWaitEvent = nil
    end

    if charactersWindow then
      local selected = characterList:getFocusedChild()
      if selected then
        local charInfo = { worldHost = selected.worldHost,
                           worldPort = selected.worldPort,
                           worldName = selected.worldName,
                           characterName = selected.characterName,
                           characterLevel = selected.characterLevel }
        tryLogin(charInfo)
      end
    end
  end
end
function CharacterList.create(characters, account, otui)
  if not otui then otui = 'characterlist' end

  if charactersWindow then
    charactersWindow:destroy()
  end

  charactersWindow = g_ui.displayUI(otui)
  characterList = charactersWindow:getChildById('characters')

  -- characters
  G.characters = characters
  G.characterAccount = account

  characterList:destroyChildren()
  local accountStatusLabel = charactersWindow:getChildById('accountStatusLabel')

  local focusLabel
  for i,characterInfo in ipairs(characters) do
    local widget = g_ui.createWidget('CharacterWidget', characterList)
    for key,value in pairs(characterInfo) do
      local subWidget = widget:getChildById(key)
      if subWidget then
        if key == 'outfit' then -- it's an exception
          subWidget:setOutfit(value)
        else
          local text = value
          if subWidget.baseText and subWidget.baseTranslate then
            text = tr(subWidget.baseText, text)
          elseif subWidget.baseText then
            text = string.format(subWidget.baseText, text)
          end
          subWidget:setText(text)
        end
      end
    end

    -- these are used by login
    widget.characterName = characterInfo.name
    widget.worldName = characterInfo.worldName
    widget.worldHost = characterInfo.worldIp
    widget.worldPort = characterInfo.worldPort
    widget.characterLevel = characterInfo.level

    connect(widget, { onDoubleClick = function () CharacterList.doLogin() return true end } )

    if i == 1 or (g_settings.get('last-used-character') == widget.characterName and g_settings.get('last-used-world') == widget.worldName) then
      focusLabel = widget
    end
  end

image.png.9fe3871592a62c53e8dde721b4f1cbf1.png

Pra isso você tanto deve ter o envio da parte do servidor, e colocar o cliente pra ler, não é algo só no cliente side.

Link para o comentário
https://tibiadevs.com/forums/topic/743-recuperar-level-do-personagem-no-entergamecharacterlist/#findComment-3838
Compartilhar em outros sites

Eu tentei mexer no loginprotocol do tfs e num outro, iologin alguma coisa.

e no protocollogin do client também, mas daí começou a crashar o client, desfiz as mudanças 

tfs/src/iologindata (serverside)

image.thumb.png.a8095015bdc79764105d368cb3a9085a.png


gamelib/loginprotocol.lua (client)
image.thumb.png.b80fa8fa28933734b3632d8b789592ee.png

Link para o comentário
https://tibiadevs.com/forums/topic/743-recuperar-level-do-personagem-no-entergamecharacterlist/#findComment-3847
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
  • Criar Novo...