Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local SHADER_CODE = base64Decode("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AAAAAAcAAAAAAAAAAAAAAAcAAAAEAAAAAAAAAAcAAAAIAAAAAQBQoAIAAAAAAAAABwAAAAgAAAAAAAAAAQAAABkAAAAAAAAABAAAAAgAAAABAFCgAgAAAAAAAAAHAAAACAAAAAAAAAABAAAACQAAAAAAAAAHAAAAAAAAAAEAQBABAAAAAAAAAAcAAAAAAAAAAAAAAAcAAAAEAAAAAQAQEAEAAAAAAAAABwAAAAQAAAAAAAAABwAAAAEAAAABAECgAgAAAAAAAAAHAAAAAQAAAAAAAAAHAAAAAAAAAAAAAAAHAAAABAAAAAEAUKACAAAAAAAAAAcAAAAEAAAAAAAAAAEAAAAKAAAAAAAAAAcAAAAAAAAAAgBQoAIAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAwAAAAAAAAABwAAAAQAAAABAECgAgAAAAAAAAAHAAAABQAAAAAAAAAHAAAABAAAAAAAAAAHAAAAAAAAAAEAUKACAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAALAAAAAAAAAAcAAAAEAAAAAQBAoAIAAAAAAAAABwAAAAQAAAAAAAAAAQAAAA4AAAAAAAAABwAAAAAAAAABAEAQAQAAAAAAAAAHAAAAAAAAAAAAAAAHAAAABAAAAAEAUKACAAAAAAAAAAcAAAAEAAAAAAAAAAEAAAAPAAAAAAAAAAcAAAAAAAAAAQBAoAIAAAAAAAAABwAAAAAAAAAAAAAAAQAAABAAAAAAAAAABwAAAAQAAAABAIAQAQAAAAAAAAAHAAAABAAAAAAAAAAHAAAAAQAAAAEAUKACAAAAAAAAAAcAAAABAAAAAAAAAAEAAAARAAAAAAAAAAcAAAAEAAAAAQBAEAEAAAAAAAAABwAAAAQAAAAAAAAABwAAAAAAAAABAECgAgAAAAAAAAACAAAABAAAAAAAAAABAAAAGgAAAAAAAAAHAAAAAQAAAAEAEKACAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAbAAAAAAAAAAcAAAAEAAAAAQAAEAEAAAAAAAAABwAAAAEAAAAAAAAABAAAABAAAAABAACgAgAAAAAAAAAHAAAABAAAAAAAAAABAAAACAAAAAAAAAAHAAAAAQAAAAEAEBABAAAAAAAAAAcAAAABAAAAAAAAAAcAAAAEAAAAAQBQoAIAAAAAAAAABwAAAAEAAAAAAAAAAQAAAA4AAAAAAAAABAAAAAwAAAABAECgAgAAAAAAAAAHAAAABAAAAAAAAAABAAAACAAAAAAAAAAHAAAAAQAAAAEAUKACAAAAAAAAAAcAAAABAAAAAAAAAAEAAAASAAAAAAAAAAcAAAAEAAAAAQBAoAIAAAAAAAAABwAAAAAAAAAAAAAABwAAAAQAAAAAAAAABwAAAAgAAAABABAQAQAAAAAAAAAHAAAAAAAAAAAAAAAHAAAABAAAAAEAQKACAAAAAAAAAAcAAAAEAAAAAAAAAAEAAAAOAAAAAAAAAAcAAAAAAAAAAQAAMAMAAAAAAAAABwAAAAAAAAAAAAAAAQAAABQAAAAAAAAAAQAAABUAAAAAAAAABAAAABgAAAABAACgAgAAAAAAAAAHAAAACAAAAAAAAAABAAAACAAAAAAAAAAHAAAAAAAAAAEAUKACAAAAAAAAAAcAAAAAAAAAAAAAAAEAAAATAAAAAAAAAAcAAAAEAAAAAQAwEAEAAAAAAAAABwAAAAQAAAAAAAAABAAAAAQAAAABAAAQAQAAAAAAAAAHAAAABAAAAAAAAAAEAAAAAAAAAPDw8PAPDw8P//8AAFEAAAUHAA+gOdZPQUx3nEIAAAAAjO4qR1EAAAUIAA+gg/kiPgAAAD/bD8lA2w9JwFEAAAUJAA+gvTeGNs3MTD9mZmY/zcxMPVEAAAUKAA+gzczMPQAAgD8AAAAAzcxMPlEAAAULAA+gmpmZPs3MzD6amRk/MzMzP1EAAAUMAA+gdMlsPv3fWD5WAZo+zczMPVEAAAUNAA+gAAAAPwAAAL8AAIA/AAAgQlEAAAUOAA+gd/RKP2HLKD8AAAAAAACAP1EAAAUPAA+gtxoUP42vWT8AAAAAAACAP1EAAAUQAA+gYAd0P+TFsz4AAAAAAACAPx8AAAIFAACAAAADkB8AAAIAAACQAAgPoAUAAAMAAAGAAAAAoAAAVZATAAACAAACgAAAAIACAAADAAABgAAAVYEAAACABQAAAwAAAYAAAACAAQAAoAEAAAIAAAKAAgAAoFoAAAQAAAGAAADkgAcA5KAHAKqgBAAABAAAAYAAAACACAAAoAgAVaATAAACAAABgAAAAIAEAAAEAAABgAAAAIAIAKqgCAD/oCUAAAIBAAKAAAAAgAUAAAMAAAGAAQBVgAcA/6ATAAACAAABgAAAAIACAAADAAARgAAAAIAJAFWgAgAAAwAAAYAAAACBCQCqoAUAAAMAAAGAAAAAgAQAAKAEAAAEAAAIgAAAAIAKAACgAABVkAUAAAMBAAGAAAAAoAAAAJATAAACAQACgAEAAIACAAADAQABgAEAVYEBAACABQAAAwEAAYABAACAAQAAoAEAAAIBAAqAAgAAoFoAAAQBAAGAAQDkgAcA5KAHAKqgBAAABAEAAYABAACACAAAoAgAVaATAAACAQABgAEAAIAEAAAEAQABgAEAAIAIAKqgCAD/oCUAAAICAAKAAQAAgAUAAAMBAAGAAgBVgAcA/6ATAAACAQABgAEAAIACAAADAQABgAEAAIADAAChAgAAAwEAA4ABAACADQDkoAIAAAMBAAGAAQAAgQ0AqqAFAAADAQABgAEAAIANAP+gWAAABAEAAYABAFWACQAAoAEAAIAFAAADAQACgAEAAIAAAFWQBgAAAgEAAYABAACAEwAAAgIAAYABAFWAAgAAAwEAAoABAFWAAgAAgQUAAAMBAASAAQAAgAEAVYBaAAAEAQABgAEA7oAHAOSgBwCqoAQAAAQBAAGAAQAAgAgAAKAIAFWgEwAAAgEAAYABAACABAAABAEAAYABAACACACqoAgA/6AlAAACAgACgAEAAIAFAAADAQABgAIAVYAHAP+gEwAAAgEAAYABAACABQAAAwEAAYABAACABAAAoAUAAAMBAAGAAQAAgAkA/6AFAAADAQABgAEAAIAGAACgAgAAAwEABoACAACgAADQkFoAAAQBAAKAAQDpgAcA5KAHAKqgBAAABAEAAoABAFWACAAAoAgAVaATAAACAQACgAEAVYAEAAAEAQACgAEAVYAIAKqgCAD/oCUAAAICAAKAAQBVgAUAAAMBAAKAAgBVgAcA/6ATAAACAQACgAEAVYAFAAADAQACgAEAVYABAACABAAABAEAAYABAFWACABVoAEAAIABAAACAAAUgAAAAJAEAAAEAAASgAEAAIAKAACgAACqgEIAAAMCAA+AAADugAAI5KBCAAADAwAPgAAA7YAACOSgBAAABAAAEYABAACACgD/oAAAVYAFAAADAwAPgAMA5IAKAGmgBAAABAIAD4ACAOSACgBpoAMA5IBCAAADAwAPgAAA7IAACOSgBAAABAAAFIABAACACwAAoAAAAIAEAAAEAgAPgAMA5IAQAOSgAgDkgEIAAAMDAA+AAADugAAI5KAEAAAEAAASgAEAAIALAFWgAACqgAQAAAQCAA+AAwDkgA4A5KACAOSAQgAAAwMAD4AAAO2AAAjkoAQAAAQAABGAAQAAgAgAVaAAAFWABAAABAIAD4ADAOSADwDkoAIA5IBCAAADAwAPgAAA7IAACOSgBAAABAAAFIABAACACwCqoAAAAIAEAAAEAgAPgAMA5IAKAGagAgDkgEIAAAMDAA+AAADugAAI5KAEAAAEAAASgAEAAIALAP+gAACqgAQAAAQCAA+AAwDkgA8AxqACAOSAQgAAAwMAD4AAAO2AAAjkoAQAAAQAABGAAQAAgAkAVaAAAFWABAAABAEAEYABAACACQCqoAAAAIBCAAADBAAPgAAA7IAACOSgAQAAAgEAAoAAAP+AQgAAAwAAD4ABAOSAAAjkoAQAAAQBAA+AAwDkgA4AxqACAOSABAAABAEAD4AEAOSAEADGoAEA5IAEAAAEAAAPgAAA5IAKAFqgAQDkgAUAAAMACA+AAADkgAwA5KD//wAAAAAAAAAAAAD/////AAAAAAAAAABwAQAAAAL+//7/NQBDVEFCHAAAAJ8AAAAAAv7/AQAAABwAAAAAAAAgmAAAADAAAAACAAAABAAAAEgAAABYAAAAZ1dvcmxkVmlld1Byb2plY3Rpb24Aq6urAwADAAQABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2c18yXzAATWljcm9zb2Z0IChSKSBITFNMIFNoYWRlciBDb21waWxlciA5LjI3Ljk1Mi4zMDIyAFEAAAUEAA+gAACAPwAAAAAAAAAAAAAAAB8AAAIAAACAAAAPkB8AAAIFAACAAQAPkAQAAAQAAA+AAAAkkAQAQKAEABWgCQAAAwAAAcAAAOSAAADkoAkAAAMAAALAAADkgAEA5KAJAAADAAAEwAAA5IACAOSgCQAAAwAACMAAAOSAAwDkoAEAAAIAAAPgAQDkkP//AAD/////AwAAAAAAAAAAAAAAAQAAAA8AAABteVNjcmVlblNvdXJjZQAA");
- -- export to mta and writted code by: XaskeL
- -- shader code from glsl by: Coolok
- CGlitch = {
- GlitchPower = 0.001; -- Glitch Power (0.0f to 1.0f);
- ScreenSize = { guiGetScreenSize() }; -- default screen size
- -- example[1]: CGlitch:destroy()
- -- example[2]: CGlitch.destroy()
- -- function for destroy glitch effects
- destroy = function(self)
- if CGlitch.AlreadyHandlered then
- removeEventHandler('onClientHUDRender', root, CGlitch.draw);
- removeEventHandler('onClientPreRender', root, CGlitch.update);
- CGlitch.AlreadyHandlered = false;
- end
- if self.Shader then
- destroyElement(self.Shader);
- self.Shader = false;
- end
- if self.MyScreenSource then
- destroyElement(self.MyScreenSource);
- self.MyScreenSource = false;
- end
- return true;
- end;
- -- function for update screen source
- update = function()
- if CGlitch.MyScreenSource then
- dxUpdateScreenSource(CGlitch.MyScreenSource);
- end
- end;
- -- function for draw glitch effect
- draw = function()
- if CGlitch.Shader then
- dxDrawImage(0, 0, CGlitch.ScreenSize[1], CGlitch.ScreenSize[2], CGlitch.Shader)
- end
- if (CGlitch.fTime and CGlitch.fTime < getTickCount()) then
- CGlitch:destroy();
- end
- end;
- -- example [1]: CGlitch:show(500);
- -- example [2]: CGlitch.show(CGlitch, 500);
- -- params: @self (table CGlitch), 500 (time in milliseconds or false for permanently drawing)
- show = function(self, fTime)
- -- create screen source & shader
- if not self.Shader then
- self.MyScreenSource = dxCreateScreenSource(CGlitch.ScreenSize[1], CGlitch.ScreenSize[2]);
- self.Shader = dxCreateShader(SHADER_CODE);
- -- set default parametres
- dxSetShaderValue(self.Shader, 'GlitchPower', self.GlitchPower);
- dxSetShaderValue(self.Shader, 'myScreenSource', self.MyScreenSource);
- dxSetShaderValue(self.Shader, 'ScreenSize', { CGlitch.ScreenSize[1], CGlitch.ScreenSize[2] });
- dxSetShaderValue(self.Shader, 'PixelSize', { 1 / CGlitch.ScreenSize[1], 1 / CGlitch.ScreenSize[2] });
- end
- -- set work time
- if fTime then self.fTime = getTickCount() + fTime; else self.fTime = false; end
- -- create event handlers
- if (not self.AlreadyHandlered) then
- addEventHandler('onClientPreRender', root, CGlitch.update);
- addEventHandler('onClientHUDRender', root, CGlitch.draw);
- self.AlreadyHandlered = true;
- end
- end;
- };
- --[[ example:
- CGlitch:show(500); -- show 500 ms
- --]]
- --[[ example:
- CGlitch:show(false); -- show permanently
- addCommandHandler('disableglitch', function()
- CGlitch:destroy();
- end )
- --]]
- -- CGlitch:show(500); -- show 500 ms
- -- setTimer(function() CGlitch:show(500); end, 400, 1) -- show 500 ms
- -- setTimer(function() CGlitch:show(500); end, 800, 1) -- show 500 ms
- -- setTimer(function() CGlitch:show(500); end, 1200, 1) -- show 500 ms
- -- setTimer(function() CGlitch:show(500); end, 800, 1) -- show 500 ms
- local MarkerPos = { x = 0.0; y = 0.0; z = 2.0; };
- local theMarker = createMarker(MarkerPos.x, MarkerPos.y, MarkerPos.z, "cylinder", 1.5, 255, 255, 0, 170)
- addEventHandler('onClientMarkerHit', theMarker, function()
- CGlitch:show(500);
- end);
Add Comment
Please, Sign In to add comment