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 .
×
D&D 2024 has arrived! Pre-order the new core rulebooks now and get an exclusive pre-order bonus for free!
Create a free account

CombatMaster 2.0

there is a setting for player can change in the conditions settings. 
How does anyone get any useful information out of this forum layout? This has always confused me about roll20, instead of any documentation info is hidden somewhere in the middle of 200 posts.
1665706125
Victor B.
Pro
Sheet Author
API Scripter
Every menu in CM has an info icon in upper right corner of it.  Click to get help
1666041675

Edited 1666041930
Whoops! UPDATE: I figured out what I was doing wrong. I have hand tremors so my keyboard is set up to reduce finger-stutter entries. It was only entering a single "-" before "main", so instead of "--main" I was entering "-main". I thought I'd leave this here in case any other amateurs like me have a similar issue.  I added the API script to my new game but when I type  !cmaster --main  in the chat, nothing happens. It doesn't even appear to register in the chat at all as the entry doesn't even appear in the chat archive afterwards. Have I overlooked something or am I just missing a step? I've been using API scripts for the past couple years and haven't had one do this. I restarted the game and still nothing. Restarted the sandbox, too. The only other API scripts I have in the game are Fumbler and GroupCheck which both appear to be working well.
Hi! So, I'm pretty sure I've got Concentration set up great. I get messages after damage, the works. However, I was wondering: After I roll a save and fail, is it possible to have Concentration automatically removed? Thanks!
I have recently encountered a problem with this mod and I cannot seem to find out how to correct it. I am using the AD&D 2nd edition sheet by Peter. The Script runs fine for rolling initiative and cycles through the turn order fine until the round ends and comes back around. At the top of the round the script gives the following error:   upon restarting the sandbox it continues fine until, again, the round rolls over. Any help is greatly appreciated. 
1667602775
Victor B.
Pro
Sheet Author
API Scripter
I'm not sure that's a CM issue.  Initiative style isn't used by CM, even when configuring CM to roll initiative.  That strikes me as a char sheet issue
1667602834
Victor B.
Pro
Sheet Author
API Scripter
@seraph, I made a decision to not automate concentration past what you have.  Too many variables that can affect the concentration save.  
Quick Question does this not only help with turn order but tracks conditions as well? or do I need another script for it to work?
Kaiyatsu said: Quick Question does this not only help with turn order but tracks conditions as well? or do I need another script for it to work? It will track conditions--you have to set them up, but the functionality is there.
1668008296
timmaugh
Pro
API Scripter
snuh said: I'm looking back at this reply that says I can use SelectManager to post Chat Menus that will let my players apply Combat Master markers to enemies. The example shows: !cmaster --add,condition=concentration,duration=?{Duration|1},direction=?{Direction|0} {&select @{target|token_id}} That works great for the GM! However, it doesn't work for the players. Nothing happens when they execute the command, the GM just sees a notification from Combat Master saying "No tokens were selected". Advice appreciated! (EDIT: I'm using 2.48) (EDIT2: It works for players when I give them control of the token, but that's not the behavior I'm hoping for.) Hey, Snuh... I can probably give SelectManager a configurable setting to let players virtually select tokens they can't actually select through the VTT, so you wouldn't have to give control of the token to the players. Shouldn't be too hard. I'll see if I can knock that out tonight.
1669707229

Edited 1669707611
Quickly and repeatedly getting this crash previously reported, on a solid computer, with the animated token option disabled, most recent version and no other api's running- RangeError: Maximum call stack size exceeded RangeError: Maximum call stack size exceeded at Function.each (/home/node/d20-api-server/node_modules/underscore/underscore-node-f.cjs:1323:7) at processMultiOps (eval at <anonymous> (/home/node/d20-api-server/api.js:172:1), <anonymous>:804:7) at Object.d20.textchat.doChatInput (eval at <anonymous> (/home/node/d20-api-server/api.js:172:1), <anonymous>:1128:4) at sendChat (/home/node/d20-api-server/api.js:1897:16) at makeAndSendMenu (apiscript.js:2439:9) at nextRound (apiscript.js:2186:13) at doTurnorderChange (apiscript.js:2021:17) at nextTurn (apiscript.js:2160:9) at nextRound (apiscript.js:2196:13) at doTurnorderChange (apiscript.js:2021:17) update, also got this one- TypeError: Cannot read property 'match' of null TypeError: Cannot read property 'match' of null at getCleanImgsrc (apiscript.js:1348:28) at getOrCreateMarker (apiscript.js:1825:121) at doTurnorderChange (apiscript.js:2008:27) at handleTurnorderChange (apiscript.js:2080:13) 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 TrackedObj.set (/home/node/d20-api-server/api.js:1078:14) at updateLocalCache (/home/node/d20-api-server/api.js:1421:18) at /home/node/d20-api-server/api.js:1713:7 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560
1669726808
timmaugh
Pro
API Scripter
timmaugh said: snuh said: I'm looking back at this reply that says I can use SelectManager to post Chat Menus that will let my players apply Combat Master markers to enemies. The example shows: !cmaster --add,condition=concentration,duration=?{Duration|1},direction=?{Direction|0} {&select @{target|token_id}} That works great for the GM! However, it doesn't work for the players. Nothing happens when they execute the command, the GM just sees a notification from Combat Master saying "No tokens were selected". Hey, Snuh... I can probably give SelectManager a configurable setting to let players virtually select tokens they can't actually select through the VTT, so you wouldn't have to give control of the token to the players. Shouldn't be too hard. I'll see if I can knock that out tonight. Just an update that the new version of SelectManager (that has the ability to let players use ids) has just been merged into the 1-click. Here is the post that describes changing the setting to do what Snuh wants to do.
timmaugh said: Just an update that the new version of SelectManager (that has the ability to let players use ids) has just been merged into the 1-click. Here is the post that describes changing the setting to do what Snuh wants to do. Oh, wow! Awesome, thanks! I'm implementing now and it seems to be working great. I got this to run just fine as a player: !cmaster --add,condition=unconscious,duration=600,direction=-1 {&select @{target|token_id}} I am hitting a wall when I try to marry it with APILogic, however. This will cause the API sandbox to crash: !@{target|wtype}&{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{& define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}}{& if SaveRoll < DCMFVal}{{Outcome=Massive Failure}}%NEWLINE%!cmaster --add,condition=unconscious,duration=600,direction=-1 {&select @{target|token_id}}{& elseif SaveRoll < DCVal}{{Outcome=Failed}}%NEWLINE%!cmaster --add,condition=poisoned,duration=600,direction=-1 {&select @{target|token_id}}{& else}{{Outcome=Success}}{& end}{&simple} For reference, the error message generated was:  TypeError: Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined at inputHandler (apiscript.js:5294:49) 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:1750: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) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:461 If I do (basically) the same thing using token-mod it works fine, though: !@{target|wtype}&{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{& define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}}{& if SaveRoll < DCMFVal}{{Outcome=Massive Failure}}%NEWLINE%!token-mod --ids @{target|token_id} --set statusmarkers|+sleepy{& elseif SaveRoll < DCVal}{{Outcome=Failed}}%NEWLINE%!token-mod --ids @{target|token_id} --set statusmarkers|+chemical-bolt{& else}{{Outcome=Success}}{& end}{&simple} A friend and I have spent a day trying to troubleshoot but are at a loss. I suspect it's a nesting/order of operations thing but am unable to properly diagnose. Any help would be great!
1669931602

Edited 1669997676
We're trying to integrate !cmaster with some conditional logic but it was crashing the sandbox: !{& if 1 = 1}test%NEWLINE%!cmaster --add,condition=unconscious{&select @{target|token_id}}{& end}{& simple} !cmaster also crashes similarly if called within ScriptCards !scriptcard  {{   --#title|Testing   --@cmaster| _add condition=poisoned,duration=600 }} Error is " TypeError: Cannot read property 'get' of undefined" update: as a workaround "forselected" seems to avoid this problem (the following both work OK) !scriptcard {{ --#title|Testing --@forselected+|cmaster _add,condition=poisoned,duration=600 }} OR !{& if 1 = 1}test%NEWLINE%!forselected+ cmaster --add,condition=poisoned,duration=600{&end}{&simple}
is there any way to remove the delay your turn option in the turn order announcement in chat. 
I'm having an issue where my numbers are not counting down anymore.  I did figured out you cannot set anything to 10.  it has to be a single digit.  But now if I do duration 9 and Direction -1 it stays at 9 every round.   I'm still using 2.48 and it used to count down, or I thought it did.  any ideas before I go looking at code?
Looks like it is doing what the old version did again.  The circles aren't show up.  so the round is working and it re-does init, but because those circles don't show up none of the conditions count down.  I do not know if it is a change in Roll20?  my 2 newest campaigns both do this.  But if I go to an older campaign, with all the exact same settings, it still works. 
I figured it out.   The player tab has to be on the map you are working on, or it doesn't work. 
Renbukai said: I figured it out.   The player tab has to be on the map you are working on, or it doesn't work.  And welcome to your !combatmaster cherry being popped.  One of Us.  One of Us....
Hey guys! Sorry if this answer is in the past posts, but boy, howdy are there a lot to sift through! Is there a way to call the !cmaster --clear or the --turn,stop command from a macro without outputting the main menu to chat?  I can't seem to find a Wiki or description page that lists command syntax, but I vaguely recall someone somewhere listing a --nomenu option or something of that sort??? I am using this command to reset status markers in conjunction with the Resting In Style mod to do a reset of all characters' statuses. I would also apply it to ending all combats. TIA!
CatSwann said: Hey guys! Sorry if this answer is in the past posts, but boy, howdy are there a lot to sift through! Is there a way to call the !cmaster --clear or the --turn,stop command from a macro without outputting the main menu to chat?  I can't seem to find a Wiki or description page that lists command syntax, but I vaguely recall someone somewhere listing a --nomenu option or something of that sort??? I am using this command to reset status markers in conjunction with the Resting In Style mod to do a reset of all characters' statuses. I would also apply it to ending all combats. TIA! I wish there was a separation between main menu and a complete dump of the status icons/ etc.  Aka, if I wanted to Add/ Remov a Status, I could click a button on the main menu to get that list, not have it scroll 3 pages and have to scroll back 3 pages to get to use the pause combat or such.  Or make the conditions appear first/ above the menu instead of after/ last.
Wolf Thunderspirit said: CatSwann said: Hey guys! Sorry if this answer is in the past posts, but boy, howdy are there a lot to sift through! Is there a way to call the !cmaster --clear or the --turn,stop command from a macro without outputting the main menu to chat?  I can't seem to find a Wiki or description page that lists command syntax, but I vaguely recall someone somewhere listing a --nomenu option or something of that sort??? I am using this command to reset status markers in conjunction with the Resting In Style mod to do a reset of all characters' statuses. I would also apply it to ending all combats. TIA! I wish there was a separation between main menu and a complete dump of the status icons/ etc.  Aka, if I wanted to Add/ Remov a Status, I could click a button on the main menu to get that list, not have it scroll 3 pages and have to scroll back 3 pages to get to use the pause combat or such.  Or make the conditions appear first/ above the menu instead of after/ last. I just discovered you can click the camera icon in the main menu to display a list of statuses on a selected token with the option to remove them, just like what it does at the start of a turn.  I copied that command into a macro, and it works on all selected tokens.  For now, this is how I am clearing statuses after combat and for a long rest.  I also discovered the !cmaster--clear doesn't actually remove the status, just the status marker. As such, it does not fire the Remove API, and the status comes up wen you enter combat again.
How does Combat Master interact with TurnMarker1?
First I want to thank you for the effort putting into this script. I just have a minor question, I did not find an answer for. I am playing around with roll20am, as I want to set this great Dong from "Glass Onion" on the beginning of each round {{!roll20AM {{--audio,play|NewCombatRound}}}} Nevertheless, I plays the Sound (4 Seconds long) only at the beginning of the first round. For turns (beginning of each turn) it works perfectly, but for rounds, as said only the first time. Any idea what I am doing wrong? Many thanks in advance.
1674610129

Edited 1674740524
I am loving Combatmaster more and more each session we play with it. Sorry if this has been asked previously, I didn't see it anywhere.  I'm struggling to find the lines to change the token marker for the action player and the next player.  I'd like the green to represent the player who is acting and the red to be the next player.  I figured it out.
Hoping there is an update to CM soon. Been using it for 2 years, but something in the new changes to Roll20 is causing it to either hang or freeze or stop running for some reason. Could try to get a screenshot of the sandbox error if you want. 
Are you using 2.48?
running into an issue where combat master is crashing finishing a combat and deleting everyone from the turn order.  It doesn't happen every time but maybe after 2 or 3 combats it just crashes
TJ M. said: running into an issue where combat master is crashing finishing a combat and deleting everyone from the turn order.&nbsp; It doesn't happen every time but maybe after 2 or 3 combats it just crashes Does it happen in everyone one of your games or only one? Maybe check if it happens in a fresh game? I'm not having any issues with it at the moment.&nbsp; It also looks like your using combat master through the Roll20 one click, maybe try exporting your combat master settings and manually installing the script from:&nbsp;<a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> &nbsp;
Jared said: TJ M. said: running into an issue where combat master is crashing finishing a combat and deleting everyone from the turn order.&nbsp; It doesn't happen every time but maybe after 2 or 3 combats it just crashes Does it happen in everyone one of your games or only one? Maybe check if it happens in a fresh game? I'm not having any issues with it at the moment.&nbsp; It also looks like your using combat master through the Roll20 one click, maybe try exporting your combat master settings and manually installing the script from:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> &nbsp; So i deleted combatmaster and reinstalled it using the script on git hub.&nbsp; Still crashes.&nbsp; Have another game and tried combatmaster on it.&nbsp; That crashes too.&nbsp; Could groupinitiative cause issues with combat master?
TJ M. said: Jared said: TJ M. said: running into an issue where combat master is crashing finishing a combat and deleting everyone from the turn order.&nbsp; It doesn't happen every time but maybe after 2 or 3 combats it just crashes Does it happen in everyone one of your games or only one? Maybe check if it happens in a fresh game? I'm not having any issues with it at the moment.&nbsp; It also looks like your using combat master through the Roll20 one click, maybe try exporting your combat master settings and manually installing the script from:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> &nbsp; So i deleted combatmaster and reinstalled it using the script on git hub.&nbsp; Still crashes.&nbsp; Have another game and tried combatmaster on it.&nbsp; That crashes too.&nbsp; Could groupinitiative cause issues with combat master? Worth a shot, try it without? Combat Master itself has enough initiative control for me. Good luck!
Hi Victor. Just in case you're already working on the next version of combat master... I have a code edit request. I've been using combat master for awhile and just recently started using the SmartAoE API script from David M.&nbsp; SmartAoE has the capability of adding token markers to affected tokens.&nbsp; Token markers added to the token using SmartAoE weren't getting recognized by combat master. On the SmartAoE Roll20 forum, Dave M. suggested adding some code to the combat master code to make it work. I followed Dave M.'s suggestion and combat master now recognizes the token markers added using smartAoE. Is it possible to add the code listed below to the next version of combat master? More details of David M.'s suggestion is here . The code he added is below.&nbsp; He suggested adding it to the registerEventHandlers function section of your code (starts on line 4547 of the one-click version on github). if('undefined' !== typeof SmartAoE &amp;&amp; SmartAoE.ObserveTokenChange){ SmartAoE.ObserveTokenChange(function(obj,prev){ handleStatusMarkerChange(obj,prev); }); };
1675172655
Victor B.
Pro
Sheet Author
API Scripter
@Jared, that failure is pointing at processMultiOps, which isn't CM.&nbsp; I don't have a method called that.&nbsp; It's one of the other scripts, possibly the math ones.&nbsp;&nbsp; @Pak, if that's all the code that's needed to incorporate smartaoe, I can add it.&nbsp;&nbsp;
Victor B. said: @Jared, that failure is pointing at processMultiOps, which isn't CM.&nbsp; I don't have a method called that.&nbsp; It's one of the other scripts, possibly the math ones.&nbsp;&nbsp; @Pak, if that's all the code that's needed to incorporate smartaoe, I can add it.&nbsp;&nbsp; Thanks Vic, I tried @Pak code for AOE and it seems to works!
Hello,&nbsp; Total Pro and API newbie here. I'm using Pathfinder Official 1E sheets Have CombatMaster added. I am trying to set up the conditions so the flag the attribute on the character sheet. I have created a Macro: Blinded !setattr --charid @{selected|character_id} --Condition_Blinded|1 If I run this macro in isolation it works fine. I then put the word Blinded into Add API set up for the condition.&nbsp; But I get the following error when I select a Token and add the condition: (From ChatSetAttr): Errors Invalid character id selected|character_id. No target characters. You need to supply one of --all, --allgm, --sel, --allplayers, --charid, or --name. I have also tried&nbsp; !setattr --sel --Condition_Blinded|1 same error Thanks!
Hi, I've been using Roll20 for a while and just stumbled across this amazing script. We use mob/NPC character sheets in Roll20 but player sheets in DNDBeyond - is there any weird behavior or additional setup I need to do to get it to work? I usually have my players roll for initiative themselves and then I use GroupInit for the mobs. Is it recommended to let Combat master take care of that? If we're using DNDBeyond character sheets, will GroupInit be able to pull the relevant bonuses to init? Also, I have some custom icons that we've been using - can I use them or do I need to use the defaults?
1677865304
timmaugh
Pro
API Scripter
snuh said: timmaugh said: Just an update that the new version of SelectManager (that has the ability to let players use ids) has just been merged into the 1-click. Here is the post that describes changing the setting to do what Snuh wants to do. Oh, wow! Awesome, thanks! I'm implementing now and it seems to be working great. I got this to run just fine as a player: !cmaster --add,condition=unconscious,duration=600,direction=-1 {&amp;select @{target|token_id}} I am hitting a wall when I try to marry it with APILogic, however. This will cause the API sandbox to crash: !@{target|wtype}&amp;{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{&amp; define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}}{&amp; if SaveRoll &lt; DCMFVal}{{Outcome=Massive Failure}}%NEWLINE%!cmaster --add,condition=unconscious,duration=600,direction=-1 {&amp;select @{target|token_id}}{&amp; elseif SaveRoll &lt; DCVal}{{Outcome=Failed}}%NEWLINE%!cmaster --add,condition=poisoned,duration=600,direction=-1 {&amp;select @{target|token_id}}{&amp; else}{{Outcome=Success}}{&amp; end}{&amp;simple} For reference, the error message generated was:&nbsp; TypeError: Cannot read property 'get' of undefined TypeError: Cannot read property 'get' of undefined at inputHandler (apiscript.js:5294:49) at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:168:1), &lt;anonymous&gt;:65:16) at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:168:1), &lt;anonymous&gt;:70:8) at /home/node/d20-api-server/api.js:1750: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) at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:111:461 If I do (basically) the same thing using token-mod it works fine, though: !@{target|wtype}&amp;{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{&amp; define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}}{&amp; if SaveRoll &lt; DCMFVal}{{Outcome=Massive Failure}}%NEWLINE%!token-mod --ids @{target|token_id} --set statusmarkers|+sleepy{&amp; elseif SaveRoll &lt; DCVal}{{Outcome=Failed}}%NEWLINE%!token-mod --ids @{target|token_id} --set statusmarkers|+chemical-bolt{&amp; else}{{Outcome=Success}}{&amp; end}{&amp;simple} A friend and I have spent a day trying to troubleshoot but are at a loss. I suspect it's a nesting/order of operations thing but am unable to properly diagnose. Any help would be great! So sorry, Snuh! I lost track of this thread and only now saw you'd had an issue. Not sure if you're still having this issue or are interested in a solution, but I think (breaking down what it looks like you're trying to do) you're trying to pass a selected token along to use with the !cmaster lines. The problem, there, is like you thought... the order of operations. When those {&amp;select} constructions are read you are still in the processing of the original message... so you're adding a selected token to the original message. You need that to be deferred until the CombatMaster message is under examination. The only way I can think to do that is to not rely on the %NEWLINE% bit to trick cmaster into running, but to use the new ZeroFrame batching (beta) capability to actually run this as a multi-line command. That will give you the opportunity to defer the recognition of syntax structures. I think that would look more like this: !{{ &nbsp; @{target|wtype}&amp;{template:default}{{name=Klak's Sting Save: @{target|character_name}}}{&amp; define ([DCVal] 8) ([DCMFVal] 4) ([SaveRoll] [[@{target|constitution_save_bonus}+?{Roll save|Normal,1d20|Advantage,2d20kh1 (advantage)|Disadvantage,2d20kl1 (disadvantage)}]])}{{DC=DCVal}}{{Con Save (?{Roll save}+@{target|constitution_save_bonus})=SaveRoll}} {{Outcome= {&amp; if SaveRoll &lt; DCMFVal}Massive Failure{&amp; elseif SaveRoll &lt; DCVal}Failed{&amp; else}Success{&amp; end}}} &nbsp;&nbsp; (^) !{&amp; if SaveRoll &lt; DCMFVal || SaveRoll &lt; DCVal}cmaster --add,condition= {&amp; if SaveRoll &lt; DCMFVal} unconscious{&amp; else}poisoned{&amp; end},duration=600,direction=-1 {^&amp;select @{target|token_id}}{&amp; end} }}
I'm having an issue with CombatMaster in all of my games having an infinite loop error, ive had to back out and reset it multiple times. Has anyone else been having this issue?
1679931127

