Update Scratchblocks in forum

when flag clicked

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!

when flag clicked
turn right (YAY!) degrees

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]

list {move( 10 )steps} {ter}

does

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

when making upvars you should do

grey block((upvar)::grey)::grey 

grey block ((upvar)::grey)::grey

the scratchblocks tag didn't work
I just made them and copy+pasted it from scratchblocks homepage
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:

say [hello!

why is this a scratchblock and not text?

say something

You can if you separate the tags with a newline.

foo::operators

text

bar::operators

ok