How do I make a custom message recieving hat block
Why can't you use the regular when I receive [ V] @> block?
I guess some people (including me) want to experiment with building blocks
I might be able to use a warped for loop
if you shift click the Snap! logo, you can enter development mode, and under control, there's a reporter called (message) that reports the last broadcasted message
I want it without the loop
..?
I want it to not have the checks
What does this mean?
If you stick it in a custom hat block, it you can just do report <(message) = (message :: variables)> and it'll work the way you want it. However, I do want to point out, doing it this way still makes snap technically do a forever loop (custom hat blocks are basically just a forever if loop), so using the primitive when I receive [ V] @> will be much more efficient, as that only checks if you send the message.
with false as the return value which will make it work with the stop sign being a square if it runs
When the result is false, the code under the hat block won't run. If it's true, the code under the hat block will run. When you press the stop sign, it will become a square, stopping any custom hat blocks to run. This is a limitation that is put in place in case you have a custom hat block running that you don't want to run, so there's no way around it.
using the (my [scripts]) block
What would that accomplish?
looping over the scripts and launching only a specific hat block selector, it might work
That's just overkill. Constantly running a script in a regular forever loop just waiting for some kind of event, then searching all the scripts in a sprite for specific hat blocks is just not necessary. You can just use a when <> block, and then the stuff under it will fire when the boolean is true.
Why can't you just do (when message is (message::variables) :: control condition hat)::define+ hat report <(message) = (message::variables)> ?
I need it to not be stopped by the stop button turning square
I do not believe that is possible
to my knowledge, that just isn't possible at all