ProgrammingFreak wrote:
what do i do?
Are you planning on staying with us? If so thanks. For now I am trying to work out a way to
1. generate a new method
2. Get the code for taking the website for uploading new blocks on RKT
and
3. Can you give me the EDITED ScratchSkin? We will be needing it or else it will mess up the new categories you made.
Offline
I may...
um, i don't know if i can even be a help with this. it looks difficult... i think i may stick to normal blocks.
Offline
ProgrammingFreak wrote:
I may...
um, i don't know if i can even be a help with this. it looks difficult... i think i may stick to normal blocks.
LOL XD yah maybe you should, maybe we all should for now! This is brain boggling.
Offline
ssss wrote:
lol, i already said we'd work on normal blocks for now, and
5 pages, ALREADY???
Well I did use a lot of useless space when I hid that I was a boy and in 7th grade.
Offline
So do you still want me?
BTW, Pecola, could you teach me some more Squeak? I'd like to know more...
Offline
ProgrammingFreak wrote:
So do you still want me?
BTW, Pecola, could you teach me some more Squeak? I'd like to know more...
LOL, It may take a while, it really depends on what about squeak smalltalk do you want to learn? You know blockspecs right? It is mostly just learning what words do what.
Offline
Pecola1 wrote:
ProgrammingFreak wrote:
So do you still want me?
BTW, Pecola, could you teach me some more Squeak? I'd like to know more...LOL, It may take a while, it really depends on what about squeak smalltalk do you want to learn? You know blockspecs right? It is mostly just learning what words do what.
k. I think I just keep fiddling!
-----------------------------
But I'm saying, I don't really like making a mod with python blocks when I don't know python! I was thinking about making a BATCH mod... but i like normal block mods better. I am so happy I was accepted to Bingo!
Offline
ProgrammingFreak wrote:
Pecola1 wrote:
ProgrammingFreak wrote:
So do you still want me?
BTW, Pecola, could you teach me some more Squeak? I'd like to know more...LOL, It may take a while, it really depends on what about squeak smalltalk do you want to learn? You know blockspecs right? It is mostly just learning what words do what.
But I'm saying, I don't really like making a mod with python blocks when I don't know python!
This is the same with me, I am possibly making a fake mod which will be like a de-mod it would have blocks which have errors and more, can you tell if I am joking or not?
Last edited by Pecola1 (2011-01-23 16:32:54)
Offline
Pecola1 wrote:
ProgrammingFreak wrote:
Pecola1 wrote:
LOL, It may take a while, it really depends on what about squeak smalltalk do you want to learn? You know blockspecs right? It is mostly just learning what words do what.But I'm saying, I don't really like making a mod with python blocks when I don't know python!
This is the same with me, I am possibly making a fake mod which will be like a de-mod it would have blocks which have errors and more, can you tell if I am joking or not?
idk
Offline
I made a way that the R in RKT is NOT shift clickable but you can still get the dev menu open with these codes:
openBrowser
World activeHand openBrowserdevMenu: t1
| t2 |
self world activeHand toolType: nil.
Cursor normal show.
t2 _ CustomMenu new.
fillScreenFlag
ifTrue: [t2 add: 'turn fill screen off' action: #fillScreenOff]
ifFalse: [t2 add: 'turn fill screen on' action: #fillScreenOn].
UseErrorCatcher
ifTrue: [t2 add: 'turn error catching off' action: #toggleErrorCatcher]
ifFalse: [t2 add: 'turn error catching on' action: #toggleErrorCatcher].
t2 add: 'open browser' action: #openBrowser.
t2 add: 'send to back' action: #goBehind.
t2 addLine.
t2 add: 'save image for end-user' action: #saveImageForEndUser.
t2 invokeOn: self at: t1 bottomLeft + (0 @ 10)warning
| t1 |
t1 _ DialogBoxMorph new title: 'Warning';
withButtonsForYes: false
no: false
okay: true
cancel: true.
t1 message: 'If you proceed it may damage your computer in variouse ways. Do you wish to continue?' font: (ScratchFrameMorph getFont: #AboutScratch).
t1 getUserResponse = #cancelled ifFalse: [^ self askPassword]askPassword
| t1 |
t1 _ StringDialog ask: 'Developer''s Password?'.
t1 = 'ssss, Pecola1, ProgrammingFreak, ESN'
ifTrue: [self devMenu: self]
ifFalse: [^ DialogBoxMorph inform: 'incorrect password' title: 'Access Denied']editMenu: t1
| t2 |
t2 _ CustomMenu new.
t2 add: 'Undelete' action: #undoTool.
t2 addLine.
ScratchProcess blockHighlightMSecs <= 1
ifTrue: [t2 add: 'Start Single Stepping' action: #toggleSingleStepping]
ifFalse: [t2 add: 'Stop Single Stepping' action: #toggleSingleStepping].
t2 add: 'Set Single Stepping' action: #setSingleStepping.
t2 addLine.
t2 add: 'Compress Sounds' action: #compressSounds.
t2 add: 'Compress Images' action: #compressImages.
t2 addLine.
workPane showMotorBlocks
ifTrue: [t2 add: 'Hide Motor Blocks' action: #hideMotorBlocks]
ifFalse: [t2 add: 'Show Motor Blocks' action: #showMotorBlocks].
t2 localize.
Sensor shiftPressed
ifTrue:
[t2 addLine.
t2 add: ' ' action: #warning].
#(3 4 5 ) do: [:t3 | t2 labels at: t3 put: ((t2 labels at: t3)
copyFrom: 1 to: (t2 labels at: t3) size - 1)
, ScratchTranslator ellipsesSuffix].
t2 invokeOn: self at: t1 bottomLeft + (0 @ 10)Now if you shift click the edit menu there will be a blank selection on the bottom of the popup. Click it and it will warn you that if you continue you may damage your computer. (I made it both to warn, and scare off anyone who wants to see if they can hack the code.) If you click cancel it will close and nothing will happen. If you click ok a window will come up asking for the password (
ssss, Pecola1, ProgrammingFreak, ESN
) If the password is answered wrong it will close and nothing will happen. If you answer it right the developers/shift-click menu will pop up in the bottom left corner of the screen. Now to make the R non-shift-clickable:
scrool down/ up to mouseDown:
left click it and click, remove method (x)
It will make it so you cannot shift-click the R.
If you want it to be clickable (without having to shift-click and only click the R for the developers menu) don't do any of the above and only add the code:
mouseDown: t1
| t2 |
t1 hand toolType: nil.
t2 _ self position + (ScratchFrameMorph isXO
ifTrue: [72 @ 26]
ifFalse: [38 @ 10]).
((t2 extent: 10 @ 12)
containsPoint: t1 cursorPoint)
ifTrue: [^ self developersMenu].
t1 cursorPoint y - self top < topPane height
ifTrue: [fillScreenFlag ifFalse: [t1 hand grabMorph: self]]Last edited by Pecola1 (2011-01-23 16:53:55)
Offline
How do you make a new drop down menu?
Offline
ProgrammingFreak wrote:
How do you make a new drop down menu?
Don't know. Just found out in ScratchFrameMorph go to createMenuPanel you will see the code
t1 _ #( (#File #fileMenu:) (#Edit #editMenu:) (#Share #shareMenu:) (#Help #helpMenu:) ).
AllowSharing ifFalse: [t1 _ t1 select: [:t3 | t3 second ~= #shareMenu:]].
Last edited by Pecola1 (2011-01-23 16:59:28)
Offline
Pecola1 wrote:
I wish ProgramingFreak would have given me the FULL ZIPPED folder so I could edit the ScratchSkin folder
Pecola1 wrote:
@ProgrammingFreak Next time you get on could you give me the ScratchSkin folder? Thanks
Pecola1 wrote:
ProgrammingFreak wrote:
what do i do?
Are you planning on staying with us? If so thanks. For now I am trying to work out a way to
1. generate a new method
2. Get the code for taking the website for uploading new blocks on RKT
and
3. Can you give me the EDITED ScratchSkin? We will be needing it or else it will mess up the new categories you made.
Last edited by Pecola1 (2011-01-23 17:15:37)
Offline
ssss wrote:
hey, how do you make it that variables are always shwoing???
You mean so the variables always show? Not sure but I know how to take away the check box which means that you could possibly make it show then take away the check box.
Python has been thought of with scratch: http://scratch.mit.edu/forums/viewtopic.php?id=50354
Offline
Scratch-Blocks -> CommandBlockMorph -> private -> canBecomeWatcher .
canBecomeWatcher
| t1 |
t1 _ selector asString findAnySubStr: #('mouse' 'key' 'touching' 'distance' ) startingAt: 1.
^ self isReporter & (self argumentCount <= 1) & (#(#not #atRandom #abs #rounded #lineCountOfList: #stringLength: ) includes: selector) not & (t1 > selector asString size)
Replace it with:
canBecomeWatcher
| t1 |
t1 _ selector asString findAnySubStr: #('mouse' 'key' 'touching' 'distance' '' ) startingAt: 1.
^ self isReporter & (self argumentCount <= 1) & (#(#not #reportSingle: #nil: #atRandom #abs #rounded #lineCountOfList: #stringLength: ) includes: selector) not & (t1 > selector asString size)
This makes it so the < [ ] nil > , (get {date}) and ({new line}) blocks won't have watchers. If I can I may find out how they made the ({slider} sensor value) and <sensor {button pressed} ?> have a watcher that says the inputs value thing and do that for the (get {date}) block.
---EDIT---
Found it! It was really easy after finding it! Edited the above code.
Go to Scratch-UI-Panes -> WatcherMorph -> private -> translatedName and add above the "^t1" add:
#returnW: = t1 ifTrue: [t3 _ self
replace: '%t'
with: (ScratchTranslator translationFor: t4)
in: t3].
OR replace whith:
translatedName
| t1 t2 t3 t4 |
readout target ifNil: [^ 'xxx'].
t1 _ readout getSelector.
#getVar: = t1 ifTrue: [^ readout parameter].
t2 _ readout target blockSpecForSelector: t1.
t2 ifNil: [^ t1].
t3 _ ScratchTranslator translationFor: t2.
t4 _ readout parameter.
t4 ifNil: [t4 _ ''].
#sensor: = t1 ifTrue: [t3 _ self
replace: '%H'
with: (ScratchTranslator translationFor: t4)
in: t3].
#sensorPressed: = t1 ifTrue: [t3 _ self
replace: '%h'
with: (ScratchTranslator translationFor: t4)
in: t3].
#returnW: = t1 ifTrue: [t3 _ self
replace: '%t'
with: (ScratchTranslator translationFor: t4)
in: t3].
^ t3Also with this we can make a bunch of others do that like the key pressed distance to ({ } of { }) basically everything! No one has ever done this before!
Last edited by Pecola1 (2011-01-23 18:23:20)
Offline
ssss wrote:
hey, who has the latest update of rkt?
Not me, I think ESN or ProgrammingFreak (since neither of us do!)
Last edited by Pecola1 (2011-01-23 18:11:19)
Offline
I thought we were starting over with a neew .image!
Offline
Scratch-Blocks -> CommandBlockMorph -> private -> canBecomeWatcher .
canBecomeWatcher
| t1 |
t1 _ selector asString findAnySubStr: #('mouse' 'key' 'touching' 'distance' ) startingAt: 1.
^ self isReporter & (self argumentCount <= 1) & (#(#not #atRandom #abs #rounded #lineCountOfList: #stringLength: ) includes: selector) not & (t1 > selector asString size)
Replace it with:
canBecomeWatcher
| t1 |
t1 _ selector asString findAnySubStr: #('mouse' 'key' 'touching' 'distance' '' ) startingAt: 1.
^ self isReporter & (self argumentCount <= 1) & (#(#not #reportSingle: #nil: #atRandom #abs #rounded #lineCountOfList: #stringLength: ) includes: selector) not & (t1 > selector asString size)
This makes it so the < [ ] nil > and ({new line}) blocks won't have watchers.
Go to Scratch-UI-Panes -> WatcherMorph -> private -> translatedName and add above the "^t1" add:
#returnW: = t1 ifTrue: [t3 _ self
replace: '%t'
with: (ScratchTranslator translationFor: t4)
in: t3].
OR replace whith:
translatedName
| t1 t2 t3 t4 |
readout target ifNil: [^ 'xxx'].
t1 _ readout getSelector.
#getVar: = t1 ifTrue: [^ readout parameter].
t2 _ readout target blockSpecForSelector: t1.
t2 ifNil: [^ t1].
t3 _ ScratchTranslator translationFor: t2.
t4 _ readout parameter.
t4 ifNil: [t4 _ ''].
#sensor: = t1 ifTrue: [t3 _ self
replace: '%H'
with: (ScratchTranslator translationFor: t4)
in: t3].
#sensorPressed: = t1 ifTrue: [t3 _ self
replace: '%h'
with: (ScratchTranslator translationFor: t4)
in: t3].
#returnW: = t1 ifTrue: [t3 _ self
replace: '%t'
with: (ScratchTranslator translationFor: t4)
in: t3].
^ t3Also with this we can make a bunch of others do that like the key pressed distance to ({ } of { }) basically everything! No one has ever done this before!
Last edited by Pecola1 (2011-01-23 18:26:39)
Offline