I based this off of @slate_technologies AI Extensions project. If you have any suggestions please say so.
Umm, well, first, there are a few easily fixable naming problems. The block you call SLOTS should be called SLOT. (It took me a while to figure out how it differs from ALL SLOTS!) The block you call BACKUP should be called RESTORE; "backup" means the opposite of that, i.e., making a copy of something to preserve it. And (I've seen this before in your projects and keep forgetting to tell you) you should mark your predicate blocks (the ones that report True or False) so they'll be hexagonal instead of oval.
But, more fundamentally, what you and @slate_technologies are doing is basically just reinventing the list, only with a limited capacity. Instead of all those IF SLOT=1 ... ELSE IF SLOT=2 ... things, just use ITEM (SLOT) OF (SLOTLIST), or REPLACE ITEM (SLOT) etc. Then you can have any number of slots!
SLOT __ CONTAINS __
stupid forum won't let me post that...
Ok. I will make it a predicate.
motion slot: the comments should say
x where they say
or only reports
false, so they will never equal empty string or empty list.
slot error: "must be run" is correct grammar.
all slots: it uses the backup, so after clearing any slot or all slots, it says the values of the slots that were there previously.
Better version: Snap! 6.9.2 Build Your Own Blocks
I think IS __ A MEMORY SLOT really means IS __ A MEMORY?