The followng template is an adaptation of the trivia engine for SecondLife made to work with Corrade. The template requires the following permissions:
and the following notifications:
The template is written in pure LSL and does not currently work with the Corrade Discord bridge but will work fine with the Eggdrop template.
Both scripts should be copied inside a primitive along with the notecards from the SecondLife trivia script named sequentially as
After setting up the template, local chat will indicate the preliminary messages to get the template set up properly. Once the template is ready to be used, local chat will state that the template is waiting for group messages.
The following commands can then be used within group chat:
@trivia start to start the trivia game,
@trivia stop to stop the trivia game,
@trivia categories to display a list of trivia categories,
@trivia help to display a short help summary.
The script is compatible with the eggdrop template
because it uses tags to keep track of notification bindings and then rebinds by using the same tag.
The second script is a message pump that works around the
llInstantMessage delay. If the script would happen to be attached to Corrade or running on the same simulator as Corrade, then the second script could possibly be eliminated.
The template is written in pure LSL - however, it should be trivial to use Corrade external services to interface with some more complete trivia engine.
As explained on the SecondLife trivia script page
, the format of the notecards follows a historic trivia bot - except scripting commands. Compared to other environments, LSL scripts may only read 255 characters for each line, such that longer lines will be truncated. The template does its best to filter out broken lines but most likely a more thorough review of the trivia notecards should be performed.
Note that the trivia script picks only the very first possible correct reply
to provide the clue but the format supports multiple possible answers. Similarly, string matching order is performed in the most basic way, such that precedence will be taken into account: "france and england" will not match "england and france" in case both variants have not been specified as possible answers.