timmaugh said: Looks
like quite a few of your own scripts in there, so if you are seeing *in
game* slow downs, I would want to rule out how those are built. Do you
have them auto-calling themselves to periodically poll some part of the
game? IE: const doTheThing = (status) => { if (testSomethingInTheGame()) { updateStatus(); } setTimeout(doTheThing, 5000, status); } Or
do you store a bunch of information in objects within the script
closure to keep the information available between calls of the script? Is it built asynchronously? What sheet(s) do you have in the game? Jeez,
I always forget to mention the sheet when I post here. Advanced
Dungeons & Dragons 1e. It works well in my opinion, but my friends
have diffculty scrollling through it. Thus my efforts while we take a
break from my games. No execution of routines while others are running. No time outs. And I don't store information
anywhere - I have a database development background (1988 to 2021 when I
retired) in military, facility maintenance, and nuclear environments
and am used to using tables, temp tables, or make table statements with
access only to the user who is using my applications. I know there's a
way to store information in roll20, but I honestly have not figured that
out. I do have some scripts calling others, mainly from buttons like the following snippet for a main chat window: let illus = "<p>[x](<a href="https://files.d20.io/images/490142690/glrFQew8H9NPaJB6MRH43g/max.jpg)</p" rel="nofollow">https://files.d20.io/images/490142690/glrFQew8H9NPaJB6MRH43g/max.jpg)</p</a>>"; TopBtns = '<p><b>Administrative Functions</b><br><i>Need to buy stuff? Ask DM.</i>' + "<div style='text-align:center;'>" + btn("Missile Tracking", "!stuff --m", userhex) + btn("Equipment List", "!stuff --a", userhex) + btn("My Coins","!mycoins", userhex) + btn("Party Coins","!list-char-ids coin", userhex) + //"[Bad Coins](!&#13;#Coin-Bad)" + btn("Bad Coins","!list-char-ids badcoins", userhex) + '<a style="display:inline-block;text-align:center;margin:1px 2px 1px 0;padding:3px 6px;min-width:20px;color:#ffffff;background:' + userhex + ';border:1px solid #6a4323;border-radius:6px;text-decoration:none;font-normal:100;" href="!&#13;#Token">Token Controls</a>' + btn("Stats","!list-char-ids stats", userhex) + btn("Spells n' Stuff", "!spells", userhex) + "</div></p>"; BottomBtns = '<p><b>Fun with Combat!</b>' + "<div style='text-align:center;'>" + Drive buttons here: But nothing like you've asked about, i.e. always one step after another.