Ir para conteúdo

Name Displacement


PoRaI

Posts Recomendados

  • Administrador

Como tinha dito em outro tópico, estou aqui postando, até pq eu acabei que fiz pra usar em um servidor meu também, rs. De qualquer forma, esse é um código para reposicionar o nome quando uma criatura está com X outfit de forma fácil pelo arquivo OTML. É necessário editar as sources do otclient e compila-lo. 

 

No arquivo thingtype.cpp, adicione abaixo de:

        if(node2->tag() == "opacity")
            m_opacity = node2->value<float>();

isso:

        else if(node2->tag() == "name-displacement")
            m_name_displacement = node2->value<Point>();

No arquivo thingtype.h, adicione acima de:

float getOpacity() { return m_opacity; }

adicione isso:

Point getNameDisplacement() { return m_name_displacement; }

acima de:

float m_opacity;

adicione isso:

Point m_name_displacement;

No arquivo creatures.cpp, troque isso:

    // calculate main rects
    Rect backgroundRect = Rect(point.x-(13.5), point.y, 27, 4);
    backgroundRect.bind(parentRect);

    Size nameSize = m_nameCache.getTextSize();
    Rect textRect = Rect(point.x - nameSize.width() / 2.0, point.y-12, nameSize);
    textRect.bind(parentRect);

por isso:

    // calculate main rects
    const ThingTypePtr& thingType = getThingType();

    Rect backgroundRect = Rect(point.x - (13.5) + thingType->getNameDisplacement().x, point.y + thingType->getNameDisplacement().y, 27, 4);
    backgroundRect.bind(parentRect);

    Size nameSize = m_nameCache.getTextSize();
    Rect textRect = Rect(point.x - (nameSize.width() / 2.0) + thingType->getNameDisplacement().x, point.y - 12 + thingType->getNameDisplacement().y, nameSize);
    textRect.bind(parentRect);

 


Pronto. Para configurar, basta editar o arquivo .otml do seu otclient, exemplo:

creatures
  10
    name-displacement: 2 -12
  11
    name-displacement: 5 10
  12
    name-displacement: -4 3

No caso, alterei a outfit 10 para um displacement no eixo X + 2 e no eixo Y - 12, a outfit 11 para um displacement no eixo X + 5 e no eixo Y + 10 e a outfit 12 para um displacement no eixo X - 4 e no eixo Y + 3. O código foi testado e está funcionando perfeitamente.

Link para o comentário
Compartilhar em outros sites

6 horas atrás, PoRaI disse:

Fica na pasta /data/things/things.otml. Se não tiver o arquivo, crie ele com oq eu postei aqui e edita.

 

Obrigado pela dica Rep+

Aparentemente no meu não funcionou provavelmente eu tenha feito algo errado mas pelo que eu intendo é só por o id da outfit e a position do nome certo ? então, fiz tudo certinho adicionei o código na sources coloquei o otml na pasta things e nada até agora sera que pode me dar uma força nissoScreenshot_1.png.0774d912d04ab74fef39f149d888daf3.pngScreenshot_3.thumb.png.57cd0618395f9b44235ef37f60f32848.pngScreenshot_4.thumb.png.a34313919ab2cafde6e6edcd39a7cc89.png ?

Link para o comentário
Compartilhar em outros sites

  • Administrador
2 horas atrás, ricardoberg disse:

aqui tbm ficou do msm jeito, n deu erro nem nada, mas n aconteceu nada tbm, tentei colocar o otml dentro da pasta do 854, e tbm n deu nada, e tentei com ele fora da 854

Tem que ser dentro da pasta data/things, não pode ser dentro da pasta da versão.

5 horas atrás, Walox disse:

Obrigado pela dica Rep+

Aparentemente no meu não funcionou provavelmente eu tenha feito algo errado mas pelo que eu intendo é só por o id da outfit e a position do nome certo ? então, fiz tudo certinho adicionei o código na sources coloquei o otml na pasta things e nada até agora sera que pode me dar uma força nissoScreenshot_1.png.0774d912d04ab74fef39f149d888daf3.pngScreenshot_3.thumb.png.57cd0618395f9b44235ef37f60f32848.pngScreenshot_4.thumb.png.a34313919ab2cafde6e6edcd39a7cc89.png ?

Você já tentou usar valores negativos? Valores positivo o nome vai pra baixo, valores negativos, pra cima.
Também recomendo colocar opacidade na outfit pra ver se você tá colocando a outfit certa/sistema funcionando, se a outfit pegar opacidade, só remover. Exemplo:

4MNVVGF.png

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, PoRaI disse:

Tem que ser dentro da pasta data/things, não pode ser dentro da pasta da versão.

Você já tentou usar valores negativos? Valores positivo o nome vai pra baixo, valores negativos, pra cima.
Também recomendo colocar opacidade na outfit pra ver se você tá colocando a outfit certa/sistema funcionando, se a outfit pegar opacidade, só remover. Exemplo:

4MNVVGF.png

Sabe me dizer se tem alguma função para ser adicionada na pasta Game_Things ? 

Eu tinha visto algo relacionado a isso envolvendo esta pasta mas não me lembro onde foi mas vou testar como você me disse logo logo retorno com novidades 

Link para o comentário
Compartilhar em outros sites

  • Administrador
30 minutos atrás, Walox disse:

Sabe me dizer se tem alguma função para ser adicionada na pasta Game_Things ? 

Eu tinha visto algo relacionado a isso envolvendo esta pasta mas não me lembro onde foi mas vou testar como você me disse logo logo retorno com novidades 

Bom, a única coisa que pode ter acontecido é terem desabilitado o suporte de OTML do seu cliente (que vem por padrão no OTC). Vai no arquivo modules/game_things/things.lua e vê se você acha isso lá:

osli8YV.png

load dat, load spr e load otml. Se não tiver o loadOtml, faça o seguinte:
 

abaixo de:

local datPath, sprPath

adicione:

local otmlPath = "/data/things/things"

abaixo de:

if not g_sprites.loadSpr(sprPath) then
    errorMessage = errorMessage .. tr("Unable to load spr file, please place a valid spr in '%s'", sprPath)
end

adicione:

if not g_things.loadOtml(otmlPath) then
    errorMessage = errorMessage .. tr("Unable to load otml file, please place a valid otml in '%s'", otmlPath)
end

 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, PoRaI disse:

Bom, a única coisa que pode ter acontecido é terem desabilitado o suporte de OTML do seu cliente (que vem por padrão no OTC). Vai no arquivo modules/game_things/things.lua e vê se você acha isso lá:

osli8YV.png

load dat, load spr e load otml.

é como você avia dito acho que o problema é este  pois não tem ativado, eu só achei estranho pois estou utilizando o cliente do edubart 0.6.6 e não me lembro de ter modificado nada ali Screenshot_1.thumb.png.d479779a6ca9d37ae19f170eb0ba5741.png

Sera que você pode me enviar esta  função ?

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Walox disse:

é como você avia dito acho que o problema é este  pois não tem ativado, eu só achei estranho pois estou utilizando o cliente do edubart 0.6.6 e não me lembro de ter modificado nada ali Screenshot_1.thumb.png.d479779a6ca9d37ae19f170eb0ba5741.png

Sera que você pode me enviar esta  função ?

 

a função ta escrita ali tenta copiar kk

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Gabrieltxu disse:

 

a função ta escrita ali tenta copiar kk

Poo da mou preguiça ficar dando CTRL + TAB toda hora kkk

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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