ALw7sH Posted June 23, 2014 Share Posted June 23, 2014 Hello, i made new object with black color how i can change the object color iknow i can change it with change texture color but i dont want to change it like that i want the object color be automatic like my car color Link to comment
ALw7sH Posted June 23, 2014 Author Share Posted June 23, 2014 its possible but idk how Link to comment
manve1 Posted June 23, 2014 Share Posted June 23, 2014 You have to apply a certain texture in 3ds max (if you're using that software) which makes the color "original", other wise if its not cars or any vehicle, use shaders. Link to comment
ALw7sH Posted June 23, 2014 Author Share Posted June 23, 2014 You have to apply a certain texture in 3ds max (if you're using that software) which makes the color "original", other wise if its not cars or any vehicle, use shaders. but how to use the shaders ? Link to comment
MTA Team botder Posted June 23, 2014 MTA Team Share Posted June 23, 2014 Clientside script: myShader = dxCreateShader('shader.fx', 0, 0, false, 'vehicle') dxSetShaderValue(myShader, 'red', 1.0) dxSetShaderValue(myShader, 'green', 0.0) dxSetShaderValue(myShader, 'blue', 0.0) dxSetShaderValue(myShader, 'alpha', 1.0) vehicles = getElementsByType('vehicle') for _, vehicle in ipairs(vehicles) do if (getElementModel(vehicle) == 411) then engineApplyShaderToWorldTexture(myShader, '*', vehicle) end end File shader.fx float red; float green; float blue; float alpha; technique simple { pass P0 { MaterialAmbient = float4(red, green, blue, alpha); } } Link to comment
ALw7sH Posted June 25, 2014 Author Share Posted June 25, 2014 Clientside script: myShader = dxCreateShader('shader.fx', 0, 0, false, 'vehicle') dxSetShaderValue(myShader, 'red', 1.0) dxSetShaderValue(myShader, 'green', 0.0) dxSetShaderValue(myShader, 'blue', 0.0) dxSetShaderValue(myShader, 'alpha', 1.0) vehicles = getElementsByType('vehicle') for _, vehicle in ipairs(vehicles) do if (getElementModel(vehicle) == 411) then engineApplyShaderToWorldTexture(myShader, '*', vehicle) end end File shader.fx float red; float green; float blue; float alpha; technique simple { pass P0 { MaterialAmbient = float4(red, green, blue, alpha); } } thanks but i edit it to be for objects but now doesnt work myShader = dxCreateShader('color.fx', 0, 0, false, 'object') dxSetShaderValue(myShader, 'red', 1.0) dxSetShaderValue(myShader, 'green', 0.0) dxSetShaderValue(myShader, 'blue', 0.0) dxSetShaderValue(myShader, 'alpha', 1.0) objects = getElementsByType('object') for _, object in ipairs(objects) do if (getElementModel(object) == (1854 or 4550 or 1853 or 1855 or 1856)) then engineApplyShaderToWorldTexture(myShader, '*', object) end end Link to comment
MTA Team botder Posted June 25, 2014 MTA Team Share Posted June 25, 2014 myShader = dxCreateShader('color.fx', 0, 0, false, 'object') dxSetShaderValue(myShader, 'red', 1.0) dxSetShaderValue(myShader, 'green', 0.0) dxSetShaderValue(myShader, 'blue', 0.0) dxSetShaderValue(myShader, 'alpha', 1.0) objects = getElementsByType('object') for _, object in ipairs(objects) do local model = getElementModel(object) if (model == 1854 or model == 4550 or model == 1853 or model == 1855 or model == 1856) then engineApplyShaderToWorldTexture(myShader, '*', object) end end Hint: put that code into onClientResourceStart because the shader file "color.fx" might not be ready when the script starts (not downloaded yet) Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now