Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let me just point out that this is official , just posted here
- i did not make this , slappy did
- ProtoSmasher Documentation
- Base Environment
- getgenv
- getrenv
- getrawmetatable
- getsenv
- getmenv
- getscriptenvs
- loadstring
- loadfile
- dofile
- make_writeable
- make_readonly
- is_writeable
- is_readonly
- is_protosmasher_caller
- is_protosmasher_closure
- getobjects
- get_nil_instances
- get_thread_context
- dump_function
- get_script_function
- bytecode_to_lua
- writefile
- readfile
- decompile
- setclipboard
- pebc_create
- pebc_load
- saveinstance
- disconnect_all
- unlock_modulescript
- printoutput
- get_renderstep_list
- setfflag
- DebuggerManager
- get_calling_script
- protect_function
- is_protected_closure
- get_loaded_modules
- detour_function
- parse_url
- -- CONSTANTS --
- PROTOSMASHER_LOADED
- MOUSE_CLICK
- MOUSE_DOWN
- MOUSE_UP
- getgenv
- getrenv
- getrawmetatable
- getsenv
- getmenv
- getscriptenvs
- loadstring
- loadfile
- dofile
- make_writeable
- make_readonly
- is_writeable
- is_readonly
- is_protosmasher_caller
- is_protosmasher_closure
- getobjects
- get_nil_instances
- get_thread_context
- dump_function
- get_script_function
- bytecode_to_lua
- writefile
- readfile
- decompile
- setclipboard
- pebc_create
- pebc_load
- saveinstance
- disconnect_all
- unlock_modulescript
- printoutput
- get_renderstep_list
- setfflag
- DebuggerManager
- get_calling_script
- protect_function
- is_protected_closure
- get_loaded_modules
- detour_function
- parse_url
- -- CONSTANTS --
- PROTOSMASHER_LOADED
- MOUSE_CLICK
- MOUSE_DOWN
- MOUSE_UP
- Debug
- getregistry
- setmetatable
- getfenv
- setfenv
- getmetatable
- getlocal
- getlocals
- setlocal
- getupvalue
- getupvalues
- setupvalue
- getconstants
- setconstant
- getregistry
- setmetatable
- getfenv
- setfenv
- getmetatable
- getlocal
- getlocals
- setlocal
- getupvalue
- getupvalues
- setupvalue
- getconstants
- setconstant
- AES
- GenerateIV
- Encrypt
- Decrypt
- GenerateIV
- Encrypt
- Decrypt
- Base64
- Encode
- Decode
- Encode
- Decode
- Input
- LeftClick
- RightClick
- MoveMouse
- ScrollMouse
- KeyPress
- KeyDown
- KeyUp
- LeftClick
- RightClick
- MoveMouse
- ScrollMouse
- KeyPress
- KeyDown
- KeyUp
- Bit
- tobit
- bnot
- band
- bor
- bxor
- lshift
- rshift
- arshift
- rol
- ror
- bswap
- tohex
- tobit
- bnot
- band
- bor
- bxor
- lshift
- rshift
- arshift
- rol
- ror
- bswap
- tohex
- Drawing
- new
- new
- Base
- table getgenv(<none>)
- Returns the global environment table for ProtoSmasher.
- table getrenv(<none>)
- Returns the table of all roblox globals.
- table getrawmetatable(variant<Userdata, string, table> object)
- Returns the metatable of the passed object, ignores __metatable metafield. Could be locked, check with is_readonly and is_writeable or change with make_readonly and make_writeable.
- table getsenv(Object<LocalScript> script)
- Returns the global environment of the given script.
- table getmenv(Object<ModuleScript> script)
- Returns the global environment of the given ModuleScript.
- table getscriptenvs(<none>)
- Returns a table of all scripts and their global environments. (key = script, value = environment)
- variant<function, (nil, string)> loadstring(string sourceCode, string chunkName = "@(Random String)")
- Converts plain lua source code into a function. Returns nil and a string on error. Will follow the set execution method.
- function loadfile(string filePath)
- Returns a function from the file, the equivalent of "loadstring(readfile(filePath))", except more efficient. Will follow the set execution method.
- function dofile(string filePath)
- Executes the lua source code from the file, the equivalent of "loadstring(readfile(filePath))()", Will follow the set execution method.
- void make_writeable(table tbl)
- Changes the readonly flag of a table.
- void make_readonly(table tbl)
- Changes the readonly flag of a table.
- bool is_writeable(table tbl)
- Returns weather or not the table is writeable.
- bool is_readonly(table tbl)
- Returns weather or not the table is read only.
- boolean is_protosmasher_caller(<none>)
- This checks if the current caller is a protosmasher thread. (used internally for getobjects)
- boolean is_protosmasher_closure(function f)
- Returns a boolean based on whether or not the function was created by protosmasher.
- Array<Object> getobjects(Object<DataModel> dataModel, string ContentString)
- Internal function used by protosmasher for DataModel::GetObjects.
- table<Object> get_nil_instances(<none>)
- Returns all nil parented instances from the localscript state.
- int get_thread_context(<none>)
- Returns the current context of the caller.
- string dump_function(function f)
- Returns the regular lua bytecode of the given function.
- function get_script_function(Object<ModuleScript, LocalScript> script)
- Returns a function of the script (cannot be called but can be passed to dump_function).
- string bytecode_to_lua(string byteCode)
- Used to convert lua 5.1 bytecode into lua sourcecode (requires unluac.jar in workspace and java be installed)
- void writefile(string filePath, string contentsToWrite, boolean isBinary = false)
- Writes the contents of "contentsToWrite" to the provided file (sandboxed to workspace).
- string readfile(string pathToFile)
- Returns the files contents (sandboxed to workspace).
- string decompile(variant<Object, function> obj, string optionalArg = nil)
- Returns the decompiled source code of a script or function. (if you want bytecode put optionalArg as "dumponly")
- void setclipboard(string strToCopy)
- Sets the clipboard text to the contents of strToCopy
- string pebc_create(function toEncrypt)
- Returns ProtoSmasher Encrypted Bytecode (TM) of the given function (can only be used by people i select, otherwise it will just throw an error.)
- function pebc_load(string pebc)
- Loads ProtoSmasher Encrypted Bytecode (TM) and returns it in a function form
- void saveinstance(Object instanceToSave, string fileName, bool enableScriptDecompiling)
- Converts the given instance into roblox's xml instance format and saves it to the saved under the given file name. When enableScriptDecompiling is enabled it will automatically decompile any modulescript or localscript it encounters (beware: this is buggy and may cause you to crash).
- void disconnect_all(RBXScriptSignal signal)
- Disconnects all connections from a given signal. (should note this **might** not work for events on datamodel, same for get_signal_connections)
- void unlock_modulescript(Object<ModuleScript> signal)
- Unlocks a given ModuleScript so it can be required via ProtoSmasher (Used by require now)
- void printoutput(string text, Color3 color = Color3(1, 1, 1), bool newLine = true)
- Prints the output of protosmasher, with optional formatting.
- table get_renderstep_list(<none>)
- Return a table of everything thats connected to RenderStep via BindToRenderStepEarly. The table is as following: key 1 is the priority, key 2 is the name, key 3 is the function.
- bool setfflag(string flag, string value)
- Set's the value of an FFlag and returns whether it was successfully set or not. Click here to view most if not all FFlags for the client.
- Object<DebuggerManager> DebuggerManager(<none>)
- Returns the object interface for roblox's script debugger. You can view its documentation here
- Object<LocalScript, ModuleScript> get_calling_script(int level)
- Returns the script object from the specificed stack level.
- function protect_function(function f)
- Returns a proxy function that will aide in making the function undetectable via stack trace errors. Function must be a ProtoSmasher closure.
- bool is_protected_closure(function f)
- Returns a boolean whether or not the function is protected. Will return false instead of erroring with C closures.
- table<Object> get_loaded_modules(<none>)
- Returns a table populated with all loaded ModuleScript's in the game. Automatically filters out CoreGui modules.
- void detour_function(function f, function detour, bool ignoreSizeChecks = false)
- Detour's the given function to the passed detour function, meaning everytime the function is called, your function will be called instead. This replaces the function and therfore does not change the value of tostringing it. Detour functions that are lua will have a new global variable called 'original_function' that you can call to use to call the original function like before it was detoured. Will error if the detour function is larger than the original function, size increases are caused by upvalues. The parameter "ignoreSizeChecks" will not throw an error if the detour function is bigger than the function to be detoured. This can cause a crash and should be used with caution.
- array<string, string> parse_url(string url)
- Returns a table populated with various information about the passed url. Current information: protocol, domain, port, resource, query
- PROTOSMASHER_LOADED = true
- MOUSE_CLICK = 0
- MOUSE_DOWN = 1
- MOUSE_UP = 2
- table getgenv(<none>)
- Returns the global environment table for ProtoSmasher.
- table getrenv(<none>)
- Returns the table of all roblox globals.
- table getrawmetatable(variant<Userdata, string, table> object)
- Returns the metatable of the passed object, ignores __metatable metafield. Could be locked, check with is_readonly and is_writeable or change with make_readonly and make_writeable.
- table getsenv(Object<LocalScript> script)
- Returns the global environment of the given script.
- table getmenv(Object<ModuleScript> script)
- Returns the global environment of the given ModuleScript.
- table getscriptenvs(<none>)
- Returns a table of all scripts and their global environments. (key = script, value = environment)
- variant<function, (nil, string)> loadstring(string sourceCode, string chunkName = "@(Random String)")
- Converts plain lua source code into a function. Returns nil and a string on error. Will follow the set execution method.
- function loadfile(string filePath)
- Returns a function from the file, the equivalent of "loadstring(readfile(filePath))", except more efficient. Will follow the set execution method.
- function dofile(string filePath)
- Executes the lua source code from the file, the equivalent of "loadstring(readfile(filePath))()", Will follow the set execution method.
- void make_writeable(table tbl)
- Changes the readonly flag of a table.
- void make_readonly(table tbl)
- Changes the readonly flag of a table.
- bool is_writeable(table tbl)
- Returns weather or not the table is writeable.
- bool is_readonly(table tbl)
- Returns weather or not the table is read only.
- boolean is_protosmasher_caller(<none>)
- This checks if the current caller is a protosmasher thread. (used internally for getobjects)
- boolean is_protosmasher_closure(function f)
- Returns a boolean based on whether or not the function was created by protosmasher.
- Array<Object> getobjects(Object<DataModel> dataModel, string ContentString)
- Internal function used by protosmasher for DataModel::GetObjects.
- table<Object> get_nil_instances(<none>)
- Returns all nil parented instances from the localscript state.
- int get_thread_context(<none>)
- Returns the current context of the caller.
- string dump_function(function f)
- Returns the regular lua bytecode of the given function.
- function get_script_function(Object<ModuleScript, LocalScript> script)
- Returns a function of the script (cannot be called but can be passed to dump_function).
- string bytecode_to_lua(string byteCode)
- Used to convert lua 5.1 bytecode into lua sourcecode (requires unluac.jar in workspace and java be installed)
- void writefile(string filePath, string contentsToWrite, boolean isBinary = false)
- Writes the contents of "contentsToWrite" to the provided file (sandboxed to workspace).
- string readfile(string pathToFile)
- Returns the files contents (sandboxed to workspace).
- string decompile(variant<Object, function> obj, string optionalArg = nil)
- Returns the decompiled source code of a script or function. (if you want bytecode put optionalArg as "dumponly")
- void setclipboard(string strToCopy)
- Sets the clipboard text to the contents of strToCopy
- string pebc_create(function toEncrypt)
- Returns ProtoSmasher Encrypted Bytecode (TM) of the given function (can only be used by people i select, otherwise it will just throw an error.)
- function pebc_load(string pebc)
- Loads ProtoSmasher Encrypted Bytecode (TM) and returns it in a function form
- void saveinstance(Object instanceToSave, string fileName, bool enableScriptDecompiling)
- Converts the given instance into roblox's xml instance format and saves it to the saved under the given file name. When enableScriptDecompiling is enabled it will automatically decompile any modulescript or localscript it encounters (beware: this is buggy and may cause you to crash).
- void disconnect_all(RBXScriptSignal signal)
- Disconnects all connections from a given signal. (should note this **might** not work for events on datamodel, same for get_signal_connections)
- void unlock_modulescript(Object<ModuleScript> signal)
- Unlocks a given ModuleScript so it can be required via ProtoSmasher (Used by require now)
- void printoutput(string text, Color3 color = Color3(1, 1, 1), bool newLine = true)
- Prints the output of protosmasher, with optional formatting.
- table get_renderstep_list(<none>)
- Return a table of everything thats connected to RenderStep via BindToRenderStepEarly. The table is as following: key 1 is the priority, key 2 is the name, key 3 is the function.
- bool setfflag(string flag, string value)
- Set's the value of an FFlag and returns whether it was successfully set or not. Click here to view most if not all FFlags for the client.
- Object<DebuggerManager> DebuggerManager(<none>)
- Returns the object interface for roblox's script debugger. You can view its documentation here
- Object<LocalScript, ModuleScript> get_calling_script(int level)
- Returns the script object from the specificed stack level.
- function protect_function(function f)
- Returns a proxy function that will aide in making the function undetectable via stack trace errors. Function must be a ProtoSmasher closure.
- bool is_protected_closure(function f)
- Returns a boolean whether or not the function is protected. Will return false instead of erroring with C closures.
- table<Object> get_loaded_modules(<none>)
- Returns a table populated with all loaded ModuleScript's in the game. Automatically filters out CoreGui modules.
- void detour_function(function f, function detour, bool ignoreSizeChecks = false)
- Detour's the given function to the passed detour function, meaning everytime the function is called, your function will be called instead. This replaces the function and therfore does not change the value of tostringing it. Detour functions that are lua will have a new global variable called 'original_function' that you can call to use to call the original function like before it was detoured. Will error if the detour function is larger than the original function, size increases are caused by upvalues. The parameter "ignoreSizeChecks" will not throw an error if the detour function is bigger than the function to be detoured. This can cause a crash and should be used with caution.
- array<string, string> parse_url(string url)
- Returns a table populated with various information about the passed url. Current information: protocol, domain, port, resource, query
- PROTOSMASHER_LOADED = true
- MOUSE_CLICK = 0
- MOUSE_DOWN = 1
- MOUSE_UP = 2
- Debug
- table debug.getregistry(<none>)
- Returns the registry table.
- void debug.setmetatable(Variant object, table mt)
- Sets the metatable for the given object to the given table. (mt can be nil)
- table debug.getfenv(Variant object)
- Returns the environment of object.
- Variant debug.setfenv(Variant object, table env)
- Sets the environment of the given object, returns object.
- table debug.getmetatable(Variant object)
- Returns the metatable of given object. (functions exactly like getrawmetatable)
- variant debug.getlocal(int stackIndex, string localName)
- Returns the value of a local from the selected stack based on the name.
- table<variant> debug.getlocals(int stackLevel)
- Returns a table of all locals from the selected stack.
- variant debug.setlocal(int stackIndex, string localName, Variant value)
- Sets the value of a local from the selected stack based on the name. Returns boolean "true" on success.
- variant debug.getupvalue(Variant<int, function> container, string upvalName)
- Returns the value of a upvalue from the selected container based on the name.
- table<variant> debug.getupvalues(Variant<int, function> container)
- Returns a table of all upvalues from the selected container.
- variant debug.setupvalue(Variant<int, function> container, string upvalName, Variant value)
- Sets the value of the upvalue from the selected container based on the name. Returns boolean based on whether the upvalue was set successfully or not.
- table<variant> debug.getconstants(function f)
- Return's the constants of the given function. Function must be a lua function.
- void debug.setconstant(function f, int index, variant val)
- Set's the constant at the given index for the given function. Index's are 1-based. Function must be a lua function.
- table debug.getregistry(<none>)
- Returns the registry table.
- void debug.setmetatable(Variant object, table mt)
- Sets the metatable for the given object to the given table. (mt can be nil)
- table debug.getfenv(Variant object)
- Returns the environment of object.
- Variant debug.setfenv(Variant object, table env)
- Sets the environment of the given object, returns object.
- table debug.getmetatable(Variant object)
- Returns the metatable of given object. (functions exactly like getrawmetatable)
- variant debug.getlocal(int stackIndex, string localName)
- Returns the value of a local from the selected stack based on the name.
- table<variant> debug.getlocals(int stackLevel)
- Returns a table of all locals from the selected stack.
- variant debug.setlocal(int stackIndex, string localName, Variant value)
- Sets the value of a local from the selected stack based on the name. Returns boolean "true" on success.
- variant debug.getupvalue(Variant<int, function> container, string upvalName)
- Returns the value of a upvalue from the selected container based on the name.
- table<variant> debug.getupvalues(Variant<int, function> container)
- Returns a table of all upvalues from the selected container.
- variant debug.setupvalue(Variant<int, function> container, string upvalName, Variant value)
- Sets the value of the upvalue from the selected container based on the name. Returns boolean based on whether the upvalue was set successfully or not.
- table<variant> debug.getconstants(function f)
- Return's the constants of the given function. Function must be a lua function.
- void debug.setconstant(function f, int index, variant val)
- Set's the constant at the given index for the given function. Index's are 1-based. Function must be a lua function.
- AES
- string AES.GenerateIV(<none>)
- Returns a randomly generated 16 character string that can be used as an IV for encryption.
- string AES.Encrypt(string Secret, string Key, string IV = "n@*fjakAnf983jF")
- Returns the secret "message" encrypted via AES-128, AES-192, and AES-256. AES mode is dependent on key length. Key length of 16 will use AES-128, length of 24 will use AES-192, and length of 32 will use AES-192. Only those key lengths are accepted.
- string AES.Decrypt(string Secret, string Key, string IV = "n@*fjakAnf983jF")
- Returns the encrypted secret in a decrypted form. Follows the same rules as encrypt (see above).
- string AES.GenerateIV(<none>)
- Returns a randomly generated 16 character string that can be used as an IV for encryption.
- string AES.Encrypt(string Secret, string Key, string IV = "n@*fjakAnf983jF")
- Returns the secret "message" encrypted via AES-128, AES-192, and AES-256. AES mode is dependent on key length. Key length of 16 will use AES-128, length of 24 will use AES-192, and length of 32 will use AES-192. Only those key lengths are accepted.
- string AES.Decrypt(string Secret, string Key, string IV = "n@*fjakAnf983jF")
- Returns the encrypted secret in a decrypted form. Follows the same rules as encrypt (see above).
- Base64
- string Base64.Encode(string Input)
- Returns the base64 encoded version of Input.
- string Base64.Decode(string Input)
- Returns the base64 decoded version of Input.
- string Base64.Encode(string Input)
- Returns the base64 encoded version of Input.
- string Base64.Decode(string Input)
- Returns the base64 decoded version of Input.
- Input
- void Input.LeftClick(int Action)
- Performs a left click of the mouse when called. Use MOUSE_DOWN or MOUSE_UP as Action to do something other than a click. (Defaults to MOUSE_CLICK if no Action is provided)
- void Input.RightClick(int Action)
- Performs a right click of the mouse when called. Use MOUSE_DOWN or MOUSE_UP as Action to do something other than a click. (Defaults to MOUSE_CLICK if no Action is provided)
- void Input.MoveMouse(int x, int y)
- Moves the mouse from its current position by the given amounts.
- void Input.ScrollMouse(int ScrollAmount)
- Scrolls the mouse by the given amount. (amount is negative for up, positive for down.)
- void Input.KeyPress(int VirtualKeyCode)
- Performs a key press of the given key when called. Key codes can be found here.
- void Input.KeyDown(int VirtualKeyCode)
- "Holds" a key down when called. Key codes can be found here.
- void Input.KeyUp(int VirtualKeyCode)
- "Releases" a key when called. Key codes can be found here.
- void Input.LeftClick(int Action)
- Performs a left click of the mouse when called. Use MOUSE_DOWN or MOUSE_UP as Action to do something other than a click. (Defaults to MOUSE_CLICK if no Action is provided)
- void Input.RightClick(int Action)
- Performs a right click of the mouse when called. Use MOUSE_DOWN or MOUSE_UP as Action to do something other than a click. (Defaults to MOUSE_CLICK if no Action is provided)
- void Input.MoveMouse(int x, int y)
- Moves the mouse from its current position by the given amounts.
- void Input.ScrollMouse(int ScrollAmount)
- Scrolls the mouse by the given amount. (amount is negative for up, positive for down.)
- void Input.KeyPress(int VirtualKeyCode)
- Performs a key press of the given key when called. Key codes can be found here.
- void Input.KeyDown(int VirtualKeyCode)
- "Holds" a key down when called. Key codes can be found here.
- void Input.KeyUp(int VirtualKeyCode)
- "Releases" a key when called. Key codes can be found here.
- Bit
- int bit.tobit(int num)
- Returns the input as a bit number? (in my testing it just returns the number without a decimal)
- int bit.bnot(int num)
- Performs a bit negate on the input.
- int bit.band(int n1, int n2)
- Performs a bit and operation on the given inputs.
- int bit.bor(int n1, int n2)
- Performs a bit or operation on the given inputs.
- int bit.bxor(int n1, int n2)
- Performs a bit xor operation on the given inputs.
- int bit.lshift(int num, int ShiftAmount)
- Shifts the input left by the given amount.
- int bit.rshift(int num, int ShiftAmount)
- Shifts the input right by the given amount.
- int bit.arshift(int num, int ShiftAmount)
- Performs a arithmetic right shift on the given input by the given amount.
- int bit.rol(int num, int ShiftAmount)
- Circular shifts the input left by the given amount.
- int bit.ror(int num, int ShiftAmount)
- Circular shifts the input right by the given amount.
- int bit.bswap(int num)
- Performs a byte swap on the given input. (basicly reverses the bits)
- string bit.tohex(int num)
- Returns the input as a hexidecimal string.
- int bit.tobit(int num)
- Returns the input as a bit number? (in my testing it just returns the number without a decimal)
- int bit.bnot(int num)
- Performs a bit negate on the input.
- int bit.band(int n1, int n2)
- Performs a bit and operation on the given inputs.
- int bit.bor(int n1, int n2)
- Performs a bit or operation on the given inputs.
- int bit.bxor(int n1, int n2)
- Performs a bit xor operation on the given inputs.
- int bit.lshift(int num, int ShiftAmount)
- Shifts the input left by the given amount.
- int bit.rshift(int num, int ShiftAmount)
- Shifts the input right by the given amount.
- int bit.arshift(int num, int ShiftAmount)
- Performs a arithmetic right shift on the given input by the given amount.
- int bit.rol(int num, int ShiftAmount)
- Circular shifts the input left by the given amount.
- int bit.ror(int num, int ShiftAmount)
- Circular shifts the input right by the given amount.
- int bit.bswap(int num)
- Performs a byte swap on the given input. (basicly reverses the bits)
- string bit.tohex(int num)
- Returns the input as a hexidecimal string.
- Drawing
- variant Drawing.new(string ClassName)
- Creates a new DrawObject based on the given class name and returns it.
- variant Drawing.new(string ClassName)
- Creates a new DrawObject based on the given class name and returns it.
- Classes:
- Base
- Side note: every class inherits functions and properties from this class.
- bool Visible
- int ZIndex
- void Remove()
- Line
- Vector2 From
- Vector2 To
- Color3 Color
- float Thickness
- float Transparency
- Text
- string Text
- Vector2 Position
- float Size
- Color3 Color
- bool Center
- bool Outline
- float Transparency
- Vector2 TextBounds [readonly]
- Square
- Vector2 Position
- Vector2 Size
- Color3 Color
- float Thickness
- bool Filled
- float Transparency
- Circle
- Vector2 Position
- float Radius
- Color3 Color
- float Thickness
- bool Filled
- float Transparency
- int NumSides
- Triangle
- Vector2 PointA
- Vector2 PointB
- Vector2 PointC
- Color3 Color
- float Thickness
- bool Filled
- float Transparency
- Image
- string Uri
- Vector2 Position
- Vector2 Size [readonly]
- bool Loaded
- float Transparency
Advertisement
Add Comment
Please, Sign In to add comment