About
Synapse Z documentation
Environment
Script
Documentation of script-related Synapse Z environment functions
getscriptbytecode
string getscriptbytecode(target: <Script/function>)
gets roblox luau format bytecode of the specified target
getscriptclosure
function getscriptclosure(script: Script)
loads the script bytecode and returns the main function
getscripthash
string getscripthash(target: <Script/function>)
returns a hash of the bytecode of the specified target
getscriptthread
thread getscriptthread(script: Script)
returns the target script running thread, returns nil if not running
getsenv
table getsenv(script: Script)
returns the target script running thread environment, returns nil if not running
getcallingscript
Script getcallingscript()
returns the current thread caller script, returns nil if none
getthreadscript
Script getthreadscript(thread: thread)
returns the thread script, returns nil if none
decompile
string decompile(target: <Script/function>)
decompiles the specified target
getloadedmodules
table<ModuleScript> getloadedmodules()
returns a list of all loaded (required) modules
getrunningscripts
table<Script> getrunningscripts()
returns a list of all running scripts
disablescript
void disablescript(script: Script)
"disables" the script by setting the bytecode to return nil
Instance
Documentation of instance-related Synapse Z environment functions
cloneref
Instance cloneref(instance: Instance)
returns a cloned reference of the specified instance
compareinstances
bool compareinstances(instance1: Instance, instance2: Instance)
compares 2 instances useful for comparing normal instance references with cloned references
gethiddenproperty
any gethiddenproperty(instance: Instance, property_name: string)
gets the property of the specified instance, including types such as: BinaryString and SharedString
sethiddenproperty
void sethiddenproperty(instance: Instance, property_name: string, value: any)
sets the property of the specified instance, including types such as: BinaryString and SharedString
isscriptable
bool isscriptable(instance: Instance, property_name: string)
returns whenever the specified property is scriptable or not
isscriptable
void setscriptable(instance: Instance, property_name: string, scriptable: bool?)
sets whenever the specified property is scriptable or not
getproperties
table<string> getproperties(instance: Instance)
returns a list of instance property names
gethiddenproperties
table<string> gethiddenproperties(instance: Instance)
returns a list of instance hidden property names
getinstances
table<Instance> getinstances()
returns a list of all instances
getnilinstances
table<Instance> getnilinstances()
returns a list of all instances which are parented to nil
getscripts
table<Script> getscripts()
returns a list of all scripts (ignores core modules/scripts)
gethui
Instance gethui()
returns a hidden UI instance container
fireclickdetector
void fireclickdetector(click_detector: ClickDetector, distance: number?)
fires the specified click detector with optional distance
fireproximityprompt
void fireproximityprompt(proximity_prompt: ProximityPrompt)
fires the specified proximity prompt
firetouchinterest
void firetouchinterest(target: Part, toucher: Part, touching: bool)
begins/stops touching the specified target by the specified toucher depending on the touching parameter
isnetworkowner
bool isnetworkowner(part: Part)
returns whenever we own network ownership of the specified part
Filesystem
Documentation of filesystem-related Synapse Z environment functions
readfile
string readfile(path: string)
returns file contents of the specified path
writefile
void writefile(path: string, content: string)
writes the file content to the specified path
appendfile
void appendfile(path: string, content: string)
appends the file content of the specified path
loadfile
function loadfile(path: string)
loads the specified path file content
isfile
bool isfile(path: string)
returns whenever the specified path is a file
delfile
void delfile(path: string)
deletes the file at the specified path
makefolder
void makefolder(path: string)
creates a folder at the specified path
isfolder
bool isfolder(path: string)
returns whenever the specified path is a folder
delfolder
void delfolder(path: string)
deletes the folder at the specified path
listfiles
table<string> listfiles(path: string)
lists all files and folders in the specified path
getcustomasset
string getcustomasset(path: string)
writes the specified path file content to the roblox directory and returns a rbxasset
Hooking
Documentation of hooking-related Synapse Z environment functions
hookfunction
function hookfunction(target: function, hook: function, filter: Filter?)
hooks the target function with optional hook filter, returns a clone of the target function
restorefunction
void restorefunction(target: function)
restores the target function, errors if not hooked
isfunctionhooked
bool isfunctionhooked(target: function)
returns whenever the target function is hooked or not
hookmetamethod
function hookmetamethod(object: any, metamethod: string, hook: function, arg_guard: bool?, filter: Filter?)
hooks the target object metamethod with optional arg guard and hook filter, returns a clone of the target object metamethod
restoremetamethod
void restoremetamethod(object: any, metamethod: string)
restores the target object metamethod, errors if not hooked
ismetamethodhooked
bool ismetamethodhooked(object: any, metamethod: string)
returns whenever the target object metamethod is hooked or not
hookproto
function hookfunction(target: function, hook: function)
target function must be a lua function hooks the target function, returns a clone of the target function
restoreproto
void restorefunction(target: function)
target function must be a lua function restores the target function, errors if not hooked
isfunctionhooked
bool isprotohooked(target: function)
target function must be a lua function returns whenever the target function is hooked or not
getfilter
function getfilter(unfiltered: function, filtered: function, filter: Filter)
converts specified functions into a "filtered" function, see Filter
Functions
Documentation of function-related Synapse Z environment functions
islclosure
bool islclosure(target: function)
returns whenever the target function is a lua function or not
iscclosure
bool iscclosure(target: function)
returns whenever the target function is a c function or not
isexecutorclosure
bool isexecutorclosure(target: function)
returns whenever the target function is an executor function or not
newlclosure
function newlclosure(target: function)
returns a new lua function of the specified function
newcclosure
function newcclosure(target: function, name: string?)
returns a new c function of the specified function with optional function name
clonefunction
function clonefunction(target: function)
returns a clone of the specified function
getfunctionbytecode
string getfunctionbytecode(target: function)
Input
Documentation of input-related Synapse Z environment functions
iswindowactive
bool iswindowactive()
returns whenever the roblox window is focused
mouse1click
void mouse1click(x: number?, y: number?)
clicks the left mouse button with optional x and y parameters
mouse1press
void mouse1press(x: number?, y: number?)
presses the left mouse button with optional x and y parameters
mouse1release
void mouse1release(x: number?, y: number?)
releases the left mouse button with optional x and y parameters
mouse2click
void mouse2click(x: number?, y: number?)
clicks the right mouse button with optional x and y parameters
mouse2press
void mouse2press(x: number?, y: number?)
presses the right mouse button with optional x and y parameters
mouse2release
void mouse2release(x: number?, y: number?)
releases the right mouse button with optional x and y parameters
mousemoveabs
void mousemoveabs(x: number, y: number)
moves the mouse to specified x and y coordinates
mousemoverel
void mousemoverel(x: number, y: number)
relatievly moves the mouse to specified x and y coordinates
mousescroll
void mousescroll(x: number, y: number)
scrolls the mouse with the specified x and y coordinates
keyclick
void keyclick(keycode: number)
clicks the key representing the specified keycode
keypress
void keypress(keycode: number)
presses the key representing the specified keycode
keyrelease
void keyrelease(keycode: number)
releases the key representing the specified keycode
iskeydown
bool iskeydown(keycode: number)
returns whenever the key representing the specified keycode is down or not
iskeytoggled
bool iskeytoggled(keycode: number)
returns whenever the key representing the specified keycode is toggled or not
Tables
Documentation of table-related Synapse Z environment functions
getgenv
table getgenv()
returns exploit global environment
getrenv
table getrenv()
returns roblox global environment
getreg
table getreg()
returns the current state registry table
getgc
table getgc()
returns the current state gc table
filtergc
table filtergc(type: string, special_filter: table?, return_one: bool?)
returns the current state gc table with filtered objects, special_filter can be used with types:
table
Field | Type | Description |
---|---|---|
Keys | table<any> | key indexes that must match all table key indexes |
Values | table<any> | values that must match all table values |
KeyValuePairs | table<any:any> | key indexes and values that must match all table key indexes and values |
Metatable | table | table must have the specified metatable |
function
Field | Type | Description |
---|---|---|
Name | string | function name must match the specified name |
Constants | table<any> | constants that must match all function constants |
Upvalues | table<any> | upvalues that must match all function upvalues |
IgnoreSyn | bool | ignore synapse functions |
Proto | function | proto that must match the function proto |
Environment | table | environment that the function must match |
Hash | string | hash that the function must match |
StartLine | number | function starting line that the function must match (-1 to match c functions) |
userdata
Field | Type | Description |
---|---|---|
Tag | number | the userdata tag that the userdata must match (see getuserdatatag for info) |
Metatable | table | userdata must have the specified metatable |
getrawmetatable
table getrawmetatable(object: any)
returns the metatable of the specified object, bypassing __metatable
getrawmetatable
table getrawmetatable(object: any, metatable: <table/nil>)
sets the metatable of the specified object, bypassing __metatable
setreadonly
void setreadonly(table: table, readonly: bool)
sets the table readonly flag
isreadonly
bool isreadonly(table: table)
returns whenever the table is readonly or not
setuntouched
void setuntouched(table: table, untouched: bool)
sets the table untouched (safeenv) flag
isuntouched
bool isuntouched(table: table)
returns whenever the table is untouched (safeenv) or not
makereadonly
void makereadonly(table: table)
sets the table readonly flag to true
makewriteable
void makewriteable(table: table)
sets the table readonly flag to false
newtable
table newtable(narray: number, nhash: number)
creates a new table with the specified sizes, narray must be >= 33, nhash must be >= 17
Miscellaneous
Documentation of miscellaneous Synapse Z environment functions
identifyexecutor
(string, string) identifyexecutor()
returns Synapse Z and current version
setclipboard
void setclipboard(content: string)
sets the clipboard content
getmemorystats
table<string:number> getmemorystats()
gets memory usage in MB for each object type
getfflag
any getfflag(name: string)
gets the specified fflag by name, errors if doesnt exist
setfflag
void setfflag(name: string, value: any)
sets the specified fflag by name, errors if doesnt exist
getfpscap
number getfpscap()
gets current fps cap
setfpscap
void setfpscap(fpscap: number)
sets current fps cap
queue_on_teleport
void queue_on_teleport(source: string)
queues the source to be executed on teleport
clear_teleport_queue
void clear_teleport_queue()
clears the teleport queue
getrendersteppedlist
table<function/table> getrendersteppedlist(extended_information: bool?)
returns a list of all functions binded to render step using RunService:BindToRenderStep, if extended_information is true then table with this prototype is returned:
Field | Type | Description |
---|---|---|
Priority | number | the priority of the callback on render step |
Name | string | the name of the render step callback |
Thread | thread | the thread that the render step was binded in |
Function | function | the render step callback |
getsimulationradius
number getsimulationradius()
returns local player simulation radius
setsimulationradius
void getsimulationradius(radius: number)
sets local player simulation radius
messagebox
number messagebox(text: string, caption: string, type: number?)
shows user a message box with the specified text, caption, type, see windows docs
setwindowtitle
void setwindowtitle(title: string)
sets roblox window title
issynapsethread
bool issynapsethread(thread: thread)
returns whenever the specified thread is synapse thread or not
getthreads
table<thread> getthreads()
returns a list of all threads
makeref
number makeref(object: any)
creates a reference to the specified object in luau registry, further obtainable using getref
getref
any getref(ref: number)
returns the object at the specified reference id in registry
getcstring
string getcstring(string: string)
returns a c string format of the specified string (returns trailing \0)
comparestring
bool comparestring(string1: string, string2: string)
compares the specified strings in c (bypassing trailing \0)
getuserdatatag
number getuserdatatag(target: userdata)
returns internal userdata tag (used for uniquely identifying different types of userdata)
Console
Documentation of console-related Synapse Z environment functions
rconsolecreate
void rconsolecreate()
creates roblox console if it wasnt already
rconsoledestroy
void rconsoledestroy()
closes roblox console if it exists
rconsoleprint
void rconsoleprint(content: string)
prints the specified string in roblox console
rconsolewarn
void rconsolewarn(content: string)
warns the specified string in roblox console
rconsoleerror
void rconsoleerror(content: string)
errors the specified string in roblox console
rconsoleinfo
void rconsoleinfo(content: string)
outputs as info the specified string in roblox console
rconsoleclear
void rconsoleclear()
clears roblox console output
rconsoletitle
void rconsoletitle(title: string)
sets roblox console title
rconsoleinput
string rconsoleinput()
gets roblox console user input
Signal
Documentation of signal-related Synapse Z environment functions
getconnections
table<SynConnection> getconnections(signal: RBXScriptSignal)
returns a list of all connections to the specified signal, see SynConnection
firesignal
void firesignal(signal: RBXScriptSignal, ...)
fires the signal connections (ignoring core/c connections)
getsignalarguments
table<string> getsignalarguments(signal: RBXScriptSignal)
returns signal argument types
cfiresignal
void cfiresignal(signal: RBXScriptSignal, ...)
fires all signal connections, arguments must be of correct types
cansignalreplicate
bool cansignalreplicate(signal: RBXScriptSignal)
returns whenever the signal can replicate or not
replicatesignal
void replicatesignal(signal: RBXScriptSignal, ...)
replicates the signal invocation to the server, arguments must be of correct types
hooksignal
void hooksignal(signal: RBXScriptSignal, hook: function)
hooks the signal connections (ignoring core/c connections), example:
hooksignal(game.Changed, function(connection, ...)
return
true, -- call the original connection function?
... -- arguments to pass to the connection function
end)
restoresignal
void restoresignal(signal: RBXScriptSignal)
restores the specified signal connections, errors if not hooked
issignalhooked
bool issignalhooked(signal: RBXScriptSignal)
returns whenever the signal is hooked or not
geteventmember
RBXScriptSignal geteventmember(instance: Instance, event_name: string)
returns the specified signal of the instance, allowing to connect to nonscriptable signals
SynConnection
Documentation of Synapse Z SynConnection class
Field | Type | Description |
---|---|---|
Function | function/userdata | returns the connection function (returns internal address for c connections) |
Thread | thread | returns the connection thread (doesnt exist for c connections) |
Object | userdata | returns the internal c object (doesnt exist for lua connections) |
ForeignThread | bool | whenever the connection was connected by a game/core thread |
LuaConnection | bool | whenever the connection is lua or not |
Enabled | bool | whenever the connection is enabled or not |
Disabled | bool | whenever the connection is disabled or not |
SynConnection:Enable
void SynConnection:Enable()
enables the connection if was disabled previously
NOTE: ignored for core connections
SynConnection:Disable
void SynConnection:Disable()
disables the connection
NOTE: ignored for core connections
SynConnection:Fire
void SynConnection:Fire()
fires the connection with the specified arguments
NOTE: ignored for c/core connections
SynConnection:Spawn
void SynConnection:Spawn()
spawns the connection with the specified arguments
NOTE: ignored for c/core connections
SynConnection:Defer
void SynConnection:Defer()
defers the connection with the specified arguments
NOTE: ignored for c/core connections
SynConnection:Hook
function SynConnection:Hook(hook: function)
hooks the connection function and returns the original
NOTE: ignored for c/core connections
Http
Documentation of http-related Synapse Z environment functions
httpget
string httpget(url: string)
performs a HTTP GET request and returns the response body
httppost
string httppost(url: string, body: string)
performs a HTTP POST request and returns the response body
request
table request(request: table)
performs a HTTP request with the specified request prototype:
Field | Type | Description |
---|---|---|
Url | string | url to perform the HTTP request on |
Method | string | HTTP method of the request |
Body | string | body of the HTTP request |
Headers | table<string:string> | headers of the HTTP request |
Cookies | table<string:string> | cookies of the HTTP request |
and returns a response of this prototype:
Field | Type | Description |
---|---|---|
StatusCode | number | response status code |
Success | bool | whenever the request was successfull |
Body | string | response body |
Headers | table<string:string> | response headers |
Cookies | table | returns a blank table for backward compability |
with: additional synapse z headers:
Field | Type | Description |
---|---|---|
Syn-Fingerprint | string | a fingerprint of user machine |
Syn-User-Identifier | string | a fingerprint of user synapse account |
Actors
Documentation of actor-related Synapse Z environment functions
getactors
table<Actor/ActorProxy> getactors()
returns a list of all loaded actors
run_on_actor
void run_on_actor(actor: <Actor/ActorProxy>, source: string, ...)
runs the specified code on specified actor, additionaly passing arguments
check_parallel
bool check_parallel()
returns whenever the current thread is parallel
NOTE: if FFlagDebugRunParallelLuaOnMainThread is true, it would always return false, please account for this using getfflag.
get_current_actor
<Actor/ActorProxy/nil> get_current_actor()
returns the actor the thread is currently running on, returns nil if running on main global state
create_comm_channel
<SynCommChannel/(string, SynCommChannel)> create_comm_channel(name: string?)
returns a new communication channel if name is provided, else returns a random generated name and a new communication channel with the following prototype:
Field | Type | Description |
---|---|---|
Event | SynSignal | the event used for communication |
Fire | void function(...) | equal to this.Event:Fire(...) |
get_comm_channel
SynCommChannel get_comm_channel(name: string)
returns the communication channel by name, errors if doesnt exist
Special
Documentation of special Synapse Z environment functions
perma_death
void perma_death(respawn_time: number?, callback_before_death: function?)
prevents your character from respawing and kills you (useful for reanimates)
NOTE: the function may get patched any update
perma_death_respawn
void perma_death_respawn()
respawns your character from perma_death
NOTE: the function may get patched any update
Libraries
syn
Documentation of Synapse Z syn library
syn.killprocess
void syn.killprocess(exit_code: number?)
kills roblox process with optional exit code
syn.trampoline_call
void syn.trampoline_call(target: function, callstack: table, options: table)
calls the target function on a new thread with the specified callstack and options, callstack is a list of tables with fields:
Field | Type | Description |
---|---|---|
func | function | if specified would overwrite all other options (excluding currentline) |
source | string | chunkname of the function |
name | string | name of the function |
numparams | number | number of function parameters |
is_vararg | number | is function variadic |
nups | number | number of function upvalues |
env | table | function environment |
currentline | number | current line the function is being executed on |
options is a table with the following fields:
Field | Type | Description |
---|---|---|
thread | thread | the thread to create a new thread from |
script | Script | the script that the new thread will be assigned |
env | table | environment of the new thread |
identity | number | identity of the new thread |
NOTE: trampoline_call cannot yield when callstack is provided
syn.protect_gui
void syn.protect_gui(gui: ScreenGui)
would automatically reparent the gui to gethui() when Parent is assigned
syn.unprotect_gui
void syn.unprotect_gui(gui: ScreenGui)
removes the gui protection
syn.get_auroraservice
AuroraService syn.get_auroraservice()
returns AuroraService, mostly a joke function
syn.sandbox
thread syn.sandbox(target: <Script/function>, callback: function)
runs target on a new sandboxed thread which calls callback on each luau instruction execution
syn.sandbox(function()
warn("evil world")
error()
end, function(pc, op, A, B, C, D, E)
if pc == 2 then
debug.setstack(2, 1, print) -- replace warn function with print
elseif pc == 3 then
debug.setstack(2, 2, "hello world") -- replace "evil world" with "hello world"
elseif pc == 6 then
return true -- skip error call
end
end)
syn.spoof_memory_begin
void syn.spoof_memory_begin()
creates a copy of current memory usage and backups it when syn.spoof_memory_end is called
syn.spoof_memory_end
void syn.spoof_memory_end()
backups memory usage counter since syn.spoof_memory_begin call
syn.get_instance_count
void syn.get_instance_count()
equal to stats().InstanceCount
syn.set_instance_count
void syn.set_instance_count(count: number)
sets stats().InstanceCount to the specified count
syn.rpc
Documentation of Synapse Z syn.rpc library
syn.rpc.set
void syn.rpc.set(table: options)
sets discord rpc to the specified options with following fields:
Field | Type | Description |
---|---|---|
ApplicationId | string | discord rpc application id |
State | string | discord rpc state |
Details | string | discord rpc details |
StartTimestamp | number | start timestamp of the discord rpc (UNIX time in seconds) |
EndTimestamp | number | end timestamp of the discord rpc (UNIX time in seconds) |
LargeImageKey | string | discord rpc large image key |
LargeImageText | string | discord rpc large image text |
SmallImageKey | string | discord rpc small image key |
SmallImageText | string | discord rpc small image text |
PartyId | string | discord rpc party id |
PartySize | number | discord rpc party size |
PartyMax | number | discord rpc party max |
MatchSecret | string | discord rpc match secret |
JoinSecret | string | discord rpc join secret |
SpectateSecret | string | discord rpc spectate secret |
Instance | number | discord rpc instance |
syn.rpc.remove
void syn.rpc.remove()
removes discord rpc if was set
cache
Documentation of Synapse Z cache library
cache.iscached
bool cache.iscached(instance: Instance)
returns whenever the instance is in registry cache or not
cache.invalidate
void cache.invalidate(instance: Instance)
removes the target instance from registry cache
cache.replace
void cache.replace(instance: Instance, replacement: Instance)
replaces the target instance in registry cache with the specified replacement
debug
Documentation of Synapse Z debug library
debug.getconstants
table<any> debug.getconstants(target: <number/function>)
gets constants of a lua function passed at target or number stack level
debug.getconstant
any debug.getconstant(target: <number/function>, index: number)
gets constant of a lua function passed at target or number stack level (uses lua based indexing)
debug.setconstant
void debug.setconstant(target: <number/function>, index: number, value: any)
sets constant of a lua function passed at target or number stack level (uses lua based indexing)
debug.getupvalues
table<any> debug.getupvalues(target: <number/function>)
gets upvalues of a lua function passed at target or number stack level
debug.getupvalue
any debug.getupvalue(target: <number/function>, index: number)
gets upvalue of a lua function passed at target or number stack level (uses lua based indexing)
debug.setupvalue
void debug.setupvalue(target: <number/function>, index: number, value: any)
sets upvalue of a lua function passed at target or number stack level (uses lua based indexing)
debug.getprotos
table<function> debug.getprotos(target: <number/function>)
gets protos of a lua function passed at target or number stack level
debug.getproto
<function/table<function>> debug.getproto(target: <number/function>, index: number, active: bool?)
gets proto of a lua function passed at target or number stack level (uses lua based indexing)
if active is true returns a list of all loaded functions with the proto
debug.getstack
<any/table<any>> debug.getstack(stack_level: number, index: number?)
gets full stack or a single element of the stack on stack_level if index is provided
debug.setstack
void debug.setstack(stack_level: number, index: number, value: any)
sets a value of the stack on stack_level
debug.getinfo
table debug.getinfo(target: <number/function>, options: string?)
gets info of target function or target call stack function
return value is a table of this prototype:
Field | Type | Option | Description |
---|---|---|---|
func | function | f | the target function / the function on the callstack |
linedefined | number | l | the line that the function was defined on |
currentline | number | l | current line that the function is executing |
name | string | n | the name of the function |
source | string | s | the chunkname where the function was made |
short_src | string | s | the shortened chunkname where the function was made |
what | string | s | Lua/C depending on whenever the function is lua or not |
numparams | number | u | number of function parameters |
is_vararg | number | u | whenever the function is variadic or not |
nups | number | u | number of function upvalues |
debug.getcallstack
table<function> debug.getcallstack(start_level: number?)
returns the whole callstack or the callstack before start_level if specified
debug.isvalidlevel
bool debug.isvalidlevel(stack_level: number)
returns whenever the stack level is valid or not
crypt
Documentation of Synapse Z crypt library
crypt.encrypt
string crypt.encrypt(data: string, key: string, additional_data: string?)
uses libsodium secretbox or aead if additonal_data is provided, nonce is appended to the start
crypt.decrypt
string crypt.decrypt(data: string, key: string, additional_data: string?)
uses libsodium secretbox or aead if additonal_data is provided
crypt.hash
string crypt.hash(data: string, key: string?)
uses blake2b_sha512 with optional key
crypt.hmac
string crypt.hmac(data: string, key: string)
uses libsodium auth
crypt.random
string crypt.random(size: number)
generates a random string with the specified size (size >= 0 and size <= 1024)
crypt.generatebytes
string crypt.generatebytes(size: number)
generates a random string with the specified size (size >= 0 and size <= 1024) and encodes it using base64
crypt.generatekey
string crypt.generatekey()
equal to crypt.generatebytes(32)
crypt.derive
Documentation of Synapse Z crypt.derive library
crypt.derive.key
string crypt.derive.key(result_size: number, key: string, id: <string/number>, context: string?)
if id is a number then context is required to perform libsodium kfd key derivation
else performs a blake2b_sha512 with the specified key and id
crypt.derive.password
string crypt.derive.password(result_size: number, password: string, salt: string, type: number)
uses libsodium pwhash
type can be any of following:
TypeName | TypeValue | Description |
---|---|---|
Interactive | 0 | Fastest type of pwhash |
Moderate | 1 | Second fastest type of pwhash |
Sensitive | 2 | Slowest type of pwhash, used for advanced password hashing |
crypt.user
Documentation of Synapse Z crypt.user library
crypt.user.encrypt
string crypt.user.encrypt(data: string, type: number, additional_data: string?)
uses libsodium secretbox or aead if additonal_data is provided, nonce is appended to the start
type can be any of following:
TypeName | TypeValue | Description |
---|---|---|
SynapseAccount | 0 | the data could be decrypted if the user have the same synapse account |
WindowsAccount | 1 | the data could be decrypted if the user have the same synapse account and the same windows account |
SynapseIdentifier | 2 | the data could be decrypted if the user have the same synapse acciunt and same HWID |
crypt.user.decrypt
string crypt.user.decrypt(data: string, type: number, additional_data: string?)
uses libsodium secretbox or aead if additonal_data is provided, see crypt.user.encrypt
crypt.seal
Documentation of Synapse Z crypt.seal library
crypt.seal.keygen
(string, string) crypt.seal.keygen()
generates libsodioum cryptography seal public and secret key
crypt.seal.encrypt
string crypt.seal.encrypt(data: string, public_key: string)
encrypts the data using libsodium box_seal, which could only be decrypted with the secret key
crypt.seal.decrypt
string crypt.seal.decrypt(data: string, public_key; string, secret_key: string)
decrypts the data generated using crypt.seal.encrypt
crypt.sign
Documentation of Synapse Z crypt.sign library
crypt.sign.keygen
(string, string) crypt.sign.keygen()
generates libsodioum cryptography sign public and secret key
crypt.sign.encrypt
string crypt.sign.create(data: string, secret_key: string)
signs the data using libsodium sign with the secret key
crypt.sign.decrypt
string crypt.sign.open(data: string, public_key; string)
verifies the data using public key and returns it
crypt.hex
Documentation of Synapse Z crypt.hex library
crypt.hex.encode
string crypt.hex.encode(string: data)
returns the string in hex format
crypt.hex.decode
string crypt.hex.decode(string: data)
decodes the string from hex format
crypt.base64
Documentation of Synapse Z crypt.base64 library
crypt.base64.encode
string crypt.base64.encode(data: string)
returns the string in base64 format
crypt.base64.decode
string crypt.base64.decode(string: data)
decodes the string from base64 format
crypt.lz4
Documentation of Synapse Z crypt.lz4 library
crypt.lz4.compress
string crypt.lz4.compress(data: string)
compresses data using lz4
crypt.lz4.decompress
string crypt.lz4.decompress(string: data, return_size: number?)
decompresses data using lz4, optionally can specify return size
Drawing
Documentation of Synapse Z Drawing library
Drawing.new
SynDrawing Drawing.new(type: string)
creates a new drawing of the specified type, see subclasses
DrawingLineObject
Documentation of Synapse Z DrawingLineObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Thickness | number | thickness of the line |
From | Vector2 | position where the line starts at |
To | Vector2 | position where the line ends at |
DrawingLineObject:Remove
void DrawingLineObject:Remove()
removes the drawing object from drawing object list
DrawingTextObject
Documentation of Synapse Z DrawingTextObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Centered | bool | whenever the drawing text is centered or not |
Outlined | bool | whenever the drawing text is outlined or not |
FontSize | number | size of the font used by this drawing object |
Font | number | font id used by this drawing object |
Position | Vector2 | position of the drawing object |
OutlineColor | Color3 | color of the text outline |
Text | string | the drawing object text |
DrawingTextObject:Remove
void DrawingTextObject:Remove()
removes the drawing object from drawing object list
DrawingImageObject
Documentation of Synapse Z DrawingImageObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Rounding | number | rounding of the drawing image |
Position | Vector2 | position of the drawing object |
Size | Vector2 | size of the drawing object |
Data | string (writeonly) | raw data of the image |
DrawingImageObject:Remove
void DrawingImageObject:Remove()
removes the drawing object from drawing object list
DrawingCircleObject
Documentation of Synapse Z DrawingCircleObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Thickness | number | thickness of the drawing object |
NumSides | number | number of sides in the circle |
Radius | number | radius of the circle |
Filled | bool | whenever the circle is filled or not |
Position | Vector2 | position of the drawing object |
DrawingCircleObject:Remove
void DrawingCircleObject:Remove()
removes the drawing object from drawing object list
DrawingSquareObject
Documentation of Synapse Z DrawingSquareObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Thickness | number | thickness of the drawing object |
Filled | bool | whenever the circle is filled or not |
Position | Vector2 | position of the drawing object |
Size | Vector2 | size of the drawing object |
DrawingSquareObject:Remove
void DrawingSquareObject:Remove()
removes the drawing object from drawing object list
DrawingTriangleObject
Documentation of Synapse Z DrawingTriangleObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Thickness | number | thickness of the drawing object |
Filled | bool | whenever the circle is filled or not |
PointA | Vector2 | first point of the triangle |
PointB | Vector2 | second point of the triangle |
PointC | Vector2 | third point of the triangle |
DrawingTriangleObject:Remove
void DrawingTriangleObject:Remove()
removes the drawing object from drawing object list
DrawingQuadObject
Documentation of Synapse Z DrawingQuadObject class
Field | Type | Description |
---|---|---|
__OBJECT_EXISTS | bool | whenever the drawing object exists or not |
__OBJECT_TYPE | string | the type of the drawing object |
Visible | bool | whenever the drawing object is rendered or not |
ZIndex | number | priority of the drawing object renderer |
Transparency | number | number between 0 and 1 where 0 is fully visible, 1 is fully invisible |
Opacity | number | number between 0 and 1 where 0 is fully invisible, 1 is fully visible |
Color | Color3 | the color of the drawing object |
Thickness | number | thickness of the drawing object |
Filled | bool | whenever the circle is filled or not |
PointA | Vector2 | first point of the quad |
PointB | Vector2 | second point of the quad |
PointC | Vector2 | third point of the quad |
PointD | Vector2 | fourth point of the quad |
DrawingQuadObject:Remove
void DrawingQuadObject:Remove()
removes the drawing object from drawing object list
Filter
Filters are used for faster/easier hooking argument/call/etc validation
NotFilter
Documentation of Synapse Z NotFilter class
NotFilter.new
userdata NotFilter.new(other: Filter)
creates a filter which reverses the other filter
AnyFilter
Documentation of Synapse Z AnyFilter class
AnyFilter.new
userdata AnyFilter.new(filters: table<Filter>)
creates a filter which would return true if any of the filters are true
AllFilter
Documentation of Synapse Z AllFilter class
AllFilter.new
userdata AllFilter.new(filters: table<Filter>)
creates a filter which would return true if all of the filters are true
TypeFilter
Documentation of Synapse Z TypeFilter class
TypeFilter.new
userdata TypeFilter.new(argument_index: number, type: string)
creates a filter which would return true if the argument at the specified index is of the specified type
NamecallFilter
Documentation of Synapse Z NamecallFilter class
NamecallFilter.new
userdata NamecallFilter.new(method: string)
creates a filter which would return true if the current thread is currently in a namecall and matches the specified method
InstanceTypeFilter
Documentation of Synapse Z InstanceTypeFilter class
InstanceTypeFilter.new
userdata InstanceTypeFilter.new(argument_index: number, class_name: string)
creates a filter which would return true if the argument at the specified index is an instance and matches the specified class_name
UserdataTypeFilter
Documentation of Synapse Z UserdataTypeFilter class
UserdataTypeFilter.new
userdata UserdataTypeFilter.new(argument_index: number, type: <userdata/string>)
creates a filter which would return true if the argument at the specified index is an userdata and matches the specified type (providing type as a sample userdata of the type would result in better checking)
ArgumentFilter
Documentation of Synapse Z ArgumentFilter class
ArgumentFilter.new
userdata ArgumentFilter.new(argument_index: number, value: any)
creates a filter which would return true if the argument at the specified index matches the value
ArgCountFilter
Documentation of Synapse Z ArgCountFilter class
ArgCountFilter.new
userdata ArgCountFilter.new(argument_count: number)
creates a filter which would return true if the argument count matches the specified count
CallerFilter
Documentation of Synapse Z CallerFilter class
CallerFilter.new
userdata CallerFilter.new(invert: bool)
creates a filter which would return true (or false if invert is true) if the caller thread is synapse thread
Regex
Documentation of Synapse Z Regex class
Regex.new
SynRegex Regex.new(pattern: string)
creates a SynRegex based of the patten
Regex.Escape
string Regex.Escape(data: string)
"escapes" the specified string for usage in regex
SynRegex
Documentation of Synapse Z SynRegex class
SynRegex:Match
Match SynRegex:Match(target: string)
matches the patten in the target string and returns the first match, see Match
SynRegex:MatchMany
table<Match> SynRegex:MatchMany(target: string)
matches the patten in the target string
SynRegex:Replace
string SynRegex:Replace(target: string, replacement: string)
matches the patten in the target string and replaces with the specified replacement
Match
Documentation of Synapse Z Match class
Field | Type | Description |
---|---|---|
Captures | table<table<string, number, number>> | returns a table of patten captures, in format match_string, match_position, match_size |
Duration
Documentation of Synapse Z Duration class
Duration.TimeSinceEpoch
table Duration.TimeSinceEpoch()
returns a new duration object with its fields being current time since epoch
Duration.FromNanoseconds
table Duration.FromNanoseconds(nanoseconds: number)
returns a new duration object with its fields being the nanoseconds time
Duration.FromMicroseconds
table Duration.FromMicroseconds(microseconds: number)
returns a new duration object with its fields being the microseconds time
Duration.FromMilliseconds
table Duration.FromMilliseconds(milliseconds: number)
returns a new duration object with its fields being the milliseconds time
Duration.FromSeconds
table Duration.FromSeconds(seconds: number)
returns a new duration object with its fields being the seconds time
Duration.FromMinutes
table Duration.FromMinutes(minutes: number)
returns a new duration object with its fields being the minutes time
Duration.FromHours
table Duration.FromHours(hours: number)
returns a new duration object with its fields being the hours time
Duration.FromDays
table Duration.FromDays(days: number)
returns a new duration object with its fields being the days time
Duration.FromWeeks
table Duration.FromWeeks(weeks: number)
returns a new duration object with its fields being the weeks time
Duration.FromMonths
table Duration.FromMonths(months: number)
returns a new duration object with its fields being the months time
Duration.FromYears
table Duration.FromYears(years: number)
returns a new duration object with its fields being the years time
Field | Type | Description |
---|---|---|
Nanoseconds | number | the time in nanoseconds |
Microseconds | number | the time in microseconds |
Milliseconds | number | the time in milliseconds |
Seconds | number | the time in seconds |
Minutes | number | the time in minutes |
Hours | number | the time in hours |
Days | number | the time in days |
Weeks | number | the time in weeks |
Months | number | the time in months |
Years | number | the time in years |
Stopwatch
Documentation of Synapse Z Stopwatch class
Stopwatch.new
SynStopwatch Stopwatch.new()
creates a new SynStopwatch object
SynStopwatch
Documentation of Synapse Z SynStopwatch class
Field | Type | Description |
---|---|---|
ElapsedTime | Duration | the elapsed time since Start and Stop calls |
SynStopwatch:Start
void SynStopwatch:Start()
starts the stopwatch
SynStopwatch:Stop
void SynStopwatch:Stop()
stops the stopwatch
SynStopwatch:Reset
void SynStopwatch:Reset()
resets the stopwatch elapsed time
Timer
Documentation of Synapse Z Timer class
Timer.new
SynTimer Timer.new()
creates a new SynTimer object
SynTimer
Documentation of Synapse Z SynTimer class
Field | Type | Description |
---|---|---|
Enabled | bool | whenever the timer is enabled or not |
RepetitionCount | number | how much times would the timer repeat |
Interval | Duration | interval between each timer elapse |
TimeLeft | Duration | time left before next elapse |
LastElapsed | Duration | last time the timer elapsed |
OnElapsed | RBXScriptSignal | the event on elapse |
NOTE: the timer starts once you set Enabled to true