Running ACKS on Roll20 VTT with API scripts

3 posts / 0 new
Last post
Joined: 2018-01-23 13:17
Running ACKS on Roll20 VTT with API scripts
Maybe you came here knowing what this is about. But in case you didn't:
Roll20 is a Virtual Tabletop. While it is not perfect, and in fact is fairly imperfect in a lot of ways, it is the best way for me personally, to run and play games on a regular basis. It is free, however subscribing gives certain perks that really make it a better platform over all. I'm not trying to sway you into using Roll20 or subscribing. One of the "pro" tier perks is access to the API. Utilizing those API scripts to run ACKS is what this thread is about. My hope is that I can save some people the same headaches I experienced when I got started. No guarantees though!
Before I dive into the API nitty gritty:
1) Avoid the first headache by not using Roll20 voice/video chat. I use Discord for voice when I run/play.
2) Get familiar with macros. Token Macros, the Macro Bar, putting them on character sheets. All the complicated dice rolling, api command strings, everything you might type into the chatbox can be accomplished with one click by setting up a macro. I'm gonna show off a few of my favorites as they apply to the API stuff I use, but I'm not gonna dig too deep into them. I'm happy to offer help in that regard too, but I'm gonna assume you have some familiarity with that stuff before you dig into the API. Follow-up Macro Thread Here.
3) Rt-click and open image in new tab to biggify the pictures with tiny text.
To provide a little bit of context, this is what I have in my macro bar for my ACKS game today:
These are the scripts I use in my ACKS game today:
manage api

The scripts with the little globe bullet point are stock scripts directly pulled from the script library. All of these are pretty well documented if you select them, but I'll give a brief summary of what they do and how I use them.

splitArgs, HTML Builder, Vector Math, Path Math, and MatrixMath: All these are utility scripts required for some of the other ones. If you choose a Script Library script with a dependency, it will tell you and automatically load those ones too.
WelcomePackage: This is a really simple but useful script that will create a character sheet for a player when they join the game and don't already have one assigned to them. This way a new player can join and work on a character on their own time without having to wait for the GM to create and assign them one after the first time they join the game. It also sets up a handy macro that you can share with your players that will allow them to make a new sheet for themselves; useful if something unfortunate were to happen mid session for example.
MonsterHitDice: This one can be configured so that a token dropped on the tabletop rolls it's hitdice automatically instead of using static hitpoints. Keep the party guessing. Is this owlbear a runt, or it a paragon of owlbear-ery?
TokenLock: Use this to toggle preventing players from moving their tokens. Maybe a little heavy handed, but I don't want folks wandering off when I'm narrating or calling for certain rolls. Don't forget to unlock them like I do though.
TokenMod: This is a really powerful script that allows for modifying tokens via macros. For example, I have a macro that configures player tokens, one that configures monster tokens, and one that lets me apply light to a token to represent things like candles, torches, lanterns, etc. All with one or two clicks. And these work for all tokens you have selected for bulk execution.
Roll20AudioMaster: Provides chat commands to control the jukebox. I use this one for exactly what is described in this roll20 forum thread.
GroupInitiative: This is the big one. Configure it so that it knows what type of die to roll and what character attributes to modify with, and then you can multi select tokens, make the api call, and initiative is rolled for all of them and sorted in the tracker.
group initiative
Hexploration: This is a pretty powerful script, but only useful if you are interested in implementing a hexcrawl. Using it you can cover a map with hexes that obscure everything, and they will disapear when a player token moves over them. You can configure the colors, as well as whether to reveal one hex, or hexes within a certain distance when a player moves on them. You can also set points of interest that get announced when they are revealed. I set up a single "party" token that only I can control, and move that around for the players.

The scripts without the globe bullet point are custom scripts that I added. Most of them are scripts that I found on the roll20 forums. Many of them I have tinkered with to suit my needs.

AutoBloodyAndKO: This one comes straight from the Roll20 API Examples Wiki. Reacts when a token drops to half or less hitpoints, or 0 or below. It marks the token with a red dot, and/or a red X, respectively.
acksTurns: This is something I cobbled together from the very awesome TurnManager script. I edited it so that it does not automatically cycle back to the top of initiative when the end is reached, instead stopping on a round counter and calling for declarations before initiative is rolled. It also highlights the token that is at the top of the list. I'm not gonna lie, this one is a little finicky, but makes running combats a lot easier for me. I keep a macro to manually update the token highlighting, as it does not always do it when it's supposed to. It also requires that you use GroupInitative. If people manually roll their initiatives, it sorts them after each roll, and often keeps bumping the round count and calling for declarations. Using GroupInitative keeps it behaving nicely. Sometimes when I end combat, a token is left highlighted and I have to manually remove the highlight. It's a small price to pay.
acks turns
Calendar: This is a really great calendar script that I think is available from the script library now. I just added support for the Mystara calendar which I am currently using in my game. I also repurposed the "down days" counter simply to count the time since the campaign started, so players know how long they have been adventuring in "in game time".
RecursiveTable / Table Export: I love these scripts. I think the only reason they aren't in the library is because they aren't super user friendly, but they save so much time. so much. I can create rollable tables in excel and then import them into Roll20. I can have rollable tables make calls to other rollable tables. With these I can set up wandering encounter and treasure rolls in Roll20 without using their terrible interface, and use them with the click of a button in game.
rollable tables
acksTips: This is a forum script I found and edited for use with ACKS/OSR specifically. On my campaign "splash page" is a text box that will change to display a different player tip every 30 seconds while a player is on the page. Generally just generic OSR advice, or acks rules reminders.
CustomGMSheet: I may drop this one, it's kinda neat but I haven't had the need to use it in practice. Another forum script I customized to match my ACKS sheet, it will display a character summary in the chat for every player token selected. It shows me the character portrait, name, alignment, class, level, armor class, initiative bonus, a summary of their ability scores/mods, and available spell slots (if any).
acksMarket: A script I threw together for checking market availability of gear and hirelings. Definitely use macros to make these calls quick.
acks market
CustomColorEmote: Yet another modified forum script, this one just does fancy displays if you use the calls for in character speaking and emoting. The custom work wasn't done by me, I found someone elses modified version which did exactly what I wanted.

Last Thing:

My ACKS sheet, if anyone is interested. (github link)

I've modified or configured some of these scripts to work in unison with this sheet.

James C. Bennett
Player's Companion BackerDomains At War BackerSinister Stone of Sakkara BackerLairs And Encounters BackerBarbarian Conquerors of Kanahu BackerACKS Heroic Fantasy Handbook Backer
Joined: 2012-01-17 20:17

Awesome! I might have to reconsider using Roll20. I tried to do what you have done here and found it overwhelming. I'm very impressed. Kudos.

The Autarch
Joined: 2011-06-30 18:10

This is amazing! I want to run ACKS using Roll20 with this.