Ir para conteúdo

001rafa

Campones
  • Total de itens

    49
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    001rafa deu reputação a dalvorsn em Como faz para lockar/travar o modulo ?   
    Falei merda, sorry
    Tu deve usar o attribute draggable no otui
     
    basta um:
    draggable: false
  2. Upvote
    001rafa deu reputação a dalvorsn em Como faz para lockar/travar o modulo ?   
    Dentro da classe UIWidget existem dois metodos para essa função:
     
    widget:lock() e widget:unlock()
     
    Voce pode usá-los dentro da função init, ou qualquer outra que tenha acesso a variavel que salva o widget principal do modulo. Infelizmente não há(ou pelo menos eu não encontrei nada relativo a isso nas sources do otclient) como fazer isso pelo otui.
     
    Exemplo:
    Travar o entergame


  3. Upvote
    001rafa deu reputação a dalvorsn em Como removo as skills que não vou utilizar?   
    O otui apesar da similaridade com o css, ele trabalha com um metodo diferente de posicionamento, ele usa de anchoramentos. Para voce posicionar um elemento no painel, voce precisa de pelo menos duas orientações anchors.top/anchors.bottom e anchors.left/anchors.right
    E para acertos mais precisos, tu usa o margin, se tu definiu orientação anchors.top tu deve usar margin-top e assim em diante
    O otui(otml em geral) usa o conceito de parent através da identação(espaçamento), a cada dois espaços(space) é considerado um novo nivel de parentesco ou quando não for uma classe ele vai ter um attribute do parent.
    Eu sei que parece muita coisa, mas não é tão complexo, é so tu ler o que eu escrevi e ler alguns codes do proprio otc que vai entender.
    Além disso, ainda falando de posicionamento, existe a referencia simbolica no ancoramente, que são basicamente parent, prev, next. Diferente do css, a posição em que eles estao escritos é muito importante, prev é o elemento anterior que estiver no mesmo nivel hierarquico, next é o posterior, e parent é o que está acima. E pode-se ainda referenciar pelo id do elemento.
    Alguns exemplos praticos:
     
    MiniWindow // primeiro nivel hierarquico id: newWindow MiniWindowContents //segundo nivel UIWidget // terceiro nivel id: otoWidget size: 11 11 !text: 'Algo' background-color: #505050 anchors.top: parent.top // ancora o topo do widget atual no top do parent (MiniWindow) anchors.right: parent.right margin-right: 36 margin-top: 7 Button // terceiro nivel, irmao de otoWidget !text: 'Botao' width: 80 anchors.left: otoWidget.right anchors.bottom: prev.bottom margin-bottom: 10 margin-left: 10  
    E lembre, sempre com o espaçamento de dois spaces
     
    As classes que me refiro são por exemplo 'Button', UIWidget e etc, que alem disso ainda tem um parentesco de classes igual o c++, tu pode ver melhor eles em styles la na pasta data, a maioria deles estão declarados la.
    Tu pode ainda criar classes Attribuindo com o seguinte sinal '<', porém isso deve ser feito previamente, antes do Widget pai(MiniWindow) no caso.
    Eu acho que exagerei nas informações, talvez tenha sido muito pra pouco tempo, mas qualquer duvida pode perguntar.
  4. Upvote
    001rafa deu reputação a dalvorsn em Como removo as skills que não vou utilizar?   
    Ignora as que não for usar:
    local ignoredSkills = {3,6}-- [...]function onSkillChange(localPlayer, id, level, percent) if table.contains(ignoredSkills, id) then return end setSkillValue('skillId' .. id, level) setSkillPercent('skillId' .. id, percent, tr('You have %s percent to go', 100 - percent)) onBaseSkillChange(localPlayer, id, localPlayer:getSkillBaseLevel(id))endfunction onBaseSkillChange(localPlayer, id, baseLevel) if table.contains(ignoredSkills, id) then return end setSkillBase('skillId'..id, localPlayer:getSkillLevel(id), baseLevel)end  
  5. Upvote
    001rafa deu reputação a dalvorsn em OTC Erro ERROR: invalid skill at   
    O servidor ta enviando mais skills que as existentes no otc.
    Qual distro usada? O usual é o byte 0xA1 para as skills, a função no tfs 0.37 é assim:
     
     
    #protocolgame.cpp
    void ProtocolGameAddPlayerSkills(NetworkMessage_ptr msg){ msg->put<char>(0xA1); for(uint8_t i = 0; i <= SKILL_LAST; ++i) { msg->put<char>(player->getSkill((skills_t)i, SKILL_LEVEL)); msg->put<char>(player->getSkill((skills_t)i, SKILL_PERCENT)); }} Você precisa checar o enum das skills, para ver se existem que o numero normal. O enum dessas skills fica em const.h.
    Vera algo similar a isso:
    #const.h
    enum skills_t{ SKILL_NONE = -1, SKILL_FIRST = 0, SKILL_FIST = SKILL_FIRST, SKILL_CLUB, SKILL_SWORD, SKILL_AXE, SKILL_DIST, SKILL_SHIELD, SKILL_FISH, SKILL__MAGLEVEL, SKILL__LEVEL, SKILL__EXPERIENCE, SKILL_LAST = SKILL_FISH, SKILL__LAST = SKILL__EXPERIENCE}; Poste esses dois trechos do seu codigo fonte para que possamos analisar o real problema.
  • Quem Está Navegando   0 membros estão online

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