# Script builder library (Part 2)

Continuing the discussion from Script builder library (Part 1) - #120 by winner20.

Previous discussions:

that's not related to this topic or the library, but please link the project so we know what you're talking about.

you have to have the script builder library for that to work. Also, unrelated to the topic.

that's actually super easy to replicate. Just grab two scripts like this

than just stick one script inside the other, under the first block

and that glitch can be useful if you are using a broadcast, and you want clones to be deleted, and only the sprite runs the script, for example

I don't need that glitch because I can put delete this clone in an if <true>.

yeah, you can do that too.

Please don't be rude, and note that there is a rule that disallows swears.

How to add an Upvar with multiple inputs like:

that's not relevant to the topic

We don't have that capability. People have asked for it before, but so far we don't have a good idea for how to refer to those upvars inside the procedure, since variables aren't first class.

then why does it say

everything first class

in a handful of photos about snap

It's an aspirational slogan. For years costumes and sounds weren't first class, and now they are. Things still not first class include environments (the structure in which variable names are associated with their values), files, projects, and (if you don't load the Colors and Crayons library) colors. I suspect that implementing macros will entail a way to make variables first class, but that's not a promise.

what just happened here

idk

...

no, they are first-class according to BYOB (old-Snap!) variables are first-class proc. and like SCRIPT VARIABLES

I'd like to have several more blocks:
(join blocks {} ◂▸)
(slots in block {})
<is {} custom block?>
set definition of {} to {}
get definition of {}

I can make all of these except the

block, working on it now.
Edit: done.
ProjectName=script%20builder

it looks like a well known undo/redo bug.

Oh. I guess I forgot about the existence of the # of slots in block. Adding that now.