Jump to content

Search the Community

Showing results for tags 'shader'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Multi Theft Auto: San Andreas 1.x
    • Support for MTA:SA 1.x
    • User Guides
    • Open Source Contributors
    • Suggestions
    • Ban appeals
  • General MTA
    • News
    • Media
    • Site/Forum/Discord/Mantis/Wiki related
    • MTA Chat
    • Other languages
  • MTA Community
    • Scripting
    • Maps
    • Resources
    • Other Creations & GTA modding
    • Competitive gameplay
    • Servers
  • Other
    • General
    • Multi Theft Auto 0.5r2
    • Third party GTA mods
  • Archive
    • Archived Items
    • Trash

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Member Title


Gang


Location


Occupation


Interests

  1. Download (Github) https://github.com/gta191977649/MTASA-SkyGfx Note: the resource updates frequently, please always check the github for the latest verion SkyGfx (Sky is name of Renderware for the PS2, any semblance to the actual sky is purely accidental) brings accurate PS2 and Xbox graphics to the PC version of San Andreas, Vice City and III. if you enjoy vanilla San Andreas graphic, this mod is essential to have. to learn more about it from the original author (AAP), please see here. Now i will straight go through the documentation. Screenshots The Thanks List ren712 - for shaders & coronas help aap - for the original work & renderware engine help What have done or working in progress? Not Start yet/ not invesgate Partically Works Done & Fully Supported Pre-request Library Timecyc Parser Rendering the timecyc interpolation directly from timecyc.dat, interpretation algorithm conveted from librwgta. custom_coronas For rendering the classicFX, like VC style vehicle big headlight, trail light effect. DGS - (Optional) for the debugTools, But you're need dgs to work, i just a bit lazy with gui things Features Postfx Trails(Blur) - blurLeft,blurTop,blurRight,blurBottom works! Radiosity - Color Filter - PS2 PC Mobile - Night Version Goggles - Infrared Goggles - Building Pipeline SimplePS - BuildingVS - partially, some engine data requires to work, still working on that BuildingVSFX - For model with specular lighting property Not even start yet Vehicle Pipeline PS2 Pipeline - Done, you happy? Xbox Pipeline - Only specular lighting works. Pipeline tweaks radiosityFilterPasses - radiosityRenderPasses - radiosityIntensity - zwriteThreshold - detailMaps - leedsShininessMult - neoShininessMult - neoSpecularityMult - envShininessMult - envSpecularityMult - envPower - envFresnel - sunGlare - just see my feature PR. ps2ModulateBuilding - World Effect Dual Pass Render - Yeah, it's done, thanks to ren712 PS2 Alpha Test not even start yet Grass dualPassGrass - it overrides by dual pass render. grassBackfaceCull - grassAddAmbient - grassFixPlacement - only can do it via modify the mta engine ps2ModulateGrass - Shadows pedShadows - stencilShadows - Misc disableClouds - disableGamma - neoWaterDrops(xbox rain postfx) - neoBloodDrops - transparentLockon - lightningIlluminatesWorld - toogle timecyc lighting on world object. fixPcCarLight - coronaZtest - partially works, however this will breaks and bugs up the other corona's ztesting in mta. needs to work on a new solution. fixShadows - Special Misc FX (Unique addon by nurupo) vehicleClassicFx Show VC/III liked vehicle big headlight and light trails when you rotate the screen vehicleTrailLength Length of light trails (buffered frame) vehicleTrailDrawDist What distance should trails start visiable? vehicleHeadLightAlpha Alpha multiplier for head light vehicleRearLightAlpha Alpha multiplier for rear light buildingExtraBrightness Multiplier for building extra brightness vehicleExtraBrightness Multiplier for building extra brightness stochasticFilter Make repeative texture look better, ported from Valdir da Costa Júnior Bugs/Issue Sun can see through by walls -> Due to zTest disabled fixed by manually re-create sun from shader, thanks to Ren712 Element garbage collection for vehicle classic fx
  2. struct VS_OUTPUT { float4 Pos: POSITION; float2 texCoord: TEXCOORD; }; VS_OUTPUT VS_Electricity(float4 Pos: POSITION) { VS_OUTPUT Out; // Clean up inaccuracies Pos.xy = sign(Pos.xy); Out.Pos = float4(Pos.xy, 0, 1); Out.texCoord = Pos.xy; return Out; } float4 color = float4(0, 0, 0, 0); float glowStrength = 6; float height = 5; float glowFallOff = 1; float speed = 2; float sampleDist = 0; float ambientGlow = 1; float ambientGlowHeightScale = 0; float vertNoise = 6; float time_0_X = 0; sampler Noise = sampler_state { Texture = ; }; float4 PS_Electricity(float2 texCoord: TEXCOORD) : COLOR float2 t = float2(speed * time_0_X * 0.5871 - vertNoise * abs(texCoord.y), speed * time_0_X); // Sample at three positions for some horizontal blu // The shader should blur fine by itself in vertical directio float xs0 = texCoord.x - sampleDist float xs1 = texCoord.x float xs2 = texCoord.x + sampleDist; // Noise for the three sample float noise0 = tex3D(Noise, float3(xs0, t)) float noise1 = tex3D(Noise, float3(xs1, t)) float noise2 = tex3D(Noise, float3(xs2, t)); // The position of the flas float mid0 = height * (noise0 * 2 - 1) * (1 - xs0 * xs0) float mid1 = height * (noise1 * 2 - 1) * (1 - xs1 * xs1) float mid2 = height * (noise2 * 2 - 1) * (1 - xs2 * xs2); // Distance to flas float dist0 = abs(texCoord.y - mid0) float dist1 = abs(texCoord.y - mid1) float dist2 = abs(texCoord.y - mid2); // Glow according to distance to flas float glow = 1.0 - pow(0.25 * (dist0 + 2 * dist1 + dist2), glowFallOff); // Add some ambient glow to get some power in the air feeling float ambGlow = ambientGlow * (1 - xs1 * xs1) * (1 - abs(ambientGlowHeightScale * texCoord.y)); return (glowStrength * glow * glow + ambGlow) * color; } IN LUA addEventHandler("onClientRender", root, function() if myShader then dxDrawImage( 100, 350, 300, 350, myShader ) end end ) addCommandHandler("tester", function ( commandName ) if not myShader then myShader = dxCreateShader( "models/arashi.fx" ) -- Create shader else destroyElement( myShader ) -- Destroy shader myShader = nil end end)
  3. local function removeShadow(vehicle) local shader = dxCreateShader("files/replace.fx", 0, 0, false, "vehicle") local texture = dxCreateTexture("files/remove.png") dxSetShaderValue(shader, "gTexture", texture) engineApplyShaderToWorldTexture(shader, "shad_car", vehicle) end and local function removeShadow(vehicle) local shader = dxCreateShader("files/replace.fx", 0, 0, false) local texture = dxCreateTexture("files/remove.png") dxSetShaderValue(shader, "gTexture", texture) engineApplyShaderToWorldTexture(shader, "shad_car", localPlayer) end Neither worked, I want to remove the shadow of a specific vehicle, not all. The texture name of the shadow I know is "shad_car" And this replace shader works because I used it in other things, I just don't understand why it didn't work for the shade. Any solution?
  4. So I wanted to ask if someone would explain to me how to make my own shaders, I immediately say that I know there is an MTA page with examples but I don't understand anything of them so I prefer someone to explain it to me and what it is and how to create although the easiest script with shaders
  5. A simple script of dressable characters and deformable faces. You can move every vertex of the head with a simple displacement shader. The script is in test state right now, I'll create a new editor later. Hope you like it.
  6. Today i proudly present to you: OSWS (OpenSourceWaterShader) for MTA: San Andreas! What is this? This resource is a project that i started long ago in order to finally (!) get a decent water shader working for MTA that benefits everybody. The main goal is to get an amazing shader where everyone should contribute to make it the very best looking water that we can get for this game engine. The code is pretty well optimized and the performance should be good for everyone, but a shader model 3.0 graphics card is REQUIRED for this resource! The effect is applied to the water texture itself. It is NOT a post-processing water shader. This means that we do not have to deal with any issues that come with post-processing, for example smoke and any other effect that is rendering behind the drawn water. The downside of this method is the fact that we can not (as far as i know) add refraction to the stuff that is below the water surface. But maybe some genius knows a way to make it happen, or fix the rendering issues of post-processed water. Stuff like that is the main reason why i decided to make this resource a community project, improvements for everyone! Features: Water reflections, surface refraction: Shore fading, shore foam: Dynamic_sky support with sun + moon specular lighting: DOWNLOAD: https://community.mtasa.com/index.php?p=resources&s=details&id=18239 DOWNLOAD DYNAMIC_SKY RESOURCE BY @Ren_712: https://community.mtasa.com/index.php?p=resources&s=details&id=6828
  7. Buenas a todos, nada que decir así que dejo esto por aquí. LUA: function dxDrawCircle( x, y, width, height, color, angleStart, angleSweep, borderWidth ) height = height or width color = color or tocolor(255,255,255) borderWidth = borderWidth or 1e9 angleStart = angleStart or 0 angleSweep = angleSweep or 360 - angleStart if ( angleSweep < 360 ) then angleEnd = math.fmod( angleStart + angleSweep, 360 ) + 0 else angleStart = 0 angleEnd = 360 end x = x - width / 2 y = y - height / 2 if not circleShader then circleShader = dxCreateShader ( "circle.fx" ) end dxSetShaderValue ( circleShader, "sCircleWidthInPixel", width ); dxSetShaderValue ( circleShader, "sCircleHeightInPixel", height ); dxSetShaderValue ( circleShader, "sBorderWidthInPixel", borderWidth ); dxSetShaderValue ( circleShader, "sAngleStart", math.rad( angleStart ) - math.pi ); dxSetShaderValue ( circleShader, "sAngleEnd", math.rad( angleEnd ) - math.pi ); dxDrawImage( x, y, width, height, circleShader, 0, 0, 0, color, true ) end function dxDrawRoundedRectangle( x, y, width, height, radius, color ) if ( radius >= width ) or ( radius >= height ) then dxDrawCircle( x - ( radius / 2 ), y - ( radius / 2 ) ) end -- El radius es relativo al tamaño del rectángulo, para evitar 'bugs' se dibuja el circulo completo. dxDrawCircle( x + ( radius / 2 ), y + ( radius / 2 ), radius, radius, color, 270, 90 ) dxDrawCircle( x + ( radius / 2 ), ( y + height ) - ( radius / 2 ), radius, radius, color, 180, 90 ) dxDrawCircle( ( x + width ) - ( radius / 2 ), y + ( radius / 2 ), radius, radius, color, 0, 90 ) dxDrawCircle( ( x + width ) - ( radius / 2 ), ( y + height ) - ( radius / 2 ), radius, radius, color, 90, 90 ) dxDrawRectangle( x, y + ( radius / 2 ), width, ( height ) - ( radius ), color, true ) dxDrawRectangle( x + ( radius / 2 ), y , ( width ) - ( radius ), ( radius / 2 ), color, true ) dxDrawRectangle( x + ( radius / 2 ), ( y + height ) - ( radius / 2 ), ( width ) - ( radius ), ( radius / 2 ), color, true ) end CIRCLE.FX: float sCircleHeightInPixel = 100; float sCircleWidthInPixel = 100; float sBorderWidthInPixel = 10; float sAngleStart = -3.14; float sAngleEnd = 3.14; float4 PixelShaderFunction(float4 Diffuse : COLOR0, float2 TexCoord : TEXCOORD0) : COLOR0 { float2 uv = float2( TexCoord.x, TexCoord.y ) - float2( 0.5, 0.5 ); float angle = atan2( -uv.x, uv.y ); // -PI to +PI if ( sAngleStart > sAngleEnd ) { if ( angle < sAngleStart && angle > sAngleEnd ) return 0; } else { if ( angle < sAngleStart || angle > sAngleEnd ) return 0; } // Calc border width to use float2 vec = normalize( uv ); float CircleRadiusInPixel = lerp( sCircleWidthInPixel, sCircleHeightInPixel, vec.y * vec.y ); float borderWidth = sBorderWidthInPixel / CircleRadiusInPixel; // Check if pixel is inside circle float dist = sqrt( dot( uv, uv ) ); if ( ( dist > 0.5 ) || ( dist < 0.5 - borderWidth ) ) return 0; else return Diffuse; } technique tec0 { pass P0 { PixelShader = compile ps_2_0 PixelShaderFunction(); } } ( El shader publicado es uno de los shaders de ejemplo que hay en la wiki de MTA )
  8. After I finished the first version of my character customization system i just realized its such a piece of crap, so i started writing a new version with a whole new concept. The first version worked with CJ skin and i just attached some custom head models to it. Conversely the new version is running with shaders and the skin is a custom dff. Here is a video of the head customization. The clothing is in progress yet, it takes a lot of time because i have to make custom cloth models. Hope you like it. Please don't ask for the source code, this script will never be released. Sorry.
  9. Hi gentlemen, I have a problem with lighting the texture, it is lighter than everyone Please tell me what the problem is I use these shaders /* Author: 50p Version: v1.0 Description: This shader allows you to mask a texture with a mask texture (black and white). */ texture ScreenTexture; sampler implicitInputTexture = sampler_state { Texture = <ScreenTexture>; }; texture MaskTexture; sampler implicitMaskTexture = sampler_state { Texture = <MaskTexture>; }; float4 MaskTextureMain( float2 uv : TEXCOORD0 ) : COLOR0 { float4 sampledTexture = tex2D( implicitInputTexture, uv ); float4 maskSampled = tex2D( implicitMaskTexture, uv ); sampledTexture.a = (maskSampled.r + maskSampled.g + maskSampled.b) / 3.0f; return sampledTexture; } technique Technique1 { pass Pass1 { AlphaBlendEnable = true; SrcBlend = SrcAlpha; DestBlend = InvSrcAlpha; PixelShader = compile ps_2_0 MaskTextureMain(); } }
  10. Peace on you . Why do we use " shader " and make the value " texture " to change element texture instead of use "Texture" directly ? Why we need to make shader first ? Thanks !
  11. I created a script to set texture when player joins the car, (EngineApplyShaderToWorldTexture), but work only client-side, i wanna other players see the texture from the car, not only the local player see self texture. How i can create a script like this?
  12. hey guys, I wanna help on shader Im trying to put antialias with borderWidth circle.fx float sCircleHeightInPixel = 100; float sCircleWidthInPixel = 100; float sBorderWidthInPixel = 10; float4x4 gWorldViewProjection : WORLDVIEWPROJECTION; struct VSInput { float3 Position : POSITION0; float4 Diffuse : COLOR0; float2 TexCoord : TEXCOORD0; }; struct PSInput { float4 Position : POSITION0; float4 Diffuse : COLOR0; float4 Diffuse2 : COLOR1; float2 TexCoord : TEXCOORD0; float2 Settings : TEXCOORD1; }; PSInput VertexShaderFunction(VSInput VS) float4 PixelShaderFunction(float4 Diffuse : COLOR0, float2 TexCoord : TEXCOORD0) : COLOR0 { float2 uv = float2( TexCoord.x, TexCoord.y ) - float2( 0.5, 0.5 ); PSInput PS = (PSInput)0; PS.Position = mul(float4(VS.Position, 1), gWorldViewProjection); int bAntialias = floor(VS.Diffuse.a*255+0.5)%2; int bTwoColors = floor(VS.Diffuse.a*127+0.5)%2; [branch] if(bTwoColors == 1){ float aComp = floor(VS.Diffuse.a*63+0.5)%64;; PS.Diffuse = float4((floor(VS.Diffuse.rgb*15+0.5)%16)/15, (aComp%8)/7); PS.Diffuse2 = float4(floor((VS.Diffuse.rgb*255+0.5)%16)/15, ((aComp/8)%8)/7); } else { PS.Diffuse = float4(VS.Diffuse.rgb, floor(VS.Diffuse.a*63+0.5)%64/63); PS.Diffuse2 = PS.Diffuse; } PS.TexCoord = VS.TexCoord; PS.Settings = float2(bTwoColors,bAntialias); return PS; } float2 vec = normalize( uv ); float CircleRadiusInPixel = lerp( sCircleWidthInPixel, sCircleHeightInPixel, vec.y * vec.y ); float borderWidth = sBorderWidthInPixel / CircleRadiusInPixel; if ( ( dist > 0.5 ) || ( dist < 0.5 - borderWidth ) ) return 0; else return Diffuse; } float4 PixelShaderFunction(PSInput PS) : COLOR0 { const float dist = length(PS.TexCoord*2-1); float4 color = PS.Settings.x > 0.5 ? lerp(PS.Diffuse, PS.Diffuse2, dist) : PS.Diffuse; if (PS.Settings.y < 0.5){ return dist <= 1 ? color : float4(0,0,0,0); } return float4(color.rgb, smoothstep(1, 1 - fwidth(dist) * 2, dist)*color.a); } technique Technique1 { pass Pass1 { SrcBlend = SrcAlpha; DestBlend = InvSrcAlpha; VertexShader = compile vs_3_0 VertexShaderFunction(); PixelShader = compile ps_3_0 PixelShaderFunction(); } } client.Lua local floor = math.floor function fromColor(col) local r,g,b,a b = col%256 g = floor(col/0x100)%256 r = floor(col/0x10000)%256 a = floor(col/0x1000000)%256 return r,g,b,a end local shader = dxCreateShader( "circle.fx" ) local shaderColCache = {} function dxDrawCircleShader(posX,posY,radius,color1,color2,antialias,borderWidth) assert(type(color1) == "number", "Expected number as color argument to dxDrawCircleShader") if (not color2) or (color2 == color1) then color2 = "def" end borderWidth = borderWidth or 1e9 local finColor local col1 = shaderColCache[color1] if col1 then local col2 = col1[color2] if col2 then finColor = col2 end end if not finColor then shaderColCache[color1] = shaderColCache[color1] or {} local twoColors = (color2 ~= "def") if twoColors then local r1,g1,b1,a1 = fromColor(color1) local r2,g2,b2,a2 = fromColor(color2) local finR = floor((r1/256)*16)*16 + floor((r2/256)*16) local finG = floor((g1/256)*16)*16 + floor((g2/256)*16) local finB = floor((b1/256)*16)*16 + floor((b2/256)*16) local finA = floor((a1/256)*8)*32 + floor((a2/256)*8)*4 + 2 dxSetShaderValue ( shader, "sCircleWidthInPixel", width ); dxSetShaderValue ( shader, "sCircleHeightInPixel", height ); dxSetShaderValue ( shader, "sBorderWidthInPixel", borderWidth ); finColor = tocolor( finR, finG, finB, finA ) else local r,g,b,a = fromColor(color1) local finA = (floor((a/256)*64)*4)%256 finColor = tocolor( r,g,b, finA ) end shaderColCache[color1][color2] = finColor end local antialiasComp = 16777216 if not antialias then antialiasComp = 0 end finColor = finColor + antialiasComp dxDrawImage( posX-radius, posY-radius, radius*2, radius*2, shader, nil, nil, finColor ) end addEventHandler("onClientRender",root, function() dxDrawCircleShader(500,200,60,tocolor(255,255,255),tocolor(255,255,255),1,1) end ) im not good in shader and i don't know shader. anyone help me please? actually i wanna do like this but with antialas :
  13. Hi, I want just to change the value of DepthBias by Lua So here, I have defined a parameter which I named parameter1, and the rest is just for replace.fx texture gTexture; float parameter1; technique TexReplace { pass P0 { DepthBias = parameter1; Texture[0] = gTexture; } } And now, we gonna go to Lua File : (the shader is working etc...) dxSetShaderValue(shader, "parameter1", -0.0006) So here, it doesn't work, DepthBias doesn't take the value of parameter1 as I wrote in the .fx file ! Any help please?
  14. First thing first: I'm not sure if I've chosen proper sub-forum for this, so if it isn't right place then please move it. I'm writing this because we have pretty game-breaking problem on our server that we can't find a way to fix on our side. The shaders randomly fail to create with warning specified in the title, it's happening more and more as our server gets bigger. We do track how often this error/warning happens for our players, and it's in thousands per day. It doesn't happen to all players, but when it happens we can't find any correlation to PC hardware. It happened on new high end pc's and on older hardware. The amount of memory used by MTA as shown in /showmemstat varies too, it's usually not even close to 3.5 gb limit, pretty often around 2gb. We did track, used/available VRAM by collecting data from dxGetStatus when the error happens, and usual there's lots of VRAM left too. Some example numbers here (free video memory for MTA / Total VRAM): 602/1024 2968/4084 It shows that there's enough RAM/VRAM available for MTA that it shouldn't be problem. The full error message also includes the path to shader and file/line. I looked over MTA sourcecode, and found that it fails at call to winapi, the returned HRESULT (8007000e) is E_OUTOFMEMORY which may happen if the memory couldn't be allocated, based on that we think it may be problem with MTA memory management. Some more thoughts: Once a single shader fails to create, all shaders fail to create after that (from what we observed) Our server is pretty big, the issue affects a lot of players but happens seemingly randomly. Some players aren't affected by this at all. I can't reproduce this on local server, neither by playing nor by forcing MTA to create a hundreds of thousands of shaders/textures and deleting them. We're also getting errors with HRESULT code 80070008, but it happens way less than the title error, it looks like that (happens with other shaders too): "[D3DXCreateEffectFromFile failed (80070008)[Loaded 'ngui-r\r.fx' (6737 bytes)]] @ 'dxCreateShader' [r.fx]" In last 16 hours this error happened more than 5300 times on our server, we limit the number of reported errors to 15 per player per session, based on that we can see it happened to a lot of players. Only way to fix this issue is to RESTART MTA, reconnect may help for few minutes but it fails quickly afterwards again. We would love any help with handling this issue, it's limiting our ability to work on server updates as our server relies heavily on shaders.
  15. Доброго времени суток! После просмотра видео возник вопрос про вершинный шейдер... Кто-нибудь знает каким образом шейдер определяет точки, которые нужно передвигать и в каком направлении? Само видео:
  16. Hello, everyone! After watching the video i got a question about vertex shader... Someone know how shader defines coordinates and direction, which we change? Video:
  17. Hello guys, I need a shader that would follow the cursor. Where to find ? or how to create?
  18. Hello guys! I started with shaders today, I made a script to apply a texture to the weapons fire, but it is not working, nor does it give any error in the debug. Client-side shader = dxCreateShader("shader/shader.fx") fire_fx = dxCreateTexture("files/fire.png") function replaceFireFX() engineApplyShaderToWorldTexture(shader, "muzzle_texture4") dxSetShaderValue(shader, "gTexture", fire_fx) end addEventHandler("onClientResourceStart", resourceRoot, replaceFireFX) addEventHandler("onClientPlayerJoin", root, replaceFireFX) FX-Code texture gTexture; technique TexReplace { pass P0 { Texture[0] = gTexture; } } fire.png
  19. I want to create a lua for an infernus shader / FX, can someone help me or guide me to do it?, It is usually called "Dynamic Vehicle Overlay". i have the FX, just need to add the commands. I know it adds: dxSetShaderValue (Shader, tex, Texture) But i don't understand.
  20. So, I have a shader: float4 PixelShader3Function(float2 UVCoords : TEXCOORD0) : COLOR0 { return float4(0, 0, 0, 1); } technique Normal { pass P0 { PixelShader = compile ps_3_0 PixelShader3Function(); } } Which should make the texture black, but instead it makes it transparent. But, if I use compile ps_2_0 instead it works just fine, and turns my texture into black. Anyone any idea?
  21. Hello everyone. About 3 years ago I have worked on some project and got experiments on skin morphing. The video below shows some results in that: MTA gives all opportunities for creating a morphing for a face, body or something else. I hope in the future someone makes a full-customizable character.
  22. There's a shader and a simple float4x4 array in it. I just want to set the array's values with dxSetShaderValue. How should I do this? float4x4 thisBoneMatrix[6] = { float4x4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), float4x4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), float4x4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), float4x4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), float4x4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), float4x4( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ) };
  23. I need a function that calculates ped's bone matrices. (bone_attach functions doesn't work) I'm working on a shader that actually can move a ped's bone.
  24. Hello guys, i've seen in some servers that you can change the texture of the same vehicle many times, So you can seen other players having the same vehicle but another texture, I know that i have to use Shader functions but how to do it, And how to make all players able to see other player's vehicle texture ?
  25. --Client local shader = dxCreateShader("tex.fx",0, 0, true, 'ped') addEvent("broadcastEnableShader", true) -- allow remotely triggered (from server) addEventHandler("broadcastEnableShader", root, function(some_data) -- receive broadcast from the server local img = dxCreateTexture(""..math.random(1,3)..".png") dxSetShaderValue(shader, "tex", img) engineApplyShaderToWorldTexture(shader, "Hoodie_green_co",some_data) end ) addEventHandler( 'onClientResourceStart', resourceRoot, function() for _, p in ipairs(getElementsByType('ped')) do if isElementStreamedIn(p) then local clothing = getElementData(p, 'blood') if clothing then triggerServerEvent("announceEnableShader", localPlayer, p) end end end for _, p in ipairs(getElementsByType('player')) do if isElementStreamedIn(p) then local clothing = getElementData(p, 'blood') if clothing then triggerServerEvent("announceEnableShader", localPlayer, p) end end end end) addEventHandler( 'onClientElementStreamIn', root, function() if getElementType(source) == 'player' or getElementType(source) == 'ped' then local clothing = getElementData(source, 'blood') if clothing then triggerServerEvent("announceEnableShader", localPlayer, source) end end end) addEventHandler( 'onClientElementDataChange', root, function(name) if (getElementType(source) == 'player' or getElementType(source) == 'ped') and isElementStreamedIn(source) and name == 'blood' then if getElementData(source, 'blood') then triggerServerEvent("announceEnableShader", localPlayer, source) end end end) --SERVER addEvent("announceEnableShader", true) addEventHandler("announceEnableShader", root, function (some_data) -- triggerClientEvent(root, "broadcastEnableShader", source, some_data) end ) Ita not Synchronization((
×
×
  • Create New...