Jump to content

Problem with fx shader HHELP!!!


yoya99

Recommended Posts

hello i have this resource shader....but how to enable daycyles becasue it is day all time when i enable that shader..... heeelllppp pls

  
Sun = {} 
  
function Sun:constructor(parent) 
    self.parent = parent 
    self.player = getLocalPlayer() 
     
    self.isDebugMode = "true" 
     
    self.x = 0 
    self.y = 0 
    self.z = 0 
    self.rx = 0 
    self.ry = 0 
    self.rz = 0 
    self.height = 100 
     
    self.rzOffset = 0 
    self.heightCurrentOffset = 0 
    self.heightMinOffset = 100 
    self.heightMaxOffset = 250 
    self.heightOffsetDirection = "up" 
  
    self.m_Update = function() self:update() end 
    addEventHandler("onClientRender", root, self.m_Update) 
     
    self.m_ToggleTestMode = function() self:toggleTestMode() end 
    bindKey("N", "down", self.m_ToggleTestMode) 
end 
  
function Sun:toggleTestMode() 
    if (self.isDebugMode == "true") then 
        self.isDebugMode = "false" 
    elseif (self.isDebugMode == "false") then 
        self.isDebugMode = "true" 
    end 
end 
  
function Sun:update() 
    self.px, self.py, self.pz = getElementPosition(self.player) 
    self.x, self.y, self.z = getAttachedPosition(self.px, self.py, self.pz, self.rx, self.ry, self.rz + self.rzOffset, 1500, 0, self.height + self.heightCurrentOffset) 
     
    if (self.isDebugMode == "true") then 
        self.rzOffset = self.rzOffset + 0.05 
         
        if (self.rzOffset > 360) then 
            self.rzOffset = 0 
        end 
         
        if (self.heightOffsetDirection == "up") then 
            if (self.heightCurrentOffset < self.heightMaxOffset) then 
                self.heightCurrentOffset = self.heightCurrentOffset + 0.1 
            else 
                self.heightOffsetDirection = "down" 
            end 
        elseif (self.heightOffsetDirection == "down") then 
            if (self.heightCurrentOffset > self.heightMinOffset) then 
                self.heightCurrentOffset = self.heightCurrentOffset - 0.1 
            else 
                self.heightOffsetDirection = "up" 
            end      
        end 
         
        dxDrawLine3D(self.px, self.py, self.pz, self.x, self.y, self.z, tocolor(255, 255, 0, 255), 4, true) 
    end 
end 
  
function Sun:getSunPosition() 
    return self.x, self.y, self.z 
end 
  
function Sun:destructor()    
    removeEventHandler("onClientRender", root, self.m_Update) 
  
end 

local SunInstance = nil 
 
SunShader = {}
 
function SunShader:constructor()
    self.shadersEnabled = "false"
    self.screenWidth, self.screenHeight = guiGetScreenSize()
   
    self.lensFlareDirt = dxCreateTexture("Textures/lensflare_dirt.png")
    self.lensFlareChroma = dxCreateTexture("Textures/lensflare_chroma.png")
   
    self.viewDistance = 0.00005
   
    self.sunColorInner = {0.9, 0.7, 0.6, 1}
    self.sunColorOuter = {0.85, 0.65, 0.55, 1}
    self.sunSize = 0.04
   
    self.excludingTextures =    {   "waterclear256",
                                    "*smoke*",
                                    "*particle*",
                                    "*cloud*",
                                    "*splash*",
                                    "*corona*",
                                    "*sky*",
                                    "*radar*",
                                    "*wgush1*",
                                    "*debris*",
                                    "*wjet4*",
                                    "*gun*",
                                    "*wake*",
                                    "*effect*",
                                    "*fire*",
                                    "muzzle_texture*",
                                    "*font*",
                                    "*icon*",
                                    "shad_exp",
                                    "*headlight*",
                                    "*corona*",
                                    "sfnitewindow_alfa",
                                    "sfnitewindows",
                                    "monlith_win_tex",
                                    "sfxref_lite2c",
                                    "dt_scyscrap_door2",
                                    "white",
                                    "casinolights*",
                                    "cj_frame_glass",
                                    "custom_roadsign_text",
                                    "dt_twinklylites",
                                    "vgsn_nl_strip",
                                    "unnamed",
                                    "white64",
                                    "lasjmslumwin1",
                                    "pierwin05_law",
                                    "nitwin01_la",
                                    "sl_dtwinlights1",
                                    "fist",
                                    "sphere",
                                    "*spark*",
                                    "glassmall",
                                    "*debris*",
                                    "wgush1",
                                    "wjet2",
                                    "wjet4",
                                    "beastie",
                                    "bubbles",
                                    "pointlight",
                                    "unnamed",
                                    "txgrass1_1",
                                    "txgrass0_1",
                                    "txgrass1_0",
                                    "item*",
                                    "undefined*",
                                    "coin*",
                                    "turbo*",
                                    "lava*",
                                    "ampelLight*"}
 
   
    self.m_Update = function() self:update() end
    addEventHandler("onClientPreRender", root, self.m_Update)
   
    self.m_ToggleShaders = function() self:toggleShaders() end
    bindKey("M", "down", self.m_ToggleShaders)
   
    self:createShaders()
   
    self.sun = new(Sun, self)   
