Scratch Forum Search

Your query resulted in over 10 thousand posts. You may have difficulty loading posts after page 200.
Malicondi Malicondi loading

mybearworld wrote:

You might be talking about SUI. That has went down, but recently it went up again: https://scratch.mit.edu/discuss/post/7891753/
It doesn't know the user with the ID 15680062, though.
The account with that user id is a GDPR account as such is why it doesn't work.
31cam3b 31cam3b loading
While I was doing micro:bit I noticed there were a game section. If this was added to scratch it would be awesome! Here is the list of blocks there are in micro:bit for the game section!

Create sprite at x: (#) y: (#)

delete sprite

Is sprite deleted

Sprite move by #

Sprite turn right/left by (º) (#)

Sprite change x/y/direction/brightness/blink by (#)

Sprite set x/y/direction/brightness/blink to (#)

Sprite x/y/direction/brightness/blink

Is sprite touching ()

Is sprite touching edge

Sprite if on edge, bounce

Remove life (#)

add life (#)

Set life (#)

Set score (#)

Change score by (#)

start countdown (ms) (#)

Score

Game over

Is game over

Is paused

Is running


ThatOneWeirdDude wrote:

portalpower wrote:

ThatOneWeirdDude wrote:

carti literally just dropped the worst feature I ever heard and now rap pages are calling it aj insane feature run

can we as a whole stop trying to normalize bad music
I feel like at this point Carti realized he doesn't have to try and his fanbase will eat up anything he poops out.

Also what song?
New Camilla Cabeo tradk or whatever her name is
ew yeah i didn't listen to it just cause i have a pure hatred for camila cabello
cosmo250 cosmo250 loading

-HunnyBun- wrote:

Hi! I'm having an issue where I can't see images I had previously added to a forum post, from my own cubeupload account. These images also won't render on cubeupload itself (I have to use the fullscreen option to view them), and lastly, my account gif went from an animation to a static black rectangle. The last issue may just be from my account being hacked, but I'm not certain. Can anyone please help? Thanks!




More Info: Investigating further, I see that trying to open my attached images here (I still cannot see them normally), redirects me to a cloudflare “Connection Timed Out” page. Is cubeupload currently down?

Cubeupload may be experiencing some problems. You should give it a few days for it to hopefully be fixed.

Superbega429 wrote:

TheExample_2020 wrote:

TheExample_2020 wrote:

hey i've been crawling through this thread for a while now and scratch is media, so here we go; anyone know what happened to this project i discovered in ‘19 or ’20?

Too Long; Didn't Read wrote:

too long? synopsis: a word guessing game i can't seem to find anywhere. very simple objective (find the word), very difficult to do (coded under maximum encoding). found the word in a comment (not telling, you have to read for that). had a dead-ended scavenger hunt. has chipm0nk-level fame. where is it?

>snip on myself<
bump, yet again
hey i remember you, i saw you on some console startup remakes i watched in 2021.
good times
i made this account in 2020 (creative me putting the year of creation in my username) only because idiot fifth grade me got banned for bad username (you can guess what i used to be because i don’t want to be suspended)
cosmo250 cosmo250 loading

EDawg2011 wrote:

My browser / operating system: Windows NT 10.0, Chrome 122.0.0.0, No Flash version detected
It's been almost a month and my project STILL hasn't been indexed into search; is it broken?]

And don't ask for a source, I have no source, I got this from some random (trustworthy) forum post but I cannot link to it as I have no idea where or what its called.
source
Sometimes it takes a while for the project to load, the more projects you make with a certain title, keyword, or username, the more likely they are to start appearing.
Daily - 3/30/24
|| - Notes: none
Word Count: 275

Colette opened her birdwatching journal, staring out the window. A pencil was clutched in her hand, ready to scribble things down if she caught new information. She had already written down multiple things from earlier, but it wasn’t as successful as previous attempts.
She breathed out a sigh, realizing how stuffy her room was. It was scorching outside, but she decided that it would be a little better to let a little air in. Colette pushed the pane up and almost immediately, voices began to ring in her head. They were the voices of people outside, talking back and forth to a melody of gibberish.
She immediately blinked in confusion. The voices were still there, attacking her ears like a swarm of bees. She disliked the buzzing sensation and shut her window, but she kept looking outside curiously.
I’m sure it’s just…a party on my floor. Yes, the people below us are having a party on their balcony! That must be it.
A furious honk came from a car on the street. Instead of a regular noise though, it filled Colette’s ears, which she immediately stuck her fingers into. She dived into her bed, covering herself with a blanket until she heard her mom knocking on her door.
“Come in!” She yelled, but there wasn’t a reply. She got up from her bed and twisted the doorknob open. No one was there.
“Oh, Bastien,” her mom supposedly said in a thick French accent, “you haven’t done your schoolwork again, I’ve just called your headmaster-”
Then, birds started to chirp, filling her ears with more annoying sounds.
Colette had never hated birds more than this moment.
-stxllxr -stxllxr loading

EngineerRunner wrote:

i don't think this falls under this, as it doesn't add any new features, and, personally, i think this is a good thing. while this may lead to seperation, this would mean more people would want to donate to ST, and they'd get more funding.
This would still probably fall under this:

TOLoRS wrote:

8.8 Scratch achievements
Some users have suggested Scratch achievements such as “Created 50 projects” with the idea that this would give users motivation to keep using Scratch. However, this sort of idea does not really fit in with the purpose of Scratch. Some users may use their achievements to determine that they are “better” than other users. However, you are allowed to make achievements in your own games, if you like.
And the problem of people bragging that they're “better” for donating still stands, so i would say that this is still rejected.
Bonjour,
Vennez voir mon nouveau projet
C’est pour vous remercier d’etre aussi nombreux a me soutenir
Si tu aussi tu veut faire partie de la team soit tu rej mon studio :
https://scratch.mit.edu/studios/34639355
Soit tu me follow pour voir tout mes projets et me soutenir :
https://scratch.mit.edu/users/furyb_levrai/
Ou soit ta pas envi d’y passer trop de temps et tu regarde juste un de mes projet:
https://scratch.mit.edu/projects/991952075
Et enfin si tu veut voir mon projet avec le plus de vues c par ici:
https://scratch.mit.edu/projects/991225829
En tout cas merci a tout ceux qui feront au moin une des choses <3
Par furyb_levrai

St_Pupcake St_Pupcake loading

beanyboy512 wrote:

yo i would like to join hyrule
Don’t. They’re a nation full of rule breakers and bullys. No offense, ofc.
Za-Chary Za-Chary loading

EngineerRunner wrote:

i don't think this falls under this, as it doesn't add any new features, and, personally, i think this is a good thing. while this may lead to seperation, this would mean more people would want to donate to ST, and they'd get more funding.
The separation would not be good for those who cannot donate to the Scratch Foundation.

italvera wrote:

I believe this is rejected:
8.2 Add a rank above Scratcher or allow users to skip the New Scratcher status
There are three ranks: New Scratcher, Scratcher, and Scratch Team. The only reason the New Scratcher rank exists is to prevent spam, and since it only takes a few weeks to become a Scratcher, bullying and separation are rather minimal. Similarly, the Scratch Team rank exists so users know who is on the Scratch Team; note that Scratch Team members do not brag about the Scratch Team rank. In contrast, there may be division in the community between Scratchers and those with a higher rank, which could also lead to bragging and bullying. This also includes a “verified Scratcher” status where well-known Scratchers get a special symbol next to their name.

Roblox888i wrote:

NO WE NEED A RANK FOR ME PLEASE!!!!!!!!

Rejected:
8.2 Add a rank above Scratcher or allow users to skip the New Scratcher status
There are three ranks: New Scratcher, Scratcher, and Scratch Team. The only reason the New Scratcher rank exists is to prevent spam, and since it only takes a few weeks to become a Scratcher, bullying and separation are rather minimal. Similarly, the Scratch Team rank exists so users know who is on the Scratch Team; note that Scratch Team members do not brag about the Scratch Team rank. In contrast, there may be division in the community between Scratchers and those with a higher rank, which could also lead to bragging and bullying. This also includes a “verified Scratcher” status where well-known Scratchers get a special symbol next to their name.
i don't think this falls under this, as it doesn't add any new features, and, personally, i think this is a good thing. while this may lead to seperation, this would mean more people would want to donate to ST, and they'd get more funding.
oopsied oopsied loading

Paulottix_Music wrote:

oopsied wrote:

Hey all,
Daliscreator and I are hosting a 1400 block long megacollab. The level will be about top 5 to top 1 difficulty, and will be similar to Limbo, in which it will be a memory demon. There will be 14 total parts, each 100 blocks long. The schedule is like this:
Part 1 - CreativeStegosaur
Part 2 - Paullottix
Part 3 - daliscreator
Part 4 - Trigonometrical
Part 5 - igtnathan5
Part 6 - mrtidwinkle
Part 7 - oopsied
Part 8 - CreativeStegosaur
Part 9 - Paullottix
Part 10 - quartay
Part 11 - Trigonometrical
Part 12 - igtnathan5
Part 13 - mrtidwinkle
Part 14 - oopsied

I'm in!
yay
-stxllxr -stxllxr loading

zacharyn35 wrote:

Thanks! Also do you have a code so that it changes it to numbers based on the letter. (Ex. Hi would be 9,10)
Yep, that's a little more complicated version of the code above. Doing so is a similar process, but instead of full words in a list, it's individual letters for each item. To simplify it, you should make a script like this to fill the list, using a variable:
define setup list
delete all of [list v] :: list
set [i v] to (1)
repeat (9)
add () to [list v] // needed for encoding, I'll explain later
end
repeat (length of [abcdefghijklmnopqrstuvwxyz1234567890-_ ]) // add more letters as you like.
add (letter (i) of [abcdefghijklmnopqrstuvwxyz1234567890-_] ) to [list v] // there is a space here.
change [i v] by (1
This will add every letter of the alphabet, and will add numbers and a few other special characters if you wanted them. If you want to add more letters, just add more to both the top and bottom part of the “abcde…” part.

The reason we need 9 empty values at the start is because when you encode letters above j (letter 10 of the alphabet) it would encode into “10” and a would encode into “1” so it wouldn't know the difference between ab (1 2) and n (12). Adding in 9 blank values stops this problem, and allows us to encode far easier.

To encode like this, it just involves repeating over every character of the thing you want to encode, and convert it into numbers. The block shown below is how you do so in code, with one extra variable to hold the now converted thing.
define encode thing (t)
set [i v] to (1)
repeat (length of (t))
set [encoded string v] to (join (encoded string) (item # of (letter (i) of (t)) in [list v] ::list
change [i v] by (1)
end
set [encoded string v] to (join (encoded string) [|
The “|” characters is our delimiter, allowing the code when to stop reading and knowing that there is a new value.

Decoding is almost as simple, but we need a few block to do so. Some of the core blocks needed are getting a letter, and getting a value, as shown below, requiring a few new variables.
(let)
(val)
define get letter
set [let v] to (letter (i) of (encoded string))
change [i v] by (1)

define get value
get letter
set [val v] to () // empty
repeat (2)
set [val v] to (join (val) (let))
These 2 blocks allow us to read a single letter of the encoded string, and a single letter of the decoded string. The process to decode an entire string is just to read every encoded letter until you reach the delimiter, or the end point, with another variable. (I know, alot of variables)
define read string
set [decoded string v] to () // empty
repeat until <(let) = [|]>
get value ::custom
set [decoded string v] to (join (decoded string) (item (val) of [list v]))
And that's it for encoding and decoding! You can use the blocks like this:
set [encoded string v] to () //whenever you reset the string, set it to empty.
encode thing [hello] ::custom
encode thing [how are you] ::custom
encode thing [bye] ::custom

set [i v] to (1) // when you want to start at the beginning.
read string :: custom
say (decoded string) for (2) secs
read string :: custom
say (decoded string) for (2) secs
read string :: custom
say (decoded string) for (2) secs
This will say “hello” “how are you” “bye”. Hope this helps!

StarryDove wrote:

iiucandyfloss wrote:

membership/partnership form (eligibility: eligible ✅)
Username: iiucandyfloss
Do you have permission from the owner to request this review?: yes
Shop's Name: rosie's wonderland
Link to shop: Forum (3.0 version)
Banner link: https://u.cubeupload.com/Crimm/Screenshot2024012211.png
Slogan/Tagline: welcome to rosie's wonderland! here i sell bnrs/thumbs, b/ws, slide layouts, and more!
Other info: I have a suggestion! Perhaps you could add an “other info” section to this form? Also, please add the slogan of this shop in bold. Thank you so much!
sure, will add ya in a bit!

thanks! I will add your shop's banner to our Partners list


For the use of all staff, here is the partnership invitation text. You can use this when seeing shops that interest you.

Things that can be changed
1. NUMBER tags
2. USERNAME tags
3. Sign-off (Yours Sincerely)
4. MONTH tags
5. DAY tags
6. Text colours (The “Invite from Rosie's Wonderland” colour should STAY THE SAME)

The post code for this is: https://scratch.mit.edu/discuss/topic/737466/?page=4#post-7892515
You can write this down if necessary.


[quote][big][center][color=#7acef1]Invite from[/color][color=#deb0c6] Rosie's Wonderland[/color][/center][/big]
[img]https://u.cubeupload.com/Crimm/Screenshot2024012211.png[/img]

[color=#b4dbbb]We, from Rosie's Wonderland, hereby invite you to become a partner of our shop. We sell thumbnails, banners, profile pictures & bio and wiwo layouts. We specialise in art.

As of MONTH DAY, YEAR, we have successfully partnered with NUMBER shops and NUMBER federation. At Rosie's Wonderland, we ensure that our partners, staff and customers are treated kindly, respectfully and correctly. We look forward to seeing you at our shop. Please let me know if you would like to partner with our shop at Rosie's Wonderland. You can use the link below or search up "Rosie's Wonderland 3.0" and you will see it. Thank you.

You can apply for partnership [url=https://scratch.mit.edu/discuss/topic/737466/?page=1]here[/url].[/color]

[b]Yours Sincerely,[/b]
[i]USERNAME[/i]
[/quote]

Invite from Rosie's Wonderland



We, from Rosie's Wonderland, hereby invite you to become a partner of our shop. We sell thumbnails, banners, profile pictures & bio and wiwo layouts. We specialise in art.

As of MONTH DAY, YEAR, we have successfully partnered with NUMBER shops and NUMBER federation. At Rosie's Wonderland, we ensure that our partners, staff and customers are treated kindly, respectfully and correctly. We look forward to seeing you at our shop. Please let me know if you would like to partner with our shop at Rosie's Wonderland. You can use the link below or search up “Rosie's Wonderland 3.0” and you will see it. Thank you.

You can apply for partnership here.


Yours Sincerely,
USERNAME
to change a string (text) to a number you'd create a list containing every character (letter, number, symbol, etc) you want to support and loop through the whole string, joining each letter's position in the list with the number (possibly adding leading zeroes to one digit numbers to make converting back easier: 7 -> 07)

converting back would require looping through the whole number and grabbing every pair of numbers and joining that position in the list with the current string
I use Kleki but I need some different brushes. I'm also on a school Chromebook and zip files don't work so please help TwT
chimingbell chimingbell loading
⚠︎ // (( trigger warning; other important stuff ))
✭ note // if you have anything to say, comment on my project please✭
❃ disclaimer // this is still a wip ( as of 19.03.24)
—————

❝ turn off your porcelain face❞

.・。.・゜✭・.・✫・゜・。.

┏ ━ •❃°•°❀°•°❃• ━ ┓
table of contents
i. toc ✫
ii. introduction
iii. about me
iv. my roleplaying
v. the kit
vi. other
vii. conclusion
┗ ━ •❃°•°❀°•°❃• ━ ┛


❒ introduction
hi there! welcome to my application for the gorgeous nebulakit ! i immediately fell in love with her design and had so many ideas for her, i was very disappointed to find she was preclaimed. but luck seemed to be on my side, as the next time i checked, it had changed. so now, after a lot of writing…nebulakit.

—————

╒════════════╕
. about me
╘════════════╛

❒ basics
username – @chimingbell
pronouns & gender – she/her ❀ female
nickname(s) – bee


❒ who am i?
hii, i’m bee, I’m fourteen years old, and an avid dancer, artist, and aerialist. i definitely prefer hoop to silk, and i would 100% recommend it to everyone, its super fun and pretty easy to pick up. i also love music, geography and roleplaying, which i’ve done for many years, but more on that later. i also regularly read. as it stimulates the brain and helps you learn more words. i love drawing, and im trying to improve both digitally and traditionally. i also really enjoy baking, and although I’m not the best, it’s a really fun thing to do with friends and family.

╒════════════╕
. my roleplaying
╘════════════╛

❒ past characters
willowhoney, shadowclan (2021-22) sign-up
posywhirl, riverclan )2023-2023) sign-up
melodychime (2023-now) litter won

❒ have i read the rules?
yep i have!

❒ roleplaying experience
from a young age, i have been very into creating another world and spinning my own stories. when i first got into warriors (age of 9 or 10) i decided to write my own warrior cats book. i would say, for my age, it was pretty good, but then i found this website. where you can not only create your own story, but intertwine it with somebody else’s. i was eleven when i discovered scratch, and i’m now fourteen. i joined my first roleplays around that same time, so 2021. they were small, but it made me happy to write about them. throughout the last couple of years, small roleplays, such as chiveclan, i have participated in, and larger ones, tcorp, and of course, tfcrp. where i have had three characters up to today.

❒ activity
on a scale of 1-10, i’d say roughly a 7. this of course, various day to day, but there a periods where i feel super active and love to be on the website. and other days, where it just feels like a chore. if this happens, i normally alert a few people to let them know my activity is descending and it shouldn’t last too long haha.

❒ longevity
it really depends on the character. i kept my first for 3 months, and second for 5 months, and i’ve had melodychime since october, and do not plan on killing her off anytime soon. for nebula, it would be the same, probably at least one in real life year.

╒════════════╕
. the kit
╘════════════╛

❒ what kitten are you applying for?
nebulakit !! what a gorgeous design !

❒ why do you want this kit?
one day, i was checking scratch, and someone i follow liked a project. i went to it, clicked the green flag, and the first thing i see is this beautifuly designed kitten. i genuinely audibly gasped. i was all set to apply. when i checked the description, i was devastated to find out that someone had preclaimed the kitten already. yet luck was on my side, and the. next time i checked, they were open to applicants.
i have so many ideas planned out for her, and i really think i could roleplay her to the best of my abilities, and fully transport myself and nebulas story to this small community on a kids coding website.
i can really see myself implanting her life down, and i think i could play her character that i have chosen very well. she would be an honour to roleplay <3

I really want a second character slot, I really do, but I don’t want a filled, useless character, with no purpose other than to satisfy my longing for another, but I want one I can really connect with, really enjoy. And I think that nebula could be it. Her design, for one, is breathtaking, and when somebody thinks that, the urge to just apply is just intense, so I applied.

❒ kit's identity
gender – female
pronouns – she / fae
ex: // faers ear twitched, and she huffed as the cold got to faers bones.
romantic orientation – pansexual

❒ personality

positive


nebulakit, a true treasure trove of a personality, a tale of good and bad, just behind two olive green eyes. A warm smile greets you, the atmosphere that nia carries is like a strong wind of consoltion, blowing away feelings of bitterness and squeezes the sourness out of a disgruntled soul. She is so lighthearted. Her presence is a radiant display of care and she will, in short, try her upmost best to cheer up the sadness in the air. She tries to crack a joke in the times of trouble, and uplift someone’s spirits by reminding the of happiness. Running along side that, generally, this pretty kitty isbenevolent helping others, and sometimes making sacrifices, without expecting anything in return. Wether it’s hunting for the incapable, or capable, spinning stories for the kittens of the clan, or chatting with those low of spirit, she’s giving her a-game to be the silver lining on every cloud. Sitting in the elders den listening to an older cat rambling on about how things were when they were young, it can get very time-consuming and boring, but caring nebbie gives her wholehearted attention to them, and anyone else in this situation. If she were to become a mentor, to the slowest learning apprentice, she would donate time and energy, and work step by step to reach the perfect pounce, patient. A tough shield, standing strong against the cruel winds that threaten to knock her down, our brave soldier, a sturdy boulder in an avalanche of falling rocks. Whatever life hurls her way, nebster tries her hardest to put on a brave face that’s she’s always known she’s had, and plods on and on through the pain. Leaping over life’s obstacles, all in all, she is a resilient cat. Along with that, you can lean on neb like a strong brick wall. She will always keep her promises and strive to be the strength and bonds that hold up the struggling cats, always making sure very one knows that they can come to her. A sturdy, reliable cat, nebulakit is, and she is , or acts, unfazed by many challenges…



neutral

Although, our young purple princess is away with her own forest fairies, metaphorically speaking, often living in her own headspace, becoming very dreamy and un attentive at times, which could contradict her patient nature. Drifting of into an ocean of her own tangled thoughts, the swirly she-cats imagination weaves and winds as she wraps herself up in her own little land. This could face many consequences, as our young cat could miss out an important moment, during training, ceremonies or anything else. You may find nebulakit to be a bit conciliatory whenever she is in a disagreement with another, she tries to end it as soon as possible, believing that you shouldn’t argue with someone as nebbie doesn’t like being in someone’s bad books, so she tries to worm her way out of any sticky situation that includes rowdy shouting and yelling, directed at her. She tries to apologise immediate to avoid the future disagreements. Yet, she tries to look on the bright side of life, with a lifted chin and sparkling eyes looking forward, our adorable kitten is very often optimistic twisting the tables from sad to happy. This goes hand in hand with her caring nature, but this happy personality does have its cons. The fact that she’s always optimistic could get annoying, and sometimes, when people are grieving, the best thing it’s just to be left alone, and a bubbly, happy personality getting in the way may not be the prefect situation, therefore, some could say that being an optimist, like herself, isn’t the best way to go about trying to have a happy life. Some could say her bold personality is challenged by the air of her mysterious aura shadowing her every footstep. She tends to show the part of her that she wants to show, the easygoing, lighthearted butterfly, but inside, the darker moth is kept in its pretty patterned container. But this isn’t bad, not at all, she doesn’t want to leave a nasty taste in the air after she leave if everyone saw her flaws, so she covers them up with a dainty smile and a wink…


negative


the starlit kitten could be described as rather self-centred, although she normally puts others first, she could tend to lean towards the vain, ‘high-horse’ kind of attitude, making moves and saying things that portray a dissmissive, close to home, sense. this really isn’t the best behaviour now, is it? often portraying a sense that she only cares about herself. in other words, she’s a rather narcissistic character. another thing about nebula is you’ll often spot a slight side-eye spat at you, the scathing jealously reeking like a bad smell. jelousy yes, the swirled feline is envious of character, stooping low when it comes to greed. she doesn’t have the best thing. they do. she isn’t perfect, they are. she wants what you have, he has, she has, they have. she wants…
this is a continuous cycle with the petty princess. she isn’t satisfied with her own belongings, she must obtain what she finds pretty. and if someone else won a competition, oh, look out, a daunting, malicious grin will strike upon you, burning the confidence of the other. when neb has a task that she needs to do, she won’t do it, not for a while, at least. give her 1? 2? 3 days? maybe 4… which basically sums her procrastinating personality up in a nutshell. she is very lazy when it comes to these sort of things, putting it of until last minute. especially when it involves a lot of work. let’s just say she’s no the biggest fan. some call her protective, some call her a gardien angel. but this pretty kitty cannot wait to sink her teeth into sweet, sweet revenge. a quick-fire range back and forth between anyone even hinting at hurting her family and friends. but she may take it a bit too far, putting her threats no insults borderline between insulting and unnaceptable. she may be hotheaded, but being this vvindictive really isn’t a good thing. she lashes out, even when it’s not needed. and if, if someone she was close to was invited but someone else. she would become a tornado, crashing through. the other person in a whirlwind of revenge.


❒ trivia
➣ favorites:
• prey - starling
– color - yellow
• time of day - evening
– weather - sunny with a hint of rain
• flower - primrose
– location - the crow statue
➣ habits
– rapid eye blinking when uncomfortable
• humming
➣ beliefs
religion – “starclan? we need o respect them. if it weren’t for them, we would be here”
their clan – “shadowclan is great. such a friendly place, and the shade of the trees in summer, why it’s perfect”
their leader – “i mean, i’m a bit scared of nimbusstar but…i’m sure they’re a nice cat!”
the warrior code – “gotta admit, i’m a strict code follower, it keeps the peace !”
➣ reactions
note // this was loosely inspired by @.meowsnow! go follow them!
• to being told “i love you” - flustered, would probably blurt something back
– to danger - make it exciting
• to negative emotion from other cats - brush it off, who cares what they think
– to their own negative emotions - keep it hidden, shadowclan warriors have to do that
• to her success - “i’m probably just the best, not gonna lie”
➣ human au
nebula _
➣ nicknames
nia, neb
➣ likes
– fast food
• dance
➣ dislikes
– smudged makeup
• stains
➣ miscellaneous trivia
– (( content ))
• calls herself “beauty” from neBUla

random ideas haha -

Ideas
-tends to not laugh at jokes
- when she first meets new people she stays well guarded
- persistent
- bit of a pick me ngl
- longs to travel
-curious about the other clans
- uses natural items to make armament
- great fighter
- manipulative in a way
- night owl
- attracted to her polar opposites
- moon personality ??
- she believes starclan are always going to be there for her and will guide her decision making.
- spirit speaker, thinks she can connect with ghosts and such !

╒════════════╕
. other
╘════════════╛

❒ codewords
if nebula was grieving for an admin, she would probably sprinkle some wildflower seeds on the grave, it comes from the heart, the spine, I swear. !!

❒ roleplay example(s)
https://scratch.mit.edu/projects/987686602/

❒ research

(( research – go check out @.weirdglowymushroomsx's project! https://scratch.mit.edu/projects/884261681/ ))
—————

❒ conclusion
it seems we have reached the end of our solar system…but seriously, thank you for reading, i’m feeling very positive about my application and even if i dont win, i will be very proud of myself <3
—————

❒ credits
– @.koodingiskool; for the application template
• (( @.user )); for (( how did they contribute? ))
– (( @.user )); for (( how did they contribute? ))

❒ links
application ➢
https://scratch.mit.edu/projects/985292689/
litter ➢
https://scratch.mit.edu/projects/966308218
Roblox888i Roblox888i loading
NO WE SHOULD HAVE A BLOCK FOR ME!!!!!!

just use mouse x and y
Roblox888i Roblox888i loading
NO WE NEED A RANK FOR ME PLEASE!!!!!!!!

Rejected:
8.2 Add a rank above Scratcher or allow users to skip the New Scratcher status
There are three ranks: New Scratcher, Scratcher, and Scratch Team. The only reason the New Scratcher rank exists is to prevent spam, and since it only takes a few weeks to become a Scratcher, bullying and separation are rather minimal. Similarly, the Scratch Team rank exists so users know who is on the Scratch Team; note that Scratch Team members do not brag about the Scratch Team rank. In contrast, there may be division in the community between Scratchers and those with a higher rank, which could also lead to bragging and bullying. This also includes a “verified Scratcher” status where well-known Scratchers get a special symbol next to their name.

portalpower wrote:

ThatOneWeirdDude wrote:

carti literally just dropped the worst feature I ever heard and now rap pages are calling it aj insane feature run

can we as a whole stop trying to normalize bad music
I feel like at this point Carti realized he doesn't have to try and his fanbase will eat up anything he poops out.

Also what song?
New Camilla Cabeo tradk or whatever her name is

pasta_enjoyer7 wrote:

Blue_Moon2607 wrote:

  • Delete their topics/posts
    The poster has the option to delete topics or posts, even if it's closed by the Scratch Team.
Pretty sure you can report your topic/post and ask for it to be deleted/dustbinned.

Blue_Moon2607 wrote:

  • Search topic/post feature
    Find topics or posts easily without Google search, it also helps find duplicate posts. Credit: wWSunPandaWw
Try using Ocular, a site for searching up forum posts on Scratch.
I can report my own post to delete it?
italvera italvera loading
I believe this is rejected:
8.2 Add a rank above Scratcher or allow users to skip the New Scratcher status
There are three ranks: New Scratcher, Scratcher, and Scratch Team. The only reason the New Scratcher rank exists is to prevent spam, and since it only takes a few weeks to become a Scratcher, bullying and separation are rather minimal. Similarly, the Scratch Team rank exists so users know who is on the Scratch Team; note that Scratch Team members do not brag about the Scratch Team rank. In contrast, there may be division in the community between Scratchers and those with a higher rank, which could also lead to bragging and bullying. This also includes a “verified Scratcher” status where well-known Scratchers get a special symbol next to their name.
Beluga_Jr Beluga_Jr loading
As a donor myself, I wonder if the Scratch Team could add a feature that put a “Donor” badge on your profile, just like the Scratcher badge. It would get more noticed.
Bobmr2024 Bobmr2024 loading
// All the scripts from my "Roads" project. ~blob8108

when green flag clicked
set [Level_index v] to [1]
broadcast [Hide Cars v]
clear graphic effects


when green flag clicked
clear
wait (0) secs
wait (0) secs
if <not<(_done logo)=[1]>>
broadcast [blob8108 v] and wait
end
broadcast [Previews v]


set [Levels v] to [0]
delete (all v) of [Tiles v]
delete (all v) of [Tile Surroundings.1 v]
delete (all v) of [Tile Surroundings.2 v]
delete (all v) of [Tile Switches v]
delete (all v) of [Level Names v]
broadcast [Previews v]


when [c v] key pressed
reset timer
wait until <<(timer) > [3]> or <not<key [c v] pressed?>>>
if <<(timer) > [3]> and <key [c v] pressed?>>
broadcast [New Level v] and wait
end


when [0 v] key pressed
set [Selected v] to [0]


when [1 v] key pressed
set [Selected v] to [1]


when [2 v] key pressed
set [Selected v] to [2]


when [3 v] key pressed
set [Selected v] to [3]


when [4 v] key pressed
set [Selected v] to [4]


when [r v] key pressed
broadcast [Refresh All v]


when I receive [Reset Vehicles v]
wait (0.2) secs
broadcast [Drive v]


when green flag clicked
set [processing v] to [0]
hide
set [Selected v] to [1]


when I receive [Stop v]
set [processing v] to [1]
hide


when I receive [Start v]
set [processing v] to [0]
wait until <not<mouse down?>>
clear graphic effects
repeat until <<(processing)=[1]> or <(Previewing)=[1]>>
if <<<(mouse x) > [-240]> and <(mouse x) < [240]>> and <<(mouse y) > [-180]> and <(mouse y) < [156]>>>
go to x:(((mouse x) - ((mouse x) mod (24))) + (12)) y:(((mouse y) - (((mouse y) + (12)) mod (24))) + (12))
set [ghost v] effect to (50)
show
if <<mouse down?> or <key [space v] pressed?>>
set [x v] to (round ((((x position) - (12)) / (24)) + (10)))
set [y v] to (((y position) / (24)) + (7))
hide
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Current Type v] to (item (tile_index) of [Tiles v])
if <key [space v] pressed?>
set [Build Type v] to [0]
else
if <<<(Current Type)=[1]> and <(Selected)=[2]>> or <<(Current Type)=[2]> and <(Selected)=[1]>>>
set [Build Type v] to [3]
else
set [Build Type v] to (Selected)
if <(Selected) > [2]>
change [Build Type v] by (1)
end
end
end
switch to costume [blank v]
set [ghost v] effect to (0)
stamp
if <not<(Current Type)=(Build Type)>>
replace item (tile_index) of [Tiles v] with (Build Type)
else
replace item (tile_index) of [Tile Switches v] with (((item (tile_index) of [Tile Switches v]) mod (2)) + (1))
broadcast [Update Tile Surroundings v] and wait
end
if <(Build Type) > [0]>
if <(Build Type) > [3]>
if <(Build Type)=[4]>
switch to costume ((36) + (pick random (0) to (1)))
stamp
else
if <(Build Type)=[5]>
switch to costume ((38) + (pick random (1) to (16)))
set [Surroundings v] to (item ((tile_index) - (20)) of [Tile Surroundings.1 v])
stamp
else
end
end
end
if <<(Build Type)=[1]> or <(Build Type)=[3]>>
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
switch to costume ((((1) - (1)) * (17)) + ((Surroundings) + (1)))
stamp
end
if <<(Build Type)=[2]> or <(Build Type)=[3]>>
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.2 v])
if <<<(Surroundings)=[8]> or <(Surroundings)=[12]>> or <<(Surroundings)=[14]> or <(Surroundings)=[15]>>>
set [brightness v] effect to (50)
switch to costume ((((2) - (1)) * (17)) + ((Surroundings) + (1)))
stamp
set [brightness v] effect to (0)
set [switch v] to (item (tile_index) of [Tile Switches v])
if <<<(Surroundings)=[8]> and <(switch)=[1]>> or <<(Surroundings)=[12]> and <(switch)=[2]>>>
switch to costume [ul1 v]
end
if <<<(Surroundings)=[8]> and <(switch)=[2]>> or <<(Surroundings)=[15]> and <(switch)=[1]>>>
switch to costume [ld1 v]
end
if <<<(Surroundings)=[12]> and <(switch)=[1]>> or <<(Surroundings)=[14]> and <(switch)=[2]>>>
switch to costume [ur1 v]
end
if <<<(Surroundings)=[14]> and <(switch)=[1]>> or <<(Surroundings)=[15]> and <(switch)=[2]>>>
switch to costume [dr1 v]
end
stamp
else
switch to costume ((((2) - (1)) * (17)) + ((Surroundings) + (1)))
stamp
end
end
end
if <not<(Current Type)=(Build Type)>>
if <<(Current Type) > [0]> and <(Current Type) < [4]>>
set [Build Modifier v] to [-1]
if <<(Current Type)=[1]> or <(Current Type)=[3]>>
broadcast [Rebuild Surroundings 1.Road v] and wait
end
if <<(Current Type)=[2]> or <(Current Type)=[3]>>
broadcast [Rebuild Surroundings 2.Rails v] and wait
end
end
if <<(Build Type) > [0]> and <(Build Type) < [4]>>
set [Build Modifier v] to [1]
if <<(Build Type)=[1]> or <(Build Type)=[3]>>
broadcast [Rebuild Surroundings 1.Road v] and wait
end
if <<(Build Type)=[2]> or <(Build Type)=[3]>>
broadcast [Rebuild Surroundings 2.Rails v] and wait
end
end
if <<(Current Type)=[5]> or <<<(Current Type) > [0]> and <(Current Type) < [4]>> or <<(Build Type) > [0]> and <(Build Type) < [4]>>>>
broadcast [Restamp neighbours v] and wait
end
end
if <(Build Type)=[5]>
set [Surroundings v] to (item ((tile_index) - (20)) of [Tile Surroundings.1 v])
if <<<(item ((tile_index) - (20)) of [Tiles v])=[1]> or <(item ((tile_index) - (20)) of [Tiles v])=[3]>> and <<<(Surroundings)=[3]> or <(Surroundings)=[9]>> or <<(Surroundings)=[11]> or <(Surroundings)=[15]>>>>
switch to costume [drive v]
stamp
end
end
if <(Build Type)=[3]>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Surroundings.1 v] to (item (tile_index) of [Tile Surroundings.1 v])
set [Surroundings.2 v] to (item (tile_index) of [Tile Surroundings.2 v])
if <<<(Surroundings.1)=[6]> and <(Surroundings.2)=[11]>> or <<(Surroundings.1)=[11]> and <(Surroundings.2)=[6]>>>
broadcast [Stamp Crossing v] and wait
end
end
set [nx v] to (x)
set [ny v] to (y)
repeat until <<not<<(nx)=(x)> and <(ny)=(y)>>> or <not<mouse down?>>>
go to x:(((mouse x) - ((mouse x) mod (24))) + (12)) y:(((mouse y) - (((mouse y) + (12)) mod (24))) + (12))
set [nx v] to ((((x position) - (12)) / (24)) + (10))
set [ny v] to (((y position) / (24)) + (7))
end
else
if <(Selected)=[4]>
switch to costume [house1 v]
else
if <(Selected)=[3]>
switch to costume [tree v]
else
switch to costume (((Selected) * (17)) + (1))
end
end
end
else
hide
end
end


when I receive [Restamp neighbours v]
clear graphic effects
change [x v] by (1)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
go to x:((((x) - (10)) * (24)) + (12)) y:(((y) - (7)) * (24))
switch to costume [blank v]
stamp
broadcast [Stamp v] and wait
if <<(Type)=[1]> and <(item ((tile_index) + (20)) of [Tiles v])=[5]>>
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
if <<<(Surroundings)=[3]> or <(Surroundings)=[9]>> or <<(Surroundings)=[11]> or <(Surroundings)=[15]>>>
change y by (24)
switch to costume [drive v]
stamp
end
end
end
end
change [x v] by (-2)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
go to x:((((x) - (10)) * (24)) + (12)) y:(((y) - (7)) * (24))
switch to costume [blank v]
stamp
broadcast [Stamp v] and wait
if <<(Type)=[1]> and <(item ((tile_index) + (20)) of [Tiles v])=[5]>>
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
if <<<(Surroundings)=[3]> or <(Surroundings)=[9]>> or <<(Surroundings)=[11]> or <(Surroundings)=[15]>>>
change y by (24)
switch to costume [drive v]
stamp
end
end
end
end
change [x v] by (1)
change [y v] by (1)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
go to x:((((x) - (10)) * (24)) + (12)) y:(((y) - (7)) * (24))
switch to costume [blank v]
stamp
broadcast [Stamp v] and wait
if <<(Type)=[1]> and <(item ((tile_index) + (20)) of [Tiles v])=[5]>>
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
if <<<(Surroundings)=[3]> or <(Surroundings)=[9]>> or <<(Surroundings)=[11]> or <(Surroundings)=[15]>>>
change y by (24)
switch to costume [drive v]
stamp
end
end
end
end
change [y v] by (-2)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
go to x:((((x) - (10)) * (24)) + (12)) y:(((y) - (7)) * (24))
switch to costume [blank v]
stamp
broadcast [Stamp v] and wait
if <<(Type)=[1]> and <(item ((tile_index) + (20)) of [Tiles v])=[5]>>
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
if <<<(Surroundings)=[3]> or <(Surroundings)=[9]>> or <<(Surroundings)=[11]> or <(Surroundings)=[15]>>>
change y by (24)
switch to costume [drive v]
stamp
end
end
end
end


when I receive [Rebuild Surroundings 1.Road v]
change [x v] by (1)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
change [Surroundings v] by ((2) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.1 v] with (Surroundings)
end
change [x v] by (-2)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
change [Surroundings v] by ((8) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.1 v] with (Surroundings)
end
change [x v] by (1)
change [y v] by (1)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
change [Surroundings v] by ((4) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.1 v] with (Surroundings)
end
change [y v] by (-2)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.1 v])
change [Surroundings v] by ((1) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.1 v] with (Surroundings)
end
change [y v] by (1)


when I receive [Rebuild Surroundings 2.Rails v]
change [x v] by (1)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.2 v])
change [Surroundings v] by ((2) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.2 v] with (Surroundings)
end
change [x v] by (-2)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.2 v])
change [Surroundings v] by ((8) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.2 v] with (Surroundings)
end
change [x v] by (1)
change [y v] by (1)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.2 v])
change [Surroundings v] by ((4) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.2 v] with (Surroundings)
end
change [y v] by (-2)
if <<<(x) > [-1]> and <(y) > [-1]>> and <<(x) < [20]> and <(y) < [14]>>>
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
set [Type v] to (item (tile_index) of [Tiles v])
set [Surroundings v] to (item (tile_index) of [Tile Surroundings.2 v])
change [Surroundings v] by ((1) * (Build Modifier))
replace item (tile_index) of [Tile Surroundings.2 v] with (Surroundings)
end
change [y v] by (1)


when I receive [Update Tile Surroundings v]
set [Surroundings.1 v] to [1]
set [Surroundings.2 v] to [1]
set [tx v] to ((x) + (0))
set [ty v] to ((y) + (1))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=[1]> or <(tile)=[3]>>
change [Surroundings.1 v] by (1)
end
if <<(tile)=[2]> or <(tile)=[3]>>
change [Surroundings.2 v] by (1)
end
end
set [tx v] to ((x) + (-1))
set [ty v] to ((y) + (0))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=[1]> or <(tile)=[3]>>
change [Surroundings.1 v] by (2)
end
if <<(tile)=[2]> or <(tile)=[3]>>
change [Surroundings.2 v] by (2)
end
end
set [tx v] to ((x) + (0))
set [ty v] to ((y) + (-1))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=[1]> or <(tile)=[3]>>
change [Surroundings.1 v] by (4)
end
if <<(tile)=[2]> or <(tile)=[3]>>
change [Surroundings.2 v] by (4)
end
end
set [tx v] to ((x) + (1))
set [ty v] to ((y) + (0))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=[1]> or <(tile)=[3]>>
change [Surroundings.1 v] by (8)
end
if <<(tile)=[2]> or <(tile)=[3]>>
change [Surroundings.2 v] by (8)
end
end
replace item (tile_index) of [Tile Surroundings.1 v] with (Surroundings.1)
replace item (tile_index) of [Tile Surroundings.2 v] with (Surroundings.2)


when I receive [_update surroundings v]
set [Surroundings v] to [1]
set [tx v] to ((x) + (0))
set [ty v] to ((y) + (1))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=(Type)> or <(tile)=[3]>>
change [Surroundings v] by (1)
end
end
set [tx v] to ((x) + (-1))
set [ty v] to ((y) + (0))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=(Type)> or <(tile)=[3]>>
change [Surroundings v] by (2)
end
end
set [tx v] to ((x) + (0))
set [ty v] to ((y) + (-1))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=(Type)> or <(tile)=[3]>>
change [Surroundings v] by (4)
end
end
set [tx v] to ((x) + (1))
set [ty v] to ((y) + (0))
if <<<(tx) > [-1]> and <(ty) > [-1]>> and <<(tx) < [20]> and <(ty) < [14]>>>
set [tile v] to (item ((round ((tx) + ((ty) * (20)))) + (Level_index)) of [Tiles v])
if <<(tile)=(Type)> or <(tile)=[3]>>
change [Surroundings v] by (8)
end
end
if <(Type)=[1]>
replace item (tile_index) of [Tile Surroundings.1 v] with (Surroundings)
end
if <(Type)=[2]>
replace item (tile_index) of [Tile Surroundings.2 v] with (Surroundings)
end


when I receive [Stamp v]
clear graphic effects
if <(Type) > [3]>
if <(Type)=[4]>
switch to costume ((36) + (pick random (0) to (1)))
stamp
else
if <(Type)=[5]>
switch to costume ((38) + (pick random (1) to (16)))
set [Surroundings v] to (item ((tile_index) - (20)) of [Tile Surroundings.1 v])
stamp
if <<<(item ((tile_index) - (20)) of [Tiles v])=[1]> or <(item ((tile_index) - (20)) of [Tiles v])=[3]>> and <<<(Surroundings)=[3]> or <(Surroundings)=[9]>> or <<(Surroundings)=[11]> or <(Surroundings)=[15]>>>>
switch to costume [drive v]
stamp
end
else
end
end
else
set [Surroundings.1 v] to (item (tile_index) of [Tile Surroundings.1 v])
set [Surroundings.2 v] to (item (tile_index) of [Tile Surroundings.2 v])
if <<(Type)=[3]> and <<<(Surroundings.1)=[6]> and <(Surroundings.2)=[11]>> or <<(Surroundings.1)=[11]> and <(Surroundings.2)=[6]>>>>
broadcast [Stamp Crossing v] and wait
else
if <<(Type)=[1]> or <(Type)=[3]>>
switch to costume ((((1) - (1)) * (17)) + ((Surroundings.1) + (1)))
stamp
end
if <<(Type)=[2]> or <(Type)=[3]>>
if <<<(Surroundings.2)=[8]> or <(Surroundings.2)=[12]>> or <<(Surroundings.2)=[14]> or <(Surroundings.2)=[15]>>>
set [brightness v] effect to (50)
switch to costume ((((2) - (1)) * (17)) + ((Surroundings.2) + (1)))
stamp
set [brightness v] effect to (0)
set [switch v] to (item (tile_index) of [Tile Switches v])
if <<<(Surroundings.2)=[8]> and <(switch)=[1]>> or <<(Surroundings.2)=[12]> and <(switch)=[2]>>>
switch to costume [ul1 v]
end
if <<<(Surroundings.2)=[8]> and <(switch)=[2]>> or <<(Surroundings.2)=[15]> and <(switch)=[1]>>>
switch to costume [ld1 v]
end
if <<<(Surroundings.2)=[12]> and <(switch)=[1]>> or <<(Surroundings.2)=[14]> and <(switch)=[2]>>>
switch to costume [ur1 v]
end
if <<<(Surroundings.2)=[14]> and <(switch)=[1]>> or <<(Surroundings.2)=[15]> and <(switch)=[2]>>>
switch to costume [dr1 v]
end
stamp
else
switch to costume ((((2) - (1)) * (17)) + ((Surroundings.2) + (1)))
stamp
end
end
end
end


when I receive [Generate Code v]
delete (all v) of [Code v]
set [processing v] to [1]
broadcast [Thinking v]
set [_Code v] to []
set [Level_index v] to ((((Level) - (1)) * (280)) + (1))
set [tile_index v] to (Level_index)
repeat (94)
set [Byte v] to [0]
repeat (3)
set [Byte v] to ((Byte) / (4))
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [3]>
set [Type v] to [0]
end
change [Byte v] by (Type)
change [tile_index v] by (1)
end
set [Byte v] to (round ((Byte) * (16)))
set [_Code v] to (join (_Code) (item ((Byte) + (1)) of [base64 v]))
end
add (_Code) to [Code v]
set [processing v] to [0]
broadcast [Export instructions v] and wait


when I receive [Import Code v]
hide
ask [Import level — paste code here:] and wait
if <not<(answer)=[]>>
set [processing v] to [1]
broadcast [Thinking v]
broadcast [_new v] and wait
change [Levels v] by (1)
add [Imported] to [Level Names v]
set [_Code v] to (answer)
set [i v] to [1]
set [tile_index2 v] to (Level_index)
repeat (length of (_Code))
set [Char v] to (letter (i) of (_Code))
if <[base64 v] contains (Char)>
set [Byte v] to [0]
repeat until <(item ((Byte) + (1)) of [base64 search v])=(Char)>
change [Byte v] by (1)
end
if <[uppercase v] contains (Char)>
change [Byte v] by (26)
end
repeat (3)
set [Type v] to ((Byte) mod (4))
set [tile_index v] to (tile_index2)
replace item (tile_index) of [Tiles v] with (Type)
set [Build Modifier v] to [1]
change [tile_index2 v] by (1)
change [Byte v] by ((0) - (Type))
set [Byte v] to ((Byte) / (4))
end
else
set [processing v] to [0]
stop script
end
change [i v] by (1)
end
set [Build Modifier v] to [1]
set [y v] to [0]
repeat (14)
set [x v] to [0]
repeat (20)
set [tile_index v] to (((x) + ((y) * (20))) + (Level_index))
broadcast [Update Tile Surroundings v] and wait
change [x v] by (1)
end
change [y v] by (1)
end
set [processing v] to [0]
end


when green flag clicked
forever
set [reverse x v] to (((tile_index) - (Level_index)) mod (20))
set [reverse y v] to ((((tile_index) - (Level_index)) - (reverse x)) / (20))
end


when I receive [Load Level v]
set [Level_index v] to ((((Level) - (1)) * (280)) + (1))
broadcast [Refresh All v]


when I receive [New Level v]
set [processing v] to [1]
broadcast [Hide Cars v]
clear
broadcast [_new v] and wait
set [processing v] to [0]
set [Build Modifier v] to [1]
set [x v] to [9]
set [y v] to [6]
replace item (((x) + ((y) * (20))) + (Level_index)) of [Tiles v] with [1]
broadcast [Rebuild Surroundings 1.Road v] and wait
change [x v] by (1)
replace item (((x) + ((y) * (20))) + (Level_index)) of [Tiles v] with [1]
broadcast [Rebuild Surroundings 1.Road v] and wait
change [y v] by (1)
replace item (((10) + ((7) * (20))) + (Level_index)) of [Tiles v] with [2]
broadcast [Rebuild Surroundings 2.Rails v] and wait
change [x v] by (-1)
replace item (((9) + ((7) * (20))) + (Level_index)) of [Tiles v] with [2]
broadcast [Rebuild Surroundings 2.Rails v] and wait
change [Levels v] by (1)
add (join [Level ] (Levels)) to [Level Names v]
wait (0.2) secs
broadcast [Refresh All v]


when I receive [_new v]
set [Level_index v] to ((length of [Tiles v]) + (1))
repeat ((14) * (20))
add ([Fill With v] of [newmap v]) to [Tiles v]
add [1] to [Tile Switches v]
add [1] to [Tile Surroundings.1 v]
add [1] to [Tile Surroundings.2 v]
end


switch to costume [r1 v]
go to x:(-12) y:(0)
stamp
switch to costume [l1 v]
go to x:(12) y:(0)
stamp
switch to costume [r v]
go to x:(-12) y:(-24)
stamp
switch to costume [l v]
go to x:(12) y:(-24)
stamp
broadcast [Start v]
broadcast [Reset Vehicles v]


when I receive [Refresh All v]
set [processing v] to [1]
broadcast [Hide Cars v]
hide
clear graphic effects
clear
broadcast [SuperClear v]
wait (0) secs
wait (0) secs
set [y v] to [0]
set y to (-168)
set [tile_index v] to (Level_index)
repeat (14)
set [x v] to [0]
set x to (-228)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
set [Type v] to (item (tile_index) of [Tiles v])
if <(Type) > [0]>
broadcast [Stamp v] and wait
end
change [tile_index v] by (1)
change [x v] by (1)
change x by (24)
change [y v] by (1)
change y by (24)
end
set [processing v] to [0]
broadcast [Start v]
broadcast [Reset Vehicles v]


when green flag clicked
hide
set [processing v] to [0]


when I receive [Previews v]
hide


when I receive [Start v]
hide


when I receive [Stamp Crossing v]
wait until <(processing)=[0]>
go to [placer v]
if <([Surroundings.1 v] of [placer v])=[6]>
switch to costume [6,11: v]
stamp
set [gate dir v] to [1]
else
switch to costume [11,6: v]
stamp
set [gate dir v] to [0]
end
set [gate dir v] to (((gate dir) + (item ([tile_index v] of [placer v]) of [Tile Switches v])) mod (2))
if <(gate dir)=[1]>
switch to costume [lr v]
else
switch to costume [ud v]
end
stamp


when I receive [Crossing Request v]
if <(processing)=[0]>
set [processing v] to [1]
broadcast [_crossing request v]
end


when I receive [_crossing request v]
set [tx v] to (crossing.tx)
set [ty v] to (crossing.ty)
set [request type v] to (crossing.requestType)
go to x:((((tx) - (10)) * (24)) + (12)) y:(((ty) - (7)) * (24))
set [t i v] to (((tx) + ((ty) * (20))) + (Level_index))
if <not<(item (t i) of [Tiles v])=[3]>>
set [processing v] to [0]
stop script
end
if <<(item (t i) of [Tile Surroundings.1 v])=[6]> and <(item (t i) of [Tile Surroundings.2 v])=[11]>>
switch to costume [6,11: v]
stamp
set [gate dir v] to [1]
else
if <<(item (t i) of [Tile Surroundings.1 v])=[11]> and <(item (t i) of [Tile Surroundings.2 v])=[6]>>
switch to costume [11,6: v]
stamp
set [gate dir v] to [0]
else
set [processing v] to [0]
stop script
end
end
set [gate dir v] to (((gate dir) + (request type)) mod (2))
if <(gate dir)=[1]>
switch to costume [ud v]
show
repeat (4)
wait (0.05) secs
switch to costume ((costume #) - (1))
end
else
switch to costume [lr v]
show
repeat (4)
wait (0.05) secs
next costume
end
end
stamp
hide
replace item (t i) of [Tile Switches v] with (request type)
wait (0.2) secs
set [processing v] to [0]


when green flag clicked
hide


when I receive [Hide Cars v]
hide


when I receive [Start v]
show
forever
go to x:(0) y:(-24)
go back (100) layers
end


when I receive [SuperClear v]
hide


when green flag clicked
hide


when I receive [SuperClear v]
hide
switch to costume [clearer v]
stamp
switch to costume [trainstn v]


when I receive [Start v]
switch to costume [trainstn v]
show
forever
go to x:(0) y:(0)
go back (100) layers
end


when green flag clicked
go to x:(-235) y:(170)
forever
if <(Previewing)=[1]>
switch to costume [Previewing v]
else
switch to costume [selected v]
end
end


when green flag clicked
forever
switch to costume ((Selected) + (1))
end


when green flag clicked
go to x:(-150) y:(169)
forever
if <(Previewing)=[1]>
hide
else
show
if <<<(mouse y) > [156]> and <(mouse y) < [180]>> and <(mouse x) < [50]>>
set [brightness v] effect to (10)
if <mouse down?>
set [brightness v] effect to (0)
if <<(mouse x) > [-150]> and <(mouse x) < [-40]>>
set [Selected v] to ((((mouse x) + (150)) - (((mouse x) + (150)) mod (22))) / (22))
else
set [Selected v] to (((Selected) + (1)) mod (5))
end
wait until <not<mouse down?>>
end
else
set [brightness v] effect to (-5)
end
end
end


when green flag clicked
forever
go to x:(((Selected) * (21)) - (150)) y:(169)
end


when green flag clicked
forever
if <(Previewing)=[1]>
hide
else
show
end
end


when green flag clicked
forever
if <(Previewing)=[1]>
hide
else
show
go to x:(-36) y:(170)
switch to costume ((Selected) + (1))
if <<<(mouse y) > [156]> and <(mouse y) < [180]>> and <(mouse x) < [50]>>
set [brightness v] effect to (-5)
else
set [brightness v] effect to (-50)
end
end
end


when green flag clicked
go to x:(105) y:(170)
forever
switch to costume [maps v]
if <(Previewing)=[1]>
switch to costume [maps_hover v]
set [brightness v] effect to (-50)
wait until <not<(Previewing)=[1]>>
if <not<<<(mouse y) > [156]> and <(mouse y) < [180]>> and <<(mouse x) > [55]> and <(mouse x) < [122]>>>>
switch to costume [maps v]
repeat (20)
change [brightness v] effect by (2.5)
end
end
end
if <<([processing v] of [placer v])=[0]> and <<<(mouse y) > [156]> and <(mouse y) < [180]>> and <<(mouse x) > [55]> and <(mouse x) < [122]>>>>
switch to costume [maps_hover v]
set [brightness v] effect to (-50)
if <mouse down?>
say []
set [brightness v] effect to (0)
wait until <not<mouse down?>>
set [brightness v] effect to (-50)
broadcast [Previews v]
wait until <(Previewing)=[1]>
wait until <(Previewing)=[0]>
if <not<<<(mouse y) > [156]> and <(mouse y) < [180]>> and <<(mouse x) > [55]> and <(mouse x) < [122]>>>>
switch to costume [maps v]
repeat (20)
change [brightness v] effect by (2.5)
end
end
end
else
say []
switch to costume [maps v]
set [brightness v] effect to (0)
end
end


say (join [Current: ] (item (Level) of [Level Names v]))


when green flag clicked
go to x:(165) y:(170)
forever
switch to costume [Offline v]
if <<<([processing v] of [placer v])=[0]> and <(Previewing)=[0]>> and <<<(mouse y) > [156]> and <(mouse y) < [180]>> and <<(mouse x) > [122]> and <(mouse x) < [180]>>>>
switch to costume [help_hover v]
if <(Previewing)=[0]>
set [brightness v] effect to (-50)
if <mouse down?>
set [brightness v] effect to (0)
wait until <not<mouse down?>>
set [brightness v] effect to (-50)
broadcast [Instructions v] and wait
if <not<<<(mouse y) > [156]> and <(mouse y) < [180]>> and <<(mouse x) > [122]> and <(mouse x) < [180]>>>>
switch to costume [help v]
repeat (20)
change [brightness v] effect by (2.5)
end
end
end
end
else
switch to costume [help v]
set [brightness v] effect to (0)
end
end


when green flag clicked
set [isOnline v] to [1]
if <(join (yourself) [])=[a ScratchSpriteMorph()]>
set [isOnline v] to [0]
end


when green flag clicked
wait (0.5) secs
go to x:(235) y:(170)
switch to costume ((isOnline) + (1))


when green flag clicked
go to x:(0) y:(0)
hide


broadcast [_instructions v] and wait


when green flag clicked
forever
go to front
end


when I receive [Instructions v]
broadcast [Stop v]
clear graphic effects
set [ghost v] effect to (100)
set [pixelate v] effect to (100)
show
repeat (20)
change [pixelate v] effect by (-5)
change [ghost v] effect by (-4)
end
broadcast [_instructions v] and wait


when I receive [_instructions v]
clear graphic effects
set [ghost v] effect to (20)
show
wait until <not<mouse down?>>
wait until <mouse down?>
repeat (20)
change [pixelate v] effect by (5)
change [ghost v] effect by (4)
end
hide
broadcast [Start v]
wait (0) secs
broadcast [Drive v]


when green flag clicked
go to x:(0) y:(0)
hide


when I receive [New Level v]


wait until <([processing v] of [placer v])=[1]>
set [color v] effect to (130)
set [brightness v] effect to (50)
switch to costume [building v]
show
wait until <([processing v] of [placer v])=[0]>
hide


when I receive [New Level v]


wait until <([processing v] of [placer v])=[1]>
set [color v] effect to (130)
set [brightness v] effect to (50)
repeat until <([processing v] of [placer v])=[0]>
go to front
set size to (150)%
repeat (2)
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (85)
change size by (50)
end
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (85)
end


when I receive [Refresh All v]
wait until <([processing v] of [placer v])=[1]>
set [color v] effect to (130)
set [brightness v] effect to (50)
switch to costume [building v]
show
wait until <([processing v] of [placer v])=[0]>
hide


when I receive [Refresh All v]
wait until <([processing v] of [placer v])=[1]>
set [color v] effect to (130)
set [brightness v] effect to (50)
repeat until <([processing v] of [placer v])=[0]>
go to front
set size to (150)%
repeat (2)
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (85)
change size by (50)
end
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (85)
end


when I receive [Thinking v]
wait until <([processing v] of [placer v])=[1]>
set [color v] effect to (115)
set [brightness v] effect to (100)
switch to costume [thinking v]
show
wait until <([processing v] of [placer v])=[0]>
hide


when I receive [Thinking v]
wait until <([processing v] of [placer v])=[1]>
set [color v] effect to (115)
set [brightness v] effect to (100)
repeat until <([processing v] of [placer v])=[0]>
go to front
set size to (150)%
repeat (2)
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (100)
change size by (50)
end
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (100)
end


when I receive [Delete Level v]
wait until <([processing v] of [asker v])=[1]>
set [color v] effect to (199)
set [brightness v] effect to (90)
switch to costume [destroying v]
show
wait until <([processing v] of [asker v])=[0]>
hide


when I receive [Delete Level v]
wait until <([processing v] of [asker v])=[1]>
set [color v] effect to (199)
set [brightness v] effect to (90)
switch to costume [destroying v]
show
repeat until <([processing v] of [asker v])=[0]>
go to front
set size to (150)%
repeat (2)
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (100)
change size by (50)
end
wait (0.25) secs
set [brightness v] effect to (0)
wait (0.25) secs
set [brightness v] effect to (100)
end


when I receive [Drive v]
set [train v] to (join [train] [2])
repeat until <([processing v] of [placer v])=[1]>
set [d v] to (((direction) + (45)) mod (360))
if <<<(d) < [15]> or <(d) > [345]>> or <<(d) > [165]> and <(d) < [195]>>>
switch to costume [top v]
else
if <(d) < [180]>
if <<(d) < [40]> or <(d) > [140]>>
switch to costume [normal1 v]
else
switch to costume [normal v]
end
else
if <<(d) < [220]> or <(d) > [320]>>
switch to costume [flipped1 v]
else
switch to costume [flipped v]
end
end
end
end


when I receive [Hide Cars v]
hide
clear graphic effects
wait (1.2) secs
hide
clear graphic effects


when I receive [train2.next v]
change [tx v] by ([sin v] of (next dir))
change [ty v] by ([cos v] of (next dir))
set [next dir v] to ((next dir) mod (360))
set [Choices v] to [0]
set [_choices v] to [0]
set [d i v] to [0]
set [_tx v] to (round (tx))
set [_ty v] to (round (ty))
set [_ti v] to (((_tx) + ((_ty) * (20))) + (Level_index))
if <<(item (_ti) of [Tiles v])=[3]> and <<<(item (_ti) of [Tile Surroundings.1 v])=[6]> and <(item (_ti) of [Tile Surroundings.2 v])=[11]>> or <<(item (_ti) of [Tile Surroundings.1 v])=[11]> and <(item (_ti) of [Tile Surroundings.2 v])=[6]>>>>
set [Choices v] to [0]
if <not<(item (_ti) of [Tile Switches v])=[2]>>
set [crossing.tx v] to (_tx)
set [crossing.ty v] to (_ty)
set [crossing.requestType v] to [2]
broadcast [Crossing Request v]
stop script
end
end
repeat (4)
change [d i v] by (1)
replace item (d i) of [Directions v] with [0]
set [_current tx v] to (round ((_tx) + ([sin v] of (next dir))))
set [_current ty v] to (round ((_ty) + ([cos v] of (next dir))))
if <<<(_current tx) > [-1]> and <(_current ty) > [-1]>> and <<(_current tx) < [20]> and <(_current ty) < [14]>>>
set [tile v] to (item (((_current tx) + ((_current ty) * (20))) + (Level_index)) of [Tiles v])
if <<(tile)=[2]> or <(tile)=[3]>>
change [_choices v] by (1)
replace item (d i) of [Directions v] with [1]
end
end
change [next dir v] by (90)
end
set [Choices v] to (_choices)


when I receive [Reset Vehicles v]
set [ready v] to [0]
hide
go to x:(0) y:(0)
point in direction (-90 v)
set [ghost v] effect to (100)
set [color v] effect to (60)
wait (1) secs
show
go to front
repeat (2)
repeat (25)
change [ghost v] effect by (-2)
end
wait (0.5) secs
repeat (25)
change [ghost v] effect by (2)
end
wait (0.5) secs
end
repeat (10)
change [ghost v] effect by (-10)
end
set [ready v] to [1]


when I receive [Drive v]
wait until <(ready)=[1]>
show
set [ghost v] effect to (0)
go to front
set [Choices v] to [0]
repeat until <([processing v] of [placer v])=[1]>
point in direction (((direction) + (45)) - (((direction) + (45)) mod (90)))
set [nx v] to ((x position) + (([sin v] of (direction)) * (12)))
set [ny v] to ((y position) + (([cos v] of (direction)) * (12)))
set [tx v] to ((((nx) - (12)) / (24)) + (10))
set [ty v] to (((ny) / (24)) + (7))
if <(Choices)=[0]>
set [next dir v] to (direction)
change [tx v] by ((0) - ([sin v] of (direction)))
change [ty v] by ((0) - ([cos v] of (direction)))
broadcast (join (train) [.next]) and wait
set [tx v] to ((((nx) - (12)) / (24)) + (10))
set [ty v] to (((ny) / (24)) + (7))
end
if <(Choices)=[4]>
set [Choice v] to [1]
else
if <<(Choices)=[1]> and <(item (3 v) of [Directions v])=[1]>>
set [Choice v] to [3]
else
change [Choices v] by (-1)
if <(Choices)=[1]>
if <(item (1 v) of [Directions v])=[1]>
set [Choice v] to [1]
else
if <(item (2 v) of [Directions v])=[1]>
set [Choice v] to [2]
else
set [Choice v] to [4]
end
end
else
if <(Choices)=[2]>
if <(item (round (((tx) + ((ty) * (20))) + (Level_index))) of [Tile Switches v])=[1]>
if <(item (1 v) of [Directions v])=[0]>
set [Choice v] to [4]
else
if <(item (2 v) of [Directions v])=[0]>
set [Choice v] to [1]
else
set [Choice v] to [2]
end
end
else
if <(item (1 v) of [Directions v])=[0]>
set [Choice v] to [2]
else
if <(item (2 v) of [Directions v])=[0]>
set [Choice v] to [4]
else
set [Choice v] to [1]
end
end
end
else
set [Choice v] to [0]
end
end
end
end
if <<<(item (_ti) of [Tiles v])=[3]> and <not<(item (_ti) of [Tile Switches v])=[2]>>> and <<<(item (_ti) of [Tile Surroundings.1 v])=[6]> and <(item (_ti) of [Tile Surroundings.2 v])=[11]>> or <<(item (_ti) of [Tile Surroundings.1 v])=[11]> and <(item (_ti) of [Tile Surroundings.2 v])=[6]>>>>
set [crossing.tx v] to (_tx)
set [crossing.ty v] to (_ty)
set [crossing.requestType v] to [2]
broadcast [Crossing Request v]
set [Choice v] to [0]
else
if <(Choice)=[1]>
set [next dir v] to (direction)
broadcast (join (train) [.next])
repeat (24)
move (1) steps
end
end
if <(Choice)=[2]>
set [next dir v] to ((direction) + (90))
broadcast (join (train) [.next])
set [rx v] to ((x position) + (([sin v] of ((direction) + (90))) * (12)))
set [ry v] to ((y position) + (([cos v] of ((direction) + (90))) * (12)))
repeat (18)
turn cw (5) degrees
go to x:((rx) + (([sin v] of ((direction) - (90))) * (12))) y:((([cos v] of ((direction) - (90))) * (12)) + (ry))
end
end
if <(Choice)=[3]>
set [next dir v] to ((direction) + (180))
repeat (16)
move (0.5) steps
end
turn cw (180) degrees
if <(((direction) + (45)) mod (360)) < [180]>
switch to costume [normal v]
else
switch to costume [flipped v]
end
broadcast (join (train) [.next]) and wait
repeat (16)
move (0.5) steps
end
end
if <(Choice)=[4]>
set [next dir v] to ((direction) - (90))
broadcast (join (train) [.next])
set [rx v] to ((x position) + (([sin v] of ((direction) - (90))) * (12)))
set [ry v] to ((y position) + (([cos v] of ((direction) - (90))) * (12)))
repeat (18)
turn ccw (5) degrees
go to x:((rx) + (([sin v] of ((direction) + (90))) * (12))) y:((([cos v] of ((direction) + (90))) * (12)) + (ry))
end
end
end
if <(Choice)=[0]>
set [Choices v] to [0]
end
end


go to x:(((x position) - ((x position) mod (24))) + (12)) y:(((y position) - (((y position) + (12)) mod (24))) + (12))
point in direction (((direction) + (45)) - (((direction) + (45)) mod (90)))
move (12) steps


when I receive [Drive v]
set [car v] to (join [car] [2])
repeat until <([processing v] of [placer v])=[1]>
set [d v] to (((direction) + (45)) mod (360))
if <(d) < [180]>
switch to costume [normal v]
else
switch to costume [flipped v]
end
end


when I receive [Hide Cars v]
hide
clear graphic effects
set [Choice v] to [0]


when I receive [car2.next v]
change [tx v] by ([sin v] of (next dir))
change [ty v] by ([cos v] of (next dir))
set [next dir v] to ((next dir) mod (360))
set [Choices v] to [0]
set [_choices v] to [0]
set [d i v] to [0]
set [_tx v] to (round (tx))
set [_ty v] to (round (ty))
set [_ti v] to (((_tx) + ((_ty) * (20))) + (Level_index))
if <<(item (_ti) of [Tiles v])=[3]> and <<<(item (_ti) of [Tile Surroundings.1 v])=[6]> and <(item (_ti) of [Tile Surroundings.2 v])=[11]>> or <<(item (_ti) of [Tile Surroundings.1 v])=[11]> and <(item (_ti) of [Tile Surroundings.2 v])=[6]>>>>
if <not<(item (_ti) of [Tile Switches v])=[1]>>
set [Choices v] to [0]
replace item (1 v) of [Directions v] with [0]
replace item (2 v) of [Directions v] with [0]
replace item (3 v) of [Directions v] with [0]
replace item (4 v) of [Directions v] with [0]
set [crossing.tx v] to (_tx)
set [crossing.ty v] to (_ty)
set [crossing.requestType v] to [1]
broadcast [Crossing Request v]
stop script
end
end
repeat (4)
change [d i v] by (1)
replace item (d i) of [Directions v] with [0]
set [_current tx v] to (round ((_tx) + ([sin v] of (next dir))))
set [_current ty v] to (round ((_ty) + ([cos v] of (next dir))))
if <<<(_current tx) > [-1]> and <(_current ty) > [-1]>> and <<(_current tx) < [20]> and <(_current ty) < [14]>>>
set [tile v] to (item (((_current tx) + ((_current ty) * (20))) + (Level_index)) of [Tiles v])
if <<(tile)=[1]> or <(tile)=[3]>>
change [_choices v] by (1)
replace item (d i) of [Directions v] with [1]
if <not<(d i)=[3]>>
set [_choice v] to (d i)
end
end
end
change [next dir v] by (90)
end
set [Choices v] to (_choices)


when I receive [Reset Vehicles v]
set [ready v] to [0]
go to x:(4) y:(-28)
point in direction (-90 v)
set [color v] effect to (110)
show
go to front
set [ghost v] effect to (100)
repeat (10)
change [ghost v] effect by (-10)
end
set [ready v] to [1]


when I receive [Drive v]
wait until <(ready)=[1]>
show
set [ghost v] effect to (0)
go to front
set [Choices v] to [0]
repeat until <([processing v] of [placer v])=[1]>
point in direction (round (((direction) + (45)) - (((direction) + (45)) mod (90))))
set [nx v] to ((x position) + ((([sin v] of (direction)) * (16)) + (([sin v] of ((direction) + (90))) * (4))))
set [ny v] to ((y position) + ((([cos v] of (direction)) * (16)) + (([cos v] of ((direction) + (90))) * (4))))
set [tx v] to ((((nx) - (12)) / (24)) + (10))
set [ty v] to (((ny) / (24)) + (7))
if <(Choices)=[0]>
set [next dir v] to (direction)
change [tx v] by ((0) - ([sin v] of (direction)))
change [ty v] by ((0) - ([cos v] of (direction)))
broadcast (join (car) [.next]) and wait
set [tx v] to ((((nx) - (12)) / (24)) + (10))
set [ty v] to (((ny) / (24)) + (7))
end
if <<(Choices)=[1]> and <(item (3 v) of [Directions v])=[1]>>
set [Choice v] to [3]
else
if <(item (3 v) of [Directions v])=[1]>
change [Choices v] by (-1)
end
if <(Choices)=[1]>
set [Choice v] to (_choice)
else
set [Choice v] to []
repeat until <<not<(Choice)=[]>> or <(Choices)=[0]>>
if <key [w v] pressed?>
set [Choice v] to ((0) - (direction))
end
if <key [d v] pressed?>
set [Choice v] to ((90) - (direction))
end
if <key [s v] pressed?>
set [Choice v] to ((180) - (direction))
end
if <key [a v] pressed?>
set [Choice v] to ((270) - (direction))
end
if <not<(Choice)=[]>>
set [Choice v] to ((round ((((Choice) + (0)) mod (360)) / (90))) + (1))
if <(item (Choice) of [Directions v])=[0]>
set [Choice v] to []
end
end
end
if <(Choices)=[]>
set [Choice v] to [0]
end
end
end
if <<<(item (_ti) of [Tiles v])=[3]> and <not<(item (_ti) of [Tile Switches v])=[1]>>> and <<<(item (_ti) of [Tile Surroundings.1 v])=[6]> and <(item (_ti) of [Tile Surroundings.2 v])=[11]>> or <<(item (_ti) of [Tile Surroundings.1 v])=[11]> and <(item (_ti) of [Tile Surroundings.2 v])=[6]>>>>
set [crossing.tx v] to (_tx)
set [crossing.ty v] to (_ty)
set [crossing.requestType v] to [1]
broadcast [Crossing Request v]
set [Choice v] to [0]
else
if <(Choice)=[1]>
set [next dir v] to (direction)
broadcast (join (car) [.next])
repeat (24)
move (1) steps
end
end
if <(Choice)=[2]>
set [next dir v] to ((direction) + (90))
broadcast (join (car) [.next])
repeat (8)
move (1) steps
end
set [rx v] to ((x position) + (([sin v] of ((direction) + (90))) * (12)))
set [ry v] to ((y position) + (([cos v] of ((direction) + (90))) * (12)))
repeat (18)
turn cw (5) degrees
go to x:((rx) + (([sin v] of ((direction) - (90))) * (12))) y:((([cos v] of ((direction) - (90))) * (12)) + (ry))
end
end
if <(Choice)=[3]>
set [next dir v] to ((direction) + (180))
broadcast (join (car) [.next])
repeat (16)
move (1) steps
end
set [rx v] to ((x position) + (([sin v] of ((direction) + (90))) * (4)))
set [ry v] to ((y position) + (([cos v] of ((direction) + (90))) * (4)))
repeat (18)
turn cw (10) degrees
go to x:((rx) + (([sin v] of ((direction) - (90))) * (4))) y:((([cos v] of ((direction) - (90))) * (4)) + (ry))
end
repeat (8)
move (1) steps
end
end
if <(Choice)=[4]>
set [next dir v] to ((direction) - (90))
broadcast (join (car) [.next])
repeat (8)
move (1) steps
end
set [rx v] to ((x position) + (([sin v] of ((direction) - (90))) * (4)))
set [ry v] to ((y position) + (([cos v] of ((direction) - (90))) * (4)))
repeat (9)
turn ccw (10) degrees
go to x:((rx) + (([sin v] of ((direction) + (90))) * (4))) y:((([cos v] of ((direction) + (90))) * (4)) + (ry))
end
end
end
if <(Choice)=[0]>
set [Choices v] to [0]
end
end


clear graphic effects
go to x:(-88) y:(-112)
point in direction (0 v)
repeat (4)
move (1) steps
end
repeat (4)
move (1) steps
change [ghost v] effect by (25)
end
wait (1) secs
go to x:(-80) y:(-102)
point in direction (180 v)
repeat (4)
move (1) steps
change [ghost v] effect by (-25)
end
repeat (4)
move (1) steps
end


when green flag clicked
hide


when I receive [Drive v]
set [car v] to (join [car] [2])
set [ghost v] effect to (25)
forever
go to x:(((([tx v] of (car)) - (10)) * (24)) + (12)) y:((([ty v] of (car)) - (7)) * (24))
if <<([Choice v] of (car))=[]> and <([Choices v] of (car)) > [1]>>
show
else
hide
end
end


when green flag clicked
hide
set [processing v] to [0]


when I receive [Previews v]
set [Previewing v] to [1]
set [processing v] to [1]
clear
hide
broadcast [Hide Cars v]
broadcast [SuperClear v] and wait
broadcast [Stop v] and wait
set [level v] to [1]
set y to (141)
repeat (5)
set x to (-230)
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
switch to costume [add v]
stamp
broadcast [Draw Previews v]
stop script
end
switch to costume [drawing v]
stamp
change x by (80)
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
switch to costume [add v]
stamp
broadcast [Draw Previews v]
stop script
end
switch to costume [drawing v]
stamp
change x by (80)
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
switch to costume [add v]
stamp
broadcast [Draw Previews v]
stop script
end
switch to costume [drawing v]
stamp
change x by (80)
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
switch to costume [add v]
stamp
broadcast [Draw Previews v]
stop script
end
switch to costume [drawing v]
stamp
change x by (80)
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
switch to costume [add v]
stamp
broadcast [Draw Previews v]
stop script
end
switch to costume [drawing v]
stamp
change x by (80)
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
switch to costume [add v]
stamp
broadcast [Draw Previews v]
stop script
end
switch to costume [drawing v]
stamp
change x by (80)
change y by (-62)
end


when I receive [Draw Previews v]
set [level v] to [1]
set [tile_index v] to [1]
set y to (141)
repeat (5)
set x to (-230)
repeat (6)
if <(Previewing)=[0]>
set [processing v] to [0]
stop script
end
if <((level) - (1)) < (Levels)>
change [level v] by (1)
else
set [processing v] to [0]
stop script
end
change x by (1)
change y by (-41)
repeat (14)
repeat (20)
switch to costume ((item (tile_index) of [Tiles v]) + (1))
stamp
change x by (3)
change [tile_index v] by (1)
end

change x by (-60)
change y by (3)
end
change x by (-1)
change y by (-1)
change x by (80)
end
change y by (-62)
end
set [processing v] to [0]


when green flag clicked
hide
set [visible v] to [0]
set [ghost v] to [0]


when I receive [Previews v]
set [Previewing v] to [1]
repeat until <(Previewing)=[0]>
wait until <([blocking v] of [prvtool v])=[0]>
if <<<(mouse y) > [-159]> and <(mouse y) < [151]>> and <<(mouse x) > [-240]> and <(mouse x) < [240]>>>
go to x:(((mouse x) - ((mouse x) mod (80))) + (10)) y:(((mouse y) - (((mouse y) + (35)) mod (62))) + (51))
set [selected level v] to ((((((x position) - (10)) / (80)) + (3)) + ((6) * ((2) - (((y position) - (16)) / (62))))) + (1))
if <((selected level) - (2)) < (Levels)>
if <(selected level) > (Levels)>
switch to costume [gloss-new v]
else
switch to costume [gloss v]
end
set [ghost v] effect to (100)
set [ghost v] to [100]
show
if <touching [mouse-pointer v]?>
set [visible v] to [1]
repeat until <not<touching [mouse-pointer v]?>>
say (item (selected level) of [Level Names v])
if <([blocking v] of [prvtool v])=[1]>
say []
wait until <<([blocking v] of [prvtool v])=[0]> or <(Previewing)=[0]>>
if <(Previewing)=[0]>
set [visible v] to [0]
hide
stop script
end
end
if <mouse down?>
say []
switch to costume [outline v]
wait until <not<mouse down?>>
switch to costume [gloss v]
if <<touching [mouse-pointer v]?> and <(mouse x) < ((x position) + (48))>>
set [visible v] to [0]
hide
set [Level v] to (selected level)
if <(selected level) > (Levels)>
broadcast [New Level - Choose v] and wait
else
set [Previewing v] to [0]
wait until <([processing v] of [prv v])=[0]>
broadcast [Load Level v]
set [visible v] to [0]
stop script
end
end
end
end
say []
set [visible v] to [0]
end
else
hide
set [visible v] to [0]
end
else
hide
set [visible v] to [0]
end
end
hide


when I receive [Previews v]
set [Previewing v] to [1]
repeat until <(Previewing)=[0]>
if <(visible)=[1]>
show
if <(ghost) > [50]>
change [ghost v] effect by (-10)
change [ghost v] by (-10)
end
else
hide
if <(ghost) < [100]>
change [ghost v] effect by (10)
change [ghost v] by (10)
end
end
end


wait until <(visible)=[1]>
set [ghost v] effect to (100)
repeat (5)
end
wait until <(visible)=[0]>
repeat (5)
change [ghost v] effect by (10)
end


when green flag clicked
hide
clear graphic effects
set [blocking v] to [0]


when I receive [Previews v]
set [Previewing v] to [1]
set [blocking v] to [0]
repeat until <(Previewing)=[0]>
wait until <(blocking)=[0]>
go to [prvhvr v]
if <<([visible v] of [prvhvr v])=[1]> and <(([selected level v] of [prvhvr v]) - (1)) < (Levels)>>
if <<(mouse x) > (([x position v] of [prvhvr v]) + (48))> and <(mouse y) < (([y position v] of [prvhvr v]) - (8))>>
set [y v] to ((([y position v] of [prvhvr v]) - (8)) - (mouse y))
switch to costume ((((y) - ((y) mod (11))) / (11)) + (2))
if <mouse down?>
set [blocking v] to [1]
set [selected_level v] to ([selected level v] of [prvhvr v])
change y by (-1)
wait until <not<mouse down?>>
change y by (1)
if <(costume #)=[2]>
switch to costume [tools1 v]
broadcast [Delete Level - Prompt v] and wait
end
if <(costume #)=[3]>
switch to costume [tools1 v]
broadcast [Rename Level v] and wait
end
if <(costume #)=[4]>
set [Level v] to (selected_level)
switch to costume [tools1 v]
broadcast [Export v] and wait
end
set [blocking v] to [0]
end
else
switch to costume [tools1 v]
end
end
end


when I receive [Previews v]
set [Previewing v] to [1]
repeat until <(Previewing)=[0]>
if <<([visible v] of [prvhvr v])=[1]> and <(([selected level v] of [prvhvr v]) - (1)) < (Levels)>>
show
if <(ghost) > [0]>
change [ghost v] effect by (-10)
change [ghost v] by (-10)
end
else
hide
if <(ghost) < [100]>
change [ghost v] effect by (10)
change [ghost v] by (10)
end
end
end
hide


when I receive [New Level - Choose v]
set [blocking v] to [1]


when I receive [Import Level Prompt v]
set [blocking v] to [1]
broadcast [Import Code v] and wait
set [blocking v] to [0]
broadcast [Previews v]


when I receive [Continue Previewing v]
set [blocking v] to [0]


when green flag clicked
hide


when I receive [Rename Level v]
hide
set [selected_level v] to ([selected_level v] of [prvtool v])
ask (join [Rename "] (join (item (selected_level) of [Level Names v]) [":])) and wait
if <not<(answer)=[]>>
replace item (selected_level) of [Level Names v] with (answer)
end


when I receive [Delete Level - Prompt v]
hide
set [selected_level v] to ([selected_level v] of [prvtool v])
ask (join [DELETE "] (join (item ([selected_level v] of [prvtool v]) of [Level Names v]) [" — are you sure? Type "delete" to confirm...])) and wait
if <(answer)=[delete]>
broadcast [Delete Level v] and wait
broadcast [Previews v]
end


when I receive [Delete Level v]
set [processing v] to [1]
set [tile_index v] to ((((selected_level) - (1)) * (280)) + (1))
set [selected_level v] to [0]
repeat (14)
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
delete (tile_index) of [Tiles v]
delete (tile_index) of [Tile Switches v]
delete (tile_index) of [Tile Surroundings.1 v]
delete (tile_index) of [Tile Surroundings.2 v]
end
delete ([selected_level v] of [prvtool v]) of [Level Names v]
change [Levels v] by (-1)
set [processing v] to [0]


when green flag clicked
hide
clear graphic effects


when I receive [New Level - Choose v]
go to x:(0) y:(0)
clear graphic effects
show
set [Fill With v] to [0]
forever
if <touching [mouse-pointer v]?>
if <<(mouse y) > [-8]> and <(mouse y) < [30]>>
switch to costume [blank v]
else
if <<(mouse y) > [-54]> and <(mouse y) < [-16]>>
switch to costume [trees v]
else
switch to costume [newmap v]
end
end
if <(costume #) > [1]>
if <mouse down?>
set y to (-2)
wait until <not<<mouse down?> and <touching [mouse-pointer v]?>>>
set y to (0)
if <touching [mouse-pointer v]?>
set [Previewing v] to [0]
wait until <([processing v] of [prv v])=[0]>
if <(costume #)=[2]>
set [Fill With v] to [0]
end
if <(costume #)=[3]>
set [Fill With v] to [4]
end
broadcast [New Level v]
repeat (10)
change [ghost v] effect by (10)
end
hide
stop script
end
wait until <not<mouse down?>>
end
end
else
switch to costume [newmap v]
if <mouse down?>
set [brightness v] effect to (-5)
wait until <not<mouse down?>>
set [brightness v] effect to (0)
broadcast [Continue Previewing v]
repeat (10)
change [ghost v] effect by (10)
end
hide
stop script
end
end
end


broadcast [Previews v]


when green flag clicked
hide


when I receive [Previews v]
go to x:(222) y:(-162)
set [ghost v] effect to (100)
switch to costume [load v]
show
repeat (10)
change [ghost v] effect by (-10)
end
repeat until <(Previewing)=[0]>
wait until <<([blocking v] of [prvtool v])=[0]> or <(Previewing)=[0]>>
if <<([abs v] of ((mouse x) - (x position))) < [12]> and <([abs v] of ((mouse y) - (y position))) < [12]>>
switch to costume [loadhover v]
if <mouse down?>
change y by (-1)
wait until <not<mouse down?>>
change y by (1)
if <(isOnline)=[1]>
broadcast [Download to import warning v] and wait
end
broadcast [Import Level Prompt v] and wait
end
else
switch to costume [load v]
end
end
hide


when green flag clicked
hide


when I receive [Export v]
if <(isOnline)=[1]>
broadcast [Must Download to export v] and wait
else
broadcast [Generate Code v] and wait
end


when I receive [Export instructions v]
set [shown v] to [1]
switch to costume [export1 v]
go to x:(-240) y:(180)
show
go to front
wait until <mouse down?>
wait (1) secs
switch to costume [export2 v]
wait until <(shown)=[0]>


when [export v] clicked
hide
set [shown v] to [0]


when I receive [Must Download to export v]
switch to costume [downloadtoexport v]
go to x:(0) y:(0)
clear graphic effects
set [ghost v] effect to (100)
set [pixelate v] effect to (100)
show
repeat (20)
change [pixelate v] effect by (-5)
change [ghost v] effect by (-4)
end
wait until <mouse down?>
repeat (20)
change [pixelate v] effect by (5)
change [ghost v] effect by (4)
end
hide


when I receive [Download to import warning v]
switch to costume [downloadtoimport v]
go to x:(0) y:(0)
clear graphic effects
set [ghost v] effect to (100)
set [pixelate v] effect to (100)
show
repeat (20)
change [pixelate v] effect by (-5)
change [ghost v] effect by (-4)
end
wait until <mouse down?>
repeat (20)
change [pixelate v] effect by (5)
change [ghost v] effect by (4)
end
hide


when green flag clicked
hide


when I receive [blob8108 v]
reset timer
go to x:(0) y:(-360)
show
go to front
repeat until <(timer) > [.3]>
set y to ((([cos v] of ((timer) * (600))) * (-180)) - (180))
end
set y to (0)
wait until <(timer) > [1.6]>
repeat until <(timer) > [1.9]>
set y to ((([cos v] of (((timer) - (1.6)) * (600))) * (180)) - (180))
end
hide


when green flag clicked
hide


when I receive [blob8108 v]
show
set [ghost v] effect to (100)
go to x:(0) y:(-360)
wait (0) secs
go to front
repeat until <(timer) > [.3]>
set [y v] to ((([cos v] of ((timer) * (600))) * (-180)) - (180))
set y to (y)
if <(y) < [-60]>
set [ghost v] effect to ((-60) - (y))
else
set [ghost v] effect to (0)
end
go to front
end
set y to (0)
wait (0.1) secs
repeat until <(timer) > [.6]>
set x to (([sin v] of (((timer) - (0.4)) * ((90) / (0.2)))) * (15))
end
wait (0.2) secs
repeat until <(timer) > [1.2]>
set [t v] to (((timer) - (0.8)) * ((90) / (0.4)))
set x to (((([sin v] of (t)) * ([sin v] of (t))) * (-15)) + ((([cos v] of (t)) * ([cos v] of (t))) * (15)))
end
wait (0.2) secs
repeat until <(timer) > [1.6]>
set x to (([sin v] of (((1.6) - (timer)) * ((90) / (0.2)))) * (-15))
end
repeat until <(timer) > [1.9]>
set [y v] to ((([cos v] of (((timer) - (1.6)) * (600))) * (180)) - (180))
set y to (y)
if <(y) < [-60]>
set [ghost v] effect to ((-60) - (y))
else
set [ghost v] effect to (0)
end
end
hide


when green flag clicked
hide


when I receive [blob8108 v]
go to x:(0) y:(0)
set [ghost v] effect to (0)
show
wait (0) secs
go to front
go back (3) layers
wait until <(timer) > [1.9]>
repeat (10)
change [ghost v] effect by (10)
end
hide
set [_done logo v] to [1]


when green flag clicked
hide
go to x:(0) y:(0)


when [thumbnail v] clicked
hide


show // before uploading
go to front
broadcast [Hide Cars v]
set [_done logo v] to [0]
I spent a long while on this

1239358196Z2Z588Z1Z1Z2Z5Z1Z10Z63Z1Z32Z1Z2Z3Z1Z178Z2Z3Z1Z1Z2Z14Z1Z175Z2Z2Z1Z2Z2Z2Z1Z1Z2Z14Z1Z175Z2Z2Z1Z3Z2Z1Z12Z1Z11Z1Z1Z1Z11Z1Z1Z1Z11Z1Z12Z1Z1Z1Z2Z6Z1Z181Z2Z8Z1Z1Z2Z5Z1Z178Z2Z5Z1Z1Z12Z1Z1Z3Z19Z1Z12Z1Z1Z1Z2Z4Z1Z179Z5Z1Z2Z4Z1Z8Z2Z3Z1Z181Z5Z1Z2Z3Z1Z1Z12Z1Z19Z1Z1Z1Z19Z1Z1Z1Z12Z1Z1Z1Z2Z2Z1Z180Z5Z1Z1Z2Z5Z1Z2Z2Z1Z1Z2Z8Z1Z181Z2Z1Z5Z1Z1Z2Z5Z1Z2Z1Z1Z1Z9Z1Z2Z1Z9Z1Z1Z1Z9Z1Z2Z1Z9Z1Z2Z1Z1Z181Z2Z2Z5Z1Z1Z2Z2Z1Z1Z8Z2Z1Z1Z181Z2Z4Z1Z1Z2Z1Z1Z8Z2Z1Z1Z181Z2Z2Z9Z2Z1Z1Z2Z8Z1Z1Z2Z1Z1Z186Z2Z1Z1Z1Z9Z7Z2Z1Z1Z181Z2Z1Z1Z4Z2Z1Z1Z1Z2Z8Z1Z184Z2Z3Z1Z1Z2Z8Z1Z181Z13Z1Z1Z2Z2Z1Z3Z1Z2Z1Z1Z1Z2Z3Z7Z2Z2Z3Z1Z181Z2Z1Z13Z1Z1Z1Z5Z1Z2Z2Z1Z1Z2Z3Z1Z2Z2Z3Z1Z181Z2Z1Z7Z1Z1Z3Z2Z1Z1Z1Z2Z3Z1Z2Z2Z10Z1Z174Z7Z1Z1Z4Z2Z1Z1Z1Z9Z2Z1Z3Z12Z1Z19Z1Z1Z6Z12Z1Z2Z1Z1Z174Z7Z1Z1Z2Z5Z1Z1Z1Z2Z15Z1Z1Z2Z1Z1Z174Z7Z1Z1Z6Z2Z2Z1Z1Z12Z1Z1Z3Z19Z1Z1Z4Z12Z1Z1Z1Z2Z1Z1Z174Z2Z6Z1Z1Z2Z2Z1Z1Z2Z12Z1Z174Z2Z4Z1Z3Z2Z2Z1Z1Z2Z1Z1Z1Z12Z1Z1Z4Z19Z1Z1Z2Z12Z1Z7Z1Z1Z174Z2Z3Z1Z2Z2Z4Z1Z1Z2Z1Z1Z1Z2Z10Z1Z174Z2Z1Z1Z1Z9Z1Z1Z1Z9Z1Z2Z2Z1Z1Z2Z1Z1Z1Z2Z1Z1Z1Z2Z1Z1Z183Z2Z1Z1Z3Z9Z1Z2Z2Z1Z1Z2Z1Z1Z1Z2Z1Z1Z1Z2Z1Z1Z183Z2Z1Z1Z1Z9Z1Z1Z1Z9Z1Z2Z2Z1Z1Z2Z1Z1Z1Z2Z1Z1Z1Z2Z1Z1Z183Z2Z1Z1Z1Z2Z5Z1Z1Z2Z1Z1Z1Z2Z1Z1Z1Z2Z3Z1Z181Z2Z1Z1Z4Z2Z1Z1Z7Z78Z1Z2Z1Z1Z181Z2Z1Z7Z3Z1Z1Z2Z8Z1Z1Z2Z1Z1Z181Z2Z1Z7Z3Z1Z1Z2Z3Z5Z1Z1Z3Z2Z1Z1Z1Z2Z1Z1Z181Z2Z1Z7Z3Z1Z1Z2Z2Z5Z1Z1Z2Z32Z2Z1Z2Z2Z1Z1Z181Z2Z1Z7Z3Z1Z1Z2Z1Z5Z1Z1Z3Z12Z2Z2Z3Z1Z181Z70Z1Z1Z2Z2Z1Z1Z1Z2Z1Z1Z2Z2Z5Z1Z183Z2Z2Z1Z1Z2Z1Z1Z1Z2Z1Z1Z6Z2Z1Z1Z183Z2Z1Z1Z2Z2Z1Z1Z1Z2Z6Z81Z1Z2Z1Z1Z183Z2Z1Z1Z1Z9Z1Z2Z1Z1Z1Z72Z1Z1Z1Z2Z1Z11Z2Z2Z1Z81Z1Z2Z1Z1Z183Z2Z1Z1Z1Z2Z2Z1Z1Z72Z1Z1Z1Z2Z1Z1Z2Z2Z1Z81Z1Z2Z1Z1Z183Z2Z1Z1Z4Z2Z1Z1Z4Z2Z1Z81Z1Z2Z1Z1Z183Z2Z9Z1Z1Z2Z1Z81Z1Z2Z1Z1Z193Z2Z1Z81Z1Z2Z1Z1Z184Z2Z10Z81Z1Z2Z1Z1Z184Z12Z1Z1Z2Z11Z1Z2Z2Z7Z1Z2Z3Z81Z1Z2Z1Z1Z183Z2Z3Z1Z2Z2Z2Z72Z1Z2Z3Z81Z1Z2Z1Z1Z183Z12Z1Z1Z1Z11Z1Z12Z1Z1Z1Z2Z2Z1Z1Z2Z1Z79Z2Z81Z1Z2Z1Z1Z184Z2Z6Z1Z1Z79Z2Z2Z1Z81Z1Z2Z1Z1Z183Z12Z1Z1Z3Z11Z1Z2Z2Z1Z1Z2Z5Z1Z183Z2Z4Z1Z1Z2Z2Z1Z1Z2Z5Z1Z183Z16Z1Z11Z3Z12Z1Z2Z2Z1Z1Z2Z5Z1Z188Z2Z2Z1Z1Z2Z9Z1Z184Z2Z1Z9Z1Z1Z1Z9Z3Z1Z5Z2Z1Z1Z179Z2Z2Z1Z1Z2Z3Z9Z1Z1Z5Z2Z3Z1Z1Z2Z1Z1Z182Z2Z3Z9Z1Z1Z4Z9Z1Z2Z1Z1Z3Z2Z1Z1Z184Z7Z1Z2Z7Z1Z3Z2Z1Z1Z179Z2Z4Z1Z1Z7Z1Z11Z2Z1Z6Z32Z2Z2Z1Z1Z179Z7Z1Z1Z4Z7Z1Z2Z7Z1Z1Z2Z3Z1Z179Z2Z1Z7Z3Z1Z1Z7Z1Z1Z8Z2Z3Z1Z179Z7Z1Z1Z4Z7Z1Z1Z1Z2Z10Z1Z179Z7Z1Z1Z1Z7Z1Z1Z2Z7Z1Z1Z1Z12Z1Z32Z1Z1Z7Z2Z1Z1Z179Z7Z1Z1Z2Z9Z2Z2Z9Z1Z2Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z2Z3Z7Z1Z1Z9Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z4Z1Z2Z3Z1Z1Z2Z9Z1Z179Z2Z1Z7Z1Z1Z1Z2Z3Z7Z1Z1Z1Z7Z1Z2Z2Z9Z3Z2Z1Z75Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z4Z1Z2Z2Z7Z1Z1Z1Z7Z1Z2Z2Z1Z3Z2Z1Z1Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z2Z3Z7Z1Z1Z1Z7Z1Z2Z2Z1Z3Z2Z1Z1Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z4Z1Z2Z2Z1Z2Z32Z1Z2Z2Z32Z1Z1Z2Z2Z1Z1Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z2Z3Z1Z10Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z4Z1Z2Z11Z1Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z1Z78Z1Z9Z1Z1Z1Z9Z3Z1Z1Z9Z1Z1Z1Z2Z3Z1Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z7Z9Z1Z2Z1Z1Z1Z9Z1Z7Z1Z9Z1Z1Z1Z2Z1Z1Z179Z2Z1Z7Z1Z1Z7Z9Z1Z2Z1Z1Z5Z2Z1Z1Z179Z2Z1Z7Z1Z1Z7Z9Z1Z2Z1Z1Z5Z2Z1Z1Z179Z2Z1Z74Z1Z9Z1Z7Z1Z9Z1Z7Z1Z9Z1Z7Z1Z9Z1Z74Z1Z2Z1Z1Z5Z2Z1Z1Z179Z2Z17Z1Z23307ZZ1Z590Z0Z1Z1Z14Z2Z2Z0Z2Z1Z182Z0Z8Z2Z4Z0Z2Z1Z179Z0Z1Z1Z2Z0Z7Z3Z1Z0Z6Z1Z189Z0Z6Z1Z188Z0Z1Z1Z1Z3Z1Z0Z4Z1Z184Z0Z1Z1Z3Z2Z1Z0Z1Z1Z1Z3Z1Z0Z3Z1Z179Z0Z1Z1Z12Z3Z1Z0Z2Z1Z181Z0Z1Z1Z4Z0Z2Z1Z1Z0Z1Z1Z1Z0Z1Z1Z1Z3Z1Z0Z1Z1Z180Z2Z1Z1Z2Z0Z1Z1Z4Z3Z7Z1Z181Z2Z2Z1Z2Z0Z1Z1Z7Z3Z1Z1Z1Z3Z1Z1Z181Z2Z3Z1Z11Z3Z1Z1Z195Z3Z1Z1Z186Z2Z1Z0Z5Z1Z1Z0Z1Z1Z1Z3Z1Z1Z186Z2Z1Z1Z1Z3Z8Z1Z186Z2Z1Z1Z3Z0Z1Z1Z2Z0Z1Z3Z2Z1Z186Z2Z1Z1Z3Z0Z1Z1Z2Z0Z1Z3Z2Z1Z181Z3Z1Z1Z4Z2Z1Z1Z3Z0Z1Z1Z2Z0Z1Z3Z2Z1Z181Z2Z1Z3Z1Z1Z1Z0Z1Z2Z2Z1Z3Z0Z1Z1Z2Z0Z1Z3Z2Z1Z181Z2Z1Z1Z8Z0Z1Z1Z2Z0Z10Z1Z174Z2Z1Z1Z6Z3Z2Z1Z3Z2Z2Z1Z6Z0Z2Z1Z174Z2Z1Z1Z20Z0Z1Z1Z174Z2Z1Z1Z9Z2Z1Z1Z3Z0Z1Z1Z4Z2Z1Z1Z1Z0Z1Z1Z370Z2Z4Z1Z8Z2Z1Z1Z4Z0Z1Z1Z2Z2Z1Z0Z1Z1Z174Z2Z3Z1Z2Z2Z1Z1Z190Z0Z1Z1Z3Z0Z1Z2Z1Z1Z190Z0Z1Z1Z3Z0Z1Z2Z1Z1Z190Z0Z1Z1Z1Z3Z1Z1Z1Z0Z1Z2Z1Z1Z190Z0Z1Z1Z1Z2Z4Z1Z190Z0Z1Z1Z4Z0Z1Z1Z190Z0Z1Z1Z4Z0Z8Z1Z183Z0Z1Z3Z3Z1Z1Z0Z3Z1Z4Z0Z1Z1Z183Z0Z1Z1Z4Z0Z1Z1Z190Z0Z1Z3Z3Z1Z1Z0Z1Z1Z6Z0Z1Z1Z186Z0Z1Z1Z1Z0Z1Z1Z2Z0Z5Z1Z183Z0Z2Z1Z1Z0Z1Z1Z1Z0Z1Z1Z6Z0Z1Z1Z183Z3Z1Z1Z2Z0Z1Z1Z1Z0Z1Z3Z5Z0Z2Z1Z183Z3Z1Z1Z1Z3Z2Z1Z1Z3Z1Z1Z4Z3Z1Z0Z2Z1Z183Z3Z1Z1Z1Z0Z2Z1Z1Z3Z1Z1Z4Z3Z1Z0Z2Z1Z183Z3Z1Z1Z4Z0Z1Z1Z4Z3Z1Z0Z2Z1Z183Z0Z6Z1Z4Z3Z1Z0Z2Z1Z193Z3Z1Z0Z2Z1Z184Z3Z10Z0Z2Z1Z189Z2Z1Z1Z1Z2Z3Z0Z2Z1Z189Z2Z5Z0Z2Z1Z189Z2Z1Z1Z1Z0Z2Z2Z1Z0Z2Z1Z189Z2Z1Z1Z1Z2Z2Z0Z3Z1Z189Z2Z1Z1Z1Z2Z3Z0Z2Z1Z189Z2Z1Z1Z1Z2Z3Z0Z2Z1Z183Z2Z1Z1Z5Z2Z1Z1Z1Z2Z2Z0Z3Z1Z385Z2Z1Z1Z189Z3Z2Z1Z1Z3Z2Z1Z1Z2Z1Z1Z192Z3Z3Z2Z1Z1Z4Z0Z1Z1Z189Z0Z8Z1Z3Z0Z1Z1Z184Z0Z1Z1Z10Z0Z1Z1Z179Z2Z1Z1Z4Z0Z8Z1Z3Z0Z1Z1Z179Z2Z1Z3Z3Z1Z1Z0Z1Z1Z10Z0Z1Z1Z179Z2Z1Z1Z4Z0Z1Z1Z1Z0Z10Z1Z179Z2Z1Z1Z1Z3Z1Z1Z2Z0Z1Z1Z1Z0Z2Z1Z7Z0Z1Z1Z179Z2Z1Z1Z2Z3Z2Z2Z1Z0Z8Z1Z2Z0Z1Z1Z179Z0Z1Z2Z1Z1Z1Z2Z1Z0Z2Z2Z1Z1Z9Z0Z1Z1Z179Z2Z2Z1Z1Z0Z1Z2Z2Z0Z1Z1Z1Z0Z2Z1Z186Z0Z1Z2Z1Z1Z1Z2Z1Z0Z1Z2Z2Z1Z1Z0Z2Z1Z186Z0Z1Z2Z1Z1Z1Z0Z2Z2Z2Z1Z1Z0Z2Z1Z186Z0Z1Z2Z1Z1Z1Z2Z1Z0Z1Z2Z2Z1Z1Z0Z2Z1Z186Z0Z1Z2Z1Z1Z1Z0Z2Z2Z1Z1Z2Z2Z1Z0Z1Z1Z1Z0Z1Z1Z184Z2Z2Z1Z1Z2Z3Z1Z190Z0Z1Z2Z1Z1Z1Z0Z3Z2Z5Z3Z4Z1Z1Z3Z1Z1Z180Z2Z1Z1Z8Z3Z1Z1Z5Z3Z1Z1Z180Z2Z1Z1Z7Z0Z1Z2Z1Z1Z5Z3Z1Z1Z180Z2Z1Z1Z7Z0Z1Z2Z1Z1Z5Z3Z1Z1Z180Z2Z1Z1Z7Z0Z1Z1Z6Z3Z1Z1Z180Z3Z10Z1Z5Z3Z1Z1Z185Z2Z5Z3Z6Z1Z23307ZZZZ0Z0
ArnoHu ArnoHu loading
Earlier today I uploaded a GoK version which calculates attack tables before EVERY full search move generator run (OK not every run, as attack tables are cached in transposition table), something I had disabled years ago due to performance reasons. But GoK is faster today, and this approach allows its staged move generator to find all MVV/LVA captures with specialized code taking only a fraction of time; in addition, move ordering is better, hence pruning / LMR is better, king ring attacks will always be up-to-date for evaluation. Overall search performance stayed the same, but search quality has improved.

As a side-effect, average MPS on TurboWarp fell from 250,000 to 200,000, and NPS from 200,000 to 150,000 (although we are reaching the same search depth as before). Attack tables are created based on generated moves though, so just for fun I temporarily added attacks to MPS statistics - and it went up to 750,000 MPS.

PizzaReiv PizzaReiv loading

petspez wrote:

If this is a suggestion, then no support. The Scratch Team has rejected changing the logo in the past because there is no argument on how it will improve scratch
Bro let him cook _B)_
31cam3b 31cam3b loading
Now as i may be guilty of this my self new scratchers usually try and get their games featured or trending and they might advertise and maybe there might be games that say “No Ads or No advertising but maybe these new scratchers don’t see these and it might result in a blocking of an account. If there is anything i need to know please tell me!!!!
Bobmr2024 Bobmr2024 loading
when gf clicked
move (10) steps

// German

wenn die grune flagge angeklickt
gehe (10) er-Schritt
drehe dich nach rechts um (15) Grad

// Spanish

al presionar bandera verde
por siempre
girar a la izquierda (7) grados
girar a la derecha (11) grados
fin

// Chinese

点击绿旗时
转动CCW (15)度
转动CW (15)度
如果 <声音响亮?> 那么
结束

// Polish

kiedy kliknięto zieloną flagę
obróć w lewo o (10) stopni
obróć w prawo o (10) stopni
forever
koniec
cosmosaura cosmosaura loading
I'm afraid this isn't a good fit for the forum. Before making a topic, please check the “sticky” topics (indicated by a pin icon) for information about what goes in each forum. Thanks!
im a be offline for a few hours
PizzaReiv PizzaReiv loading

Za-Chary wrote:

GENERAL INFORMATION

WELCOME TO THE LIST OF REJECTED SUGGESTIONS!
This topic contains suggestions that have previously been rejected by the Scratch Team. As a result, these suggestions will not be added to Scratch, so please do not make any posts in the “Suggestions” forum asking for one of these. Otherwise, you may be directed to this topic.

Moreover, please do not make any posts in the “Suggestions” forum asking that the Scratch Team “rethink” a rejected suggestion unless you are giving a solution to the problem that caused the feature to be rejected.

PLEASE DO NOT SUGGEST THINGS HERE!
I am not a member of the Scratch Team; your suggestion will get more attention if you make your own topic about it. Also, please do not spam or create off-topic posts, or else they may be deleted.

USE THE REPORT BUTTON ON SPAM/OFF-TOPIC POSTS; DON'T RESPOND!
Responding to spam or off-topic posts just leads to more off-topic discussion. Simply use the Report button whenever you see an off-topic post on this thread, without responding; a moderator will remove it when they get the chance.


Every suggestion listed here has been officially rejected by the Scratch Team. Descriptions for each rejected suggestion have been written by myself, and in addition, I have included a link to a post by a Scratch Team member officially rejecting the suggestion. If you have any questions on whether or not your suggestion is rejected, or if you do not understand why something was rejected, feel free to ask about it here.

If you see someone in the forums or elsewhere on the website trying to suggest something that is rejected below, feel free to refer them to this thread. It would be a good idea to include a quote from this list explaining why their suggestion is rejected.

Please let me know if any information is incorrect, missing, or outdated! Please also update me on any recently-rejected suggestions so we can discuss whether or not to add them to this list. Even if a suggestion is infrequently suggested or it is “obviously rejected,” it's still helpful for me to see that the suggestion exists. I will do my best to regularly update and revise the list as needed. In addition, feel free to tell me if there are any spelling mistakes or formatting errors. Other general feedback is appreciated as well.

Click here for a table of contents with shorter explanations on why suggestions are rejected.

Previous Lists
July 2009 – May 2013 (by @Chrischb)
May 2013 – February 2017 (by @jvvg)
February 2017 – August 2018 (by @customhacker)
August 2018 – March 2019 (by @LionHeart70)

Translated Lists
日本語 (Japanese, by @inoking)
Français (French, by @IA-maker)
Română (Romanian, by @LankyBox01)

====================
(long unnecessary quote removed by moderator - please don't spam)
So not having political * shoved down your throat is a rejected suggestion?!
Bobmr2024 Bobmr2024 loading
// Music
play drum [(1) Snare Drum v] for (0.25) beats
rest for (0.25) beats
play note (60) for (0.25) beats
set instrument to [(1) Piano v]
set tempo to (60)
change tempo by (20)
(tempo)

// Pen
erase all
stamp
pen down
pen up
set pen color to [#FF0000]
change pen [color v] by (10)
set pen [color v] to (50)
change pen size by (1)
set pen size to (1)

// Video Sensing
when video motion > (10)
video [motion v] on [sprite v]
turn video [on v]
set video transparency to (50)

// Text-to-Sppech
speak [hello]
set voice to [alto v]
set language to [English v]

// Translate
(translate [hello] to [Thai v])
(language)

// Makey Makey
// NOTE: disambiguation may apply from now on
// disambig'd to event
when [space v] key pressed
when [left up right v] pressed in order

// micro:bit
when [A v] button pressed
<[A v] button pressed?>
when [moved v]
display [heart v]
display text [Hello!]
clear display
when tilted [any v]
<tilted [any v]?>
(tilt angle [front v])
when pin [0 v] connected

// EV3
motor [A v] turn this way for (1) seconds
motor [A v] turn that way for (1) seconds
motor [A v] set power (100) %
(motor [A v] position)
when button [1 v] pressed
when distance \< (5)
when brightness \< (50)
<button [1 v] pressed?>
// disambig'd to wedo2
(distance)
(brightness)
beep note (60) for (0.5) secs

// BOOST
turn motor [A v] for (1) seconds
turn motor [A v] for (1) rotations
turn motor [A v] on
turn motor [A v] off
set motor [ABCD v] speed to (100) %
set motor [A v] direction [this way v]
// disambig'd to ev3
(motor [A v] position)
when [any color v] brick seen
<seeing [any color v] brick?>
// these two are disambig'd to microbit
when tilted [any v]
(tilt angle [up v])
// disambig'd to wedo2
set light color to (50)

// WeDo
turn [motor v] on for (1) seconds
turn [motor v] on
turn [motor v] off
set [motor v] power to (100)
set [motor v] direction to [this way v]
set light color to (50)
when distance [< v] (50)
// disambig'd to microbit
when tilted [any v]
(distance)
// these two are disambig'd to microbit
<tilted [any v]?>
(tilt angle [up v])

// Force and Acceleration
// disambig'd to microbit
when [shaken v]
when [started falling v]
when force sensor [pushed v]
(force)
// these three are disambig'd to microbit
when tilted [any v]
<tilted [any v]?>
(tilt angle [front v])
<falling?>
(spin speed [z v])
(acceleration [x v])
Hi im trying to make a point system in scratch I can’t find an easy way or a good auto save template that works anyone got one? Or any way i can go about it because i want to make it so they can transfer points aswell

oopsied wrote:

Hey all,
Daliscreator and I are hosting a 1400 block long megacollab. The level will be about top 5 to top 1 difficulty, and will be similar to Limbo, in which it will be a memory demon. There will be 14 total parts, each 100 blocks long. The schedule is like this:
Part 1 - CreativeStegosaur
Part 2 - Paullottix
Part 3 - daliscreator
Part 4 - Trigonometrical
Part 5 - igtnathan5
Part 6 - mrtidwinkle
Part 7 - oopsied
Part 8 - CreativeStegosaur
Part 9 - Paullottix
Part 10 - quartay
Part 11 - Trigonometrical
Part 12 - igtnathan5
Part 13 - mrtidwinkle
Part 14 - oopsied

I'm in!

Za-Chary wrote:

DIPS-STUDIOS wrote:

How old is scratch cat?
I guess 16 years old (soon to be 17), since Scratch 1.0 was released to the public on May 15th 2007.

DIPS-STUDIOS wrote:

Does scratch cat have a family?
Scratch Cat is friends with Gobo, Pico, Nano, Tera, and Giga — and friends are certainly family.

DIPS-STUDIOS wrote:

What is scratch cat’s favourite food?
Tacos! This was stated by former Scratch Team member @thisandagain.
Oh cool!

S_P_A_R_T wrote:

Here's a really strange WD v7.02 self play test.

This was to mainly ensure that the new table-based move gen for the pawns worked (along with some other new stuff), but this game it just terrible!

The queen get's trapped twice (and neither time does the other side realise this) and after this, the rook vs rook ending was just terrible! I stopped this game short even though black was winning because it didn't look like progress was going to occur, and even if a decisive result happened, it wouldn't really be that “important”.

https://lichess.org/jN4nYBid#107
The queen trap needs a depth of 8 to find (14. e5! Qf4 15. Ne2 Qg4 16. h3 Qh5 17. Nf4 or Ng3 plus black’s next move makes 8 moves plus quiescence.

I replayed WD’s rook endgame blunders on Element :
44. Kg2?? , Element plays 44. Ke3 (Element reaches depth 7, the depth 6 move Ra6 is also acceptable).
44… g5?? , Element plays Kd6 (reaches depth 7, depth 6 move is Ke6??)
47. Ra6?? , Element plays Kf3?? Reaches depth 7)

I don’t recommend terminating games too often, especially in late endgames. For example, https://lichess.org/study/I02Nwcbd/Pdo2EVrU#329 (ignoring 50 move rule here)

White Dove 7.01 vs Element v1.4862 - Draw in 81 moves. Around the move 48… h5, Element was showing -2 and WD -3 (black is winning). I’m surprised Element picked this up. The B+2P v R exchange didn’t help WD either.

The stalemate situation is similar to Element’s 5+8 match against Bonsai in the SCF Cup (Element only has stalemate detection in the root nodes).
Bobmr2024 Bobmr2024 loading
// Motion

move (10) steps
turn cw (15) degrees
turn right (15) degrees
turn ↻ (15) degrees
turn ccw (15) degrees
turn left (15) degrees
turn ↺ (15) degrees

point in direction (90 v)
point towards [ v]

go to x: (0) y: (0)
go to [mouse-pointer v]
glide (1) secs to x: (0) y: (0)

change x by (10)
set x to (0)
change y by (10)
set y to (0)

if on edge, bounce

set rotation style [left-right v]

(x position)
(y position)
(direction)



// Looks

say [Hello!] for (2) secs
say [Hello!]
think [Hmm...] for (2) secs
think [Hmm...]

show
hide

switch costume to [costume1 v]
next costume
switch backdrop to [backdrop1 v]

change [color v] effect by (25)
set [color v] effect to (0)
clear graphic effects

change size by (10)
set size to (100)%

go to front
go back (1) layers

(costume #)
(backdrop name)
(size)

// (Stage-specific)

switch backdrop to [backdrop1 v] and wait
next backdrop

(backdrop #)



// Sound

play sound [pop v]
play sound [pop v] until done
stop all sounds

play drum (1 v) for (0.2) beats
rest for (0.2) beats

play note (60 v) for (0.5) beats
set instrument to (1 v)

change volume by (-10)
set volume to (100)%
(volume)

change tempo by (20)
set tempo to (60) bpm
(tempo)



// Pen

clear

stamp

pen down
pen up

set pen color to [#f0f]
change pen color by (10)
set pen color to (0)

change pen shade by (10)
set pen shade to (50)

change pen size by (1)
set pen size to (1)



// Variables

set [var v] to [0]
change [var v] by (1)
show variable [var v]
hide variable [var v]



// List

add [thing] to [list v]

delete (1 v) of [list v]
insert [thing] at (1 v) of [list v]
replace item (1 v) of [list v] with [thing]

(item (1 v) of [list v])
(length of [list v])
<[list v] contains [thing]>

show list [list v]
hide list [list v]



// Events

when gf clicked
when green flag clicked
when flag clicked
when ⚑ clicked
when [space v] key pressed
when this sprite clicked
when backdrop switches to [backdrop1 v]

when [loudness v] > (10)

when I receive [message1 v]
broadcast [message1 v]
broadcast [message1 v] and wait



// Control

wait (1) secs

repeat (10)
end

forever
end

if <> then
end

if <> then
else
end

wait until <>

repeat until <>
end

// caps!

stop [all v]

stop [this script v]

// stack

stop [other scripts in sprite v]

stop [other scripts in stage v]

when I start as a clone
create clone of [myself v]
delete this clone



// Sensing

<touching [ v]?>
<touching color [#f0f]?>
<color [#f0f] is touching [#0f0]?>
(distance to [ v])

ask [What's your name?] and wait
(answer)

<key [space v] pressed?>
<mouse down?>
(mouse x)
(mouse y)

(loudness)

(video [motion v] on [this sprite v])
turn video [on v]
set video transparency to (50)%

(timer)
reset timer

([x position v] of [Sprite1 v])

(current [minute v])
(days since 2000)
(username)
(user id)



// Operators

(() + ())
(() - ())
(() * ())
(() / ())

(pick random (1) to (10))

<[] < []>
<[] = []>
<[] > []>
&lt;[] &lt; []&gt;
&lt;[] &gt; []&gt;

<<> and <>>
<<> or <>>
<not <>>

(join [hello ] [world])
(letter (1) of [world])
(length of [world])

(() mod ())
(round ())

([sqrt v] of (9))


// PicoBoard

when [button pressed v]

when [slider v] [> v] (50)

<sensor [button pressed v]?

([slider v] sensor value)

// Lego WeDo 1.0

turn [motor v] on for (1) secs

turn [motor v] on

turn [motor v] off

set [motor v] power to (100)

set [motor v] direction to [this way v]

when distance [< v] (20)

when tilt [= v] (20)

(distance)

(tilt)

// Lego WeDo 2.0

turn [motor v] on for (1) seconds

turn [motor v] on

turn [motor v] off

set [motor v] power to (100)

set [motor v] direction to [this way v]

set light color to (50)

play note (60 v) for (0.5) seconds

when distance [< v] (50)

when tilted

(distance)

(tilt [up-down v])


// Obsolete Scratch 1.4 blocks:


// Looks

switch to costume [costume1 v]

switch to background [background1 v]
next background
(background #)



// Control

if <>
end

forever if <>
end

stop script
stop all



// Events

when Sprite1 clicked



// Sensing

<loud?>



// Grey

. . .
...

TXRGS_Smartmedic1 wrote:

Does Anybody Wish That They Could Have Their Ps4 Controller Or Any Other Controller On Scratch To Play Games Like @griffpatch s Massive Multiplayer Platformer? Even If The Controllers Have To Be Plugged In I Would Be Ok With That. Reply And Let Me Know What You Think?[
If you think about it using a extension of some kind could be possible however scratch would probably make their own controllers because otherwise they would have to go a collaboration with PlayStation Nintendo etc, but yeh your not the only one who wants this
set [ People who want controllers on scratch ] to [99999999999999999999999999]
Once you finish Yellowjacket go ahead and do the rest of the Dark Avengers. The descriptions should be on one of these forum pages. Im gonna binge a show so Ill be back around 3:00 Central time.
Weekly // Sun, 24/25
=====================
PT 1 :
The main character experiences the loss of her two parents and lives with her aunt and uncle who do not treat her well.

The setting starts off in the real world, the main character’s brother finds a message laying near the old well. The well led to a magical world.

The main character lives with her brother, aunt, and uncle

The magical world is where the main character learns that she cannot let the loss of her parents take control of her life. Ever since they died, she felt lonely and didn’t think that she will live her life without them.

Before she discovered the magical world, she was a slave of her aunt and uncle. They didn’t treat her nor her brother as part of the family. Her cousins also treat her like that too.

Her cousins pushed her and her brother down the well and found another note; they believed this was their chance to be free.

When they are in this academy, things kind of work out. Some things didn’t - some children didn’t like that they were here, some just didn’t care at all.

When the main character and her brother discover they were related to a powerful family, they are shocked. They weren’t all that shocked though

Near the end they hugged their mean aunt, uncle, and cousins and didn’t care what they thought.
(229 Words)

==================
Exposition :
The main character and her brother are forced to live with their aunt, uncle, and cousins after the loss of their parents. However, things didn’t work out because their aunt and uncle didn’t treat them as part of the family – they forced them to do ALL the work. They even made them MAKE EVERY meal. Now that they were forced into this situation, they needed a way to free themselves from this chaos – this happened after they were pushed down a well by their spoiled little cousins…

After they fell down the well, they needed to find a safe place to stay, then they found an academy.
(107 Words)

=================
Elements: Foreshadowing, plot twist, open ending, cliffhanger, flashback, new conflict.

=================

Story : (Rough Draft)

(NOTE: Story is a bit long, the format looked better on the word processor I used <3)

My parents died a few weeks ago, my brother and I had to move into my aunt and uncle’s house… I mean that is fine! But the problem was that my brother and I did all the work. We made them breakfast, lunch, and dinner. We cleaned up the house, did ALL the chores, and cleaned everyone’s rooms! I know this sounds crazy, but I know they are doing this because they hate my parents!

“Rosy, clean our rooms.” She looked at me disgusted face. “And you look so much like your mother… that long red hair… And Joan! Make us breakfast!”

“Aunt Lucy!” I say before heading upstairs, “When will I ever get a life! Get full-time in school or anything!”

She looked at me more disgusted, “Go. Clean. Our. Rooms. Now!”

I walk upstairs with anger bursting inside of me, it is fine. It is fine. No, it is not fine! And what does she want from my red hair? I walked upstairs frowning more, I saw Joan stomping downstairs still frowning more. I look at him waving as my cousin knocked me onto the floor.

“Haha!” She laughs, “You could not even bare to punch me downstairs—oh wait! You did!”

She started to slide on the staircase and when she reached the bottom she started crying. “Mama! R-Rosy pushed me downstairs!”

I ran to somebody’s room and started to clean it. When I walked downstairs after I cleaned everyone’s rooms, my aunt grabbed my arm and threw me towards the couch.

“You despicable child!” She stared at me before grabbing my hair, “Explain why you pushed your cousin downstairs!”

“I didn’t!” I claim, “I didn’t!”

My aunt then yelled, “No more breaks for you! You are going to pay for what you did to Lina!”

Lina stares at me for a split second before turning over to my aunt, “Mama! Cousin is mean!”

“Yeah, she is!” My aunt then started to hug Lina.

Me and my brother walked outside and looked over to the well, suddenly Lina came running towards us and yelled. “Haha! You will pay for what your family had down to Mama!”

Our other cousins came over and pushed us down the well, “This is the end of us brother!” I say, before closing my eyes.

I woke up and we were in a pile of leaves, the world was… weird. My brother looks at me and sighs, “Sister! We would not have entered this place if you have not pushed Lina down the staircase!”

“I-I didn’t!” I said before turning my head around, “Please, please, please believe me!”

He did not reply but helped me get back up. My legs wabbled a bit before I could stand on my legs. We arrived near a giant academy; I froze before turning over to my brother. “J-Joan, what is that giant academy looking thingy?”

Before replying he started walking over to the rusted gate, after touching, it had glowed a bright golden color. I walk over to him and my eyes glitter, “It’s beautiful!”

We walked in the place and the ground was covered with bright golden flowers. The academy got more beautiful when we went through the gate. It was less scary to be honest.

I then heard some whispers and saw somebody walking out of the academy’s side. I could not tell what they were saying, but another walked out. Suddenly they noticed me and my brother and walked over.

The blonde-hair one waved her hand and said, “Oh hello! Hi new arrivals, I am Solara. And this is my sister Luna.”

Luna had a quieter personality than Solara. Luna looked at me and said, “And you two are Rosalia and Joan? The-”

Solara then interrupted Luna before she could finish her last sentence, “Do not worry about that last sentence! It is not important!”

Luna pulled Solara towards her and whispered in Solara’s ear.

After they were done Solara then said, “Ah, that is right! Time to see your personality traits to sort you!”

We walked into the magical building; everyone was walking away. We entered a room, and I sat down on a comfortable ground. “First up you Joan.”

Joan walked over to the crystal and touched it, it glowed golden like the flowers that we saw.

“You have a bold personality trait… your strong, kind, and brave… Thats right! You will be sorted in our adventurer category; you will receive your schedule tomorrow…” He left off with someone to his dorm room.

“Time for you Rosalia,”

I got near the crystal and felt a pinch in my back. I touched it before everything darkened slowly… I felt myself suffocating, yet the air around me dropped temperature—colder. I stayed calm before everything brightened.

“You are resourceful, kind, cheerful, sweet, creative, brave, strong, and are ready to take on any risks or anything—bold. You are a bit introverted also…”

That was Solara’s voice, but I heard somebody else whispering, “Moonlight…” Did Joan hear these weird whispers? I started to breathe slowly, my heart began thumping, I heard the beats in my ears.

I wake up and face my head around everyone around me. Luna and Solara. Solara smiled, “You are like my sister… Luna will mentor you.”

Luna sighed softly before facing me again, “Follow me… Moonlight.”

I was following her over to the dorm room, when I entered it, I only saw one girl. “Since Moonlight’s are exceedingly rare. There is barely anyone in this dorm. Meaning that you have enough space. Enjoy.”

Before she left, she then said. “Also, Moonlight is receiving weird visions on full moon. Tomorrow is full moon when your powers are mostly active, so we will be training at night.”

<><><><>

It was the next day; I was eating dinner. I was sitting next to other fellow moonlights—no I was sitting next to this incredibly quiet girl.

Hello, I am Rosy. What is your name?” I ask.

The quiet girl then said, “Tranquilo…”

“Oh! Hello Tranquilo!” I said, the girl then looked at me confused.

“Mi nombre es Adriana!” The girl frowned at me before turning back to her book.

“Oh! Hi… Adriana!” I speak.

She looked at me again and frowned more. “Hola.”

Luna then walked towards me and pulled my arm, “C’mon Rosy, it is time for training. Es hora de irse, Adriana!”

Adriana nodded and got up. We walked outside and saw the full moon. I always loved the full moon…

We were then training I got the moves quickly—but Adriana did not.

“Adri! It is all right,” Adriana looked at me and smiled.

“Thanks,” She said, “And yeah I know English too.”

We walked back inside… I noticed the sky was brighter than usual. And noticed that there was stuff in the sky, it is nothing.

<><><><>

The night was getting colder, the summer was also getting colder. The golden flowers that bloomed had just died. And the golden gates to the academy were rusted and brown.

A young shapeshifter appeared out of nowhere and decided to destroy the entire place for good…

<><><><>



We had four WHOLE months of training; the flowers began to die. And the Summer began to become colder.

I had a weird vision two weeks ago, during the night of the full moon. I never told anyone but my brother, you might think it is weird I did not tell my mentor. But she seems to not know a lot about visions to be honest.

I was here sitting down in the meeting room, Luna, Solara, and the other masters were standing on the stage and were looking down onto us. “We have chosen a few children to stop HELP us stop this… we know that the banished Shapeshifting, Falerii, has caused this.”

Luna stepped up and said, “And those children are… Adriana, Joan, Rosy, and Victoria.”

Luna then told us to come up here, I then grabbed Luna and told her to come with me for a second.

We entered a small room. Luna asked, “What do you need to talk about?”

“A-A vision!” I say nervously. Luna sighs and then looks at me.

“What was it about?”

“I should’ve told you, but I couldn’t!” I say, “I thought I could handle it, but it is meaning was so strong! Falerii is seeking revenge for her banishment! She will flood the place with darkness intel everyone is gone…”

Luna exclaims and stands up, “You should have told me! We would have prepared!”

“I-I, thought I could handle this myself!”

Luna looks at me before exiting the room, “A good Moonlight would never keep harmful secrets—never betray! You were not meant to be a Moonlight; you were not meant to be here…”

She left the room, slamming the door. I stood in the corner trying to cry all my fears out. She is right! I was never meant to be here… All my cousins were right…

But they are not, A voice said.

“What do you mean voice?” I said looking around. I felt so crazy after the voice replied.

You were forced into living with them, I have been following you all your life. The voice sounded so calm, so sweet also.

“But everyone said I’m such a failure!” I spoke.

Remember those dreams before you visited this realm? The voice said.

It sounded just like my mother… “Are you mother?”

Yes… I love you so much! You are related to a magical family—me! The voice said, she appeared as a glowing figure I walk to her and touch her hand

Know I love you with all my heart, Falerii is waiting for you… My mom’s voice said, the figure disappeared.

I walk outside and walk to Falerii who looked at me with curiosity. “Hello foolish child!”

I look at her, “You are right, I am foolish.”

Falerii smiles, “I am right? Usually, those people would start insulting me… but you? Your different…”

“Different…?” I question, she twirls her hair around before walking to me.

“Yes, you're different… you are a Starlight Daughter…” She says, then snickers.

“Why do you want to destroy the school?”

Falerii sighs and then said, “I never wanted to destroy the school. I suppose I can tell you the story, I was a young girl, about your age. I fell down a well and fell into a pile of leaves and flowers. I found the academy and two people walked out… Gabriella and Fiona. Sisters. I was mentored by Fiona, the quietest sister, she then got mad at me when I did not tell her I had a vision about a darkness surrounding the school… I tried to save the school—but Fiona claimed I was the one…”

“So… why was I brought here?” I ask, “Why are our stories so similar?”

“I was your mother’s sister…” Falerii says, “And I promised your mother that I’d protect you.”

Falerii’s chestnut brown hair transformed into long locks of beautiful red hair as she walked to me. “I am your second aunt… That is where your hair, and your personality came from.”

Suddenly Luna and Solara walked out of the school. “Falerii! Why are you holding the hands of Rosy?”

“Behind you!” Falerii yells as a new figure appears behind Luna and Solara.

Falerii then exclaims, “That is the person who caused it! Not me!”

I quickly use my powers to stop the person. It was Crimson, the evil witch. I continued trying to stop her.

“Haha!” Crimson laughs manically, “Young Rosy can’t stop me!”

I make a full ball of moonlight and launch it towards Crimson before she can launch her powers towards me.

She falls to the ground and disappears, “She is not gone.” Falerii said, “And she WILL come back, you need to return home. We will call you back when we need you.”

My brother stands next to me and said, “You are braver than me, I love you sister.”

Everything darkened once more, and we were being pulled out of the well by our cousins.

“Come on Sephanie! Mom is not happy we pushed them down the well, help us now!” Daisy said.

Sephanie helps pull us out and we walked back inside. My aunt walks over to me and asks, “Are you alright?”

“Yes!” I say, hugging her tightly.

Sephanie walks over to me and then apologizes, “I’m sorry for pushing you down the well!”

“I’m sorry for pushing you down the staircase.” I speak. I know I did not do that, but I will apologize anyway.

Aunt walks over to me and says, “So you did push Sephanie downstairs!”

Sephanie gulps before looking back to her mom and said, “Actually… I lied!”

Her mother screamed at her loudly before making her clean her room.

<><><>

It was nighttime, I woke up to the sound of screaming outside. I got scared, but the only creepy thing was that it sounded so odd…



The End… Or is it?


<><><><><><><>
Story (Final Draft w/ critique)

My parents died a few weeks ago, my brother and I had to move into my aunt and uncle’s house… I mean that is fine! But the problem was that my brother and I did all the work. We made them breakfast, lunch, and dinner. We cleaned up the house, did ALL the chores, and cleaned everyone’s rooms! I know this sounds crazy, but I know they are doing this because they hated my parents!

“Rosy, clean our rooms.” She looked at me disgusted face. “And you look so much like your mother… that long red hair… And Joan! Make us breakfast!”

“Aunt Lucy!” I say before heading upstairs, “When will I ever get a life! Get full-time in school or anything!”

She looked at me more disgusted, “Go. Clean. Our. Rooms. Now!”

I walk upstairs with anger bursting inside of me, it is fine. It is fine. No, it is not fine! And what does she want from my red hair? I walked upstairs frowning more, I also saw Joan stomping downstairs. I look at him waving as my cousin knocked me onto the floor.

“Haha!” She laughs, “You could not even bare to punch me downstairs—oh wait! You did!”

She started to slide on the staircase and when she reached the bottom she started crying. “Mama! R-Rosy pushed me downstairs!”

I ran to somebody’s room and started to clean it. When I walked downstairs after I cleaned everyone’s rooms, my aunt grabbed my arm and threw me towards the couch.

“You despicable child!” She stared at me before grabbing my hair, “Explain why you pushed your cousin downstairs!”

“I didn’t!” I claim, “I didn’t!”

My aunt then yelled, “No more breaks for you! You are going to pay for what you did to Lina!”

Lina stares at me for a split second before turning over to my aunt, “Mama! Cousin is mean!”

“Yeah, she is!” My aunt then started to hug Lina.

Me and my brother walked outside and looked over to the well, suddenly Lina came running towards us and yelled. “Haha! You will pay for what your family had done to Mama!”

Our other cousins came over and pushed us down the well, “This is the end of us brother!” I say, before closing my eyes.

I woke up and we were in a pile of leaves, the world was… weird. My brother looks at me and sighs, “Sister! We would not have entered this place if you have not pushed Lina down the staircase!”

“I-I didn’t!” I said before turning my head around, “Please, please, please believe me!”

He did not reply but helped me get back up. My legs wabbled a bit before I could stand on my legs. We arrived near a giant academy; I froze before turning over to my brother. “J-Joan, what is that giant academy looking thingy?”

Before replying he started walking over to the rusted gate, after touching, it had glowed a bright golden color. I walk over to him and my eyes glitter, “It’s beautiful!”

We walked in the place and the ground was covered with bright golden flowers. The academy got more beautiful when we went through the gate. It was less scary to be honest.

I then heard some whispers and saw somebody walking out of the academy’s side. I could not tell what they were saying, but another walked out. Suddenly they noticed me and my brother and walked over.

The blonde-hair one waved her hand and said, “Oh hello new arrivals, I am Solara. And this is my sister Luna.”

Luna had a quieter personality than Solara. Luna looked at me and said, “And you two are Rosalia and Joan? The-”

Solara then interrupted Luna before she could finish her last sentence, “Do not worry about that last sentence! It is not important!”

Luna pulled Solara towards her and whispered in Solara’s ear.

After they were done Solara then said, “Ah, that is right! Time to see your personality traits to sort you!”

We walked into the magical building; everyone was walking away. We entered a room, and I sat down on a comfortable ground. “First up you Joan.”

Joan walked over to the crystal and touched it, it glowed golden like the flowers that we saw.

“You have a bold personality trait… your strong, kind, and brave… Thats right! You will be sorted in our adventurer category; you will receive your schedule tomorrow…” He left off with someone to his dorm room.

“Time for you Rosalia,”

I got near the crystal and felt a pinch in my back. I touched it before everything darkened slowly… I felt myself suffocating, yet the air around me dropped temperature—colder. I stayed calm before everything brightened.

“You are resourceful, kind, cheerful, sweet, creative, brave, strong, and are ready to take on any risks or anything—bold. You are a bit introverted also…”

That was Solara’s voice, but I heard somebody else whispering, “Moonlight…” Did Joan hear these weird whispers? I started to breathe slowly, my heart began thumping, I heard the beats in my ears.

I wake up and face my head around everyone around me. Luna and Solara. Solara smiled, “You are like my sister… Luna will mentor you.”

Luna sighed softly before facing me again, “Follow me… Moonlight.”

I was following her over to the dorm room, when I entered it, I only saw one girl. “Since Moonlight’s are exceedingly rare. There is barely anyone in this dorm. Meaning that you have enough space. Enjoy.”

Before she left, she then said. “Also, Moonlight is receiving weird visions on full moon. Tomorrow is full moon when your powers are mostly active, so we will be training at night.”

<><><><>

It was the next day; I was eating dinner. I was sitting next to other fellow moonlights—no I was sitting next to this incredibly quiet girl.

Hello, I am Rosy. What is your name?” I ask.

The quiet girl then said, “Tranquilo…”

“Oh! Hello Tranquilo!” I said, the girl then looked at me confused.

“Mi nombre es Adriana!” The girl frowned at me before turning back to her book.

“Oh! Hi… Adriana!” I speak.

She looked at me again and frowned more. “Hola.”

Luna then walked towards me and pulled my arm, “C’mon Rosy, it is time for training. Es hora de irse, Adriana!”

Adriana nodded and got up. We walked outside and saw the full moon. I always loved the full moon…

We were then training I got the moves quickly—but Adriana did not.

“Adri! It is all right,” Adriana looked at me and smiled.

“Thanks,” She said, “And yeah I know English too.”

We walked back inside… I noticed the sky was brighter than usual. And noticed that there was stuff in the sky, it is nothing.

<><><><>

The night was getting colder, the summer was also getting colder. The golden flowers that bloomed had just died. And the golden gates to the academy were rusted and brown.

A young shapeshifter appeared out of nowhere and decided to destroy the entire place for good…

<><><><>



We had four WHOLE months of training; the flowers began to die. And the Summer began to become colder.

I had a weird vision two weeks ago, during the night of the full moon. I never told anyone but my brother, you might think it is weird I did not tell my mentor. But she seems to not know a lot about visions to be honest.

I was here sitting down in the meeting room, Luna, Solara, and the other masters were standing on the stage and were looking down onto us. “We have chosen a few children to stop HELP us stop this… we know that the banished Shapeshifting, Falerii, has caused this.”

Luna stepped up and said, “And those children are… Adriana, Joan, Rosy, and Victoria.”

Luna then told us to come up here, I then grabbed Luna and told her to come with me for a second.

We entered a small room. Luna asked, “What do you need to talk about?”

“A-A vision!” I say nervously. Luna sighs and then looks at me.

“What was it about?”

“I should’ve told you, but I couldn’t!” I say, “I thought I could handle it, but it is meaning was so strong! Falerii is seeking revenge for her banishment! She will flood the place with darkness intel everyone is gone…”

Luna exclaims and stands up, “You should have told me! We would have prepared!”

“I-I, thought I could handle this myself!”

Luna looks at me before exiting the room, “A good Moonlight would never keep harmful secrets—never betray! You were not meant to be a Moonlight; you were not meant to be here…”

She left the room, slamming the door. I stood in the corner trying to cry all my fears out. She is right! I was never meant to be here… All my cousins were right…

But they are not, A voice said.

“What do you mean voice?” I said looking around. I felt so crazy after the voice replied.

You were forced into living with them, I have been following you all your life. The voice sounded so calm, so sweet also.

“But everyone said I’m such a failure!” I spoke.

Remember those dreams before you visited this realm? The voice said.

It sounded just like my mother… “Are you mother?”

Yes… I love you so much! You are related to a magical family—me! The voice said, she appeared as a glowing figure I walk to her and touch her hand

Know I love you with all my heart, Falerii is waiting for you… My mom’s voice said, the figure disappeared.

I walk outside and walk to Falerii who looked at me with curiosity. “Hello foolish child!”

I look at her, “You are right, I am foolish.”

Falerii smiles, “I am right? Usually, those people would start insulting me… but you? Your different…”

“Different…?” I question, she twirls her hair around before walking to me.

“Yes, you're different… you are a Starlight Daughter…” She says, then snickers.

“Why do you want to destroy the school?”

Falerii sighs and then said, “I never wanted to destroy the school. I suppose I can tell you the story, I was a young girl, about your age. I fell down a well and fell into a pile of leaves and flowers. I found the academy and two people walked out… Gabriella and Fiona. Sisters. I was mentored by Fiona, the quietest sister, she then got mad at me when I did not tell her I had a vision about a darkness surrounding the school… I tried to save the school—but Fiona claimed I was the one…”

“So… why was I brought here?” I ask, “Why are our stories so similar?”

“I was your mother’s sister…” Falerii says, “And I promised your mother that I’d protect you.”

Falerii’s chestnut brown hair transformed into long locks of beautiful red hair as she walked to me. “I am your second aunt… That is where your hair, and your personality came from.”

Suddenly Luna and Solara walked out of the school. “Falerii! Why are you holding the hands of Rosy?”

“Behind you!” Falerii yells as a new figure appears behind Luna and Solara.

Falerii then exclaims, “That is the person who caused it! Not me!”

I quickly use my powers to stop the person. It was Crimson, the evil witch. I continued trying to stop her.

“Haha!” Crimson laughs manically, “Young Rosy can’t stop me!”

I make a full ball of moonlight and launch it towards Crimson before she can launch her powers towards me.

She falls to the ground and disappears, “She is not gone.” Falerii said, “And she WILL come back, you need to return home. We will call you back when we need you.”

My brother stands next to me and said, “You are braver than me, I love you sister.”

Everything darkened once more, and we were being pulled out of the well by our cousins.

“Come on Sephanie! Mom is not happy we pushed them down the well, help us now!” Daisy said.

Sephanie helps pull us out and we walked back inside. My aunt walks over to me and asks, “Are you alright?”

“Yes!” I say, hugging her tightly.

Sephanie walks over to me and then apologizes, “I’m sorry for pushing you down the well!”

“I’m sorry for pushing you down the staircase.” I speak. I know I did not do that, but I will apologize anyway.

Aunt walks over to me and says, “So you did push Sephanie downstairs!”

Sephanie gulps before looking back to her mom and said, “Actually… I lied!”

Her mother screamed at her loudly before making her clean her room.



It was nighttime, I woke up to the sound of screaming outside. I got scared, but the only creepy thing was that it sounded so odd…



The End… Or is it?

(word count: 2163)

Total Words : 2,499
Points : 3500
-Almations- -Almations- loading
A rouse of an ooze
zacharyn35 zacharyn35 loading

-stxllxr wrote:

You can use lists to do this, have a list with all the numbers you want to convert into words, and vice versa.
say you want the word “hello” to convert into 1, and the word “goodbye” to convert into 2, you can have a list like this:
list:
item 1: hello
item 2: goodbye

then you can use these 2 blocks to convert back and forth:
(item ( v) of [list v] :: list)
(item # of () in [list v] ::list)
And here is how you can convert them back and forth. This is basically a primitive version of decoding and encoding, I would recommend searching up or researching it.
define convert thing (t) into number
set [thing v] to (item # of (t) in [list v] ::list)

define deconvert number (n) into thing
set [thing v] to (item (n) of [list v])
Using the list shown above, and the blocks above, you can convert a word using items in a list, and convert them back.

Edit:
Using these blocks like this:
convert thing [goodbye] into number ::custom
would convert goodbye into “2”, since goodbye is item 2 of the list, and deconverting it would use the item number to then again get the original item, “goodbye”.
Thanks! Also do you have a code so that it changes it to numbers based on the letter. (Ex. Hi would be 9,10)
Za-Chary Za-Chary loading

DIPS-STUDIOS wrote:

How old is scratch cat?
I guess 16 years old (soon to be 17), since Scratch 1.0 was released to the public on May 15th 2007.

DIPS-STUDIOS wrote:

Does scratch cat have a family?
Scratch Cat is friends with Gobo, Pico, Nano, Tera, and Giga — and friends are certainly family.

DIPS-STUDIOS wrote:

What is scratch cat’s favourite food?
Tacos! This was stated by former Scratch Team member @thisandagain.
aurarae aurarae loading
march 30th daily

ahhh so I've always read books and watched tv shows where people control the weather by their emotions and I thought controlling you odour or the odour of a room just by your emotions would be the absolute worst thing so here's a little story!

Parisian mornings always carried a hint of magic, the city awakening with a gentle embrace of sunlight and the promise of a new day. As I joined Élise and Jacques at our favorite café, Le Petit Coin, the aroma of freshly brewed coffee greeted us like an old friend. But beneath the surface of our lighthearted banter, I carried a secret—a peculiar power that bound my emotions to odors.

Élise leaned in, her hazel eyes twinkling with mischief. “So, Aurélie, have you given any more thought to our conversation about superpowers?”

My heart skipped a beat, a nervous laugh escaping my lips. “Oh, you mean the one where I said it would be awful to have a power tied to your emotions? Absolutely.”

Jacques raised an eyebrow, a playful grin tugging at his lips. “But come on, Aurélie. Flying or super strength? You wouldn't want any of that?”

I shrugged, a knot of unease forming in my stomach. “I suppose it would be nice, but some powers can be more trouble than they're worth.”

Little did I know, fate had a cruel sense of humor.

The following morning, I awoke to a strange sensation—a tingling at the base of my spine, like a dormant power stirring to life. Tentatively, I whispered to my reflection in the mirror, “Show me.”

To my surprise, the air filled with a faint, earthy scent, accompanied by a rush of emotions I struggled to contain. Confusion gave way to realization as I stared at my reflection, my eyes widening in disbelief. I had become the embodiment of my worst nightmare—a walking, talking olfactory anomaly.

Panic threatened to overwhelm me as I grappled with the magnitude of my newfound ability. How could I face the world knowing that my emotions were no longer mine alone, but a tangible presence that betrayed my every thought and feeling?

Determined to keep my secret hidden, I met Élise and Jacques at the café the following day. But fate had other plans.

Midway through our conversation, a sudden wave of anxiety washed over me, triggering a cascade of emotions I struggled to contain. In an instant, the air around me grew thick with the unmistakable scent of decay and sulfur, a noxious cloud that enveloped the café in a suffocating embrace.

Élise and Jacques recoiled in horror, their expressions a mixture of disbelief and disgust. My heart sank as I realized the truth could no longer be concealed.

“I'm so sorry,” I whispered, my voice barely audible above the din. “I didn't mean for this to happen.”

Élise reached out a trembling hand, her eyes brimming with sympathy. “Aurélie, what's happening? What is this?”

Unable to bear the weight of my secret any longer, I took a deep breath and confessed everything—my newfound ability, the fears that plagued me, and the overwhelming sense of isolation I had endured.

To my surprise, instead of recoiling in revulsion, Élise and Jacques enveloped me in a comforting embrace, their solidarity a beacon of hope in my darkest hour.

“We're here for you, Aurélie,” Élise murmured, her voice tinged with warmth. “No matter what.”

In that moment, amidst the chaos of my emotions, a sense of calm washed over me, and with it, a subtle scent of vanilla and lavender enveloped the air, a reflection of my friends' compassion.

As we walked away together, leaving behind a trail of serenity, I realized that perhaps my gift was not a curse after all, but a reminder of the beauty found within the depths of human emotion.
Bananster Bananster loading
Please help me Ive tried to for a year but it doesn't work, it says something like “html file missing” when I preview it
Questions about scratch cat are here
Here are a few:
How old is scratch cat?
Does scratch cat have a family?
What is scratch cat’s favourite food?
If you have any other questions say ‘em!

-Pickleslbd
Gr8Gatsby Gr8Gatsby loading
The “Logged-Out” Theriom is a theory that states the difference between alive and dead scratcher accounts.
The Idea:
if a scratchers OC and/or main representing character dies and/or loses control of self, then the scratcher themselves is “logged out” the only way back is to “login”
1. others arange important items of around or near body in a way making the symbol that represents that scratcher. not much is known about these, and only them themselves know it fully.
2. enter password and email
3. hope it works