MBAUser Posted September 6, 2017 Share Posted September 6, 2017 Buenas noches!!, Alguien sabe si se puede de alguna manera tener varios "Skins de autos" y que sea visibles por todos¿? Otra pregunta es si esta función se puede hacer para un team nada mas, pero que los demas la puedan ver. Y la ultima si los coches que no tengan paintjob se pueden aplicar mas de 4, y de que manera, si alguno sabe aunque sea uno me seria de gran ayuda, gracias! function CambiarSkin1() txd = engineLoadTXD("mod.txd", 411) engineImportTXD(txd, 411) dff = engineLoadDFF("mod.dff", 411) engineReplaceModel(dff, 411) end addEventHandler("onClientResourceStart", resourceRoot, CambiarSkin1) --Hay alguna forma de cambiarlo para que solo un team se le aplique? Link to comment
Jose76Tron Posted September 13, 2017 Share Posted September 13, 2017 Un poco tarde pero bueno 1 y 2. Lo de skins de autos te refieres a modelos o texturas diferentes para un coche solo? Si te refieres a modelos siempre puedes remplazar coches de gta por otros de internet,lo cual si remplazas un turismo siempre el turismo se vera como lo remplazaste no se puede hacer para una persona o grupo solo, si te refieres a diferentes texturas para el mismo auto serian shaders. Cuando remplazas un modelo de vehículo ya es visible para todos. 3. Se podrían añadir paintjobs unicos con shaders. 1 Link to comment
Starztec Posted September 13, 2017 Share Posted September 13, 2017 Gracias igual por contestar! A lo que me referia es que tener varias texturas para un mismo vehiculo que importé. El problema ahora es que no se como poner determinados paintjob a vehiculos como este:No necesito que cambie de color el vehiculo, solo que pueda aceptar diferentes texturas... ¿Es posible? Link to comment
Jose76Tron Posted September 13, 2017 Share Posted September 13, 2017 (edited) @Starztec Siempre puedes usar shaders para añadir paintjobs customs a vehículos con el uv map bien hecho. Para saber el nombre de una textura de un vehículo remplazado, siempre puedes abrir el .txd del vehículo y ahí puedes exportar la textura para crear un paintjob o ver el nombre de la textura para remplazarla en el shader. Puedes usar este shader para remplazar la textura Shader.fx texture gTexture; technique TexReplace { pass P0 { Texture[0] = gTexture; } } Y luego en cliente usas estas funciones para remplazar la textura dxCreateShader() dxCreateTexture() engineApplyShaderToWorldTexture() dxSetShaderValue() Edited September 13, 2017 by Jose76Tron 1 Link to comment
Starztec Posted September 14, 2017 Share Posted September 14, 2017 function addPaintjob(commandName,paintjobID) me = getLocalPlayer() if isPedInVehicle ( me ) then triggerServerEvent ( "addPJ", resourceRoot, tonumber(paintjobID), me ) end end addCommandHandler ("addpaintjob",addPaintjob) function addPaintjob2(paintjobID,player) if paintjobID == 1 then myTexture = dxCreateTexture( "paintjob1.png" ) elseif paintjobID == 2 then myTexture = dxCreateTexture( "paintjob2.png" ) elseif paintjobID == 3 then myTexture = dxCreateShader( "paintjob3.png" ) elseif paintjobID == 4 then myTexture = dxCreateShader( "paintjob4.png" ) elseif paintjobID == 5 then myTexture = dxCreateTexture( "paintjob5.png" ) elseif paintjobID == 6 then myTexture = dxCreateTexture( "paintjob6.png" ) else if player == getLocalPlayer() then outputChatBox ("There is no such paintjob ID!") return end end engineRemoveShaderFromWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) shader_cars, tec = dxCreateShader ( "shader.fx" ) engineApplyShaderToWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) dxSetShaderValue ( shader_cars, "TX0", myTexture ) end addEvent( "addPJ2", true ) addEventHandler( "addPJ2", getLocalPlayer(), addPaintjob2 ) function removePaintjob2(player) if engineApplyShaderToWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) then me = getLocalPlayer() engineRemoveShaderFromWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) removePaintjob2(player) end end addEvent( "removePJ2", true ) addEventHandler( "removePJ2", getLocalPlayer(), removePaintjob2 ) function removePaintjob() triggerServerEvent ( "removePJ", resourceRoot, getLocalPlayer() ) end addCommandHandler ("removepaintjob",removePaintjob) Shader: texture TX0; technique tec0 { pass P0 { Texture[0] = TX0; } } La cosa es que con esto al ponerle el paintjob no me cambia el vehiculo... ahora estoy usando un bus modificado pero tampoco, intente ponerle el nombre al .PNG de la textura q usa el .BUS, pero tampoco lo cambia, sabrias porqué? Al cambiar "vehiclegrunge256", getPedOccupiedVehicle(player) ) por la textura original que deberia ser pude, Muchas gracias!! Link to comment
TheBakkeseKing Posted January 24, 2019 Share Posted January 24, 2019 On 14/09/2017 at 08:02, Starztec said: function addPaintjob(commandName,paintjobID) me = getLocalPlayer() if isPedInVehicle ( me ) then triggerServerEvent ( "addPJ", resourceRoot, tonumber(paintjobID), me ) end end addCommandHandler ("addpaintjob",addPaintjob) function addPaintjob2(paintjobID,player) if paintjobID == 1 then myTexture = dxCreateTexture( "paintjob1.png" ) elseif paintjobID == 2 then myTexture = dxCreateTexture( "paintjob2.png" ) elseif paintjobID == 3 then myTexture = dxCreateShader( "paintjob3.png" ) elseif paintjobID == 4 then myTexture = dxCreateShader( "paintjob4.png" ) elseif paintjobID == 5 then myTexture = dxCreateTexture( "paintjob5.png" ) elseif paintjobID == 6 then myTexture = dxCreateTexture( "paintjob6.png" ) else if player == getLocalPlayer() then outputChatBox ("There is no such paintjob ID!") return end end engineRemoveShaderFromWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) shader_cars, tec = dxCreateShader ( "shader.fx" ) engineApplyShaderToWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) dxSetShaderValue ( shader_cars, "TX0", myTexture ) end addEvent( "addPJ2", true ) addEventHandler( "addPJ2", getLocalPlayer(), addPaintjob2 ) function removePaintjob2(player) if engineApplyShaderToWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) then me = getLocalPlayer() engineRemoveShaderFromWorldTexture ( shader_cars, "vehiclegrunge256", getPedOccupiedVehicle(player) ) removePaintjob2(player) end end addEvent( "removePJ2", true ) addEventHandler( "removePJ2", getLocalPlayer(), removePaintjob2 ) function removePaintjob() triggerServerEvent ( "removePJ", resourceRoot, getLocalPlayer() ) end addCommandHandler ("removepaintjob",removePaintjob) Shader: texture TX0; technique tec0 { pass P0 { Texture[0] = TX0; } } La cosa es que con esto al ponerle el paintjob no me cambia el vehiculo... ahora estoy usando un bus modificado pero tampoco, intente ponerle el nombre al .PNG de la textura q usa el .BUS, pero tampoco lo cambia, sabrias porqué? Al cambiar "vehiclegrunge256", getPedOccupiedVehicle(player) ) por la textura original que deberia ser pude, Muchas gracias!! Tengo el mismo problema, quiero añadir Paintjobs custom pero no se hacerlo. ¿Me podrias ayudar? 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