Ir para conteúdo
  • 0
Entre para seguir isso  
Wend Jr

OTClient Shaders do OTClient

Pergunta

Wend Jr    9
Wend Jr

Olá Galera do Otbr

 

Eu achei aqui no fórum mesmo umas shaders de chuva para meu otclient, configurei certinho mais só que quando abro o OTC

e vou no local que configurei está normal chuvendo direitinho mais quando ando uma sqm pra qualquer lado (Direito ou Esquerdo) 

para de chuve fica normal,  só achei estranho por que tenho outro shader de neblina e ele Funciona normal na cidade Toda.

 

shaders.lua

 

MAP_SHADERS = {

  { name = 'Default', frag = '/shaders/default.frag' },
  { name = 'Bloom', frag = '/shaders/bloom.frag'},
  { name = 'Sepia', frag ='/shaders/sepia.frag' },
  { name = 'Grayscale', frag ='/shaders/grayscale.frag' },
  { name = 'Pulse', frag = '/shaders/pulse.frag' },
  { name = 'Old Tv', frag = '/shaders/oldtv.frag' },
  { name = 'Fog', frag = '/shaders/fog.frag', tex1 = '/shaders/clouds.png' },
  { name = 'Fog2', frag = '/shaders/fog2.frag', tex1 = '/shaders/clouds3.png' },
  { name = 'Party', frag = '/shaders/party.frag' },
  { name = 'Radial Blur', frag ='/shaders/radialblur.frag' },
  { name = 'Zomg', frag ='/shaders/zomg.frag' },
  { name = 'Heat', frag ='/shaders/heat.frag' },
  { name = 'Noise', frag ='/shaders/noise.frag' },
}
 
local lastShader
local areas = {                    
{from = {x = 1191, y = 1026, z = 7}, to = {x = 1244, y = 1079, z = 7}, name = 'Fog'},
{from = {x = 1061, y = 907, z = 7}, to = {x = 1061, y = 944, z = 7}, name = 'Fog2'},
}
 
function isInRange(position, fromPosition, toPosition)
    return (position.x >= fromPosition.x and position.y >= fromPosition.y and position.z >= fromPosition.z and position.x <= toPosition.x and position.y <= toPosition.y and position.z <= toPosition.z)
end
 
function init()
   if not g_graphics.canUseShaders() then return end
   for _i,opts in pairs(MAP_SHADERS) do
     local shader = g_shaders.createFragmentShader(opts.name, opts.frag)
 
     if opts.tex1 then
       shader:addMultiTexture(opts.tex1)
     end
     if opts.tex2 then
       shader:addMultiTexture(opts.tex2)
     end
   end
 
   connect(LocalPlayer, {
     onPositionChange = updatePosition
   })
  
   local map = modules.game_interface.getMapPanel()
   map:setMapShader(g_shaders.getShader('Default'))
end
 
function terminate()
 
end
 
function updatePosition()
  local player = g_game.getLocalPlayer()
  if not player then return end
  local pos = player:getPosition()
  if not pos then return end
  
  local name = 'Default'  
  
  for _, TABLE in ipairs(areas) do
      if isInRange(pos, TABLE.from, TABLE.to) then
         name = TABLE.name
      end
  end
  if lastShader and lastShader == name then return true end
  
  lastShader = name
  local map = modules.game_interface.getMapPanel()
  map:setMapShader(g_shaders.getShader(name))
end      

 
imagens de como está

140806015842169423.png

140806015834944526.png

 
Esperando Resposta happy.png
Editado por AnnaFeeeh

Compartilhar este post


Link para o post

2 respostass a esta questão

Recommended Posts

  • 0
caiohp1    0
caiohp1

Que feio, vindo na otbr pra pegar respostas das perguntas do outro forum kkkk

Compartilhar este post


Link para o post
  • 0
Wend Jr    9
Wend Jr

Sii Foi eu que fiz essa pergunta no outro Fórum :P

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×