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
This post has been closed. You can still view previous posts, but you can't post any new replies.

Tracking offensive/verbally abusive posts through the board

As stated in my thread here , I run a PF evil campaign. One of the players will sometimes grief everyone by writing vulgar expressions, drawing cocks and racial epithets using the shared drawing board. When the perp wrote "you can't trace this shit lololol" it sort of irritated me. As a Java/JS web developer, I know that adding new features is annoying. JavaScript can at times be an error prone language (less so with V8 and node.js, but I digress...) and thus that makes DEV time higher than it should be. So would it be possible to add an option to base TBB for tracking drawings? If I upgrade to mentor or some other level can I add my own custom API or JS-based solution? It's name? Node.degrief -_-;
Not all players realize this, but when they draw on the board it defaults to the same color that appears next to their name when they're logged in. So, unless they're changing the color while using the drawing tool, you might be able to figure out who it is that way. Another stop-gap solution: Between game sessions, park the Player Tab on a blank map board with nothing but a Fog of War square covering it. If the culprit logs in later to do his mischief, he won't be able to see his handiwork once he draw it. And none of the other players will ever see it either. Deprived of his audience, perhaps he'll simply give up. As a side note, if I ever had a player who did this sort of stuff and I eventually figured out who it was, I would immediately kick him from my game. There are far too many people out there looking for a game to join for any GM to have to put up with griefers like that.
1400448676
Andrew R.
Pro
Sheet Author
I would simply report all the players to Roll20 for violating the terms of service and let them sort it out.
Brett E. said: Not all players realize this, but when they draw on the board it defaults to the same color that appears next to their name when they're logged in. So, unless they're changing the color while using the drawing tool, you might be able to figure out who it is that way. Another stop-gap solution: Between game sessions, park the Player Tab on a blank map board with nothing but a Fog of War square covering it. If the culprit logs in later to do his mischief, he won't be able to see his handiwork once he draw it. And none of the other players will ever see it either. Deprived of his audience, perhaps he'll simply give up. As a side note, if I ever had a player who did this sort of stuff and I eventually figured out who it was, I would immediately kick him from my game. There are far too many people out there looking for a game to join for any GM to have to put up with griefers like that. The thing is this guy's doing it during the game itself so time-out room won't mean much. Tracking the guy down seems impossible because (sadly) it seems there's no internal tracking mechanism. I cannot imagine it would be too difficult to add a "lock map" option that would prevent players from drawing on or modifying the map. Or failing that a property in the object called 'createdby'.
Will said: The thing is this guy's doing it during the game itself so time-out room won't mean much. Tracking the guy down seems impossible because (sadly) it seems there's no internal tracking mechanism. I cannot imagine it would be too difficult to add a "lock map" option that would prevent players from drawing on or modifying the map. Or failing that a property in the object called 'createdby'. I see, so I assume this is a type of play-by-post game instead of live play? At any rate, people have been asking for the ability to disable the player's drawing tools for a long time. You'd think it would be fairly easy to implement, but so far no luck on getting it included as part of an update.
It's live play, so far the dev response has essentially been "not our problem". Seems to be just asking for more abusive players. Hard to even kick a player when you have no idea who it is.
I'm having trouble envisioning how you can't know who is doing these things if it's occurring during live play... Maybe I'm missing something?
1400471204
Pat S.
Forum Champion
Sheet Author
If they know how to change the color of the lines then you can't tell who is doing it. The only work around that I could think of is to start running the game in google hangout with the roll20 app. I think if the OP makes his players use the screen share he could find who is clicked on the drawing tool as it happens.
It seems people can write in a color that isn't their own, and quickly change back and forth between colors. IMNSHO, correcting this at a code level wouldn't be that difficult. I'd like to see DM-lockable maps personally. My 2 copper.
1400474353
Pat S.
Forum Champion
Sheet Author
That is why I suggested a work around that might do the trick this time but it would take you clicking on each player as the crap happens and they have their screen share working. If one player is not willing to screen share then that might be your problem child.
Honestly I don't see this as a valid solution. It slows down the game and leaves the real problem of lag. It'd be easier for the devs to just allow maps to be locked :p
If you upgrade to mentor you can do quite a bit with the api. you might check out the documentation here.... <a href="https://wiki.roll20.net/API:Introduction" rel="nofollow">https://wiki.roll20.net/API:Introduction</a> to see if you can get it to do what you want, but I think the code snippet Brian posted in the other post might be an actual working example of what you need.
actually i just took a look, and the player that creates a drawing (path) should show up in the "controlled by" if you use obj.get(controlledby) in the api command... I could be wrong since i dont do programing, but it seems to be what the documentation indicates....
1400482292

Edited 1400482389
Lithl
Pro
Sheet Author
API Scripter
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); } } });
1400486812

Edited 1400486922
That gave me a clue. I'd likely refactor a few things there because that call to campaign looks a bit expensive (: It's perhaps my experience as a node.JS dev that leads me to over-optimized code. Rather than move the drawing, I'd probably try to suppress all player drawing events and tell them to go die in a corner ^^; Hmm.. the ability to add custom path events gets me thinking. Perhaps automatically generated macros based on character sheets. Or better yet, attack actions in the event stack triggering HP removal and so forth. Might be worth updating if this thing's running on node.JS ^^ I do like that a lot of the code I've seen from roll20 follows Crockford's standards.. I'll be updating once I figure out how to use my damn Japanese credit card to pay for this infernal stuff ^^; EDIT: I realize a lot of this thread came off as snippy on my part, but it really bothers me that one sociopathic little deuce-dropping a-hole can ruin the gaming experience for 6 other players and myself. Thanks for everyone's help. I'll be looking into the API docs and so forth. Wonder if they need any JS devs on here? I have a gitHub to prove I'm not a total n00b on the JS front x.x
1400512841
Lithl
Pro
Sheet Author
API Scripter
Will said: I'd likely refactor a few things there because that call to campaign looks a bit expensive (: The Campaign() function simply returns a reference to the singleton campaign object. It's roughly equivalent to getObj('campaign', id) (where id is the object id of the campaign), which is the fastest object-access function we have.