end
 
function SunShader:toggleShaders()
    if (self.shadersEnabled == "true") then
        self:removeShaders()
       
        if (self.sun) then
            self.sun.isDebugMode = "false"
        end
    elseif (self.shadersEnabled == "false") then
        self:createShaders()
    end
end
 
function SunShader:createShaders()
    if (self.shadersEnabled == "false") then
        self.screenSource = dxCreateScreenSource(self.screenWidth, self.screenHeight)
        self.renderTargetBW = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.renderTargetSun = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.renderTargetGodRaysBase = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.renderTargetGodRays = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.bwShader = dxCreateShader("Shaders/bw.fx")
        self.godRayBaseShader = dxCreateShader("Shaders/godRayBase.fx")
        self.sunShader = dxCreateShader("Shaders/sun.fx")
        self.godRayShader = dxCreateShader("Shaders/godrays.fx")
        self.lensFlareShader = dxCreateShader("Shaders/lensflares.fx")
        self.dynamicLightShader = dxCreateShader("Shaders/dynamiclight.fx", 1000, 0, false, "world,ped,object,other")
        self.vehicleShader = dxCreateShader("Shaders/vehicle.fx", 1000, 0, false, "vehicle")
       
        if (not self.dynamicLightShader) or (not self.vehicleShader) or (not self.bwShader) or (not self.godRayBaseShader) or (not self.sunShader) or (not self.godRayShader) or (not self.lensFlareShader) or (not self.screenSource) or (not self.renderTargetBW) or (not self.renderTargetSun) or (not self.renderTargetGodRaysBase) or (not self.renderTargetGodRays) then
            outputChatBox("Loading sun shader failed. Please use debuscript 3 for further details")
           
            self:removeShaders()
        else
            engineApplyShaderToWorldTexture(self.dynamicLightShader, "*")
            engineApplyShaderToWorldTexture(self.vehicleShader, "*")
           
            for _, texture in ipairs(self.excludingTextures) do
                engineRemoveShaderFromWorldTexture(self.dynamicLightShader, texture)
            end 
           
            self.shadersEnabled = "true"
        end
    end
end
 
