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 .
×
Create a free account

Brand new to Pro and API. Where to start?

I've been using Roll20 for almost 3 years, and finally upgraded from Plus to Pro. The Transmogifier is amazing, and I now have a "Library" Game for my Bestiary worth of character sheets. I've always loved what I could do with Macros, and always been interested in APIs, but I know nothing about them, nor do I have any idea where to start.  What APIs would you suggest or tips/tricks/advice would you give to someone just starting on APIs? Thanks!
This thread from a few days ago should help you. As far as tips or tricks go, my advice is to start slow. Identify the areas of need most important for you personally. My go-to scripts may not be yours. Is quality of life the most important thing to you and your players? If so, what aspect of the game do you struggle with the most on Roll20, and is the most in need of API support? For example, do you need a quick, efficient way to add monsters to initiative? Then you should install the GroupInitiative script. Do you want to be able to toggle line of sight on doors (open or closed) on a maps with dynamic lighting? Then check out DoorKnocker. Is note management really important to you? Then check out Supernotes. And so on.
1602647305

Edited 1602647357
Thanks for the link, I found a bunch of threads from 2-3 years ago and somehow missed the ones from a few days ago hah! I should mention I'm running a Pathfinder game primarily and using the Pathfinder sheet. As far as area of interest, anything that would help organize and run large complicated combats with a lot of unique monsters, effects, and tracking all the time-related effects. Currently I use an entire row worth of Macros on the Pathfinder sheet to do stuff such as quickly add initiative, and add shortcuts to character sheets, attacks, spells, abilities, etc. I absolutely love Dynamic Lights, so I will 100% check DoorKnocker.
Jeff P. said: As far as area of interest, anything that would help organize and run large complicated combats with a lot of unique monsters, effects, and tracking all the time-related effects. Currently I use an entire row worth of Macros on the Pathfinder sheet to do stuff such as quickly add initiate, and add shortcuts to character sheets, attacks, spells, abilities, etc. OK, then you'll probably want to check out Combat Master, but not the one-click version, which currently has issues. Grab the latest version from github. It's a fantastic script and I would be lost without it. You may also want to install Token Action Maker (from the one-click). Having a suite of buttons for monster (or player) token actions on hand is a huge QoL improvement for me. I hate having to keep bringing up monster character sheets in the middle of combat.
1602680256

