✓ Accepted answer
the "for i =" is a basic for loop that is used to do things multiple times. For example, if you wanted to do something 4 times you could do this:
for i = 1, 4 do
print(i)
end
You don't need to use for i, you could use for x, or even a work like for Childs = 1, 3 do. And you can even do for i = 1, 6, 2 do, but I don't wanna explain that now.
permission is a Table, and #permission is similar to string.len() except you use it to find how many values are in a table. For example, this would print how many Players are in the Server:
local AllPlayers = Game.Players:GetPlayers()
print(#AllPlayers)
And the for i = 1, #permission is similar to for i, v in pairs(Something:GetChildren()) do except it goes through a table. An example of using it in a simple script that kicks anyone called "Kratos232"
local Players = Game.Players:GetPlayers()
local Name = "Kratos232"
for x = 1, #Players do
if Players[x].Name:lower() == Name:lower() then
Players[x]:Kick()
else
print("The Player " .. Players[x].Name .. " is not " .. Name)
end
Well, this was a giant answer, and I bet most of it was useless. Well, I hope some of it helped... Bye!
P.S I prefer to use for x = 1, Something do, because "i" is overused.