function SunShader:update()
    if (self.dynamicLightShader) and (self.vehicleShader) and (self.bwShader) and (self.godRayBaseShader) and (self.sunShader) and (self.godRayShader) and (self.lensFlareShader) and (self.screenSource) and (self.renderTargetBW) and (self.renderTargetSun) and (self.renderTargetGodRaysBase) and (self.renderTargetGodRays) then
        self.sunX, self.sunY, self.sunZ = self.sun:getSunPosition()
        self.sunScreenX, self.sunScreenZ = getScreenFromWorldPosition(self.sunX, self.sunY, self.sunZ, 1, true)
       
        if (self.sun) then         
            if (self.sunScreenX) and (self.sunScreenZ) then
                dxUpdateScreenSource(self.screenSource) 
               
                showPlayerHudComponent("all", false)
                setTime(12,0)
                setSunSize(0)
                setSunColor (0, 0, 0, 0, 0, 0)
                setSkyGradient(90, 85, 120, 120, 130, 175)
                setCloudsEnabled(false)
                setFarClipDistance(1000)
                setFogDistance(950)
               
                -- object lighting
                dxSetShaderValue(self.dynamicLightShader, "sunPos", {self.sunX, self.sunY, self.sunZ})
                dxSetShaderValue(self.dynamicLightShader, "sunColor", self.sunColorInner)
                dxSetShaderValue(self.dynamicLightShader, "ambientColor", self.sunColorOuter)
               
                -- vehicle lighting
                dxSetShaderValue(self.vehicleShader, "sunPos", {self.sunX, self.sunY, self.sunZ})
                dxSetShaderValue(self.vehicleShader, "sunColor", self.sunColorInner)
                dxSetShaderValue(self.vehicleShader, "ambientColor", self.sunColorOuter)
                           
                -- scenario bw
                dxSetShaderValue(self.bwShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.bwShader, "viewDistance", self.viewDistance)
 
                dxSetRenderTarget(self.renderTargetBW, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.bwShader)
                dxSetRenderTarget()
               
                -- sun
                dxSetShaderValue(self.sunShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.sunShader, "bwSource", self.renderTargetBW)
                dxSetShaderValue(self.sunShader, "sunPos", {(1 / self.screenWidth) * self.sunScreenX, (1 / self.screenHeight) * self.sunScreenZ})
                dxSetShaderValue(self.sunShader, "sunColorInner", self.sunColorInner)
                dxSetShaderValue(self.sunShader, "sunColorOuter", self.sunColorOuter)
                dxSetShaderValue(self.sunShader, "sunSize", self.sunSize)
 
                dxSetRenderTarget(self.renderTargetSun, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.sunShader)
                dxSetRenderTarget()
 
                -- godray base
                dxSetShaderValue(self.godRayBaseShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.godRayBaseShader, "renderTargetBW", self.renderTargetBW)
                dxSetShaderValue(self.godRayBaseShader, "renderTargetSun", self.renderTargetSun)
                dxSetShaderValue(self.godRayBaseShader, "screenSize", {self.screenWidth, self.screenHeight})
               
 
                dxSetRenderTarget(self.renderTargetGodRaysBase, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.godRayBaseShader)
                dxSetRenderTarget()
               
                -- godrays
                dxSetShaderValue(self.godRayShader, "sunLight", self.renderTargetGodRaysBase)
                dxSetShaderValue(self.godRayShader, "lensDirt", self.lensFlareDirt)
                dxSetShaderValue(self.godRayShader, "sunPos", {(1 / self.screenWidth) * self.sunScreenX, (1 / self.screenHeight) * self.sunScreenZ})
 
                dxSetRenderTarget(self.renderTargetGodRays, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.godRayShader)
                dxSetRenderTarget()
               
               
                -- lensflares
                dxSetShaderValue(self.lensFlareShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.lensFlareShader, "sunLight", self.renderTargetGodRays)
                dxSetShaderValue(self.lensFlareShader, "lensDirt", self.lensFlareDirt)
                dxSetShaderValue(self.lensFlareShader, "lensChroma", self.lensFlareChroma)
                dxSetShaderValue(self.lensFlareShader, "sunPos", {(1 / self.screenWidth) * self.sunScreenX, (1 / self.screenHeight) * self.sunScreenZ})
                dxSetShaderValue(self.lensFlareShader, "sunColor", self.sunColorInner)
                dxSetShaderValue(self.lensFlareShader, "screenSize", {self.screenWidth, self.screenHeight})
               
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.lensFlareShader)
            end
        end
    end
   
    dxDrawRectangle (0, self.screenHeight * 0.5, self.screenWidth * 0.14, self.screenHeight * 0.25, tocolor(0, 0, 0, 150), false)
    dxDrawText("Sun Shader:", 5, self.screenHeight * 0.52, 5, self.screenHeight * 0.52, tocolor (255, 200, 0, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
 
    if (getFps()) and (getFps() > 30) then
        dxDrawText("#FFFFFFFPS: #00FF00" .. getFps(), 5, self.screenHeight * 0.56, 5, self.screenHeight * 0.56, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
    else
        dxDrawText("#FFFFFFFPS: #FF0000" .. getFps(), 5, self.screenHeight * 0.56, 5, self.screenHeight * 0.56, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
    end
   
    dxDrawText("Shaders enabled: " .. self.shadersEnabled, 5, self.screenHeight * 0.58, 5, self.screenHeight * 0.58, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
   
    if (self.sun) then
        dxDrawText("Debug enabled: " .. self.sun.isDebugMode, 5, self.screenHeight * 0.60, 5, self.screenHeight * 0.60, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosX: " .. math.floor(self.sunX + 0.5), 5, self.screenHeight * 0.62, 5, self.screenHeight * 0.62, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosY: " .. math.floor(self.sunY + 0.5), 5, self.screenHeight * 0.64, 5, self.screenHeight * 0.64, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)    
        dxDrawText("SunPosZ: " .. math.floor(self.sunZ + 0.5), 5, self.screenHeight * 0.66, 5, self.screenHeight * 0.66, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)            
    else
        dxDrawText("Debug enabled: false", 5, self.screenHeight * 0.60, 5, self.screenHeight * 0.60, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosX: -", 5, self.screenHeight * 0.62, 5, self.screenHeight * 0.62, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosY: -", 5, self.screenHeight * 0.64, 5, self.screenHeight * 0.64, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)      
        dxDrawText("SunPosZ: -", 5, self.screenHeight * 0.66, 5, self.screenHeight * 0.66, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)              
    end
   
    dxDrawText("Press 'M' to enable/disable shaders.", 5, self.screenHeight * 0.70, 5, self.screenHeight * 0.70, tocolor (255, 128, 0, 200), 0.75, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
    dxDrawText("Press 'N' to enable/disable debugmode.", 5, self.screenHeight * 0.72, 5, self.screenHeight * 0.72, tocolor (255, 128, 0, 200), 0.75, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
end
 
function SunShader:removeShaders()
    removeEventHandler("onClientRender", root, self.m_Update)
   
    if (self.dynamicLightShader) then
        destroyElement(self.dynamicLightShader)
        self.dynamicLightShader = nil
    end
   
   
Link to comment

Hi there, try using these.

Create a folder called

-Client

-Shaders

-Shared

-Textures

Create the meta file.

<meta> 
    <info name="SunShaderTest" description="SunShaderTest" version="0.1" type="script" author="" /> 
    <min_mta_version client="1.3.5" server="1.3.5"/> 
     
    <!-- client scripts  --> 
    <script src="Client/SunShader.lua" type="client" cache="false"/> 
    <script src="Client/Sun.lua" type="client" cache="false"/> 
  
    <!-- shared scripts  --> 
    <script src="Shared/classlib.lua" type="shared" cache="false"/> 
    <script src="Shared/async.lua" type="shared" cache="false"/> 
    <script src="Shared/Utils.lua" type="shared" cache="false"/> 
     
    <!-- shaders  -->    
    <file src="Shaders/godRayBase.fx" type="client" cache="false"/> 
    <file src="Shaders/sun.fx" type="client" cache="false"/> 
    <file src="Shaders/bw.fx" type="client" cache="false"/> 
    <file src="Shaders/godrays.fx" type="client" cache="false"/> 
    <file src="Shaders/lensflares.fx" type="client" cache="false"/> 
    <file src="Shaders/dynamiclight.fx" type="client" cache="false"/> 
    <file src="Shaders/vehicle.fx" type="client" cache="false"/> 
    <file src="Shaders/mta-helper.fx" type="client" cache="false"/> 
     
    <!-- textures  --> 
    <file src="Textures/lensflare_dirt.png" type="client" cache="false"/> 
    <file src="Textures/lensflare_chroma.png" type="client" cache="false"/> 
</meta> 
  

Then goto into the client folder i told you to make and make an LUA file called Sun & Another called SunShader

Sun = {} 
  
function Sun:constructor(parent) 
    self.parent = parent 
    self.player = getLocalPlayer() 
     
    self.isDebugMode = "true" 
     
    self.x = 0 
    self.y = 0 
    self.z = 0 
    self.rx = 0 
    self.ry = 0 
    self.rz = 0 
    self.height = 100 
     
    self.rzOffset = 0 
    self.heightCurrentOffset = 0 
    self.heightMinOffset = 100 
    self.heightMaxOffset = 250 
    self.heightOffsetDirection = "up" 
  
    self.m_Update = function() self:update() end 
    addEventHandler("onClientRender", root, self.m_Update) 
     
    self.m_ToggleTestMode = function() self:toggleTestMode() end 
    bindKey("N", "down", self.m_ToggleTestMode) 
end 
  
function Sun:toggleTestMode() 
    if (self.isDebugMode == "true") then 
        self.isDebugMode = "false" 
    elseif (self.isDebugMode == "false") then 
        self.isDebugMode = "true" 
    end 
end 
  
function Sun:update() 
    self.px, self.py, self.pz = getElementPosition(self.player) 
    self.x, self.y, self.z = getAttachedPosition(self.px, self.py, self.pz, self.rx, self.ry, self.rz + self.rzOffset, 1500, 0, self.height + self.heightCurrentOffset) 
     
    if (self.isDebugMode == "true") then 
        self.rzOffset = self.rzOffset + 0.05 
         
        if (self.rzOffset > 360) then 
            self.rzOffset = 0 
        end 
         
        if (self.heightOffsetDirection == "up") then 
            if (self.heightCurrentOffset < self.heightMaxOffset) then 
                self.heightCurrentOffset = self.heightCurrentOffset + 0.1 
            else 
                self.heightOffsetDirection = "down" 
            end 
        elseif (self.heightOffsetDirection == "down") then 
            if (self.heightCurrentOffset > self.heightMinOffset) then 
                self.heightCurrentOffset = self.heightCurrentOffset - 0.1 
            else 
                self.heightOffsetDirection = "up" 
            end      
        end 
         
        dxDrawLine3D(self.px, self.py, self.pz, self.x, self.y, self.z, tocolor(255, 255, 0, 255), 4, true) 
    end 
     
    --dxDrawLine3D(self.px, self.py, self.pz, self.x, self.y, self.z, tocolor(255, 255, 0, 255), 4, true) 
end 
  
function Sun:getSunPosition() 
    return self.x, self.y, self.z 
end 
  
function Sun:destructor()    
    removeEventHandler("onClientRender", root, self.m_Update) 
  
end 
  
  

local SunInstance = nil 
 
SunShader = {}
 
function SunShader:constructor()
    self.shadersEnabled = "false"
    self.screenWidth, self.screenHeight = guiGetScreenSize()
   
    self.lensFlareDirt = dxCreateTexture("Textures/lensflare_dirt.png")
    self.lensFlareChroma = dxCreateTexture("Textures/lensflare_chroma.png")
   
    self.viewDistance = 0.00005
   
    self.sunColorInner = {0.9, 0.7, 0.6, 1}
    self.sunColorOuter = {0.85, 0.65, 0.55, 1}
    self.sunSize = 0.04
   
    self.excludingTextures =    {   "waterclear256",
                                    "*smoke*",
                                    "*particle*",
                                    "*cloud*",
                                    "*splash*",
                                    "*corona*",
                                    "*sky*",
                                    "*radar*",
                                    "*wgush1*",
                                    "*debris*",
                                    "*wjet4*",
                                    "*gun*",
                                    "*wake*",
                                    "*effect*",
                                    "*fire*",
                                    "muzzle_texture*",
                                    "*font*",
                                    "*icon*",
                                    "shad_exp",
                                    "*headlight*",
                                    "*corona*",
                                    "sfnitewindow_alfa",
                                    "sfnitewindows",
                                    "monlith_win_tex",
                                    "sfxref_lite2c",
                                    "dt_scyscrap_door2",
                                    "white",
                                    "casinolights*",
                                    "cj_frame_glass",
                                    "custom_roadsign_text",
                                    "dt_twinklylites",
                                    "vgsn_nl_strip",
                                    "unnamed",
                                    "white64",
                                    "lasjmslumwin1",
                                    "pierwin05_law",
                                    "nitwin01_la",
                                    "sl_dtwinlights1",
                                    "fist",
                                    "sphere",
                                    "*spark*",
                                    "glassmall",
                                    "*debris*",
                                    "wgush1",
                                    "wjet2",
                                    "wjet4",
                                    "beastie",
                                    "bubbles",
                                    "pointlight",
                                    "unnamed",
                                    "txgrass1_1",
                                    "txgrass0_1",
                                    "txgrass1_0",
                                    "item*",
                                    "undefined*",
                                    "coin*",
                                    "turbo*",
                                    "lava*",
                                    "ampelLight*",
                                    "*shad*",
                                    "cj_w_grad"}
 
   
    self.m_Update = function() self:update() end
    addEventHandler("onClientPreRender", root, self.m_Update)
   
    self.m_ToggleShaders = function() self:toggleShaders() end
    bindKey("M", "down", self.m_ToggleShaders)
   
    self:createShaders()
   
    self.sun = new(Sun, self)   
end
 
function SunShader:toggleShaders()
    if (self.shadersEnabled == "true") then
        self:removeShaders()
       
        if (self.sun) then
            self.sun.isDebugMode = "false"
        end
    elseif (self.shadersEnabled == "false") then
        self:createShaders()
    end
end
 
function SunShader:createShaders()
    if (self.shadersEnabled == "false") then
        self.screenSource = dxCreateScreenSource(self.screenWidth, self.screenHeight)
        self.renderTargetBW = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.renderTargetSun = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.renderTargetGodRaysBase = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.renderTargetGodRays = dxCreateRenderTarget(self.screenWidth, self.screenHeight)
        self.bwShader = dxCreateShader("Shaders/bw.fx")
        self.godRayBaseShader = dxCreateShader("Shaders/godRayBase.fx")
        self.sunShader = dxCreateShader("Shaders/sun.fx")
        self.godRayShader = dxCreateShader("Shaders/godrays.fx")
        self.lensFlareShader = dxCreateShader("Shaders/lensflares.fx")
        self.dynamicLightShader = dxCreateShader("Shaders/dynamiclight.fx", 1000, 0, false, "world,ped,object,other")
        self.vehicleShader = dxCreateShader("Shaders/vehicle.fx", 1000, 0, false, "vehicle")
       
        if (not self.dynamicLightShader) or (not self.vehicleShader) or (not self.bwShader) or (not self.godRayBaseShader) or (not self.sunShader) or (not self.godRayShader) or (not self.lensFlareShader) or (not self.screenSource) or (not self.renderTargetBW) or (not self.renderTargetSun) or (not self.renderTargetGodRaysBase) or (not self.renderTargetGodRays) then
            outputChatBox("Loading sun shader failed. Please use debugscript 3 for further details")
           
            self:removeShaders()
        else
            engineApplyShaderToWorldTexture(self.dynamicLightShader, "*")
            engineApplyShaderToWorldTexture(self.vehicleShader, "*")
           
            for _, texture in ipairs(self.excludingTextures) do
                engineRemoveShaderFromWorldTexture(self.dynamicLightShader, texture)
            end 
           
            self.shadersEnabled = "true"
        end
    end
end
 
function SunShader:update()
    if (self.dynamicLightShader) and (self.vehicleShader) and (self.bwShader) and (self.godRayBaseShader) and (self.sunShader) and (self.godRayShader) and (self.lensFlareShader) and (self.screenSource) and (self.renderTargetBW) and (self.renderTargetSun) and (self.renderTargetGodRaysBase) and (self.renderTargetGodRays) then   
        if (self.sun) then
 
            self.sunX, self.sunY, self.sunZ = self.sun:getSunPosition()
            self.sunScreenX, self.sunScreenZ = getScreenFromWorldPosition(self.sunX, self.sunY, self.sunZ, 1, true)
           
            dxUpdateScreenSource(self.screenSource) 
           
            showPlayerHudComponent("all", false)
            setTime(12,0)
            setSunSize(0)
            setSunColor (0, 0, 0, 0, 0, 0)
            setSkyGradient(90, 85, 120, 120, 130, 175)
            setCloudsEnabled(false)
            setFarClipDistance(1200)
            setFogDistance(850)
           
            -- object lighting
            dxSetShaderValue(self.dynamicLightShader, "sunPos", {self.sunX, self.sunY, self.sunZ})
            dxSetShaderValue(self.dynamicLightShader, "sunColor", self.sunColorInner)
            dxSetShaderValue(self.dynamicLightShader, "ambientColor", self.sunColorOuter)
           
            -- vehicle lighting
            dxSetShaderValue(self.vehicleShader, "sunPos", {self.sunX, self.sunY, self.sunZ})
            dxSetShaderValue(self.vehicleShader, "sunColor", self.sunColorInner)
            dxSetShaderValue(self.vehicleShader, "ambientColor", self.sunColorOuter)
           
            if (self.sunScreenX) and (self.sunScreenZ) then
                -- scenario bw
                dxSetShaderValue(self.bwShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.bwShader, "viewDistance", self.viewDistance)
 
                dxSetRenderTarget(self.renderTargetBW, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.bwShader)
                dxSetRenderTarget()
               
                -- sun
                dxSetShaderValue(self.sunShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.sunShader, "bwSource", self.renderTargetBW)
                dxSetShaderValue(self.sunShader, "sunPos", {(1 / self.screenWidth) * self.sunScreenX, (1 / self.screenHeight) * self.sunScreenZ})
                dxSetShaderValue(self.sunShader, "sunColorInner", self.sunColorInner)
                dxSetShaderValue(self.sunShader, "sunColorOuter", self.sunColorOuter)
                dxSetShaderValue(self.sunShader, "sunSize", self.sunSize)
 
                dxSetRenderTarget(self.renderTargetSun, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.sunShader)
                dxSetRenderTarget()
 
                -- godray base
                dxSetShaderValue(self.godRayBaseShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.godRayBaseShader, "renderTargetBW", self.renderTargetBW)
                dxSetShaderValue(self.godRayBaseShader, "renderTargetSun", self.renderTargetSun)
                dxSetShaderValue(self.godRayBaseShader, "screenSize", {self.screenWidth, self.screenHeight})
 
                dxSetRenderTarget(self.renderTargetGodRaysBase, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.godRayBaseShader)
                dxSetRenderTarget()
               
                -- godrays
                dxSetShaderValue(self.godRayShader, "sunLight", self.renderTargetGodRaysBase)
                dxSetShaderValue(self.godRayShader, "lensDirt", self.lensFlareDirt)
                dxSetShaderValue(self.godRayShader, "sunPos", {(1 / self.screenWidth) * self.sunScreenX, (1 / self.screenHeight) * self.sunScreenZ})
 
                dxSetRenderTarget(self.renderTargetGodRays, true)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.godRayShader)
                dxSetRenderTarget()
               
               
                -- lensflares
                dxSetShaderValue(self.lensFlareShader, "screenSource", self.screenSource)
                dxSetShaderValue(self.lensFlareShader, "sunLight", self.renderTargetGodRays)
                dxSetShaderValue(self.lensFlareShader, "lensDirt", self.lensFlareDirt)
                dxSetShaderValue(self.lensFlareShader, "lensChroma", self.lensFlareChroma)
                dxSetShaderValue(self.lensFlareShader, "sunPos", {(1 / self.screenWidth) * self.sunScreenX, (1 / self.screenHeight) * self.sunScreenZ})
                dxSetShaderValue(self.lensFlareShader, "sunColor", self.sunColorInner)
                dxSetShaderValue(self.lensFlareShader, "screenSize", {self.screenWidth, self.screenHeight})
               
                --dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.bwShader)
                --dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.sunShader)
                --dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.godRayBaseShader)
                --dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.godRayShader)
                dxDrawImage(0, 0, self.screenWidth, self.screenHeight, self.lensFlareShader)
            end
        end
    end
   
    dxDrawRectangle (0, self.screenHeight * 0.5, self.screenWidth * 0.14, self.screenHeight * 0.25, tocolor(0, 0, 0, 150), false)
    dxDrawText("Sun Shader:", 5, self.screenHeight * 0.52, 5, self.screenHeight * 0.52, tocolor (255, 200, 0, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
 
    if (getFps()) and (getFps() > 30) then
        dxDrawText("#FFFFFFFPS: #00FF00" .. getFps(), 5, self.screenHeight * 0.56, 5, self.screenHeight * 0.56, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
    else
        dxDrawText("#FFFFFFFPS: #FF0000" .. getFps(), 5, self.screenHeight * 0.56, 5, self.screenHeight * 0.56, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
    end
   
    dxDrawText("Shaders enabled: " .. self.shadersEnabled, 5, self.screenHeight * 0.58, 5, self.screenHeight * 0.58, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
   
    if (self.sun) and (self.sunX) and (self.sunY) and (self.sunZ) then
        dxDrawText("Debug enabled: " .. self.sun.isDebugMode, 5, self.screenHeight * 0.60, 5, self.screenHeight * 0.60, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosX: " .. math.floor(self.sunX + 0.5), 5, self.screenHeight * 0.62, 5, self.screenHeight * 0.62, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosY: " .. math.floor(self.sunY + 0.5), 5, self.screenHeight * 0.64, 5, self.screenHeight * 0.64, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)    
        dxDrawText("SunPosZ: " .. math.floor(self.sunZ + 0.5), 5, self.screenHeight * 0.66, 5, self.screenHeight * 0.66, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)            
    else
        dxDrawText("Debug enabled: false", 5, self.screenHeight * 0.60, 5, self.screenHeight * 0.60, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosX: -", 5, self.screenHeight * 0.62, 5, self.screenHeight * 0.62, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)
        dxDrawText("SunPosY: -", 5, self.screenHeight * 0.64, 5, self.screenHeight * 0.64, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)      
        dxDrawText("SunPosZ: -", 5, self.screenHeight * 0.66, 5, self.screenHeight * 0.66, tocolor (255, 255, 255, 200), 1, "default-bold", "left", "center", false, false, false, false, false, 0, 0, 0)              
    end
   
    dxDrawText("Press 'M' to enable/disable shaders.", 5, self.screenHeight * 0.70, 5, self.screenHeight * 0.70, tocolor (255, 128, 0, 200), 0.75, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
    dxDrawText("Press 'N' to enable/disable debugmode.", 5, self.screenHeight * 0.72, 5, self.screenHeight * 0.72, tocolor (255, 128, 0, 200), 0.75, "default-bold", "left", "center", false, false, false, true, false, 0, 0, 0)
end
 
function SunShader:removeShaders()
    removeEventHandler("onClientRender", root, self.m_Update)
   
Link to comment
i did but i didnt find something :( is there any way too to disable for example godray or sun fx?

If you want to disable them, try removing them, or disabling them from the meta

<meta> 
    <info name="SunShaderTest" description="SunShaderTest" version="0.1" type="script" author="" /> 
    <min_mta_version client="1.3.5" server="1.3.5"/> 
     
    <!-- client scripts  --> 
    <script src="Client/SunShader.lua" type="client" cache="false"/> 
    <script src="Client/Sun.lua" type="client" cache="false"/> 
  
    <!-- shared scripts  --> 
    <script src="Shared/classlib.lua" type="shared" cache="false"/> 
    <script src="Shared/async.lua" type="shared" cache="false"/> 
    <script src="Shared/Utils.lua" type="shared" cache="false"/> 
     
    <!-- shaders  -->    
    <file src="Shaders/godRayBase.fx" type="client" cache="false"/> 
    <! -Disabled- ><file src="Shaders/sun.fx" type="client" cache="false"/> 
    <file src="Shaders/bw.fx" type="client" cache="false"/> 
    <! -Disabled-><file src="Shaders/godrays.fx" type="client" cache="false"/> 
    <file src="Shaders/lensflares.fx" type="client" cache="false"/> 
    <file src="Shaders/dynamiclight.fx" type="client" cache="false"/> 
    <file src="Shaders/vehicle.fx" type="client" cache="false"/> 
    <file src="Shaders/mta-helper.fx" type="client" cache="false"/> 
     
    <!-- textures  --> 
    <file src="Textures/lensflare_dirt.png" type="client" cache="false"/> 
    <file src="Textures/lensflare_chroma.png" type="client" cache="false"/> 
</meta> 

But i'm not entirely sure that this will work, but, you can try if you want :)

Link to comment

Let me know if it works, if it doesn't use this.

<meta> 
    <info name="SunShaderTest" description="SunShaderTest" version="0.1" type="script" author="" /> 
    <min_mta_version client="1.3.5" server="1.3.5"/> 
    
    <!-- client scripts  --> 
    <script src="Client/SunShader.lua" type="client" cache="false"/> 
    <script src="Client/Sun.lua" type="client" cache="false"/> 
  
    <!-- shared scripts  --> 
    <script src="Shared/classlib.lua" type="shared" cache="false"/> 
    <script src="Shared/async.lua" type="shared" cache="false"/> 
    <script src="Shared/Utils.lua" type="shared" cache="false"/> 
    
    <!-- shaders  -->    
    <file src="Shaders/godRayBase.fx" type="client" cache="false"/> 
    <! ---Disable or remove this ---><file src="Shaders/sun.fx" type="client" cache="false"/>  
    <file src="Shaders/bw.fx" type="client" cache="false"/> 
    <! ---Disable or remove this><file src="Shaders/godrays.fx" type="client" cache="false"/> 
    <file src="Shaders/lensflares.fx" type="client" cache="false"/> 
    <file src="Shaders/dynamiclight.fx" type="client" cache="false"/> 
    <file src="Shaders/vehicle.fx" type="client" cache="false"/> 
    <file src="Shaders/mta-helper.fx" type="client" cache="false"/> 
    
    <!-- textures  --> 
    <file src="Textures/lensflare_dirt.png" type="client" cache="false"/> 
    <file src="Textures/lensflare_chroma.png" type="client" cache="false"/> 
</meta> 

Link to comment

Well, since it's designed for single player modification, you won't be able to implement the majority of the things within the file, but what you can do is add the .fx files to a separate resource file.

http://imgur.com/aafP8XV

So, if you want to do this step by step, follow these instruction, or just download the resource i made for you.

Resource: https://www.mediafire.com/?mf74lfpowgenjn3

<meta> 
    <info name="yoya99Shader" description="TestShaderForYoya99" version="0.1" type="script" author="Jessica" /> 
    <min_mta_version client="1.3.5" server="1.3.5"/> 
         
    <!-- shaders  -->    
    <file src="Shaders/deferred.fx" type="client" cache="false"/> 
    <file src="Shaders/Helpers.fx" type="client" cache="false"/> 
    <file src="Shaders/object.fx" type="client" cache="false"/> 
    <file src="Shaders/particle.fx" type="client" cache="false"/> 
    <file src="Shaders/PostProcess.fx" type="client" cache="false"/> 
    <file src="Shaders/skin.fx" type="client" cache="false"/> 
    <file src="Shaders/sky.fx" type="client" cache="false"/> 
    <file src="Shaders/vehicle.fx" type="client" cache="false"/> 
    <file src="Shaders/water.fx" type="client" cache="false"/> 
     
  
</meta> 
  

After you create the meta, make a folder and call it what ever you wish.

then within that folder, place the meta, and make another folder called Shaders, and finally, just drop the .fx files in.

I'm not 100% sure that this resource will work, as i said, I've only been here a few days :) and anyone with more knowledge of this is more then welcome to lean in and help.

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...