Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×

Mod Script Sandbox v1.5: a new default with updated features!

After extensive testing, we are rolling out our updated Mod Script Sandbox. Along with this rollout, we are adjusting the names to more formally represent the progression with an explicit version number. The new default Mod Script Sandbox is now Mod Script Sandbox v1.5 (formerly the Experimental Sandbox).  The former Default Sandbox will remain available as Mod Script Sandbox v1.0. Mod Script Sandbox v1.5’s updated functionality is a superset of Mod Script Sandbox v1.0’s features.  All your existing scripts will continue to function the same as, or better than they did before, but now you have access to enhanced functionality and new features allowing even better script experiences. Highlights: Create Tokens from Existing Objects – This lets you easily duplicate existing tokens, make a token for your character, place cards on the table, or even make tokens from rollable tables.  The best part is that Marketplace Images stored on these objects will get created for you, a first for scripts! Page Menu Folders – You can now use scripts to organize your page menu, sort maps into folders, move relevant maps next to each other, etc. More Options for ZOrder – You can now move objects on the tabletop directly above or below other objects with toAbove() and toBelow().  Additionally, toFront() and toBack() are much faster now.  Aside from the standalone functions, these exist as methods on the tabletop objects now. Beacon / Advanced Sheet Support (like D&D Fifth Edition [5E & 5.5E] ) – Scripts can read and write to computed properties and run sheet actions via getComputed(), setComputed(), and performAction(). …and much, much more! Thanks to The Aaron on their incredible contribution to this effort! Check the updated documentation for all the new features.  Note: There is minor display confusion with the dropdown for Mod Script Sandbox version selection. If you’re looking to switch the Sandbox version, you need to press Save Mod Script button, and then Restart Mod Script Sandbox for the update to take effect. You can always confirm the version of the sandbox by looking in the Mod Script Output Console for a line like this: "##########> Sandbox [v1.5 2026-08-19] : Ready fired after 47.69s, 448 objects."
1788452050
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
All hail the Aaron!
1788707289
Aerotech
Pro
API Scripter
I'm so excited for this!
I am so happy!
this did not help at all
1789250485
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
ForeverDM said: this did not help at all Hi ForeverDM! Can you clarify? Maybe someone here can lend a hand.
I hate to necro a thread, but seems they're killing the 1.0 script engine, and I'm using a script that doesn't work with 1.5 (Ada Lindberg's Carry Tokens) (Ada isn't working on scripts anymore and doesn't have a pro account even, so I can't ask them for help.). I get the following when it fires off in the script window: No existing sandbox found. Preparing sandbox to start on game activity. Spinning up new sandbox... "%cRoll20 Kingmaker Module log| kScaffold Loaded" "--- Initialized Carry Tokens ---" "##########> Sandbox [v1.5 2026-08-19] : Ready fired after 16.57s, 2003 objects." "Carry Tokens ERROR: 'set' on proxy: trap returned falsish for property 'carryList'" "TypeError: 'set' on proxy: trap returned falsish for property 'carryList' at _carry (apiscript.js:351:25) at carryBelow (apiscript.js:378:5) at Commands.carryBelow (apiscript.js:277:7) at apiscript.js:514:18 at file:///home/node/d20-api-server/src/pubsub2.js:68:9 at Map.forEach (<anonymous>) at PubSub.publish (file:///home/node/d20-api-server/src/pubsub2.js:66:35) at Timeout.processChatQueue [as _onTimeout] (file:///home/node/d20-api-server/api.js:1583:14) at listOnTimeout (node:internal/timers:605:17) at process.processTimers (node:internal/timers:541:7)" API sandbox shutdown due to campaign inactivity. Restarting sandbox by user request... No existing sandbox found. Preparing sandbox to start on game activity. If anyone can help me, I'm very much a newbie at scripts. Or point me at a script that will do what I'm trying to do: I have a some users with  spies' murmers which allows their scout to report back to the party telepathically, and they are not good at describing things, have problems due to the fact that they had a stroke about 15 years ago. Anyway, the solution I stumbled upon is having the scout 'carry' a token that everyone has vision on but they can't move independent of the player. I was happy I got this solved and now it turns out that it's going to break again when they get rid of the 1.0 engine at the end of the year. Which because of the way games work (We cycle DM's every weekend so we don't have burnout) I'll only get to use this like, twice.
1791414884
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Hey Copper Hamster! I'll see if I can summon someone more qualified than myself to answer this, but in the meantime it would be helpful if you could post a link to the code somewhere.
keithcurtis said: Hey Copper Hamster! I'll see if I can summon someone more qualified than myself to answer this, but in the meantime it would be helpful if you could post a link to the code somewhere. Link to  Carry Tokens script here CopperHamster said: If anyone can help me, I'm very much a newbie at scripts. Or point me at a script that will do what I'm trying to do: I have a some users with  spies' murmers which allows their scout to report back to the party telepathically, and they are not good at describing things, have problems due to the fact that they had a stroke about 15 years ago. Anyway, the solution I stumbled upon is having the scout 'carry' a token that everyone has vision on but they can't move independent of the player. I was happy I got this solved and now it turns out that it's going to break again when they get rid of the 1.0 engine at the end of the year. Which because of the way games work (We cycle DM's every weekend so we don't have burnout) I'll only get to use this like, twice. The TokenCondition script  has a very similar functionality and I think it'll do what you're looking for. You'd just need to rename/create the vision token and link it to a character named something like 'Decoration: Party Vision' and then drop it on the Scout. 
Thank you I'll see if that works.
1791451958

Edited 1791452021
the TokenCondition script almost works for what I want, it doesn't do one thing. Carry Tokens prevents other players (which have to have full control to inherit vision) from moving the token being carried. TokenCondition allows the other players to effectively move the scout by allowing them to move the spies murmer token. The problem is I have too many players, and more than one of them is... well they think it's funny to, for example, move the scout around in ways he doesn't want to move. Which frustrates me, and frustrates the scout. And this will let them do it by allowing them to select the murmer and moving it. I guess I'll have to live with it.
1791468432
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Can you edit the murmur character to remove control?
The players have to have control of the murmur 'character' to see from it's point of view, which is why I'm doing this in the first place. At least as far as I know. And the game still lets them select it and move it since they are owners.   Unless... let me try something. Goes away,  comes back Okay it will take a bit of fiddling, but I can 'lock' the murmur character, then the script will still drag it around but the players can't move it. It will give them an error.
1791473699
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Sorry, I had forgotten one of your original criteria. Good solution.
1791571581
The Aaron
Roll20 Production Team
API Scripter
I'm sure I can fix Carry Tokens over the weekend. It looks like it's setting a properly directly on a Roll20 object. That's something that worked in v1.0 but had some bad implications and doesn't work on v1.5. It's a pretty straightforward fix though.  
Well I'm sure there are other people using it that would appreciate it. I've found a (somewhat fiddly) workaround for my issue, using another script. Though I can see situations where I might prefer the carry script.
1791655527
The Aaron
Roll20 Production Team
API Scripter
Ok, I've sent a pull request for v2.0.2 which fixes this for Mod Script Sandbox v1.5.  Additionally, it will allow carry chains (Horse carries Knight, who carries Torch), and it persists across sandbox restarts.  Everything else should work the same as with v2.0.1.
1791668252

Edited 1791987232
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
The Aaron said: Ok, I've sent a pull request for v2.0.2 which fixes this for Mod Script Sandbox v1.5.  Additionally, it will allow carry chains (Horse carries Knight, who carries Torch), and it persists across sandbox restarts.  Everything else should work the same as with v2.0.1. Someday,I would like you to consider my feature request to have it store the codes in the tooltip text, rather than the name... EDIT: NVM, I'm thinking of TokenCondition
1791981678

Edited 1791988753
The Aaron
Roll20 Production Team
API Scripter
The fixed CarryTokens script (v2.0.2) is available in the 1-click now! Soon™️
Cool. Soon is good enough! Thank you.