<blocksapp="Snap! 6, https://snap.berkeley.edu"version="1"><block-definitions="create %'_scope' var %'_names'"type="command"category="variables"><commentx="0"y="0"w="146"collapsed="false">This block creates new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in 'names' list).

If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _
ca:crea les _ variables _
es:crear las _ variables _
de:erstellen _ var _
</translations><inputs><inputtype="%s"readonly="true">global<options>global
sprite
script</options></input><inputtype="%mult%txt"></input></inputs><script><blocks="doWarp"><script><blocks="doForEach"><l>_item</l><blockvar="_names"/><script><blocks="doApplyExtension"><l>var_declare(scope, name)</l><list><blockvar="_scope"/><blockvar="_item"/></list></block></script></block></script></block></script></block-definition><block-definitions="delete var %'_names'"type="command"category="variables"><commentx="0"y="0"w="217"collapsed="false">This block deletes all the variables with the names given (inside input list).

Each name will make only one variable deletion, and this will be the variable found following the scope order: 'script' ->'sprite' ->'global'.

If we have a "testing" sprite variable and also a "testing" global one, deleting "testing" will delete only the sprite one (Yes! we can also do "delete var (testing, testing)" to delete both.

If one variable does not exists (in any scope) an error happens, stopping block action in that point. You can check it before with the "does var (name) exists?"block. </comment><header></header><code></code><translations>pt:remove as variáveis _
ca:esborra les variables _
es:borrar variables _
de:löschen var _
</translations><inputs><inputtype="%mult%txt"></input></inputs><script><blocks="doWarp"><script><blocks="doForEach"><l>_item</l><blockvar="_names"/><script><blocks="doApplyExtension"><l>err_ignore</l><list><custom-blocks="var %s"><blockvar="_item"/></custom-block></list></block><blocks="doApplyExtension"><l>var_delete(name)</l><list><blockvar="_item"/></list></block></script></block></script></block></script></block-definition><block-definitions="set var %'_name' to %'_value'"type="command"category="variables"><commentx="0"y="0"w="240.4931640625"collapsed="false">This block sets the given value (last input) to the variable named with the name givent (var input).

It looks for that variable following the scope order 'script' ->'sprite' ->'global' (the first match it finds).

If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the "does var (name) exists?" block. </comment><header></header><code></code><translations>ca:assigna a _ el valor _
es:asignar a _ el valor _
pt:altera _ para _
de:setze var _ auf _
</translations><inputs><inputtype="%s"><options>§_getVarNamesDict</options></input><inputtype="%s"></input></inputs><script><blocks="doApplyExtension"><l>var_set(name, val)</l><list><blockvar="_name"/><blockvar="_value"/></list></block></script></block-definition><block-definitions="var %'_name'"type="reporter"category="variables"><commentx="0"y="0"w="178.00000000000003"collapsed="false">This block reports the value of the variable with the name given.

It looks for that variable following the scope order 'script' ->'sprite' ->'global' (the first match it finds).

If that variable does not exist (in any scope) an error happens, stopping their script. You can check it befo