eqFoxim Posted April 21, 2023 Share Posted April 21, 2023 (edited) Ola boa tarde, estava olhando o video do Lord Henry em questões as setas realistas em carros Tenho noção que é com uso de shader para poder realizar este projeto, porem não sei direitos os passos a serem seguidos e qual shader usar para isso Existe ate a opção de usar custom_coronas para criar talvez pontos de luzes porem não fica um negocio bonito e realista, queria que as setas, luzes de emergencias etc forem vinculados ao farol do veiculo Se alguem poder me ajudar agradeço! Edited April 22, 2023 by Lord Henry Link incluído. Link to comment
Other Languages Moderators Lord Henry Posted April 22, 2023 Other Languages Moderators Share Posted April 22, 2023 (edited) Faça o veículo com texturas customizadas nas setas. (a textura pode ser igual, mas tem que ter nome diferente). Nas setas esquerdas, coloquei uma textura com nome vehiclelights32Left, nas setas da direita, vehiclelights32Right. Então o shader basicamente só precisa substituir essas texturas pela versão acesa quando for pra acender e pela versão normal quando for apagar. Sobre o shader.fx usar, basta usar o shader simples de substituir texturas. Exemplo na Wiki: https://wiki.multitheftauto.com/wiki/Element/Shader#Simple Obs: Obviamente as texturas customizadas precisam estar incluídas no TXD do veículo. Edited April 22, 2023 by Lord Henry Link to comment
eqFoxim Posted April 23, 2023 Author Share Posted April 23, 2023 Ola, vi a sua resposta e tentei fazer um sistema de setas --[[ _______ ______ ___ ___ __ .___ ___. | ____| / __ \ \ \ / / | | | \/ | | |__ | | | | \ V / | | | \ / | | __| | | | | > < | | | |\/| | | | | `--' | / . \ | | | | | | |__| \______/ /__/ \__\ |__| |__| |__| Todos direitos reservados para Strong Roleplay copyright© ]]-- -- dxSetShaderValue( shader, "Tex0", texture ) local definitions = {}; definitions.timerArrows = {}; function definitions.startResource(name) print("["..getResourceName(name).."]: Sistema iniciado com sucesso! - SRP ©") definitions.shader = dxCreateShader("assets/shaders/shader.fx", 0, 0, false, "vehicle") if ( definitions.shader and getElementType(definitions.shader) == "shader" ) then print("["..getResourceName(name).."]: Shader criado com sucesso! - SRP ©") end end addEventHandler("onClientResourceStart", resourceRoot, definitions.startResource, true, "normal") function definitions.pressKey(button, press) if not ( press ) then return end if ( button == "," ) then local vehicle = getPedOccupiedVehicle(localPlayer) if ( vehicle and getElementType(vehicle) == "vehicle" ) then if ( definitions.timerArrows[vehicle] and isTimer(definitions.timerArrows[vehicle]) ) then killTimer(definitions.timerArrows[vehicle]) definitions.timerArrows[vehicle] = nil dxSetShaderValue(definitions.shader, config.texturesNames["arrows"]["left"], false) print("FIM LEFT") return end definitions.timerArrows[vehicle] = setTimer(function(vehicle) if not ( vehicle and getElementType(vehicle) == "vehicle" ) then return end dxSetShaderValue(definitions.shader, config.texturesNames["arrows"]["left"], true) print("OK LEFT") end, 400, 0, vehicle) end elseif ( button == "." ) then local vehicle = getPedOccupiedVehicle(localPlayer) if ( vehicle and getElementType(vehicle) == "vehicle" ) then if ( definitions.timerArrows[vehicle] and isTimer(definitions.timerArrows[vehicle]) ) then killTimer(definitions.timerArrows[vehicle]) definitions.timerArrows[vehicle] = nil dxSetShaderValue(definitions.shader, config.texturesNames["arrows"]["right"], false) print("FIM RIGHT") return end definitions.timerArrows[vehicle] = setTimer(function(vehicle) if not ( vehicle and getElementType(vehicle) == "vehicle" ) then return end dxSetShaderValue(definitions.shader, config.texturesNames["arrows"]["right"], true) print("OK RIGHT") end, 400, 0, vehicle) end end end addEventHandler("onClientKey", getRootElement(), definitions.pressKey, true, "normal") Porem, minha duvida é o seguinte Eu terei que colocar uma textura modificada no farol, na seta direita e na esquerda, porem essa textura como eu iria ativar ela? Tentei fazer pelo dxSetShaderValue, colocando apenas o nome da textura e setando ela como true ou false, seria dessa maneira? Existe alguma maneira de textar com veiculos padrão do gta sa? se eu n me engano alguns veiculos ja vem com uma textura de luzes ligadas ou desligadas, queria apenas um jeito de testar se o codigo esta funcionando ou não. Obrigado pelo ajuda Lord! Link to comment
Other Languages Moderators Lord Henry Posted April 23, 2023 Other Languages Moderators Share Posted April 23, 2023 (edited) 3 hours ago, eqFoxim said: Eu terei que colocar uma textura modificada no farol, na seta direita e na esquerda, porem essa textura como eu iria ativar ela? Não. Nas luzes do farol e freios você não mexe. Deixe as originais. Só troque as texturas das setas pelas customizadas. Pra "acender" a textura, você apenas troca ela pela versão acesa. A versão acesa da textura customizada não precisa estar no TXD do veículo, só a versão apagada. 3 hours ago, eqFoxim said: Tentei fazer pelo dxSetShaderValue, colocando apenas o nome da textura e setando ela como true ou false, seria dessa maneira? No dxSetShaderValue você coloca a textura acesa que vai substituir a versão apagada da textura customizada. 3 hours ago, eqFoxim said: Existe alguma maneira de textar com veiculos padrão do gta sa? Não. Precisa adaptar o veículo se quiser usar setas nele. Os veículos originais usam a mesma textura dos faróis e freios nas setas, não tem como diferenciar as texturas das setas e dos faróis. Se você tentar fazer com veículos originais, você vai acabar substituindo as luzes dos faróis e freios junto. Edited April 23, 2023 by Lord Henry 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