# Allow reporters to be dropped into all hat blocks

title is self explanatory.

Is the reporter going to be called every time it goes to check the event? That probably would slow it down. Is it going to be called once? If so, when? Is it going to evaluated once for every time the green flag is clicked?
I think you should use the generic when hat.

I cannot use that with the when I receive block, and the when <> block has that special rule about not firing the 1st time when the stop sign is clicked.

any message

huh?

but you can't do an equivalent for the "when I receive" block for any of the menu options

[scratchblocks]
if <(message :: control) = []> :: control
...
end
[/scratchblocks]

that works if the LAST broadcasted message is something. not if something is being broadcasted.

The when I receive hat handles messages being broadcasted. The message reporter tells you which one is being broadcasted.
Put the if statement under the receive hat.

no, it reports the most recently message broadcasted.

ohhhhh right!
what about the when I am [] block?

It could get messed up if another message is broadcasted while the current one is being handled, but you can store it in a variable first thing.

ok, but

[scratchblocks]
when <<touching [mouse pointer v]> and <mouse down?>> :: control hat //etc
[/scratchblocks]

but you cant put a var in it, and

If it was possible to put reporters in all hat blocks, then I believe that all hat blocks should have that special rule.

but all hat blocks are constantly testing a condition!
bh or jens what do you think?

Not when if the stop sign is clicked

I meant except for when <>