Discuss Scratch
- Discussion Forums
- » Help with Scripts
- » Coud List Tutorial
- mrbobbygreathead
-
Scratcher
1000+ posts
Coud List Tutorial
Look it up on the scratch wiki or discussion forums.
- footsocktoe
-
Scratcher
1000+ posts
Coud List Tutorial
Can somebody show me how to make cloud lists easily?![]()
Look in here… https://scratch.mit.edu/studios/2942315/
- gtar1
-
Scratcher
100+ posts
Coud List Tutorial
Thanks, but most of the projects in there use hack blocks, and I don't know how to make them. I you know please tell me here:Can somebody show me how to make cloud lists easily?![]()
Look in here… https://scratch.mit.edu/studios/2942315/
https://scratch.mit.edu/discuss/topic/213590/ Thanks!
- deck26
-
Scratcher
1000+ posts
Coud List Tutorial
I think you're confusing custom blocks with hacked blocks. The former don't use anything that isn't available as standard in Scratch whereas the latter require donwloading and modifying the Scratch files.Thanks, but most of the projects in there use hack blocks, and I don't know how to make them. I you know please tell me here:Can somebody show me how to make cloud lists easily?![]()
Look in here… https://scratch.mit.edu/studios/2942315/
https://scratch.mit.edu/discuss/topic/213590/ Thanks!
I never use hacked blocks and I see one of my projects in there although this one https://scratch.mit.edu/projects/22828152/ is a simpler version. It could work without custom blocks using a broadcast and wait instead of each custom block call but it will be much slower - one of the advantages of custom blocks is that they can run faster.
- gtar1
-
Scratcher
100+ posts
Coud List Tutorial
Try the wiki page on Global High Scores.I looked at that but I was hoping for something simpler. Do you have any suggestions?
Last edited by gtar1 (Sept. 17, 2016 15:31:03)
- gtar1
-
Scratcher
100+ posts
Coud List Tutorial
OK But i do know the difference between hack blocks and custom blocks.I think you're confusing custom blocks with hacked blocks. The former don't use anything that isn't available as standard in Scratch whereas the latter require donwloading and modifying the Scratch files.Thanks, but most of the projects in there use hack blocks, and I don't know how to make them. I you know please tell me here:Can somebody show me how to make cloud lists easily?![]()
Look in here… https://scratch.mit.edu/studios/2942315/
https://scratch.mit.edu/discuss/topic/213590/ Thanks!
I never use hacked blocks and I see one of my projects in there although this one https://scratch.mit.edu/projects/22828152/ is a simpler version. It could work without custom blocks using a broadcast and wait instead of each custom block call but it will be much slower - one of the advantages of custom blocks is that they can run faster.
- AwesomeCreator9875
-
Scratcher
100+ posts
Coud List Tutorial
Not that hard.No need for super long global high score
1) store list as variable
2) encode the variable
It's to faster to encode while storing.
1) store list as variable
2) encode the variable
It's to faster to encode while storing.
... //these things aren't tested. run this script before doing anything.
set [chars v] to [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()-_=+[{\]}\|;:'",<.>/? �☁£€]
set [idx v] to [0]
repeat (length of (chars)) //people aren't crazy enough to create the variables one by one
change [idx v] by (1)
if <(length of (idx)) = [1]> then
set [idx v] to (join [0] (idx))
end
set (letter (idx) of (chars)) to (idx) // hacked
end
define save (list) to (var)
set [idx v] to [0]
delete (all v) of [foo v] //bypass 10200 word limit
repeat (length of (list) :: list) // hacked.
change [idx v] by (1)
set [speed1 v] to (item (idx) of (list) :: list) //to improve speed
set [idx2 v] to [0]
repeat (length of (speed1))
change [idx2 v] by (1)
set [speed2 v] to (letter (idx2) of (speed1))
add (letter (1) of ((speed2) of [sprite's name v])) to [foo v] // stored while encoded, not stored then encoded
add (letter (2) of ((speed2) of [sprite's name v])) to [foo v]
end
add [0] to [foo v] // indicator of a new item
add [0] to [foo v]
end
set (var) to (foo)
define load (string) to (list)
//be sure the first parameter is a string
delete (all v) of (list)
set [idx v] to [0]
set [grouper v] to []
repeat ((length of (string)) / (2))
change [idx v] by (1)
if <(join (letter (((idx) * (2)) - (1)) of (string)) (letter ((idx) * (2)) of (string))) = [00]> then
add (grouper) to (list)
set [grouper v] to []
else
set [c v] to (letter (join (letter (((idx) * (2)) - (1)) of (string)) (letter ((idx) * (2)) of (string))) of (chars)
set [grouper v] to (join (grouper) (c))
end
end
Last edited by AwesomeCreator9875 (Sept. 17, 2016 16:30:41)
- gtar1
-
Scratcher
100+ posts
Coud List Tutorial
Not that hard.No need for super long global high scoreThis is all great, but do you have something with no hack blocks?
1) store list as variable
2) encode the variable
It's to faster to encode while storing.... //these things aren't tested. run this script before doing anything.
set [chars v] to [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()-_=+[{\]}\|;:'",<.>/? �☁£€]
set [idx v] to [0]
repeat (length of (chars)) //people aren't crazy enough to create the variables one by one
change [idx v] by (1)
if <(length of (idx)) = [1]> then
set [idx v] to (join [0] (idx))
end
set (letter (idx) of (chars)) to (idx) // hacked
end
define save (list) to (var)
set [idx v] to [0]
delete (all v) of [foo v] //bypass 10200 word limit
repeat (length of (list) :: list) // hacked.
change [idx v] by (1)
set [speed1 v] to (item (idx) of (list) :: list) //to improve speed
set [idx2 v] to [0]
repeat (length of (speed1))
change [idx2 v] by (1)
set [speed2 v] to (letter (idx2) of (speed1))
add (letter (1) of ((speed2) of [sprite's name v])) to [foo v] // stored while encoded, not stored then encoded
add (letter (2) of ((speed2) of [sprite's name v])) to [foo v]
end
add [0] to [foo v] // indicator of a new item
add [0] to [foo v]
end
set (var) to (foo)
define load (string) to (list)
//be sure the first parameter is a string
delete (all v) of (list)
set [idx v] to [0]
set [grouper v] to []
repeat ((length of (string)) / (2))
change [idx v] by (1)
if <(join (letter (((idx) * (2)) - (1)) of (string)) (letter ((idx) * (2)) of (string))) = [00]> then
add (grouper) to (list)
set [grouper v] to []
else
set [c v] to (letter (join (letter (((idx) * (2)) - (1)) of (string)) (letter ((idx) * (2)) of (string))) of (chars)
set [grouper v] to (join (grouper) (c))
end
end
- AwesomeCreator9875
-
Scratcher
100+ posts
Coud List Tutorial
I don't believe it's possible without hacked blocksNot that hard.No need for super long global high scoreThis is all great, but do you have something with no hack blocks?
1) store list as variable
2) encode the variable
It's to faster to encode while storing.... //these things aren't tested. run this script before doing anything.
set [chars v] to [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()-_=+[{\]}\|;:'",<.>/? �☁£€]
set [idx v] to [0]
repeat (length of (chars)) //people aren't crazy enough to create the variables one by one
change [idx v] by (1)
if <(length of (idx)) = [1]> then
set [idx v] to (join [0] (idx))
end
set (letter (idx) of (chars)) to (idx) // hacked
end
define save (list) to (var)
set [idx v] to [0]
delete (all v) of [foo v] //bypass 10200 word limit
repeat (length of (list) :: list) // hacked.
change [idx v] by (1)
set [speed1 v] to (item (idx) of (list) :: list) //to improve speed
set [idx2 v] to [0]
repeat (length of (speed1))
change [idx2 v] by (1)
set [speed2 v] to (letter (idx2) of (speed1))
add (letter (1) of ((speed2) of [sprite's name v])) to [foo v] // stored while encoded, not stored then encoded
add (letter (2) of ((speed2) of [sprite's name v])) to [foo v]
end
add [0] to [foo v] // indicator of a new item
add [0] to [foo v]
end
set (var) to (foo)
define load (string) to (list)
//be sure the first parameter is a string
delete (all v) of (list)
set [idx v] to [0]
set [grouper v] to []
repeat ((length of (string)) / (2))
change [idx v] by (1)
if <(join (letter (((idx) * (2)) - (1)) of (string)) (letter ((idx) * (2)) of (string))) = [00]> then
add (grouper) to (list)
set [grouper v] to []
else
set [c v] to (letter (join (letter (((idx) * (2)) - (1)) of (string)) (letter ((idx) * (2)) of (string))) of (chars)
set [grouper v] to (join (grouper) (c))
end
end
You can use my 2nd cloud list enginebut you need to give credit.
Last edited by AwesomeCreator9875 (Sept. 17, 2016 16:38:01)
- deck26
-
Scratcher
1000+ posts
Coud List Tutorial
Basically you have to convert each character in the text to a number, usually with 2-digits unless you need more than 99 different characters. That means looking at each character of the text in turn so you're using a loop to do that. Within that loop you have to work out which character it is - eg by comparing with one item at a time in a list of characters or one letter at a time from a text string like abcdefg….
Decoding is slightly simpler in that you have a number and can just access letter n of ‘abcdefg….’ to get the character.
As long as you're comfortable doing that it's not that difficult but if you want something easier than that and no hacked blocks it isn't really possible I'm afraid. Other languages would allow you to get the Ascii code for a character for example but Scratch doesn't have that option.
Decoding is slightly simpler in that you have a number and can just access letter n of ‘abcdefg….’ to get the character.
As long as you're comfortable doing that it's not that difficult but if you want something easier than that and no hacked blocks it isn't really possible I'm afraid. Other languages would allow you to get the Ascii code for a character for example but Scratch doesn't have that option.
- AwesomeCreator9875
-
Scratcher
100+ posts
Coud List Tutorial
One question,Why do you have a bad impression about hacked blocks?
If tne problem is you don't know how to hack blocks then.. hacking blocks
If tne problem is you don't know how to hack blocks then.. hacking blocks
Last edited by AwesomeCreator9875 (Sept. 17, 2016 17:15:51)
- deck26
-
Scratcher
1000+ posts
Coud List Tutorial
One question,Why do you have a bad impression about hacked blocks?Not everyone wants to use hacked blocks though, simple or not.
If tne problem is you don't know how to hack blocks then.. hacking blocks
- gtar1
-
Scratcher
100+ posts
Coud List Tutorial
Basically you have to convert each character in the text to a number, usually with 2-digits unless you need more than 99 different characters. That means looking at each character of the text in turn so you're using a loop to do that. Within that loop you have to work out which character it is - eg by comparing with one item at a time in a list of characters or one letter at a time from a text string like abcdefg….Thanks, but I don't know how to do this on my own. I am a kid, so is there any way that you could put this in block form? Thanks!
Decoding is slightly simpler in that you have a number and can just access letter n of ‘abcdefg….’ to get the character.
As long as you're comfortable doing that it's not that difficult but if you want something easier than that and no hacked blocks it isn't really possible I'm afraid. Other languages would allow you to get the Ascii code for a character for example but Scratch doesn't have that option.

- deck26
-
Scratcher
1000+ posts
Coud List Tutorial
Any cloud list project already does it including mine https://scratch.mit.edu/projects/22828152/ which I've already referred to. The wiki page on Global High Scores (also referred to in an earlier post) also does this. So there's no point trying to replicate it in Scratchblocks here.Basically you have to convert each character in the text to a number, usually with 2-digits unless you need more than 99 different characters. That means looking at each character of the text in turn so you're using a loop to do that. Within that loop you have to work out which character it is - eg by comparing with one item at a time in a list of characters or one letter at a time from a text string like abcdefg….Thanks, but I don't know how to do this on my own. I am a kid, so is there any way that you could put this in block form? Thanks!
Decoding is slightly simpler in that you have a number and can just access letter n of ‘abcdefg….’ to get the character.
As long as you're comfortable doing that it's not that difficult but if you want something easier than that and no hacked blocks it isn't really possible I'm afraid. Other languages would allow you to get the Ascii code for a character for example but Scratch doesn't have that option.
- Discussion Forums
- » Help with Scripts
-
» Coud List Tutorial