Lalalu Posted February 16, 2023 Share Posted February 16, 2023 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
Fonz Posted February 20, 2023 Share Posted February 20, 2023 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. 1 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