Alright, ill tell you what I know.
Pcall
Used to call a function that might return an error, returns 2 parameters, the first is if it was a success or the function errored, the second is the value which was return from that function
Why is it used in Datastores
DatastoreService could sometimes return errors for reaching a limit of Datastores thats why we use Pcall
Tuples
Tuples are just array-like tables with a finite known number of indexes (which are often immutable its values can not be changed)
Tuples are not natively supported by Lua as they should be thought of as immuatable. This is not enforced at runtime.
This is a tuple with a length of 3
local tuple = {1 , 2 , 3}
Parameters and Arguments
Parameters are what the function needs
Arguments are what you give for the function.
function and(a , b) --a and b are parameters
end
and("a" , "b") --here they are arguments
Type
lets say you are passing coins (number) through a remote Event and an exploiter fires a string, you want to check what type of item he passed, so use type(item), it returns a string containing the type of that item, just an extra check.
Pack and Unpack
Pack just puts all the given arguments to a table, you can use it to check how many were provided
Unpack are used to return everything inside a table, maybe you want to pass some letters a player need to write without using alot of parameters, send them as a table and unpack them
_G
_G is a global way of defining a variable, its better to use a ModuleScript tho
_VERSION
returns the version of lua, not very useful
Hope this helped!