Discuss Scratch

witherman17
Scratcher
46 posts

FORKPHORUS EXT (Advanced Scratch Blocks)

NOTE: FORKPHORUSEXT is not the same as FORKPHORUS.
I am making an extension for scratch, called “FORKPHORUS EXT”. It already includes pop-ups and a special word parser.
I will be adding a base64/binary/hexadecimal converter in the future.

Links
GitHub: https://github.com/retropieman/ForkphorusEXT
Website: https://retropieman.github.io/ForkphorusEXT/
Extension: https://retropieman.github.io/ForkphorusEXT/ForkphorusEXT.js
Example: https://retropieman.github.io/ForkphorusEXT/test.sbx
Cross-domain policy: https://retropieman.github.io/ForkphorusEXT/crossdomain.xml
Wiki: https://github.com/retropieman/ForkphorusEXT/wiki

Kids, like me, feel underestimated at my school. I am trying to prove how smart kids can really be.

Blocks
Open google popup

Open project with ID (356674450)

Open packaged project with ID (356674450)

(Get word (2) of [Hello, world!])

(Encode [This is some text!] to base64)

Last edited by witherman17 (Feb. 8, 2020 17:56:49)


My Website
MEEP os
OOFLAND: a platformer game
The kaj chronicles: an animated movie
when green flag clicked
think [Somebody is reading my code...] for (2) secs
minor-edit
Scratcher
500+ posts

FORKPHORUS EXT (Advanced Scratch Blocks)

Why is it called FORKPHORUS?

John Conway










☁️

• ω •

HSL and RGB levels


Whoops! Our server is Scratch'ing its head
We couldn't find the page you're looking for. Check to make sure you've typed the url correctly.
You can try searching for what you're looking for here:
Search
(╯°□°)╯︵ ┻━┻ 404 ┻━┻ ╰(°□°╰)



these blocks have been hidden for your safety


scroll around the scripting area while holding a block of code.
hi
necroposting is allowed on the Suggestions forum for comments relevant to the discussion
witherman17
Scratcher
46 posts

FORKPHORUS EXT (Advanced Scratch Blocks)

minor-edit wrote:

Why is it called FORKPHORUS?
Because it uses a Scratch-to-javascript converter, called forkphorus.

My Website
MEEP os
OOFLAND: a platformer game
The kaj chronicles: an animated movie
when green flag clicked
think [Somebody is reading my code...] for (2) secs
minor-edit
Scratcher
500+ posts

FORKPHORUS EXT (Advanced Scratch Blocks)

Okay, it's just a little confusing because it uses the same name as forkphorus but with ext added. Maybe the name could be a little more different to make it clear it is not the same thing as forkphorus or an extension for forkphorus.

John Conway










☁️

• ω •

HSL and RGB levels


Whoops! Our server is Scratch'ing its head
We couldn't find the page you're looking for. Check to make sure you've typed the url correctly.
You can try searching for what you're looking for here:
Search
(╯°□°)╯︵ ┻━┻ 404 ┻━┻ ╰(°□°╰)



these blocks have been hidden for your safety


scroll around the scripting area while holding a block of code.
hi
necroposting is allowed on the Suggestions forum for comments relevant to the discussion
witherman17
Scratcher
46 posts

FORKPHORUS EXT (Advanced Scratch Blocks)

minor-edit wrote:

Okay, it's just a little confusing because it uses the same name as forkphorus but with ext added. Maybe the name could be a little more different to make it clear it is not the same thing as forkphorus or an extension for forkphorus.
Okay!

Last edited by witherman17 (Feb. 8, 2020 17:56:15)


My Website
MEEP os
OOFLAND: a platformer game
The kaj chronicles: an animated movie
when green flag clicked
think [Somebody is reading my code...] for (2) secs
Boomer001
Scratcher
1000+ posts

FORKPHORUS EXT (Advanced Scratch Blocks)

I have a fix for your extension:
When i tried out your extension, the console threw this error:
Uncaught SyntaxError: Unexpected token 'do'
Here is the fix for your extension:
(function(ext) {
    
    // Cleanup function when the extension is unloaded
    ext._shutdown = function() {
    };
    // Status reporting code
    // Use this to report missing hardware, plugin or unsupported browser
    ext._getStatus = function() {
        return {status: 2, msg: 'Ready'};
    };
    // Functions for block with type 'w' will get a callback function as the 
    // final argument. This should be called to indicate that the block can
    // stop waiting.
    ext.ogoogs = function(callback) {
        window.open('http://google.com','1573258053476','width=700,height=500,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;
    };
    ext.gotox = function(xid, callback) {
        window.open('https://forkphorus.github.io/#' + xid,'1573258053476','width=700,height=500,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;
    };
    ext.goproj = function(xid, callback) {
        
        window.open('https://forkphorus.github.io/app.html?id=' + xid,'1573258053476','width=700,height=500,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;
    };
    ext.getword = function(of, instr){
        var str = instr.trim().split(" ");
        var to = of - 1;
        return str[to];
    };
    ext.b64 = function(todo, toen){
        var x = window.btoa(toen);
        return x;
    };
 
var descriptor = {
    blocks: [
            [' ', 'Open google popup', 'ogoogs'],
            [' ', 'Open project with ID %n', 'gotox'],
            [' ', 'Open packaged project with ID %n', 'goproj'],
            ['r', 'Get word %n of %s', 'getword', 1, "Hello World"],
            ['r', '%s.decenc %s to base64', 'b64', 'test']
    ],
    menus: {
        decenc: ['encode', 'decode'],
        
    },
    url: 'http://info.scratch.mit.edu/WeDo',
    displayName: 'Advanced Scratch'
    // Register the extension
};
    // Register the extension
    ScratchExtensions.register('ForkphorusEXT', descriptor, ext);
})({});
I replaced ‘do’ with ‘todo’, at the blocks code i replaced the w with a space because the blocks waited forever (you can change it back if you want) and i moved the extension register code after the block code, otherwise it will register the extension without any blocks.

:::::::::   ::::::::   ::::::::  ::::    ::::  :::::::::: :::::::::   :::::::   :::::::    :::   
:+:    :+: :+:    :+: :+:    :+: +:+:+: :+:+:+ :+:        :+:    :+: :+:   :+: :+:   :+: :+:+:   
+:+    +:+ +:+    +:+ +:+    +:+ +:+ +:+:+ +:+ +:+        +:+    +:+ +:+  :+:+ +:+  :+:+   +:+   
+#++:++#+  +#+    +:+ +#+    +:+ +#+  +:+  +#+ +#++:++#   +#++:++#:  +#+ + +:+ +#+ + +:+   +#+   
+#+    +#+ +#+    +#+ +#+    +#+ +#+       +#+ +#+        +#+    +#+ +#+#  +#+ +#+#  +#+   +#+   
#+#    #+# #+#    #+# #+#    #+# #+#       #+# #+#        #+#    #+# #+#   #+# #+#   #+#   #+#   
#########   ########   ########  ###       ### ########## ###    ###  #######   #######  ####### 
CHECK OUT MY FORUM STATS



















Powered by DjangoBB