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

Initiative Tracker Plus can do selected tokens group initiative?

Hi guys! I really like this API, but have been having issues with GroupInitiative, so I had to choose one or the other. I only need a way to select tokens in the map and then make all of them roll automatically initiative and populate the ini window, so Initiative Tracker Plus can do its magic. Anyone knows of a way to do this without GI?
1645542325
The Aaron
Roll20 Production Team
API Scripter
El Brujo  said: Hi I dont know if this is relevant, but I had to uninstall GI in my game when I tried to use Initiative tracker plus ... Though they both handle the tracker, only GI uses group ini  Is there a way to make them both work nicely? I get these errors: Your scripts are currently disabled due to an error that was detected. Please make appropriate changes to your script's code and click the "Save Script" button. We will then attempt to start running the scripts again.  More info...  If this script was installed from the Script Library, you might find help in the Community API Forum. For reference, the error message generated was:  SyntaxError: Unexpected end of JSON input SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at handleInput (apiscript.js:5926:42) at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:65:16) at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:168:1), <anonymous>:70:8) at /home/node/d20-api-server/api.js:1736:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546) at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489) at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425) Is there a fix for this? I use these for Pathfinder 2E and its sheet if that helps The error you're getting indicates a corrupt Turn Order.  If you clear it out manually, do the two work together well?  I can look at Initiative Tracker Plus this evening, but it seems like it must be writing an incorrectly formated Turn Order object.   Do you have any other scripts installed that deal with the Turn Order?
1645543023
The Aaron
Roll20 Production Team
API Scripter
I created a game with ITP and GroupInit in it, and it worked just fine.  Do you want to PM me an Invite to your game and GM me and I can come see if I can figure out the issue?
The Aaron said: I created a game with ITP and GroupInit in it, and it worked just fine.  Do you want to PM me an Invite to your game and GM me and I can come see if I can figure out the issue? Hey Aaron! Ty for the fast reply.  I found other tools to do what I wanted. I had some issues with ITP as well directly (I thought it could do something it could not that I could get from other scripts) so decided to keep the wonderful GI which is something I use a lot.  Thank you for maintaining it ! So no worries :)
1645595894
The Aaron
Roll20 Production Team
API Scripter
Cool!  If you still have things you don't have scripts for, let me know and I might have suggestions. =D
Hello Aaron, A silly question, i have my turn tracker auto sort the tokens, but it causes an issue when i add a custom item in the tracker because the custom item switches position when it becomes lower than the initiative past it. For example, a bless item added in front of a paladin of 8 of iniative passes behind it on the third round... Can custom item remain out of the autosorting ? Thanks for your reply
The Aaron said: Cool!  If you still have things you don't have scripts for, let me know and I might have suggestions. =D Hey Aaron thank you for the offer! I use a lot of your scripts already.  I am gonna take you up on your offer: I was wondering if there is any script that allows you to do something oddly specific: I use !cem calls (Color emote)  , which is a script that lets you do colored chatboxes from selected tokens as if these were saying things. It is very useful for roleplaying as a visual aid. Now due to the way my players play they enjoy taunting monsters verbally so I was planning to return the favor and taunt them back speaking as monsters in the chat box with the wonderful colored chat boxes cem provides. I came with the idea to create a rollable table that contains a set of short phrases and general insults, cries of pain and general combat flavor from monsters using this API !cem  but it is currently impossible to do so.  Is there a way to do this? -Make a rollable table , ex: Monsterbabble -Make an item within it, with a specific weight that contains within it the " !cem Why you try to kill meee? " call to trigger color emote in chat -Create a macro that calls up the table, say  /roll 1t[MonsterBabble]  -Item pops up in chat but instead of displaying like a regular table item or an inline roll (using  [[1t[table-name]]  ) it actually triggers the api call? See what I mean? is that doable? That way every time my players hit a monster I think can actually talk back I can literally make them , according ot several tables I have on hand Taunt them back, cry for mercy, attempt to bargain for example. I can do this already with the standard format or as an inline roll but I specifically want !cem to do it (I love how colorful it is and I can fine tune monsters to emote in chat with specific colors as well, it is very good to me :D So wondering if there is something that can do that macro that triggers the table, an item in the table  chosen randomly according to its weight trigger be able to trigger another script?
1645671673

