Como removo as skills que não vou utilizar?

001rafa
em Clients

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49

Fala galera blz?

Gostaria de saber como faço para remover as skills bars e  skills lvls que não vou utilizar em meu servidor no otclient

Por exemplo: Fishing, distance, first, essas coisas...

Como faço para remover ou esconder estes nomes e levels :D

Pois quando tento remover ou tento utilizar alguma função tipo phantom ou visible; false

ele me retorna este erro:

ERROR: Unable to load module 'game_skills': LUA ERROR:/game_skills/skills.lua:102: attempt to index local 'skill' (a nil value)stack traceback:    [C]: ?    /game_skills/skills.lua:102: in function 'setSkillValue'    /game_skills/skills.lua:377: in function 'onSkillChange'    /game_skills/skills.lua:208: in function 'refresh'    /game_skills/skills.lua:34: in function 'init'    /game_skills/skills.otmod:8:[@onLoad]:1: in main chunk    [C]: in function 'reloadModules'    /client_modulemanager/modulemanager.lua:149: in function 'reloadAllModules'    ...ient_modulemanager/modulemanager.otui:75: [@onClick]:2: in function <...ient_modulemanager/modulemanager.otui:75: [@onClick]:1>

E no arquivo Skills.lua linha 102 tenho este código:

function setSkillValue(id, value)  local skill = skillsWindow:recursiveGetChildById(id)  local widget = skill:getChildById('value')  widget:setText(value)end

Quem puder me ajudar, estarei muito agradecido!

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49

Up

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49

up

Lordbaxx

Imperium Project
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 01/07/13Posts: 521

Vá em modules/game_skills/skills.otui

 

 

E procure pelos skills que não irá usar exemplo

 

 

     SkillButton	      id: skillId6	      SkillNameLabel	        !text: tr('Fishing')	      SkillValueLabel	      SkillPercentPanel 

 

 

 

Ai então basta adicionar mais uma pequena tag para que a skill fique invisível que é:

 

 

 visible: false 

 

 

Ficando assim:

 

 

     SkillButton
      id: skillId6
      SkillNameLabel
        !text: tr('Fishing')


      SkillValueLabel
      SkillPercentPanel

LOGO OFICIAL.png

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49
1 minuto atrás, Lordbaxx disse:

Vá em modules/game_skills/skills.otui

 

 

E procure pelos skills que não irá usar exemplo

 

 

     SkillButton	      id: skillId6	      SkillNameLabel	        !text: tr('Fishing')	      SkillValueLabel	      SkillPercentPanel 

 

 

 

Ai então basta adicionar mais uma pequena tag para que a skill fique invisível que é:

 

 

 visible: false 

 

 

Ficando assim:

 

 

     SkillButton	      id: skillId6	      SkillNameLabel	        !text: tr('Fishing')

 

      SkillValueLabel

      SkillPercentPanel

Já tentei fazer isto amigo, só que ele da um erro que não consegue ler a skill... Da o mesmo erro que mostra lá no topo da postagem

Lordbaxx

Imperium Project
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 01/07/13Posts: 521

O erro ocorre pq você utiliza a tecla "space bar" ou "barra de espaço" quando pula a linha, recomendo que copie uma linha anterior e só mude o nome ou utilize tab para a formatação do código. Mas não dê espaço dentro do código.

LOGO OFICIAL.png

Lordbaxx

Imperium Project
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 01/07/13Posts: 521
6 minutos atrás, Lordbaxx disse:

O erro ocorre pq você utiliza a tecla "space bar" ou "barra de espaço" quando pula a linha, recomendo que copie uma linha anterior e só mude o nome ou utilize tab para a formatação do código. Mas não dê espaço dentro do código.

 

LOGO OFICIAL.png

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49
3 minutos atrás, Lordbaxx disse:

O erro ocorre pq você utiliza a tecla "space bar" ou "barra de espaço" quando pula a linha, recomendo que copie uma linha anterior e só mude o nome ou utilize tab para a formatação do código. Mas não dê espaço dentro do código.

Fiz o teste e dá o mesmo erro, axo que não seja por causa de identação, até por que o erro que da é este:

 

attempt to index local 'skill' (a nil value)stack traceback:

Não de identation...

:thinking: Isto está me deixando com a pulga atrás da orelha :thinking:

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

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

 

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49

Vlwzão mano, aproveitando o topico poderia me dizer como faço para poder acrescentar textos ? no modulo de skills ?

por exemplo um texto com alinhamento centralizado... pq tentei fazer igual em css só q ele deu mó bug ;/:

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino
3 hours ago, 001rafa said:

Vlwzão mano, aproveitando o topico poderia me dizer como faço para poder acrescentar textos ? no modulo de skills ?

por exemplo um texto com alinhamento centralizado... pq tentei fazer igual em css só q ele deu mó bug ;/:

 

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.

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

001rafa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/05/07Posts: 49
12 horas atrás, dalvorsn disse:

 

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.

Eu entendi perfeitamente hehe...

Obrigadão!

No caso aki eu coloquei um margin left e fui colocando de acordo com q eu queria... acrecentou informações a mais que eu n sabia... muito obrigado =): reputado again!

Uma dica se puder depois faça um tutorzim pra galera de como mexer com modulo, criar mods e tal... vai ajudar mta gente inclusive eu =):

Obrigado pelo help

Podem dar close no topico

Grato!