This uses the Ghosting mechanism in the Script API of Combat Cubed/Vertical Life. You can assign anything that has a UUID key and can have a position set for ghosting, such as objects, avatars and maybe particle system sources themselves too.
Here I created a LSL scripted HUD Tool which I used in Badnarik to record the road paths on the ground which I needed for my Traffic Vehicle system. I just whipped the scripted Tool.Path HUD up in a few minutes as I just re-used a bunch of modularised code.
The HUD rezzes a linked object called a Marker, which I used for the ghosting, the blue ring with the black box in centre. When the user clicks, the client recognises that the ghosting mechanism has a callback enabled, and so pushes the raycast data through to the listener by having the avatar "Say" the message on a channel that the script prefers to listen on (not a pre-defined static channel! The script announces what channel it prefers during the very first handshake). The client then also takes off the ghost and waits for more instructions. The HUD tells the client to re-use the same object as the ghost again and waits for more data, while also rezzing another object called Marked (the smaller opaque blue cylinders), which shows the marked location and spits out data to the user with llOwnerSay to clarify that the position was added to the path.
The Tool.Path is opensourced. But it requires the use of a Script API compatible client, which only exists in C3 and VL unfortunately due to my API being an unpopular and undocumented little hidden gem of Second Life.
Nexii :D
TheTurbohawk 3 months ago
Cool stuff - I Love it.
fim71 1 year ago