I set up three Sloodle
PrimDrop boxes. The assignments are called Quest1, Quest2, and Quest3. Quest 1 has the description: Please bring me a cube. When you finish this quest go to quest 2. And the rest is the same.
I created a test student named Noob1 Student. When Noob1 touched the PrimDrop boxes they say in the public chat the description of the assignment. This could then be used for instructions to the quest. This description can be displayed again when you click 1: Assignment summary in the Open Simulator (OSim) menu as shown below.
When an assignment object is submitted, there is a feedback. The PrimDrop says in public chat: Item "submission name" appears OK. Thank you Noob1 Student.
Assignment submission successful. Thank you Noob1 Student.
This feedback is in feedback is in sloodle_translation_assignment_en.lsl in the scripts of the PrimDrop object in OSim. The last two lines is as follows:
"assignment:submissionok", "Assignment submission successful. Thank you {{0}}.", // Parameter: avatar name
This could be edited to reflect the next steps to take in the quest chain. But it would be better if the feedback from the Moodle grading is reflected instead.
The teacher can then take the objects and even grade the assignment in-world as shown below.
In addition to the above I installed the
Activity Locking (AL) course format plugin in my Moodle server.
The AL format locks/unlocks succeeding activities based on prerequisites. It appears that PrimDrop is unaware of the locks because when I tried to submit to a locked assignment, it still accepted the submission. There is a need to hack the PrimDrop code for it to recognize locks and prerequisites.
In addition it would be great if the PrimDrop boxes could give an object in return as a reward or as an item for the next quest. Also it would be interesting to use
llGiveMoney function in the
OpenSim DTL Currency Server. Such that when the student completes the quest he/she can be given token OS money.