Jump to content

[APORTE] Ropa de CJ personalizada con shaders


Recommended Posts

@depato123 Esto no tiene nada que ver con el script que realicé para vosotros. Aquí muestro como cambiar las texturas de una ropa, debido a que, tuve en su momento una duda con ello y quisiera compartirlo para que así otros no la tengan.

PD: Tampoco tengo por qué darte explicaciones.

 

Edited by aka Blue
Link to comment

El acuerdo fue por un script que sustituyera la cabeza de cj y luego la ropa de éste mismo, también el acuerdo era que guardarías la confidencialidad del script y aquí vienes a publicar parte del código y cómo lo hiciste. Y no sé por qué dices "vosotros" si yo te pagué a ti para que el código sea pasado, una vez terminado, a mi. A nadie más. 

Link to comment

@depato123 En ningún momento he mencionado tú servidor o algo relacionado al mismo. Simplemente he hecho un post cualquiera, no sé que es lo que estás intentando buscar por aquí.

PD: Que yo sepa, la parte que tú querías era transformar el cuerpo de CJ en blanco, no hacer ropas personalizadas para el mismo.

Edited by aka Blue
Link to comment

Pido disculpas por meterme, pero, según mi opinión, que el script sea vendido y tenga cierta confidencialidad, no implica que sea olvidado por completo el sistema por el vendedor, que comparta algo parecido en la comunidad no le veo el problema, diferente es que hablara directamente sobre tu servidor, y diera el mismo script, sin ningún cambio.

Es solo mi opinión, aprovecho para agradecerle a @aka Blue por sus excelentes aportes, me han ayudado bastante.  

Link to comment

El tema está en que el aporte no tiene absolutamente nada que ver con lo que yo hice para él. No sé, a lo mejor estoy loco, pero... ¿tiene que ver el color de la piel con una camiseta personalizada? Quizás en temas de scripting sí, porque usa la misma textura al aplicar el shader, pero aquí no vengo a compartir nada sobre lo que le he vendido.

@Epson Gracias y no hace falta agradecer. Simplemente quiero echar una mano a la gente que tiene los mismos problemas que yo tuve en su momento.

  • Like 1
Link to comment

No sé si tenga algo que ver, pero, ¿sabes si puedo hacer algo similar, pero para cambiar el color de un objeto? algo así como agarrar una puerta y ponerle un color púrpura, amarillo, rojo, amarillo, etc. No encontré el mejor ejemplo pero me refiero a esto (tampoco sé si se necesitan shaders, pero por lo que se ve, sí):

(tampoco quiero que me des una explicación de TODO, porque ya en el video está, pero quiero saber si puedo usar el mismo procedimiento para cambiarle el color a un objeto)

ueA86.jpg

Edited by Hit+
Link to comment

Se hace mediante shaders. Veré que puedo hacer y si tengo una respuesta la publico por aquí, pero sí, estoy seguro de que es por shaders.

Efectivamente. Si no me equivoco, usa éste shader que me habian pasado para cambiar los colores de los coches:

Spoiler

float r;
float g;
float b;
float a;

technique tec0
{
    pass P0
    {
        MaterialAmbient = float4(r, g, b, a);
        MaterialDiffuse = float4(r, g, b, a);
        MaterialEmissive = float4(r, g, b, a);
        MaterialSpecular = float4(r, g, b, a);

        AmbientMaterialSource = Material;
        DiffuseMaterialSource = Material;
        EmissiveMaterialSource = Material;
        SpecularMaterialSource = Material;

        ColorOp[0] = SELECTARG1;
        ColorArg1[0] = Diffuse;

        Lighting = true;
    }
}

 

Después, al aplicar el shader, en el dxSetShaderValue, colocas lo siguiente:

dxSetShaderValue( shader, "r", 255 )
dxSetShaderValue( shader, "g", 0 )
dxSetShaderValue( shader, "b", 0 )
dxSetShaderValue( shader, "a", 150 )

PD: Creo que funciona así. Aplicas el shader al objeto y le pones esos colores. Espero que te sirva :) 

Edited by aka Blue
Link to comment
On 3/1/2017 at 1:09 PM, aka Blue said:

Se hace mediante shaders. Veré que puedo hacer y si tengo una respuesta la publico por aquí, pero sí, estoy seguro de que es por shaders.

Efectivamente. Si no me equivoco, usa éste shader que me habian pasado para cambiar los colores de los coches:

  Hide contents


 
float r;
float g;
float b;
float a;

technique tec0
{
    pass P0
    {
        MaterialAmbient = float4(r, g, b, a);
        MaterialDiffuse = float4(r, g, b, a);
        MaterialEmissive = float4(r, g, b, a);
        MaterialSpecular = float4(r, g, b, a);

        AmbientMaterialSource = Material;
        DiffuseMaterialSource = Material;
        EmissiveMaterialSource = Material;
        SpecularMaterialSource = Material;

        ColorOp[0] = SELECTARG1;
        ColorArg1[0] = Diffuse;

        Lighting = true;
    }
}

 

Después, al aplicar el shader, en el dxSetShaderValue, colocas lo siguiente:


dxSetShaderValue( shader, "r", 255 )
dxSetShaderValue( shader, "g", 0 )
dxSetShaderValue( shader, "b", 0 )
dxSetShaderValue( shader, "a", 150 )

PD: Creo que funciona así. Aplicas el shader al objeto y le pones esos colores. Espero que te sirva :) 

Voy a probarlo cuando pueda, gracias.

Link to comment
  • 2 weeks later...

@Hit+ Hoy me dio por probarlo ya que quería hacer otras cosas también, y, efectivamente, funciona como te dije. El único problema es que el shader debe ser un valor menos de 0.0, es decir, 0.06 está perfecto. Aquí te dejo el código que utilicé y una muestra:

Spoiler

2zZmtw1.png

Spoiler

addCommandHandler( "test",
	function( cmd )
		local shader = dxCreateShader( "shader.fx", 0, 0, true, "ped" )
		setElementModel( localPlayer, 0 )
		addPedClothes( localPlayer, "tshirtwhite", "tshirt", 0 )
		engineApplyShaderToWorldTexture( shader, "cj_ped_head", localPlayer )
		dxSetShaderValue( shader, "r", 255 ) 
		dxSetShaderValue( shader, "g", 0 ) 
		dxSetShaderValue( shader, "b", 0 ) 
		dxSetShaderValue( shader, "a", 0.06 )
		outputChatBox( "Te pones la chaqueta azul" )
	end
)

 

 

  • Like 1
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...