Hello everyone! My second script is here - it tracks changes to the character sheets, and makes them visible to the GM (as chat messages). this allows to correct mistakes, or even detect attempts at cheating. How many times have I changed a value on a sheet via missclicks - and then... wait, what was the value again? What about the players changing stuff on the sheet that they should not? Specially beginners can do that easily. And asking players to change their inventory mid-session might seem like a good idea - but then it irks you not being sure if they did it right? Well, SheetChangeTracker comes to the rescue! I think installing and using this script is all pretty simple! Hope it adds to your gaming sessions :) # Functionality information: * it will detect all changes in a character sheet. * it will send messages that make it clear what sheet was changed and what specific attributes were changed. * this script has a default behaviour where it switches between two modes of operation automatically. You can also choose which mode to use, if you want to use only one of them. * mode 1: if one of the GMs is online it will switch to "game session mode". the messages sent about sheet changes will be hidden from players and will be short and concise to avoid spamming the chat too much for the GM. they will have a yellow background. * mode 2: if no GM is online it will switch to "in-between sessions mode". the messages will be visible to everyone, all the players and GMs. they will explain that a change was detected and ask to undo it, if player lacks permission from the GM for these changes. These messages will be orange. * with the command !ON_OFF_SheetChangeTracker the script can be paused. To resume tracking send the command again. * you can look up all tracking done in the past by checking the chat archive: launch your game and at the top of the chat click "View all chat entries for this game »". you can use ctrl+f to find the word "golly", it automatically finds the messages that concern a player changing things while you were offline. * note on the chat archive: no matter if you use this script or not, the chat archive can become so huge that it is not possible to load anymore. to keep the chat archive acessible over time, you should save the chat archive on your PC and then clean the chat archive every once in a while. You can save the chat log before erasing it, by opening the chat archive and copying all its content to a text file you save on your PC. It can be erased on game page under settings, right above the option to erase game - please be careful not to erase your own game, read the confirmation box that pops-up. # Optional Settings * it is possible to stop specific attributes from being tracked. * you can also force the script to only provide concise messages, so mode 1 is always on, no matter who is online. * the message output in mode 2 is personalizable too. # Formatting information: * here are the default messages that will be output: * mode 1: /w gm :::: char name - "[character name]" :::: attribute changed - "[attribute name]" :::: original value (current/max) - "[old value current]"/"[old value max]" :::: changed value (current/max) - "[new value current]"/"[new value max]" :::: * mode 2 : /em Golly, a character sheet change was detected! If GM gave you permission, its all good. If not, change it back please. \n /em Char name - "[character name]" \n /em Attribute changed - "[attribute name]" \n /em Original value (current/max) - "[old value current]"/"[old value max]" \n /em Changed value (current/max) - "[new value current]"/"[new value max]" # Install instructions: 1. add API to library - this means create a New Script, paste in all the code, save script 2. if you want to, change optional settings in the code. Save Script again. 3. script is ready to use! # Link to the script: <a href="https://gist.github.com/gui8311/aac68f3b6f96dacce8" rel="nofollow">https://gist.github.com/gui8311/aac68f3b6f96dacce8</a>... # Feedback and Questions: If you have questions or feedback, write a comment on this thread or create a new post for it and add [gui8312] and [SheetChangeTracker] to the post title, so it is easier to find for me. Any questions, suggestions or bug reports are appreciated! :) # Changelog **v1.0 * release **v1.1 * added more robust error prevention code * more extensive testing done for 5E OGL sheet **v1.2 * script now detects changes on all values in a character sheet - no exceptions. * stability fix, limiting allowed types for chat variables. **v1.3 * added optional settings: ability to stop traking specific attributes * added !ON_OFF_SheetChangeTracker command, allowing for pausing of script * modified the way messages are output, allowing for good formatting for entries with line breaks (like bigger texts describing the backstory of a character, with multiple paragraphs) **v1.3.1 * changed the output message validity check which was crashing the API sandbox upon creating a new character sheet. **v1.3.2 * fixed a problem with identifying if GMs are online **v1.4 * added the possibility to change mode 2 output message (under optional settings). * added the possibility to disable mode 2 (under optional settings). **v1.5 * special thanks to The Aaron, who gave me the advice that allowed for this update to be implemented. * GM detection is now fully automatic, no need to set or update GM IDs under the script settings. * Updated install guide. # Tags gui8311 gui8312 script API character sheet change tracker roll20