Edited 1679931198
Pak
Pro
I'm seeing numerous "infinite loop errors" on my side as well but the error gives no helpful indication of which line of code failed or no indication on which script failed. When I get the error again I'll share a screen grab... @DM Deadman, are you getting any extra info that would suggest CM is the culprit?
1679947934
The Aaron
Roll20 Production Team
API Scripter
Looking through the Combat Master code, there isn't really that much I see that could cause an infinite loop error.&nbsp; Usually, they happen as a result of trying to work on too many objects in a single callback, but almost everywhere CM gets an object, it only operates on one of them.&nbsp; The only 2 places that isn't the case are looking a players (rarely more than 6-8 in a game), and Markers.&nbsp; If you're making excessive use of Markers on a single page, that might &nbsp;lead to slow enough operation that you get the sandbox issue, but it would need to be quite a few, on the order of hundreds I'm guessing.
@The Aaron, I get the infinite loop error within the same campaign you're helping me out with for the Search API error I was getting.&nbsp; btw... Pasted below is the error: I can't really pin the loop error on CM2.0 based on the error
1679949690
The Aaron
Roll20 Production Team
API Scripter
We've reached out to the devs for help, they're looking into possible issues with the sandbox.
Normal 0 false false false EN-US X-NONE X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0in; line-height:107%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt; mso-ligatures:standardcontextual;} /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:8.0pt; mso-para-margin-left:0in; line-height:107%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt; mso-ligatures:standardcontextual;} Some suggestions: Combat Master (ver. 2.48, 5E) is great but...&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 1. I think the ability to delay a turn in the Turn Counter should be configurable because it is not canon to 5E. &nbsp; 2. A further point I would like to see is only the player in question and the GM should be able to advance the turn counter, (as in TurnMarker1), this could be configurable. &nbsp; 3. I also would like to see the Pull feature that is in TurnMarker1 as it allows players to find their own tokens.
Having issues with timer and the turn indicator at the moment. Neither is showing up for me. Anyone have similar experiences?
James B. said: Having issues with timer and the turn indicator at the moment. Neither is showing up for me. Anyone have similar experiences? Where is the "player ribbon"? It must be on the page you are working on.
1683392910

Edited 1683393180
Does anyone know if there is a way to call the "Show Conditions", "next turn" and "previous turn" commands from a command line rather than clicking in the menu? i.e. !cmaster --showconditions !cmaster --nextturn !cmaster --previous turn
1683394716

Edited 1683395048
Those should work, to check after you click the menu button select the chat, and press up. This will show you the command used. Then you can make token action or macro to use it. !cmaster --turn,next !cmaster --turn,previous !cmaster --show,assigned Francesco said: Does anyone know if there is a way to call the "Show Conditions", "next turn" and "previous turn" commands from a command line rather than clicking in the menu? i.e. !cmaster --showconditions !cmaster --nextturn !cmaster --previous turn
They did indeed! Thanks for the solution and the tip, very cool and useful! Franbo Kilter said: Those should work, to check after you click the menu button select the chat, and press up. This will show you the command used. Then you can make token action or macro to use it. !cmaster --turn,next !cmaster --turn,previous !cmaster --show,assigned Francesco said: Does anyone know if there is a way to call the "Show Conditions", "next turn" and "previous turn" commands from a command line rather than clicking in the menu? i.e. !cmaster --showconditions !cmaster --nextturn !cmaster --previous turn