Ir para conteúdo
Propaganda

Posts Recomendados


Para começar, como o próprio tópico já diz, é necessário a source do OTCv8, para instalar o Effect Opacity.

O resultado final será algo parecido com isto

Link da Source do V8 > 

This is the hidden content, please


Exemplo de como vai fica.
image.png.0d2953491580262841d1b4e8c406eee9.png

Vamos ao Tutorial!

  • Abra a pasta da sua source e vá até client/game.h
  • Procure por bool checkBotProtection(); e adicione a baixo:
     
Spoiler

void setEffectOpacity(float value) {
    m_opacity = value;
}

float getEffectOpacity() {
    return m_opacity;
}

float m_opacity = 1.0f;

Pode salvar e fechar.

Agora vamos em client/luafunctions_client.cpp e vamos adicionar:
Abaixo de g_lua.bindSingletonFunction("g_game", "getRecivedPacketsSize", &Game::getRecivedPacketsSize, &g_game); adicione o código

Spoiler
g_lua.bindSingletonFunction("g_game", "setEffectOpacity", &Game::setEffectOpacity, &g_game);
g_lua.bindSingletonFunction("g_game", "getEffectOpacity", &Game::getEffectOpacity, &g_game);

Pode salvar e fechar.

Agora vamos em client/effect.cpp e procure por:

rawGetThingType()->draw(dest, 0, xPattern, yPattern, 0, m_animationPhase, Color::white, lightView);

e Substitua pelo seguinte codigo

Spoiler

 

Color color = Color::white;
color.setOpacity(g_game.getEffectOpacity());

rawGetThingType()->draw(dest, 0, xPattern, yPattern, 0, m_animationPhase, color, lightView);

Ira fica assim
image.png.1a5b4c9f78df871a10d68fd4b8b24641.png
Pode salvar e fechar.

Agora vamos em client/missile.cpp
Abaixo de #include "tile.h" Adicione: #include "game.h"


ainda em client/missile.cpp procure por:

rawGetThingType()->draw(dest + m_delta * fraction, 0, xPattern, yPattern, 0, 0, Color::white, lightView);

e Substitua pelo seguinte código

Spoiler
Color color = Color::white;
color.setOpacity(g_game.getEffectOpacity());

rawGetThingType()->draw(dest + m_delta * fraction, 0, xPattern, yPattern, 0, 0, color, lightView);

Ira fica assim
image.png.06f885450c7ad9cec298a4afc9711c6a.png
Pode salvar e fechar.

Agora vamos em src/framework/util/color.h e procure por:

void setAlpha(float a) { m_a = a; }

Abaixo dele adicione:

Spoiler
void setOpacity(float a) { m_a = a / 100; }

Pode salvar e fechar.

Agora vamos em client/thingtype.h e procure por:

bool isNotPreWalkable() { return m_attribs.has(ThingAttrNotPreWalkable); }

e Adicione a cima dele

float getOpacity() { return m_opacity; }

Como ira fica.
image.png.df8eb03bb739cafd50de3ff312555b78.png

ainda em client/thingtype.h procure por

int m_elevation;

e adicione a baixo o seguinte codigo

float m_opacity;


Pode salvar e fechar.


E aqui acabamos as alterações na source. Pode salvar e compilar a mesma. Se foi utilizado o Visual Studio Code, o mesmo deve compilar sem nenhum problema. 🙂

Agora vamos para a parte do cliente... e agora vamos adiciona ao module client_options a Função de diminuir por % o Effect Opacity


Agora vá em modules

Ja irei disponibiliza Module client_options - Basta Substituir

client_options.zip

Como ira fica
image.png.215f3f183cbbf9b37b7a3c10d62448ec.png

FIM DO TUTORIAL

Caso Ocorra algum erro por favor fique a vontade para posta aqui, que irei responde

  • Like 34
  • Thanks 2
  • Haha 1
Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/
Compartilhar em outros sites

  • Moderador

Tópico aprovado! Que conteúdo meus amigos... que conteúdo bom. Finalmente postaram uma contribuição boa nesse fórum tirando bases.

  • Like 1
  • Haha 1
Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-4899
Compartilhar em outros sites

compilou tudo certo, porem nao deixa abrir o cliente em options.lua

    elseif key == 'gameOpacity' then
    configPanel:getChildById('gameOpacityLabel'):setText(tr('Efeitos e opacidade do missil: %s%%', value))
    g_game.setEffectOpacity(value)  

    end

 Obs: quando voce fala de qualquer .otui , não entendi em qual pasta ou arquivo seja.

Screenshot_1397.png

Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-4903
Compartilhar em outros sites

13 minutos atrás, leozinpbb disse:

compilou tudo certo, porem nao deixa abrir o cliente em options.lua

    elseif key == 'gameOpacity' then
    configPanel:getChildById('gameOpacityLabel'):setText(tr('Efeitos e opacidade do missil: %s%%', value))
    g_game.setEffectOpacity(value)  

    end

Screenshot_1397.png

Irei Adiciona ao Topico ja o client_options pronto com a funçäo

Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-4904
Compartilhar em outros sites

6 horas atrás, projetos249 disse:

passa seu zap ai, faz frella ou ajuda em algumas questões ? 

 

Tambem tenho interesse 😄

Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-4930
Compartilhar em outros sites

7 horas atrás, projetos249 disse:

passa seu zap ai, faz frella ou ajuda em algumas questões ? 

22 minutos atrás, elhelcio disse:

Tambem tenho interesse 😄

 

Não Faço Freelance, tive duvida chama discord: dinhow, so ajudo com duvida sobre o topico!

Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-4932
Compartilhar em outros sites

alguem poderia posta a foto denovo pra mim ver como fica porque as imagens estao corrompida eu acho

Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-4998
Compartilhar em outros sites

Obrigado pelo ótimo conteúdo!

Pessoal, para quem não deseja substituir o client_options inteiro, irei mostrar como modificar somente o client_options para ajustar a opacidade dos efeitos.


🛠️ Passo 1: Editando o options.lua

  1. Abra o arquivo:

    /client_options/options.lua
  2. Encontre a linha:

    local defaultOptions = {
  3. Adicione a seguinte linha logo abaixo:

    gameOpacity = 100,
     

🛠️ Passo 2: Ajustando a Função setOption

  1. Ainda no mesmo arquivo, procure pela função:

    function setOption(key, value, force)
  2. Após o último elseif key dentro dessa função, adicione:

      elseif key == 'gameOpacity' then
        graphicsPanel:getChildById('gameOpacityLabel'):setText(tr('Efeitos e opacidade do missil: %s%%', value))
        g_game.setEffectOpacity(value)
      end

🛠️ Passo 3: Editando o graphics.otui

  1. Abra o arquivo:

    /client_options/graphics.otui
  2. Adicione estas linhas:

      Label
        id: gameOpacityLabel
        margin-top: 6
        @onSetup: |
          local value = modules.client_options.getOption('gameOpacity')
          self:setText(tr('Opacidade de Efeitos e Misseis: %s%%', value))

      OptionScrollbar
        id: gameOpacity
        margin-top: 3
        minimum: 0
        maximum: 100
     

  • Like 1
Link para o comentário
https://tibiadevs.com/forums/topic/934-otcv8-como-adicionar-effect-opacity-no-otclientv8/#findComment-5012
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...