Ir para conteúdo
  • 0

Suporte otclient, getchildbyid?


tuxico

Pergunta

Eae povo do Xtibia; ultimamente estou criando um ATS RPG e fui para a área de cliente, pois quero finalizar logo um cliente básico, limpo e original.

Pra isso estou usando o OTClient e desde então tenho caçado muitos tutoriais sobre o mesmo, mas parece que essa área do OTClient carece de informações.

 

Eu acho que já entendi mais ou menos a parte de puxar informações do servidor via lua pelo OTC, o que eu não entendi de jeito nenhum é como expor essa informação no OTUI, como pegar as informações e expor elas da forma que eu quiser no CSS do OTC, pelo que eu entendi é pela função " getChildById" só que não achei mais informação sobre ela no github do OTC, se alguem entende do client e criação de modulos, eu poderia passar o contato para nos conversar e se possível, sanar algumas duvidas minha.

 

Ultimamente eu estou tentando representar o level do jogador em uma "MainWindow" que criei, aqui esta meus arquivos... Tentei ler o "Game_Skills" mas pra mim é muito confuso, não consegui aprender a técnica usada.

 

new_mod.lua

 

Spoiler

skillWindow = nil
skillButton = nil
levelBar = nil

function init()
  connect(LocalPlayer, {
    PlayerLevel = PlayerLevel
  })
    skillWindow = g_ui.displayUI('new_mod.otui')
    skillWindow:hide()

    skillButton = modules.client_topmenu.addRightButton('skillButton', tr('Habilidades'), '/images/topbuttons/skills', onoff, true)

    levelBar = skillWindow:recursiveGetChildById('level')

    end

function terminate()
  disconnect(LocalPlayer, {
    PlayerLevel = PlayerLevel
  })
    skillWindow:hide()
end

function onoff()
    if skillWindow:isVisible() then
        skillWindow:hide()
    else
        skillWindow:show()
    end
end


function PlayerLevel()
  local player = g_game.getLocalPlayer()
  if not player then return end
    levelBar:setText(tr(localPlayer:getLevel()))
  return player:getLevel()
end

 

new_mod.otui

Spoiler

MainWindow
  id: skillwindow
  height: 455
  width: 480
  !text: tr("Habilidades")
  opacity: 0.9

  @onEscape: terminate()
  @onEnter: terminate()

  Label
    id: level
    !text: tr("Level")
    margin-top: 5
    margin-left: 5

 

EDITADO

Fui fuçando e fuçando e consegui, vlw galera...
Acho que agora entendi um pouco como funciona o getchildById e como representar valores no otui... vou estudando e aprendendo...
Agora uma duvida, o coding style do OTUI contem todas funções do CSS? porque estou tendo dificuldades com posições e fixamento... eu movo a janela e o conteúdo fica solto dentro dela, deve ser algo com "Anchors", é isso se alguem tiver dicas pra mim aperfeiçoar isso, me passem!

 

Pode fechar o topico.

Editado por tuxico
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...