Update Scratchblocks in forum

[scratchblocks]
when flag clicked
[/scratchblocks]
I see them


Okay, I might be experiencing some kind of glitch. I still can't see them. (I am not doing any kind of JavaScript, inspect element, or similar kind of trickery.) Is there a setting I need to toggle to see them?


While trying to answer that question, I see them in my latest activity.
nowISeeThem
Weird.

That is a good idea... I still couldn't figure it out.

What happens if I quote somebody else with sb?

That didn't work. Does dark mode make it work for me?

Yes! They appear in Dark theme!
[scratchblocks]
when flag clicked
turn right (YAY!) degrees
[/scratchblocks]

that's weird. I'm not using dark mode (dark mode hurts my eyes), and I can see icons in scratchblocks.

Oh! And suddenly I am seeing the icons in the Snap! Style theme.

Yolo

More Like Nolo

It must have been a cache thing.

[scratchblocks]when gf clicked
say [ cute, almost too cute. :) ]
[/scratchblocks]

[scratchblocks]list {move( 10 )steps} {ter}[/scratchblocks]

does
[scratchblocks]
when <<when <. . . :: grey> :: events cat> or <when <. . . :: grey> :: control cat>>:: #ff0000 cat
say (join [you can use the code] ({{do in paralell (actions...) and wait :: #f0cb7a}::control cat
script variables (countdown)@addInput::#cccccc
set [countdown v] to (numbers from (length of (actions)::#ef9b71) to (1)::list)
for (i) = (0) to (length of (actions)::list){
launch ({run (item (i) of (actions)) :: control
delete (1 v) of (countdown) }::grey ring) :: #f0cb7a
}::control
wait until <is (countdown) empty? :: list>
}::grey ring) [to make a] ({do {
}{
}in parallel and wait @delInput @addInput :: control}::grey ring) [block.] @delInput @addInput :: operators)
do in paralell{
play note (60) for (0.25) beats::sound
}{
play note (64) for (0.25) beats::sound
}{
play note (67) for (0.25) beats::sound
}and wait::control
say (join[or, you can use the code]({{do in paralell (actions...)::#f0cb7a}::control cat
if <(length of (actions)::list) > (0)>::control
launch (item (1 v) of (actions)) @addInput :: #f0cb7a
do in paralell input list: (all but first of (actions)::list)::#f0cb7a
}@addInput::grey ring) [to make a] ({
do {
}{
}@delInput @addInput in paralell::control}@addInput::grey ring) [block.] @delInput @addInput :: operators

:://other script:

when <<when <. . . :: grey> :: events cat> or <when <. . . :: grey> :: control cat>>:: #ff0000 cat
say (join ({{do in paralell (actions...) and wait::#f0cb7a}::control hat
script variables (threads) @addInput::grey
set [threads v] to (map ((call ({script variables (is running?)@addInput::#cccccc
set [is running? v] to <<true (||||::#ffffff ring) ::operators>::operators>
launch ({run (each script) @addInput::control
set [is running? v] to <<(||||::#ffffff ring) false ::obsolete>::operators>}@addInput::grey ring)@addInput::control
report ((report (is running?)::control cap)@addInput::grey ring)::control cap
}@addInput::grey ring)@addInput::control)input names: (each script) @delInput @addInput ::grey ring) over (actions)::list)
wait until <is (keep items ((call (test)@addInput::control)input names: (test) @delInput@addInput::grey ring)from (threads) ::#ef9b71) empty?::list>}@addInput::grey ring) [are the blocks to make a] ({do{
}{
}@delInput @addInput in paralell and wait :: control}@addInput::grey ring) [block.]@delInput @addInput :: operators
do in paralell{
play note (60) for (0.25) beats::sound
}{
play note (64) for (0.25) beats::sound
}{
play note (67) for (0.25) beats::sound
}and wait::control
[/scratchblocks]

when making upvars you should do
[scratchblocks]
grey block((upvar)::grey)::grey
[/scratchblocks]
grey block ((upvar)::grey)::grey

the scratchblocks tag didn't work
I just made them and copy+pasted it from https://scratchblocks.github.io/#?style=scratch3&script=
and then paste in
:://code:
{do in paralell (actions...) and wait::#f0cb7a}::control cat
script variables (threads) @addInput::grey
set [threads v] to (map ((call ({script variables (is running?)@addInput::#cccccc
set [is running? v] to <<true (||||::#ffffff ring) ::operators>::operators>
launch ({run (each script) @addInput::control
set [is running? v] to <<(||||::#ffffff ring)false::obsolete>::operators>}@addInput::grey ring)@addInput::control
report ((report (is running?)::control cap)@addInput::grey ring)::control cap
}@addInput::grey ring)@addInput::control)input names: (each script) @delInput @addInput ::grey ring) over (actions)::list)
wait until <is (keep items ((call (test)@addInput::control)input names: (test) @delInput@addInput::grey ring)from (threads) ::list) empty?::list>

:://other script:

when <<when <. . . :: grey> :: events cat> or <when <. . . :: grey> :: control cat>>:: #ff0000 cat
say (join ({{do in paralell (actions...) and wait::#f0cb7a}::control hat
script variables (threads) @addInput::grey
set [threads v] to (map ((call ({script variables (is running?)@addInput::#cccccc
set [is running? v] to <<true (||||::#ffffff ring) ::operators>::operators>
launch ({run (each script) @addInput::control
set [is running? v] to <<(||||::#ffffff ring) false ::obsolete>::operators>}@addInput::grey ring)@addInput::control
report ((report (is running?)::control cap)@addInput::grey ring)::control cap
}@addInput::grey ring)@addInput::control)input names: (each script) @delInput @addInput ::grey ring) over (actions)::list)
wait until <is (keep items ((call (test)@addInput::control)input names: (test) @delInput@addInput::grey ring)from (threads) ::#ef9b71) empty?::list>}@addInput::grey ring) [are the blocks to make a] ({do{
}{
}@delInput @addInput in paralell and wait :: control}@addInput::grey ring) [block.]@delInput @addInput :: operators
do in paralell{
play note (60) for (0.25) beats::sound
}{
play note (64) for (0.25) beats::sound
}{
play note (67) for (0.25) beats::sound
}and wait::control
say (join[or, you can use the code]({{do in paralell (actions...)::#f0cb7a}::control cat
if <(length of (actions)::list) > (0)>::control
launch (item (1 v) of (actions)) @addInput :: #f0cb7a
do in paralell input list: (all but first of (actions)::list)::#f0cb7a
}@addInput::grey ring) [to make a] ({
do {
}{
}@delInput @addInput in paralell::control}@addInput::grey ring) [block.] @delInput @addInput :: operators

I must say, although I love Scratchblocks-in-forum in principle, I would find it much easier to construct a script in Snap! and make a script pic than to type in all that unreadable gibberish!

[scratchblocks] when < :: events cat> or :: control cat>>:: #ff0000 cat say (join [you can use the code] ({{do in paralell (actions...) and wait :: #f0cb7a}::control cat script variables (countdown)@addInput::#cccccc set [countdown v] to (numbers from (length of (actions)::#ef9b71) to (1)::list) for (i) = (0) to (length of (actions)::list){ launch ({run (item (i) of (actions)) :: control delete (1 v) of (countdown) }::grey ring) :: #f0cb7a }::control wait until }::grey ring) [to make a] ({do { }{ }in parallel and wait @delInput @addInput :: control}::grey ring) [block.] @delInput @addInput :: operators) do in paralell{ play note (60) for (0.25) beats::sound }{ play note (64) for (0.25) beats::sound }{ play note (67) for (0.25) beats::sound }and wait::control say (join[or, you can use the code]({{do in paralell (actions...)::#f0cb7a}::control cat if <(length of (actions)::list) > (0)>::control launch (item (1 v) of (actions)) @addInput :: #f0cb7a do in paralell input list: (all but first of (actions)::list)::#f0cb7a }@addInput::grey ring) [to make a] ({ do { }{ }@delInput @addInput in paralell::control}@addInput::grey ring) [block.] @delInput @addInput :: operators :://other script when < :: events cat> or :: control cat>>:: #ff0000 cat say (join ({{do in paralell (actions...) and wait::#f0cb7a}::control hat script variables (threads) @addInput::grey set [threads v] to (map ((call ({script variables (is running?)@addInput::#cccccc set [is running? v] to <::operators> launch ({run (each script) @addInput::control set [is running? v] to <::operators>}@addInput::grey ring)@addInput::control report ((report (is running?)::control cap)@addInput::grey ring)::control cap }@addInput::grey ring)@addInput::control)input names: (each script) @delInput @addInput ::grey ring) over (actions)::list) wait until }@addInput::grey ring) [are the blocks to make a] ({do{ }{ }@delInput @addInput in paralell and wait :: control}@addInput::grey ring) [block.]@delInput @addInput :: operators do in paralell{ play note (60) for (0.25) beats::sound }{ play note (64) for (0.25) beats::sound }{ play note (67) for (0.25) beats::sound }and wait::control [/scratchblocks] Empty lines blocks rendering. Where are some problems with last "wait until"

I even, once, made an extension to menu which exports scratchblocks,
Snap! Build Your Own Blocks but I think that'st true

I feel the same way. I guess I don't mind the syntax for very small scripts.

For larger scripts the rendering issues are worse than an image too.

Pretty cool! Testing output:

[scratchblocks] point in direction (90 v) :: motion glide (1) secs to x: (0) y: (0) :: motion go to [random position v] :: motion go to [random position v] :: motion set x to (0) :: motion go to [random position v] :: motion [/scratchblocks]

Oh, wow! That works really well!

I cannot use more than one scratchblocks tag:
[scratchblocks]
say [hello!
[/scratchblocks]
why is this a scratchblock and not text?
[scratchblocks]
say something
[/scratchblocks]

You can if you separate the tags with a newline.

[scratchblocks]
foo::operators
[/scratchblocks]

text

[scratchblocks]
bar::operators
[/scratchblocks]

ok