Jump to content

Shader problem


Blinker.

Recommended Posts

Hello , i have a problem enabling/disabling water shader , when i start the resource and i click on enable/disable buttons the shader will be disabled / enabled but on the next map the shader can't be disabled / enabled , i couldn't figure out the problem

here's my code:

function onGuiClick1 () 
if (source == enablewater) then 
W = dxCreateShader ( "water.fx" ) 
if W then 
  
    local textureVol = dxCreateTexture ( "smallnoise3d.dds" ); 
    local textureCube = dxCreateTexture ( "cube_env256.dds" ); 
    dxSetShaderValue ( W, "microflakeNMapVol_Tex", textureVol ); 
    dxSetShaderValue ( W, "showroomMapCube_Tex", textureCube ); 
        engineApplyShaderToWorldTexture ( W, "waterclear256" ) 
    applyWaterColor ( ) 
end 
  
  
elseif (source == disablewater) then 
engineRemoveShaderFromWorldTexture(W,"waterclear256") 
  
end 
end 
addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick1) 

Many Thanks,

Blinker

Link to comment
Hello , i have a problem enabling/disabling water shader , when i start the resource and i click on enable/disable buttons the shader will be disabled / enabled but on the next map the shader can't be disabled / enabled , i couldn't figure out the problem

here's my code:

function onGuiClick1 () 
if (source == enablewater) then 
W = dxCreateShader ( "water.fx" ) 
if W then 
  
    local textureVol = dxCreateTexture ( "smallnoise3d.dds" ); 
    local textureCube = dxCreateTexture ( "cube_env256.dds" ); 
    dxSetShaderValue ( W, "microflakeNMapVol_Tex", textureVol ); 
    dxSetShaderValue ( W, "showroomMapCube_Tex", textureCube ); 
        engineApplyShaderToWorldTexture ( W, "waterclear256" ) 
    applyWaterColor ( ) 
end 
  
  
elseif (source == disablewater) then 
engineRemoveShaderFromWorldTexture(W,"waterclear256") 
  
end 
end 
addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick1) 

Many Thanks,

Blinker

try using variables for example :

client :

  
function onGuiClick1 () 
if (source == enablewater) then 
W = dxCreateShader ( "water.fx" ) 
if W then 
  
    local textureVol = dxCreateTexture ( "smallnoise3d.dds" ); 
    local textureCube = dxCreateTexture ( "cube_env256.dds" ); 
    dxSetShaderValue ( W, "microflakeNMapVol_Tex", textureVol ); 
    dxSetShaderValue ( W, "showroomMapCube_Tex", textureCube ); 
        engineApplyShaderToWorldTexture ( W, "waterclear256" ) 
    applyWaterColor ( ) 
    shaderValue = 1 -- EDITED LINE HERE 
end 
  
  
elseif (source == disablewater) then 
shaderValue = 2 -- EDITED LINE HERE 
engineRemoveShaderFromWorldTexture(W,"waterclear256") 
  
end 
end 
addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick1) 
  
  
-- shaderValue : 1 = enabled 2 = disabled 
shaderValue = 1 
    addEvent ( "mapchanged", true ) --if the vehicle is a car 
    addEventHandler ( "mapchanged", root, function () 
  
   if shaderValue == 1 then 
      -- your stuff here (what you want to apply if the shader was enabled) 
   elseif shaderValue == 2 then 
      -- stuff here(what you want to apply if the shader was disabled) 
  
   end 
end) 
  
  
  

server

  
addEventHandler ( "onPlayerSpawn", getRootElement(),  
function( playerName )   
  local thePlayer = getPlayerFromName ( playerName ) 
     triggerClientEvent ( "mapchanged", thePlayer ) 
end) 
  
  

iam not that good but trying to help

Edited by Guest
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...