Visual scripting plugin: ScratchifyBlox2 - Needs feedbacks

So… will it be paid or free? Just realized… you made spegetti. :open_mouth:

Free! You know spaghetti ? This one was like an experiment lol never touched it again, do you like it ?

Yep I love it. But now that I do know luau I dont really use it now

1 Like

That’s sick I didn’t know people would like it because I got no comment on it back then

1 Like

This is so so really cool

Wouldn’t it make more sense for things like if and repeat to be C blocks instead of having a seperate end block though?

It’s like one block in the backend but it’s not displayed as one… just got an idea I didn’t have to make it look like this and to be optimized so I’ll make them C blocks yep thanks for the feedback

Just realized again… you made RAT omg I use it all the time omg omg :scream:

1 Like

no way :rofl: yes rat was kinda quickly created for personal use first :fire:

I tested your plugin and gotta say its pretty great. One thing tho, name categories (i.e. cframe, properties ( read only blocks), game, variables, tables, events, control) and add blocks for properties like get property by path (eg. script.part.p), get child by path (read only as properties are defined by get property by path), get function by path, get connection by path and a set property property to value block too.

Sure, thanks for the feedback! Those will be in the upcoming block library tab, where users will be able to download more blocks (made by me but also other users) as I want the plugin to be easy to use for the ones who don’t know Roblox at all, so they can progress at their speed.

Okay nice! So… you just create the module for creating blocks and plugins? I’ll contribute (make blocks) when im bored.

Yes, I will. There will be a whole sharing and remixing block functionality in the plugin.
Thanks !

1 Like

Hey! I’m working on a game with my friend that aims to engage players in coding, and I’m really curious about how the main code of the blocks works. Could you give me a breakdown of how they function or any key concepts behind them? It’d be super helpful for our project!

Sure, I can even provide you with the complete code. I intend to make the project open-source, but I’ve never had the time to clean the scripts. (It’s essentially a single large script and two modules; I’m not sure what I had in mind.) I’m planning to break it down into multiple modules.
Do you want to chat in dms or on discord ? my discord is trmz (#0000)

I sent you a friend request on Discord. We already have a working concept for what the blocks do, so I don’t need the whole code. I’m just struggling with the blocks themselves—like the snapping editor and the loop having an extended part. Thanks for the help!

I didn’t receive the discord request, but I’ll explain you everything here:

Firstly, to handle the children blocks, I use a frame with automatic size (Y-axis) named “Children”. A block that appears below a given block is parented to its “Children” frame. Every block (except the rounded value blocks) has its children frame. It always contains only 1 chilrend.

When a block contains an “end”, I apply a negative UIOffset to the “Children” frame.
The “end” block itself has a negative offset, which creates the visual indentation effect.

When the user starts dragging a selection of blocks:

  1. I keep track of “if” and “end” blocks using a counter.
  • Each “if” block adds +1 to the counter.
  • Each “end” block subtracts -1 from the counter.
  1. If the counter goes negative, it means the user is trying to drag an “end” block without its matching “if” block: To prevent incorrect nesting, I trim the selection.

Example

if condition:  
L do something  
L do something more  <-- User starts dragging here (counter = 0)
L if anotherCondition:  <-- "if" encountered (+1), counter = 1
| L do something inside  
| end  <-- "end" encountered (-1), counter = 0
| extra statement  
end  <-- "end" encountered (-1), counter = -1 → Stop selection here

Since the counter becomes negative, the selection stops before the final "end", preventing invalid structure when dragging.

Tell me if you need any further explanation.
If you don’t mind, it would be great if you could link the plugin in your game credits or something similar. It’s not a must, but it would be awesome!

1 Like

How would you create this in scratchify?:

local function myfunction()
return example.part

if myfunction ~= nil then
    print("heyy bro")
end

Function are not yet implemented but are planned to be added soon so you can’t do it now but will be able to do it

2 Likes