API scripts are just small (sic) programs that you pass information to and they output various effects . I use a script called Blind Roll quite a bit. I pass info to the script with a macro or via the chat box: !broll 1D100 will roll a D100 and whisper the results to the GM. This is very useful, a thief wants to climb a wall, he sends me a message, that calls for a success roll, which he should not know the results of until the action is underway so we use Blind Roll. In my game he has a macro: /w GM CharacterA climbs 60% !broll 1d100<60 it will output to the chat "CharacterA climbs 60%" 1D100<60 1 Success (or 0 Success) He starts up the wall and either makes it to the top, or 1/2 way there I say "You fall taking 1D6/10' damage" Using the same script, I could set up a macro: !broll (?{number|1}) D (?{size|6}) This will ask the number of dice, then what size dice and then report the information to the GM. Especially useful when you need a D7. Finally, using the same script I could have a player type into the chat box !broll 1D666 Which will roll the number and report it to the GM Other scripts do similar things or can output results as graphics, place things on the map, move things on the map, or wash your car if you are agood enough programmer. The key is that "!" tells the API it is getting a command followed by the command and any variable that you want it to use, or will point to the variables you want it to use.