Edited 1602703157
I've listed all the scripts that I'm currently using below with links to where to find them and a short snippet of what I use them for.&nbsp; As a caveat, I'm playing D&amp;D 5e using the Beyond20 extension to roll from DnDBeyond, so I haven't had any use for Combat Master, but it looks like a great script if you are doing all of your tracking and rolling directly on Roll20. I also have a list of other scripts that I haven't started using yet (like I may switch to Door Knocker instead of SimpleDoorControls for example). Edited to add: A lot of these scripts are not listed as "one-click" but are in fact available in the Script Library.&nbsp; I just didn't have the link handy for them.&nbsp; I modified several of the scripts in minor ways -- for example if there is a sendChat() function that has a blank 'speaking as' reference, I usually like to modify that so that the API is named.&nbsp;&nbsp; For all of these scripts I have various macros to call them but that would take a lot of time to list all those out.&nbsp; Also, definitely check out the Stupid Roll20 Tricks thread if you haven't before.&nbsp; Dependency Scripts DnD 5E by Roll20 Companion One-click Enhances the Official 5th Edition OGL by Roll20 Character Sheet. The Companion currently supports Ammo Tracking, Automatic NPC Tokens, Automatic Death Save Tracking, and Automatic Spell Slot Tracking. TokenMarker One-click Used with TokenMod for custom Token Markers IsGMModule <a href="https://gist.github.com/shdwjk/8d5bb062abab18463625" rel="nofollow">https://gist.github.com/shdwjk/8d5bb062abab18463625</a> Used with other scripts by The Aaron Communication AnnounceHello Edited version of script at <a href="https://app.roll20.net/forum/post/6192238/script-update-motd-message-of-the-day-sent-to-players-when-they-log-in-based-on-the-contents-of-a-note/?pageforid=6195394#post-6195394" rel="nofollow">https://app.roll20.net/forum/post/6192238/script-update-motd-message-of-the-day-sent-to-players-when-they-log-in-based-on-the-contents-of-a-note/?pageforid=6195394#post-6195394</a> Sends a message to chat when players enter or exit the game Message of the Day <a href="https://github.com/shdwjk/Roll20API/blob/master/MotD/MotD.js" rel="nofollow">https://github.com/shdwjk/Roll20API/blob/master/MotD/MotD.js</a> Greets players that log in with the contents of a note NoArchive Edited version of this script at <a href="https://app.roll20.net/forum/post/6608347/script-me-to-whisper-to-the-player-invoking-it-like-slash-w-self-if-self-always-resolved-to-your-players-name/" rel="nofollow">https://app.roll20.net/forum/post/6608347/script-me-to-whisper-to-the-player-invoking-it-like-slash-w-self-if-self-always-resolved-to-your-players-name/</a> ? Prevents chat message from being archived SuperNotes <a href="https://app.roll20.net/forum/post/8293909/script-supernotes/?pageforid=8296037#post-8296037" rel="nofollow">https://app.roll20.net/forum/post/8293909/script-supernotes/?pageforid=8296037#post-8296037</a> This script pulls the contents from a token's GM Notes field emas One-click Provides player !emas and !as commands, duplicating the effects of the GM-exclusive Text Chat commands /emas and /as GM Functions APIHeartbeat <a href="https://app.roll20.net/forum/post/1567329/script-apiheartbeat-a-visual-cue-that-the-api-is-running/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/1567329/script-apiheartbeat-a-visual-cue-that-the-api-is-running/?pagenum=1</a> Shows the API is running by oscillating the color of the user Bump <a href="https://app.roll20.net/forum/post/2956622/slug%7D" rel="nofollow">https://app.roll20.net/forum/post/2956622/slug%7D</a> Move Tokens to GM layer and create invisible token with GM aura on Object layer MapLock <a href="https://app.roll20.net/forum/post/1660748/script-maplock-provides-individual-graphic-locking-as-well-as-highlighting" rel="nofollow">https://app.roll20.net/forum/post/1660748/script-maplock-provides-individual-graphic-locking-as-well-as-highlighting</a> Lock selected tokens so they cannot be moved TokenLock <a href="https://app.roll20.net/forum/post/1033747/script-tokenlock-allows-gms-to-selectively-prevent-players-from-moving-their-tokens/" rel="nofollow">https://app.roll20.net/forum/post/1033747/script-tokenlock-allows-gms-to-selectively-prevent-players-from-moving-their-tokens/</a> Lock all Player Tokens so they cannot move PingPullPlayers <a href="https://app.roll20.net/forum/post/7846802/api-to-move-slash-ping-specific-players-not-all-of-them/?pageforid=7847916#post-7847916" rel="nofollow">https://app.roll20.net/forum/post/7846802/api-to-move-slash-ping-specific-players-not-all-of-them/?pageforid=7847916#post-7847916</a> Pulls controlling players to selected token SimpleDoorControls <a href="https://app.roll20.net/forum/post/1455509/script-simpledoorcontrols/?pageforid=1574810#post-1574810" rel="nofollow">https://app.roll20.net/forum/post/1455509/script-simpledoorcontrols/?pageforid=1574810#post-1574810</a> Creates a linked door system Darkness <a href="https://app.roll20.net/forum/post/8908015/magical-darkness-script-via-dynamic-lighting-layer#post-8980403" rel="nofollow">https://app.roll20.net/forum/post/8908015/magical-darkness-script-via-dynamic-lighting-layer#post-8980403</a> Creates an area of darkness on the Dynamic Lighting Layer Update Tokens/Characters TokenMod <a href="https://app.roll20.net/forum/post/1257490/script-tokenmod-an-interface-to-adjusting-properties-of-a-token-from-a-macro-or-the-chat-area/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/1257490/script-tokenmod-an-interface-to-adjusting-properties-of-a-token-from-a-macro-or-the-chat-area/?pagenum=1</a> Provides an interface to setting almost all settable properties of a token ChatSetAttr <a href="https://github.com/roll20/roll20-api-scripts/blob/master/ChatSetAttr/README.md" rel="nofollow">https://github.com/roll20/roll20-api-scripts/blob/master/ChatSetAttr/README.md</a> Provides an interface to set character attributes NumberNPCs <a href="https://app.roll20.net/forum/post/8857289/any-scripts-that-number-already-placed-tokens/?pageforid=8857289#post-8857289" rel="nofollow">https://app.roll20.net/forum/post/8857289/any-scripts-that-number-already-placed-tokens/?pageforid=8857289#post-8857289</a> Appends a number to the end of each NPC on a page where there are more than one representing a given character MonsterHitDice <a href="https://wiki.roll20.net/Script:Monster_Hit_Dice" rel="nofollow">https://wiki.roll20.net/Script:Monster_Hit_Dice</a> Automatically fills in the hit points for a characters dragged onto the table top TokenNameNumber <a href="https://app.roll20.net/forum/post/1273423/script-tokennamenumber-automatic-numbering-of-qualifying-tokens/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/1273423/script-tokennamenumber-automatic-numbering-of-qualifying-tokens/?pagenum=1</a> Automatically numbers tokens as they are placed on the tabletop Torch <a href="https://app.roll20.net/forum/post/1104897/script-torch-a-simple-script-for-giving-lights-to-tokens-and-turning-off-and-on-dynamic-lighting/" rel="nofollow">https://app.roll20.net/forum/post/1104897/script-torch-a-simple-script-for-giving-lights-to-tokens-and-turning-off-and-on-dynamic-lighting/</a> Change light settings for a token; allows for a flickering light instead of static light source TokenAction <a href="https://app.roll20.net/forum/post/5608775/script-update-tokenaction-creator-for-5e-ogl-sheet-version-2-dot-0/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/5608775/script-update-tokenaction-creator-for-5e-ogl-sheet-version-2-dot-0/?pagenum=1</a> Creates default token actions for the selected tokens UniversalChatMenu <a href="https://app.roll20.net/forum/post/7474530/script-call-for-testers-universal-chat-menus/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/7474530/script-call-for-testers-universal-chat-menus/?pagenum=1</a> Creates Chat Menus Turn Tracker/Combat Aura/Tint HealthColors <a href="https://app.roll20.net/forum/post/2139713/script-aura-slash-tint-healthcolor/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/2139713/script-aura-slash-tint-healthcolor/?pagenum=1</a> Sets the aura or tint of mobs and players to green/yellow/orange/red based on how hurt they are. SimpleInitiative <a href="https://app.roll20.net/forum/post/4749800/simpleinitiative-1-dot-0-a-lightweight-turn-order-tracker-dot-dot-dot" rel="nofollow">https://app.roll20.net/forum/post/4749800/simpleinitiative-1-dot-0-a-lightweight-turn-order-tracker-dot-dot-dot</a> Turn Tracker End of Turn and Green Dot functionality SpellTurnTrackerEffects <a href="https://app.roll20.net/forum/post/6371080/turntracker1-spell-durations-and-effects" rel="nofollow">https://app.roll20.net/forum/post/6371080/turntracker1-spell-durations-and-effects</a> Apply spell effects to the turn tracker Observer <a href="https://app.roll20.net/forum/post/4742980/script-update-observer-visibility-manager-for-your-streaming-camera-player-or-control-management-for-your-in-person-games" rel="nofollow">https://app.roll20.net/forum/post/4742980/script-update-observer-visibility-manager-for-your-streaming-camera-player-or-control-management-for-your-in-person-games</a> Designates a player to be an observer, restricting view to tokens on their turn GroupInitiative <a href="https://app.roll20.net/forum/post/1066916/script-groupinitiative-roll-initiative-for-a-group-of-tokens-take-the-lowest-value-and-add-them-to-the-turn-order" rel="nofollow">https://app.roll20.net/forum/post/1066916/script-groupinitiative-roll-initiative-for-a-group-of-tokens-take-the-lowest-value-and-add-them-to-the-turn-order</a> Rapidly add large groups of tokens into the turn order GroupCheck <a href="https://app.roll20.net/forum/post/3631602/script-groupcheck-roll-checks-saves-et-cetera-for-many-tokens-at-once/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/3631602/script-groupcheck-roll-checks-saves-et-cetera-for-many-tokens-at-once/?pagenum=1</a> Roll checks, saves, et cetera for many tokens at once Apply Damage <a href="https://app.roll20.net/forum/post/3631602/script-groupcheck-roll-checks-saves-et-cetera-for-many-tokens-at-once/?pageforid=4359153#post-4359153" rel="nofollow">https://app.roll20.net/forum/post/3631602/script-groupcheck-roll-checks-saves-et-cetera-for-many-tokens-at-once/?pageforid=4359153#post-4359153</a> Roll saving throws and automatically apply damage for many tokens at once; Used in conjuction&nbsp;with GroupCheck Script
1602683275
The Aaron
Roll20 Production Team
API Scripter
Wow, that's quite a list, Jarren! &nbsp;Nothing should require isGMModule anymore, but if you do find something that uses it, let me know so I can update it.&nbsp;
The Aaron said: Wow, that's quite a list, Jarren! &nbsp;Nothing should require isGMModule anymore, but if you do find something that uses it, let me know so I can update it.&nbsp; I only added the isGMModule and DnD 5e by Roll20 Companion scripts because there were listed at some point as being dependencies for other scripts... though I don't think I actually need them haha.&nbsp; Some of the rest I've installed but haven't gotten around to really using (like SuperNotes) and others I want to hack a bit to work the way I want -- like combining TokenAction &amp; UniversalChatMenu... which I might be able to do with the InsertArg script.&nbsp; My coding skills (HTML &amp; CSS years ago) are just enough to make me think I'll be able to figure it out!
1602695770
David M.
Pro
API Scripter
InsertArgs is such an intimidating script in both scope and syntax. Pretty sure all mysteries of the universe must be hidden within it. Hope you can share what you come up with, Jarren!
1602696714
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Fantastic list and well-cited, Jarren. Token Action Maker &nbsp;has been significantly updated from the version you linked, and can now be found in the one click. Thread is here: <a href="https://app.roll20.net/forum/post/8458497/script-token-action-maker-v-dot-0-2-dot-7" rel="nofollow">https://app.roll20.net/forum/post/8458497/script-token-action-maker-v-dot-0-2-dot-7</a>
1602697989
Kraynic
Pro
Sheet Author
If you find yourself overwhelmed, I would recommend the following that will give you a lot of tools to work with.&nbsp; I think all of these were mentioned by Jarren, who also kindly provided links to things. Universal Chat Menu I have the global macros I am currently using for the Pathfinder by Roll20 sheet near the top of (what is currently) the last page of the thread where you find this script.&nbsp; If you learn how to set up this script from the examples given, you can adapt this script to any sheet and use it to generate lists of abilities to trigger from chat.&nbsp; With the Roll20 pathfinder sheet, I find that I can use the same menu for skills between players and npcs, but I have a specific npc menu for everything else.&nbsp; It will show me pretty much anything I might need and allows me to trigger spells, attack rolls, saves, displays the various ACs, and shows notes on various defenses all with one token action.&nbsp; Basically one token action will do that for any npc I have out on the map.&nbsp; It is so much easier running a combat or skill heavy scenario with that script since I very rarely need to open the actual character sheets anymore (basically, I only need to do that in the event of the players getting loot/gifts).&nbsp; Also, players with animal companions or familiars can use the npc menu as well to quickly access info/rolls they may need. TokenMod In pathfinder, you will be messing with lighting/vision a lot.&nbsp; There are also a lot of conditions that you might want to indicate with token markers.&nbsp; TokenMod makes all of that easy.&nbsp; Set up the options you need in a Chat Menu, possibly on a Macro Character, which are ideas out of the Stupid Roll20 Tricks thread mentioned by Jarren (the first post is an index). ChatSetAttr I really haven't used this script enough, but I can tell you one thing I use it for in Pathfinder.&nbsp; Got a player with augmented summons and another without?&nbsp; Don't want to clutter your journal with augmented/normal versions of the summons?&nbsp; Just use the normal and use ChatSetAttr to alter some of the npc attributes for the higher fortitude saves, str, and con with a ChatSetAttr command.&nbsp; You can have another command to set things back. You can also do this with notes in the attacks, but there are already notes for reminding me of the possible affects of alignment oriented templates, so I generally change the sheet attributes back and forth with ChatSetAttr.&nbsp; I actually use this in combination with TokenMod so that the HP of augmented summon tokens gets raised also.&nbsp; So that I know how much to raise it, I have a macro that whispers me the hit dice formula. Door Knocker I haven't used all of the features of this.&nbsp; The ability to set a color for doors and just be able to toggle doors open/closed by moving a token around on the GM layer and click a token action has been incredibly useful.&nbsp; I haven't really paid attention to all the other stuff it can do, since that is all I need. Group Initiative Got groups of npcs that need initiative rolled? Want to display tie breaker stats as part of your roll?&nbsp; Want initiative to automatically sort when you roll?&nbsp; Use this script to make all that simple.&nbsp; You just have to configure it for the sheet/stats you use. Welcome Package If you are starting a new game or run one shots where you aren't using pregenerated characters, this script will assign anyone that logs in for the first time a character sheet.&nbsp; It also creates a macro that you can make visible to players that will generate another sheet for those that need to also set up a mount, companion, familiar, or just a sheet to track bag of holding or handy haversack inventory.&nbsp; No need for the GM to be logged in to create/assign the sheet.&nbsp; Obviously you might not want to enable the macro for everyone for a bunch of strangers, but if you have a batch of known trusted players, I have found it really useful. Compared to others, I am fairly conservative in the number of scripts I use.&nbsp; It really doesn't take very many to have a serious impact on how you run games.&nbsp; You might consider starting small.&nbsp; Try just a few of them and get a little time in using them before adding more.&nbsp; Or not.&nbsp; The convenience can be addicting.