wait, if and then

As you thought, 'wait' is used to  do a script after an amount of seconds. There are 2 different ways you can use it:

wait(1)

task.wait(1)

I'd recommend using the 2nd option since it has faster FPS for doing its function/s and it just keeps going on with what it's supposed to do.

These 2 words, if and then are used to make a requirement before letting the script happen. Here is a quick example of them:

script.Parent.Touched:Connect(function(hit)

           if hit.Parent:FindFirstChild("Humanoid") then

                      print("hello")

           end

end)

If you insert a server script in a part with this written in it, it will print 'hello' whenever the part is touched.