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

[Script] Check It Out

1559665554
Ada L.
Marketplace Creator
Sheet Author
API Scripter
This script with a click-baity name allows players to examine nearby objects and learn more information about them. The GM is provided with a macro that displays an in-chat menu for a selected object. From there, they can set up a basic description for the object, the distance from which it can be examined, and system-specific properties such as automated Investigation skill checks that reveal more information based on the rolled result. The players are provided with a macro that allows them to click on a nearby object to examine it. The information entered for the object by the GM will then be revealed for that player. If no information was given for that object, it will simply say "No problem here." Currently supported systems/character sheets include: D&amp;D 3.5E D&amp;D 4E D&amp;D 5E: Roll20 Community Shaped Gamma World 7th Edition Pathfinder: Roll20 Community Simple Starfinder: Roll20 Simple Full instructions for using the script are provided in its README: <a href="https://github.com/Roll20/roll20-api-scripts/blob/master/CheckItOut/README.md" rel="nofollow">https://github.com/Roll20/roll20-api-scripts/blob/master/CheckItOut/README.md</a> Demo gif: Dependencies (installed automatically through One-Click): argsSplit Character Sheet Utils HTML Builder Vector Math Availability: One-Click Roll20 API repository
Cool!
Fantastic Stephen! Thanks for sharing.
Great script. Would it be possible to add the option to change the Investigation check to a Perception check as I find it better suited for noticing something about something (while Investigation works better for deciphering clues and noticing patterns, etc)?
Very, very cool. Looking forward to testing and using this!
1559921268
Ada L.
Marketplace Creator
Sheet Author
API Scripter
Stefan said: Great script. Would it be possible to add the option to change the Investigation check to a Perception check as I find it better suited for noticing something about something (while Investigation works better for deciphering clues and noticing patterns, etc)? I'll look into implementing that in the next version.&nbsp;
Awesome. Thank you. Passive perception would also be a good way to do this.&nbsp;
Love the script Stephen, i have attempted similar things in the past to get these results using attributes and @{target|info} macros. But this is so clean and functional. I have players that like to "Roll" the dice themselves (WHAT?!?! the system rolled a 4 for me.. I'd roll SOOO much better), Have you considered an option to use a Chat button the players could click to make the Investigation check, that would give the same results, instead of a secret auto roll? Just a thought.
Oh another thing, the Sounds could they trigger playlists too? For example if a player checks out an Orc, it would play a random Orc sound from the playlist.
Tested this out during the weekend and it's marvelous! Would it be hard to implement other skills? I would love to have people roll knowledge such as religion, history and more when they try to decipher ancient runes or figure out the meaning of ancient statues. :)
1560174105

Edited 1560174134
Ada L.
Marketplace Creator
Sheet Author
API Scripter
Dustin C. said: I have players that like to "Roll" the dice themselves (WHAT?!?! the system rolled a 4 for me.. I'd roll SOOO much better), Have you considered an option to use a Chat button the players could click to make the Investigation check, that would give the same results, instead of a secret auto roll? Just a thought. I don't think I will implement that. When the script rolls those skill checks, it uses Roll20's quantum dice roller (the same system used when they roll the dice themselves) already. Dustin C. said: Oh another thing, the Sounds could they trigger playlists too? For example if a player checks out an Orc, it would play a random Orc sound from the playlist. The API currently doesn't have support for accessing playlist data. It can only access individual tracks. Ravenknight said: Would it be hard to implement other skills? I would love to have people roll knowledge such as religion, history and more when they try to decipher ancient runes or figure out the meaning of ancient statues. :) I've actually got plans to develop support for other skills in the next release. This will include skills such as Perception and Knowledge skills.
I've just noticed the update to the script, allowing for different skill checks and even their passives. Which is fantastic, thank you! Would it be possible to add an option to only use passives? Thanks again. This script enhances the use of full-scale maps for dungeon crawling (such as Undermountain).&nbsp;
1561037582
Ada L.
Marketplace Creator
Sheet Author
API Scripter
Stefan said: I've just noticed the update to the script, allowing for different skill checks and even their passives. Which is fantastic, thank you! Would it be possible to add an option to only use passives? Thanks again. This script enhances the use of full-scale maps for dungeon crawling (such as Undermountain).&nbsp; Oh, right, I forgot to make an announcement about the new version. I meant to do that when the pull request for it got processed in the Roll20 repository. Guess I'll do that now! Update: Check It Out v1.1 D20 themes now support checks for multiple types of skills. D20 themes support option to use passive skills. I'll consider making an "only passives" option for the next version.
Thank you Stephen. It's a great script!
Just found this script, and it seems to have great potential. My players like to use their knowledge skills (we play pathfinder), to get a few pointers on what they are fighting. Being able to make the work before the session, would save on the game time, which is great. Having only tested it myself, with no players yet, I found a few things you might be able to help with. I can't seem to add dice rolls/math to the descriptions. It would be nice if i was able to display HP for a token successfully inspected, or even run another script to modify token proprieties (let players see bar 3). For now, I have found no way of making it work. Also, it seems that if I make the object the default token of a character, any new tokens created for that character does not retain the information. The "Copy to" function may help populate multiple objects, but when creating a new scene, it would be nice if I could just pull in a token previously populated for you script. Finally, it would be nice to have multiple tiers of reveal. So a check of DC+0 would reveal basic info, while DC+5, +10, +15 would reveal increasingly more obscure information. Please do not consider any of this as negative criticism. I do think its a great script, and even without any further updates, it will find its uses in my game(s). Its only that I see a lot of potential for stuff I would like.
1562250675
Ada L.
Marketplace Creator
Sheet Author
API Scripter
Anders said: Just found this script, and it seems to have great potential. My players like to use their knowledge skills (we play pathfinder), to get a few pointers on what they are fighting. Being able to make the work before the session, would save on the game time, which is great. Having only tested it myself, with no players yet, I found a few things you might be able to help with. I can't seem to add dice rolls/math to the descriptions. It would be nice if i was able to display HP for a token successfully inspected, or even run another script to modify token proprieties (let players see bar 3). For now, I have found no way of making it work. Also, it seems that if I make the object the default token of a character, any new tokens created for that character does not retain the information. The "Copy to" function may help populate multiple objects, but when creating a new scene, it would be nice if I could just pull in a token previously populated for you script. Finally, it would be nice to have multiple tiers of reveal. So a check of DC+0 would reveal basic info, while DC+5, +10, +15 would reveal increasingly more obscure information. Please do not consider any of this as negative criticism. I do think its a great script, and even without any further updates, it will find its uses in my game(s). Its only that I see a lot of potential for stuff I would like. Thanks for the suggestions! You can actually already do multiple tiers of reveal. You can do this by selecting the same skill, but choose a different DC. The demo gif actually shows this feature preloaded into an object.
Cool. Ill take a look at it.
Tested this script out last night and I absolutely love it. Thank you so much. Easy to set up and intuitive to use. One feature request for the 5e OGL theme: the ability to let a player using the Check It Out macro choose whether to roll with advantage or disadvantage (whether from Inspiration or from DM-awarded advantage for RP or whatever). Most of the time, you might not spend Inspiration to find out more about an object, but if it's the middle of combat and you absolutely have to figure out what this horrible trap is doing before it kills you and your fellow party members, you might well wish to roll with advantage. Conversely, you might be carrying a level of exhaustion that is making you less effective at all checks, and so you'd have to make even basic Perception or Investigation rolls with disadvantage. Just a pop-up asking the player whether the roll will be normal, with advantage, or with disadvantage (normal the default). I don't know if this is feasible or not but I thought I'd ask. In any case, the script as it is is BRILLIANT, and I will be using it copiously in the dungeon crawl I'm currently preparing for my players. Kudos!
This seems to work on my side as the GM using the script, however, my players are not able to get the text corresponding their rolls (which I see, as well as the indicator that they have interacted). They don't receive any of the output from interactions in my game.
1565268700
Ada L.
Marketplace Creator
Sheet Author
API Scripter
Dr. Dementia said: This seems to work on my side as the GM using the script, however, my players are not able to get the text corresponding their rolls (which I see, as well as the indicator that they have interacted). They don't receive any of the output from interactions in my game. They're not supposed to see the rolls.
Stephen L. said: Dr. Dementia said: This seems to work on my side as the GM using the script, however, my players are not able to get the text corresponding their rolls (which I see, as well as the indicator that they have interacted). They don't receive any of the output from interactions in my game. They're not supposed to see the rolls. Not the rolls, but the text when they examine the object is not appearing.
1565282151
Ada L.
Marketplace Creator
Sheet Author
API Scripter
Dr. Dementia said: Stephen L. said: Dr. Dementia said: This seems to work on my side as the GM using the script, however, my players are not able to get the text corresponding their rolls (which I see, as well as the indicator that they have interacted). They don't receive any of the output from interactions in my game. They're not supposed to see the rolls. Not the rolls, but the text when they examine the object is not appearing. Could you provide the contents of your API console log? That would help me narrow down the problem if there is an error.
(From Check It Out script): &nbsp;ERROR: bshields is not defined --- See API console log for details. I keep geting this error along with this on the API page CheckItOut ERROR: bshields is not defined" "ReferenceError: bshields is not defined\n&nbsp; &nbsp; at _getModifyPropertyArgs (apiscript.js:8287:16)\n&nbsp; &nbsp; at doModifyCoreProperty (apiscript.js:8242:51)\n&nbsp; &nbsp; at msg (apiscript.js:8342:9)\n&nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16)\n&nbsp; &nbsp; at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8)\n&nbsp; &nbsp; at /home/node/d20-api-server/api.js:1634:12\n&nbsp; &nbsp; at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560\n&nbsp; &nbsp; at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147)\n&nbsp; &nbsp; at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546)\n&nbsp; &nbsp; at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489)\n&nbsp; &nbsp; at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425)" Is there a step I am missing?
1569941995
Ada L.
Marketplace Creator
Sheet Author
API Scripter
You need to install the SplitArgs script. Kilter said: (From Check It Out script): &nbsp;ERROR: bshields is not defined --- See API console log for details. I keep geting this error along with this on the API page CheckItOut ERROR: bshields is not defined" "ReferenceError: bshields is not defined\n&nbsp; &nbsp; at _getModifyPropertyArgs (apiscript.js:8287:16)\n&nbsp; &nbsp; at doModifyCoreProperty (apiscript.js:8242:51)\n&nbsp; &nbsp; at msg (apiscript.js:8342:9)\n&nbsp; &nbsp; at eval (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:65:16)\n&nbsp; &nbsp; at Object.publish (eval at &lt;anonymous&gt; (/home/node/d20-api-server/api.js:151:1), &lt;anonymous&gt;:70:8)\n&nbsp; &nbsp; at /home/node/d20-api-server/api.js:1634:12\n&nbsp; &nbsp; at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560\n&nbsp; &nbsp; at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147)\n&nbsp; &nbsp; at Kd (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:546)\n&nbsp; &nbsp; at Id.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:489)\n&nbsp; &nbsp; at Zd.Ld.Mb (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:94:425)" Is there a step I am missing?