Edited 1645710080
The Aaron
Roll20 Production Team
API Scripter
You can mostly do that with RecursiveTable, but I think Tim's ZeroFrame is the way to go... Tim?
1645675969
timmaugh
Forum Champion
API Scripter
Yes, this is absolutely the sort of thing ZeroFrame can do! ![[1t[Monsterbabble]]].value If the entries in the Monsterbabble table are structured as API calls WITHOUT the leading exclamation point, this will extract them into the message in time for them to be caught (provided they are all registered as standard scripts -- ie, not meta-speed). Now, it might be that none of that makes sense, and that's OK. Point is, if this doesn't work, there are things we can do to make it work. For now what you're looking for are table entries like: cem Why you try to kill meee? Basically, the message starts as an API call, ZeroFrame extracts the result of the table into the command line (replacing the die roll syntax), and that is what is sent on to other scripts... including the exclamation point. Consequently, every message coming from the table will be an API command. If you want, instead, to have a particular message turn into a standard chat message (like a roll template), you can include the {&simple} tag in the table entry: {&template:default}{{name=Volcano Man}}{{Some Row=[[1d10]]}}{&simple} Also, you can nest further table calls with the same .value syntax if you want to extract arguments from another table: cem Why you try to kill me? That makes me want to [[1[Reactions]]].value Finally, should you want to use math in your roll, you can use Muler tables instead of rollable tables. The idea here would be to apply situational modifiers to a reaction (for example). So, you could have a Muler table of 10 responses ranging from 1 being the most polite and 10 being the most pugilistic. You could roll a value against the table and modify it: ...reroll anything under your supplied modifier [[1d10r<?{Reaction mod?}]] ...add your supplied mod to create a new minimum value [[1d10+?{Reaction mod?}]] If you entered a "Reaction mod" of 3, the bottom couple of reactions (the most polite) would be unachievable. The syntax for using this roll to pull a value from the Muler table is quite different than the stuff I did above with just ZeroFrame, so if you want an example of using Muler in addition to ZeroFrame, I'll include it separately. Post back and let me know.
The Aaron said: You can mostly do that with RecursiveTable, but I think Tim's ZeroFrame is the way to go... Tim? Wow you guys are the best thanks! :D
timmaugh said: Yes, this is absolutely the sort of thing ZeroFrame can do! [[1d10+?{Reaction mod?}]] If you entered a "Reaction mod" of 3, the bottom couple of reactions (the most polite) would be unachievable. The syntax for using this roll to pull a value from the Muler table is quite different than the stuff I did above with just ZeroFrame, so if you want an example of using Muler in addition to ZeroFrame, I'll include it separately. Post back and let me know. Oh oh! yes, will try this right away! My players will love this!!!!! Thank you thank you all of you are the best :D
1646103681
timmaugh
Forum Champion
API Scripter
OK, so with Muler, you're not going to use a rollable table at all. Instead, you'll create a Mule ability on a character (probably a mule character). Let's call the Mule "Monsterbabble" and we'll create it on a character named "MuleBoy". Enter your reactions in the ability on different lines, formatting them like this: variable=returned result So something like: 1=cem Why you try to kill meee? 2-3=cem You can do a range of inputs values. 4=cem I'm starting to get angry. >=5=cem This will catch 5 and anything above 5 Then you use a {&mule} statement to load the mule in your command line, and you use a get statement to get the result where you need it...which, if most of your command line is in the mule-return, might be your whole command line: !get.MuleBoy.Monsterbabble.[[1d10+?{Reaction mod?}]].value/get {&mule MuleBoy.Monsterbabble} (That requires Muler and ZeroFrame). As long as you have ZeroFrame installed, you can embed further Muler calls into each individual return, provided the Mule for that variable is loaded in your command line, too: 3=cem Why are you trying to kill me? That makes me want to get.MuleBoy.Reactions.[[1d10]].value/get If there was a chance that you were going to get that return (where you call a secondary Mule), you would just need to include that Mule ability in your mule statement: {&mule MuleBoy.Monsterbabble, MuleBoy.Reactions} You can also embed rollable table returns in your Mule entries: 3=cem Why are you trying to kill me? That makes me want to [[1t[Reactions]]].value Remember, though... that the reason to do things this way (with Muler) would be to use that modifier in getting the return you want. Otherwise, my previous post using ZeroFrame and rollable tables might be the easier way to go.