Jump to content

[AYUDA] Shaders World


Lalalu

Recommended Posts

Hola que tal, necesito de vuestra ayuda para saber si es posible lo siguiente: 

Como hago para aplicar un shader donde todos los objetos del mapa e incluso los objetos custom se vean negros totalmente de forma localplayer que solo lo vea el jugador que lo active y luego desactive si quiere, sin que este shader afecte al jugador o sea que el ped siga viéndose normal. Tengo problemas solo con la creación del shader, alguien podría ayudarme o explicarme?

Link to comment

El siguiente es un ejemplo de shader que se puede utilizar para lograr el efecto deseado:

uniform sampler2D texture0;

void main()
{
    vec4 color = texture2D(texture0, gl_TexCoord[0].st);
    float gray = (color.r + color.g + color.b) / 3.0;
    gl_FragColor = vec4(vec3(gray), color.a);
}

Este shader convierte cada píxel en su equivalente en escala de grises, lo que resulta en una imagen en blanco y negro. El shader toma una textura como entrada (la variable "texture0" en el código), que será la textura del objeto al que se aplica el shader.

Para aplicar este shader solo al jugador local y no al ped, puedes usar la función "isElementStreamedIn" para verificar si el objeto está siendo transmitido al jugador antes de aplicar el shader.

Aquí hay un ejemplo de cómo se podría usar esta función:

local localPlayer = getLocalPlayer()
local ped = getElementData(localPlayer, "attachedPed") -- suponiendo que el ped está vinculado al jugador local de alguna manera
local object = -- el objeto al que se aplicará el shader

if isElementStreamedIn(object) and not isElementStreamedIn(ped) then
    dxSetShader(object, "shader.fx")
else
    dxSetShader(object, false)
end

Este código verifica si el objeto está siendo transmitido al jugador y si el ped no lo está. Si se cumplen ambas condiciones, se aplica el shader al objeto. Si no, se desactiva el shader.

Espero que esto te ayude a crear el shader que necesitas. Si tienes alguna otra pregunta, no dudes en preguntar aquí o en la sección de es-scripting en el servidor de Discord de MTA para obtener ayuda en vivo.

  • Thanks 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...