Sign in to follow this  
aka Blue

[APORTE] Ropa de CJ personalizada con shaders

Recommended Posts

Pensé que ibas a cumplir el acuerdo pactado, yo te pagué para que guardes la confidencialidad del script solo para mi... y tu lo publicas como aporte abierto.

Share this post


Link to post

@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

Share this post


Link to post

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. 

Share this post


Link to post

@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

Share this post


Link to post

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.  

Share this post


Link to post

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

Share this post


Link to post

Bueno bueno... me ha encantado el sistema  la verdad que yo no tengo ni idea de usar shaders, pero a mi parecer el sistema esta muy completo! BUEN APORTE

Share this post


Link to post

No es gran cosa pero hace tiempo tenía pensado hacer como vestimentas solo para el staff y la verdad es que gracias a los shaders (que los puedes aplicar a un jugador en específico), logré hacerlo xd.

Share this post


Link to post

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+

Share this post


Link to post

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

Share this post


Link to post
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.

Share this post


Link to post

@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

Share this post


Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.