Will said: If I upgrade to mentor or some other level can I add my own custom API or JS-based solution? Yes, that would be possible as a Mentor. The sections of code below are not intended to be used together, but as a JS developer you should understand at a high level what each is doing and be capable of using what you need, should you upgrade. A more robust version of the latter two might make sure to permit that the GM can draw without consequence, or allow for an API command to permit a player to draw temporarily. The first could also be modified to send a message to chat for all to see (or send a whisper for some subset to see), rather than simply logging the message where only the GM can see it (and only if they open another window/tab). on('add:path', function(obj) { // IDENTIFY the player who's doing the drawing var player = getObj('player', obj.get('controlledby'));
if (player) {
log(player.get('displayname') + ' drew on the map');
} // HIDE the drawing (the API can't delete objects) obj.set({ scaleX: 0, scaleY: 0 }); // automatically MOVE the drawing player to another page var player = getObj('player', obj.get('controlledby')); if (player) { var playerspecificpages = Campaign().get('playerspecificpages'); if (!playerspecificpages) { playerspecificpages = {}; } var timeoutPage = findObjs({ type: 'page', name: 'Time Out' // Substitute name as necessary })[0]; if (timeoutPage) { playerspecificpages[player.id] = timeoutPage.id; Campaign().set('playerspecificpages', playerspecificpages); } } });