Reporter Ring Operation Blocks

I need help making these types of blocks. I can't figure it out.
length of blocks
block # of
If someone can help, that'd be greatly appreciated.

P.S. I browsed through the metadata of these types of images, and I found out the script is stored in an object named "Snap SRC". That's probably how dragging scripts works. Nice.

To turn a script into a list of blocks, you can use
Untitled script pic (4)
or Untitled script pic (5)
and either way, you can use the Untitled script pic (6) and Untitled script pic (7) primitives to get the number of blocks in the script or a certain block of the script.

Or faster, using hyperblocks:

That's not yperblocks, that's just joining the entire script back together.

While that works fine for scripts with multiple blocks, it doesn't work for one block.

You can fix this with a custom block

This helps a lot. How do I combine blocks in respective order? Like this"
{change x by ()}@addInput::grey ring
//block 1
{change y by ()}@addInput::grey ring
//block 2
combine ring list (list) :: pen reporter //reports below
{change x by ()
change y by ()}@addInput::grey ring

If you look at what is returned when you split a script by blocks, you can see that each block is a list.

By looking at this, it is pretty easy to understand that if you join this, it'll join the blocks the way you want them.

Also, did you know you can create a ring in scratchblocks like this.

({move (10) steps
move (10) steps} @addInput :: grey ring)

({move (10) steps
move (10) steps} @addInput :: grey ring)

Ah, I don't focus on the Scratchblocks that much so I don't know. Thanks.