Eu estava brincando por ai no MTA, e encontrei um mod muito foda em um sv, que deixam os gráficos do gta cartoons, os codes:
shad.fx
e o .lua
c_cartoon.lua
queria saber se tem como passar um cleo ou sei la o que que faca isto
não consigo tirar print pq minha net é uma merda ;/ mais as configs eram essas:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Obrigado.
shad.fx
- Código:
texture screenSource;
float screensizex = 1920;
float screensizey = 1080;
float tol = 0.666;
sampler screen = sampler_state
{
Texture = (screenSource);
};
float getGS ( float4 Color )
{
float newColor = (Color.r+Color.g+Color.b);
return newColor;
}
float4 getEdge ( float2 Tex : TEXCOORD0 ) : COLOR0
{
float4 editedColor = (0,0,0,0);
float2 ox = float2(1/screensizex,0.0);
float2 oy = float2(0.0,1/screensizey);
float2 cp = Tex.xy;
float2 cl = cp - oy;
float4 pc = tex2D(screen,cl-ox); float g00 = getGS(pc);
pc = tex2D(screen,cl); float g01 = getGS(pc);
pc = tex2D(screen,cl+ox); float g02 = getGS(pc);
cl = cp;
pc = tex2D(screen,cl-ox); float g10 = getGS(pc);
pc = tex2D(screen,cl+ox); float g12 = getGS(pc);
cl = cp + oy;
pc = tex2D(screen,cl-ox); float g20 = getGS(pc);
pc = tex2D(screen,cl); float g21 = getGS(pc);
pc = tex2D(screen,cl+ox); float g22 = getGS(pc);
float sx = 0; sx -= g00; sx -= g01; sx -= g02; sx += g20; sx += g21; sx += g22;
float sy = 0; sy -= g00; sy += g02; sy -= g10; sy += g12; sy -= g20; sy += g22;
float off = sqrt(sx*sx+sy*sy);
if (off>tol) {
editedColor.a = 1;
}
return editedColor;
}
technique colorCorrection
{
pass P0
{
VertexShader = null;
PixelShader = compile ps_2_0 getEdge ( );
}
}
e o .lua
c_cartoon.lua
- Código:
local sx,sy = guiGetScreenSize()
local handled
local myCartoonShader, tec
function toggleCartoonShader(b)
if b then
if isElement(myCartoonShader) then
return
end
myCartoonShader, tec = dxCreateShader( "cartoon/shad.fx" )
if myCartoonShader then
screen = dxCreateScreenSource(sx,sy)
dxUpdateScreenSource(screen)
dxSetShaderValue(myCartoonShader, "screenSource", screen)
dxSetShaderValue(myCartoonShader, "screensizex", sx)
dxSetShaderValue(myCartoonShader, "screensizey", sy)
handled = addEventHandler("onClientHUDRender", root, renderShader)
return true
end
return false
else
if isElement(myCartoonShader) then
if handled then
removeEventHandler("onClientHUDRender", root, renderShader)
handled = nil
end
return destroyElement( myCartoonShader )
end
end
end
function renderShader()
dxSetRenderTarget()
dxUpdateScreenSource(screen)
dxDrawImage(0, 0, sx, sy, myCartoonShader)
end
queria saber se tem como passar um cleo ou sei la o que que faca isto
não consigo tirar print pq minha net é uma merda ;/ mais as configs eram essas:
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Obrigado.