Snap! challenge: can you disarm this project?

I created a project that deletes its sprites if you edit it. can you disarm these projects so you can edit them without them being destroyed?

if you come up with a solution, please post it on this topic, but put it in spoiler tags please! like this:



super hard

I will post solutions in a few days

Just edit the XML project files to remove the code that removes the sprites, or you can modify the Snap! code
that reminds me, it would be interesting to have snap reverse engineering challenges

Deleted for the time being.

can you find any solutions to either project without using


XML editing?

also, please put solutions in spoiler tags


the easy project can be solved without using


XML editing

more hints

the hard project is much harder but


most of it can be salvaged fairly easily without using


XML editing

even more hints

try using 5-24-16-15-18-20-9-14-7

are you sure?
you're really sure?
ok fine
this will ruin your appreciation of the project!
don't say I didn't warn you!
last chance to turn back!
alright, for real this time
I don't think you want to do this
nice weather we're having, huh?
this isn't off topic, is it?
Oh, right, I was giving you solutions
you don't really want to see this
do you?
alright, alright
here goes..."

HAHA I'm not going to post the solutions yet!

JS solution

URL/Bookmarklet to disable "when ... edited"
javascript:StageMorph.prototype.fireUserEditEvent = ()=>{};

plain old Snap! solution

Turn on single stepping and hit the stop sign when it pauses.


i.e delete all the scripts

oh right
I was looking for ways to make the stop sign be a square
Also wasn't there an option to disable edited hats?

Solutions in spoilers please!


Yep! That’s one of the official solutions!
Does it work for both projects?

(hinted by bh)

Does it really work for you? "when ... edited" is not blocked by the "Stop".
And single stepping blocks only one call at a time. If you try to edit the project, the event is triggered even in stepping mode.

in the easy project, this prevents the extension from being loaded
it doesn't work in the hard project

this is not a joke
it really is a hint
hint (for real this time)

the hard project's secret is the URL

this works!


I think so, although I didn't test extensively. But see dardoro's note.


Don't all the scripts pause in unison? Whichever one the stepper thinks it's officially doing first, the stop button should stop all of them. No?


Sometimes the block directly under the hat block seems to run instantly, even if single stepping is enabled

huh interesting.


The solution to the hard one is by adding &editMode&noRun to the end of the url, then putting it in single stepping mode. Drag a stop all block onto a when ... edited script that has an import, then click the stop button. Repeat that for the second import (the green flag one isn't very important, because that only triggers when you press the green flag.


yep! I might try to make a super hard version that is immune to single stepping

official solutions
easy mode

enable visible stepping, now open the block definition for the custom control block and drag a STOP all block into the definition. now you can click ok, and the project will be disarmed


enabling visible stepping doesn't count as editing the project, but it makes it so that any changes to custom blocks are applied immediately. dragging the STOP all block into the definition triggers the hat blocks, but they run the custom block (and your new STOP all) before deleting the sprite

hard mode

to disarm the harder project, you first have to edit the URL link to the project to include &noRun as @ego-lay_atman-bay said. then you can enable single stepping, and use it to disarm the blocks that load the extension.


if an editor mode project URL is shared, by default it will start in fullscreen mode and immediately press the green flag. these can both be disabled by adding &editorMode and &noRun to the end of the URL