Author Topic: [BETA OUT] Scratch for Blockland  (Read 16393 times)

ive been coding for 5 years and i can safely say this mod is the best and only blockland script editor

i wrote this post before you posted yours rtbarchive so i might repeat stuff you already said


i think custom calls and field accessors should be all in, because they would be really nice for people like me who know torquescript well and just want to hammer out something that's a few lines quickly, like for a special call on a brick event. however, they should be reasonably hidden away so new players don't gravitate towards them at first, instead they use the abstracted stuff. for beginners, calls and field accessors can be easily forgeted up due to typos.

here's some of my ideas:

i think those weird ass delimiter blocks you have for doing multiple arguments right now is a bit awkward and unnecessary (same applies for calling functions too, why do you need those delimiter blocks when you can just have white spaces for the arguments built into the call block?). i propose adding a little plus button that adds additional arguments if needed. makes it easier to add arguments instead of having to find a 3 part delimiter block when you want your two arguments to be 3.

or, maybe just build the + into the delimiter block itself. or have a right click menu where you can add extra slots into the delimiter block. whichever works for you. i just thought of this after making the above image and i don't feel like editing a modified delimiter block in so forget me.

also, go the scratch route and have functions/if statements have the arm like the one in the above image. this makes it easier on newbies, because they have one less block to place (the end-if block in particular) that could forget everything up if they forget to place it. the amount of things newbies can forget up needs to be kept at an absolute minimum.



i think having to add those local and global variable blocks like you have to do now for assigning variables is bad, because it adds more steps to the programming process which means it will be just that little bit more complex. specifically what i don't like is how you have to drag in different local and global variable blocks to complete the assignment block. all you should have to do to assign a variable is pick a local/global assignment block, as illustrated above, type the name of the variable in, then type in whatever the value is. complexity for this should stay at the absolute minimum (at least for the default version of the client, maybe you can have an advanced mode that's more like torquescript but with colors) so people can easily pick it up. also, instead of having % and $ in the local/global variable accessor blocks, just have L and G. % and $ are weird symbols seemingly without purpose for new programmers. L and G for local and global would make more sense for the newbies. remember, a 5-8 year old should be able to pick this up in little time

for my idea to work, conditional blocks should be x is equal to y instead of x equals y to differentiate textually between the assignment and conditional blocks. the two blocks should also be differentiated through color, of course.



slash commands should be this so people don't forget up writing out something like "serverCmdKill". also, people know what slash commands are, but might not know what server commands are which is why i chose "slash command".



this stuff would be fantastic if you could open up the events menu on a brick, click scratch, and then hammer out something events could have never done. of course, this could be easily abusable by non-admins and the like, so you might want to make this stuff admin only or add preferences that let you chose the availability of scratch on the server. all the input events should be included in scratch, so people can use scratch on bricks really easily


also, http://www.garycact.us/i/U2NlbmVyeQ/6nmOGvX4.png looks like a disaster, but it's probably just a bug where SPC's and @'s aren't placed properly


this stuff has the most potential i have ever seen from an add-on. i like the prospect of giving people a better, yet still easy to use, events system which would allow everyone to become content creators. i think this has a better chance of revitalizing blockland than anything else ever could. i know like 10 people who, if they had the tools, would make some fantastic stuff and all that is limiting them is the learning curve that comes with torquescript

also if you put this stuff up on github i'll help with coding some of the more weird stuff like brick input event handlers

also writing up a series of tutorials would be a good idea for this. i could help with that once you finish all the modifications you want to make to your language

i'll post more ideas as soon as i come up with them

you should allow values to be embedded into the text so instead of like

I Love SPC [favoritefood] @ .

do like

I Love [favoritefood]. and convert the white spaces and breaks in text into an eval string with @ and SPC

this is actually better than scratch


Rough implementation of this (I don't know what to call this kind of block)

As for the delimiter problem: I will be implementing the + into the call block itself.

this whole time I thought this was an outside program
pretty cool it's actually an ingame GUI
(also should fix your first image in OP)

Will you have each function explained? Kinda like how Google Sheets does it:

As someone who's trying to get into scripting, and having a lot of trouble, this will definitely be a big help.

This is cool. One thing though, in options can you allow for code to be exported/viewed like so:

function a()
{

}


Instead of just default exporting to what you have now:

function a(){

}

This is cool. One thing though, in options can you allow for code to be exported/viewed like so:

function a()
{

}


Instead of just default exporting to what you have now:

function a(){

}

I plan on adding that as a preference, along with a preference to replace three-space-indentation with TAB indentation.

Will you have each function explained? Kinda like how Google Sheets does it:
Maybe not to that exact detail, but there will be descriptions for most of the functions found in the 'Common Functions' menu.

RADRADRADRAD
can you create/edit .cs files of vehicles and weapons or is it just for client/server addons


can you create/edit .cs files of vehicles and weapons or is it just for client/server addons
I plan on making it work for all script files.

Maybe not to that exact detail, but there will be descriptions for most of the functions found in the 'Common Functions' menu.
What if you periodically added user-submitted function descriptions, and made it so that you could right-click (or press a key or help button) on any function block to get a quick description of it?  It might be a little more difficult and tedious, but I think it'd be worth it for that tiny bit more ease of use -- especially for people like me who tend to have to check what does what every five seconds.

What if you periodically added user-submitted function descriptions, and made it so that you could right-click (or press a key or help button) on any function block to get a quick description of it?  It might be a little more difficult and tedious, but I think it'd be worth it for that tiny bit more ease of use -- especially for people like me who tend to have to check what does what every five seconds.
That would definitely take a ton of pressure off of me, as I'm bad at describing just about anything (as evident from this thread). I'm still looking for someone to compile a list of useful functions for the 'Common Functions' menu, so when that is done, I'll just pull the descriptions from that menu.