Custom Blocks are like functions() on JavaScript, it's customizable and easy to use, but sometimes gets complicated. Here are ways to use Custom Block

Creating a new block
Go to “My Blocks” section and create a block, your created blocks are local, meaning it's only for the sprite and not the global.

Main Text
This is the start of your text, it cannot be deleted and always stays the first.
define Main Text
// Example

Label
The label adds a text to your custom block.
define Main Text (value) Label
// Example

Value
By adding this thing, you can input the value on your custom block on the empty spaces you created.
define Main Text (value)
// Example

Boolean
By adding this thing, you can insert any boolean on your custom block on the empty spaces you created. If the boolean inserted returns true, then the created Boolean returns true as well.
define Main Text <boolean>
// Example

Conclusion
By achieving the knowledge of custom blocks, it can look like this… You can test it in your own project and see how it well turned out!
define Talk (text)
say (text) for (2) secs

when green flag clicked
Talk [Hello World!]

But don't worry if it's too hard to know, you gradually know it when you practice using Custom Blocks!