Difference between revisions of "User:Rhet0rica Resident/RLVa Protocol"

From Second Life Wiki
Jump to navigation Jump to search
(initial draft of RLVa behavio(u)r data table)
 
(added highlighting for RLVa-only behaviors)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
Naturally, whenever there are two or more implementations of anything, there are differences between the two. The main [[LSL_Protocol/RestrainedLoveAPI|RLV documentation]] on this wiki has been around for a long time and is primarily maintained by [[User:Marine Kelley|Marine Kelley]], the creator of the RLV ecosystem. While an invaluable resource for scripters targeting Marine's viewer and its progeny, it makes little mention of RLVa-specific features. This is ''mostly'' a good thing, as it encourages scripters to focus only on what has universal support, but at the same time there has been a dearth of information around RLVa, and what has been available [https://wiki.catznip.com/index.php?title=Category:RLVa|at the Catznip Wiki] is somewhat incomplete.
Naturally, whenever there are two or more implementations of anything, there are differences between the two. The main [[LSL_Protocol/RestrainedLoveAPI|RLV documentation]] on this wiki has been around for a long time and is primarily maintained by [[User:Marine Kelley|Marine Kelley]], the creator of the RLV ecosystem. While an invaluable resource for scripters targeting Marine's viewer and its progeny, it makes little mention of RLVa-specific features. This is ''mostly'' a good thing, as it encourages scripters to focus only on what has universal support, but at the same time there has been a dearth of information around RLVa, and what has been available [https://wiki.catznip.com/index.php?title=Category:RLVa|at the Catznip Wiki] is somewhat incomplete.


The purpose of this page is to document the RLV protocol from an RLVa-centric perspective, both for my own reference and that of others.
The purpose of this page is to document the RLV protocol from an RLVa-centric perspective, both for my own reference and that of others. Behavior names in '''bold''' are absent from the RLV documentation and are almost certainly unique to RLVa.


<div class="messagebox">This page describes '''RLVa 2.4.2.74783'''.</div>
<div class="messagebox">This page describes '''RLVa 2.4.2.74783'''.</div>
Line 9: Line 9:
{| class="wikitable" style="margin: auto"
{| class="wikitable" style="margin: auto"
|-
|-
! Behavior !! Modifiers !! y/n !! add/rem !! _sec !! exception y/n !! info !! ReplyProcessor !! force !! experimental !! extended
! style="position: sticky;"| Behavior
! style="position: sticky;"| Modifiers
! style="position: sticky;"| y/n
! style="position: sticky;"| add/rem
! style="position: sticky;"| _sec
! style="position: sticky;"| exception (y/n)
! style="position: sticky;"| info
! style="position: sticky;"| ReplyProcessor
! style="position: sticky;"| force
! style="position: sticky;"| experimental
! style="position: sticky;"| extended
|-
|-
| acceptpermission ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| acceptpermission ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
Line 75: Line 85:
| attachthisoverorreplace ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| attachthisoverorreplace ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| buy ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| '''buy''' ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| camavdist ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  
| camavdist ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  
Line 137: Line 147:
| fly ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| fly ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| getaddattachnames ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
| '''getaddattachnames''' ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
|-
|-
| getaddoutfitnames ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
| '''getaddoutfitnames''' ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
|-
|-
| getattach ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getattach ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
|-
|-
| getattachnames ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
| '''getattachnames''' ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
|-
|-
| getcam_avdist ||  ||  ||  ||  ||  ||  || ✔ ||  || ✔ ||  
| getcam_avdist ||  ||  ||  ||  ||  ||  || ✔ ||  || ✔ ||  
Line 159: Line 169:
| getcam_textures ||  ||  ||  ||  ||  ||  || ✔ ||  || ✔ ||  
| getcam_textures ||  ||  ||  ||  ||  ||  || ✔ ||  || ✔ ||  
|-
|-
| getcommand ||  ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔
| '''getcommand''' ||  ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔
|-
|-
| getgroup ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getgroup ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
|-
|-
| getheightoffset ||  ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔
| '''getheightoffset''' ||  ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔
|-
|-
| getinv ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getinv ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
Line 171: Line 181:
| getoutfit ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getoutfit ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
|-
|-
| getoutfitnames ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
| '''getoutfitnames''' ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
|-
|-
| getpath ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getpath ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
Line 177: Line 187:
| getpathnew ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getpathnew ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
|-
|-
| getremattachnames ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
| '''getremattachnames''' ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
|-
|-
| getremoutfitnames ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
| '''getremoutfitnames''' ||  ||  ||  ||  ||  || ✔ ||  ||  || ✔ ||  
|-
|-
| getsitid ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
| getsitid ||  ||  ||  ||  ||  || ✔ ||  ||  ||  ||  
Line 189: Line 199:
| interact ||  || ✔ ||  ||  ||  ||  ||  ||  ||  || ✔
| interact ||  || ✔ ||  ||  ||  ||  ||  ||  ||  || ✔
|-
|-
| jump ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| '''jump''' ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| notify ||  ||  || ✔ ||  ||  || ✔ ||  ||  ||  ||  
| notify ||  ||  || ✔ ||  ||  || ✔ ||  ||  ||  ||  
|-
|-
| pay ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| '''pay''' ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| permissive ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| permissive ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
Line 205: Line 215:
| recvemotefrom ||  ||  ||  || ✔ || ✔ ||  ||  ||  ||  ||  
| recvemotefrom ||  ||  ||  || ✔ || ✔ ||  ||  ||  ||  ||  
|-
|-
| recvim || RecvIM Distance (Min), RecvIM Distance (Max) ||  ||  || ✔ ||  ||  ||  ||  ||  ||  
| recvim || '''RecvIM Distance (Min), RecvIM Distance (Max)''' ||  ||  || ✔ ||  ||  ||  ||  ||  ||  
|-
|-
| recvimfrom ||  ||  ||  || ✔ || ✔ ||  ||  ||  ||  ||  
| recvimfrom ||  ||  ||  || ✔ || ✔ ||  ||  ||  ||  ||  
Line 231: Line 241:
| sendgesture ||  || ✔ ||  ||  ||  ||  ||  ||  || ✔ ||  
| sendgesture ||  || ✔ ||  ||  ||  ||  ||  ||  || ✔ ||  
|-
|-
| sendim || SendIM Distance (Min), SendIM Distance (Max) ||  ||  || ✔ ||  ||  ||  ||  ||  ||  
| sendim || '''SendIM Distance (Min), SendIM Distance (Max)''' ||  ||  || ✔ ||  ||  ||  ||  ||  ||  
|-
|-
| sendimto ||  ||  ||  || ✔ || ✔ ||  ||  ||  ||  ||  
| sendimto ||  ||  ||  || ✔ || ✔ ||  ||  ||  ||  ||  
Line 243: Line 253:
| setcam_avdistmin || Camera - Avatar Distance (Min) ||  ||  ||  ||  ||  ||  ||  || ✔ ||  
| setcam_avdistmin || Camera - Avatar Distance (Min) ||  ||  ||  ||  ||  ||  ||  || ✔ ||  
|-
|-
| setcam_eyeoffset || Camera - Eye Offset || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| '''setcam_eyeoffset''' || Camera - Eye Offset || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setcam_eyeoffset ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setcam_eyeoffset''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setcam_eyeoffsetscale || Camera - Eye Offset Scale ||  ||  ||  ||  ||  ||  ||  ||  ||  
| '''setcam_eyeoffsetscale''' || Camera - Eye Offset Scale ||  ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setcam_eyeoffsetscale ||  || ✔ ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setcam_eyeoffsetscale''' ||  || ✔ ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setcam_focus ||  || ✔ ||  ||  ||  ||  ||  || ✔ || ✔ ||  
| '''setcam_focus''' ||  || ✔ ||  ||  ||  ||  ||  || ✔ || ✔ ||  
|-
|-
| setcam_focusoffset || Camera - Focus Offset ||  ||  ||  ||  ||  ||  ||  ||  ||  
| '''setcam_focusoffset''' || Camera - Focus Offset ||  ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setcam_focusoffset ||  || ✔ ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setcam_focusoffset''' ||  || ✔ ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setcam_fov ||  || ✔ ||  ||  ||  ||  ||  || ✔ || ✔ ||  
| setcam_fov ||  || ✔ ||  ||  ||  ||  ||  || ✔ || ✔ ||  
Line 263: Line 273:
| setcam_fovmin || Camera - FOV (Min) || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| setcam_fovmin || Camera - FOV (Min) || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setcam_mode ||  || ✔ ||  ||  ||  ||  ||  || ✔ || ✔ ||  
| '''setcam_mode''' ||  || ✔ ||  ||  ||  ||  ||  || ✔ || ✔ ||  
|-
|-
| setcam_mouselook ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| '''setcam_mouselook''' ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setcam_origindistmax || Camera - Focus Distance (Max) ||  ||  ||  ||  ||  ||  ||  || ✔ ||  
| '''setcam_origindistmax''' || Camera - Focus Distance (Max) ||  ||  ||  ||  ||  ||  ||  || ✔ ||  
|-
|-
| setcam_origindistmin || Camera - Focus Distance (Min) ||  ||  ||  ||  ||  ||  ||  || ✔ ||  
| '''setcam_origindistmin''' || Camera - Focus Distance (Min) ||  ||  ||  ||  ||  ||  ||  || ✔ ||  
|-
|-
| setcam_textures || Camera - Forced Texture || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| setcam_textures || Camera - Forced Texture || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
Line 283: Line 293:
| setgroup ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| setgroup ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setoverlay ||  ||  || ✔ ||  ||  ||  ||  ||  ||  ||  
| '''setoverlay''' ||  ||  || ✔ ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setoverlay_alpha ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setoverlay_alpha''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setoverlay_texture ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setoverlay_texture''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setoverlay_tint ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setoverlay_tint''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setoverlay_touch ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setoverlay_touch''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setoverlay_tween ||  || ✔ ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setoverlay_tween''' ||  || ✔ ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere ||  ||  || ✔ ||  ||  ||  ||  ||  ||  ||  
| '''setsphere''' ||  ||  || ✔ ||  ||  ||  ||  ||  ||  ||  
|-
|-
| setsphere_color ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_color''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_distextend ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_distextend''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_distmax ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_distmax''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_distmin ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_distmin''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_mode ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_mode''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_origin ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_origin''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_param ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_param''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_tween ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_tween''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_valuemax ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_valuemax''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| setsphere_valuemin ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
| '''setsphere_valuemin''' ||  ||  ||  ||  ||  ||  ||  || ✔ ||  ||  
|-
|-
| share ||  || ✔ ||  || ✔ || ✔ ||  ||  ||  ||  ||  
| share ||  || ✔ ||  || ✔ || ✔ ||  ||  ||  ||  ||  
Line 415: Line 425:
| viewtexture ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
| viewtexture ||  || ✔ ||  ||  ||  ||  ||  ||  ||  ||  
|-
|-
| viewtransparent ||  || ✔ ||  ||  ||  ||  ||  ||  || ✔ ||  
| '''viewtransparent''' ||  || ✔ ||  ||  ||  ||  ||  ||  || ✔ ||  
|-
|-
| viewwireframe ||  || ✔ ||  ||  ||  ||  ||  ||  || ✔ ||  
| '''viewwireframe''' ||  || ✔ ||  ||  ||  ||  ||  ||  || ✔ ||  
|-
|-
|}
|}

Latest revision as of 08:28, 14 August 2024

There are two implementations of the RLV protocol: Marine Kelley's RLV codebase and Kitty Barnett's RLVa codebase. As of this writing, RLV is used by RestrainedLove, Cool VL Viewer, and Kokua; RLVa is used by Catznip, Alchemy, Black Dragon, Firestorm, Genesis, and Singularity.

Naturally, whenever there are two or more implementations of anything, there are differences between the two. The main RLV documentation on this wiki has been around for a long time and is primarily maintained by Marine Kelley, the creator of the RLV ecosystem. While an invaluable resource for scripters targeting Marine's viewer and its progeny, it makes little mention of RLVa-specific features. This is mostly a good thing, as it encourages scripters to focus only on what has universal support, but at the same time there has been a dearth of information around RLVa, and what has been available the Catznip Wiki is somewhat incomplete.

The purpose of this page is to document the RLV protocol from an RLVa-centric perspective, both for my own reference and that of others. Behavior names in bold are absent from the RLV documentation and are almost certainly unique to RLVa.

This page describes RLVa 2.4.2.74783.
Behavior Modifiers y/n add/rem _sec exception (y/n) info ReplyProcessor force experimental extended
acceptpermission
accepttp
accepttprequest
addattach
addoutfit
addoutfit
addoutfitall
addoutfitallover
addoutfitallthis
addoutfitallthisover
addoutfitover
addoutfitthis
addoutfitthisover
adjustheight
allowidle
alwaysrun
attach
attachall
attachallover
attachalloverorreplace
attachallthis
attachallthis
attachallthis_except
attachallthisover
attachallthisoverorreplace
attachover
attachoverorreplace
attachthis
attachthis
attachthis_except
attachthisover
attachthisoverorreplace
buy
camavdist
camdistmax
camdistmin
camtextures
camunlock
camzoommax
camzoommin
chatnormal
chatshout
chatwhisper
detach
detach
detachall
detachallthis
detachallthis
detachallthis_except
detachme
detachthis
detachthis
detachthis_except
edit
editattach
editobj
editworld
emote
fartouch Fartouch Distance
findfolder
findfolders
fly
fly
getaddattachnames
getaddoutfitnames
getattach
getattachnames
getcam_avdist
getcam_avdistmax
getcam_avdistmin
getcam_fov
getcam_fovmax
getcam_fovmin
getcam_textures
getcommand
getgroup
getheightoffset
getinv
getinvworn
getoutfit
getoutfitnames
getpath
getpathnew
getremattachnames
getremoutfitnames
getsitid
getstatus
getstatusall
interact
jump
notify
pay
permissive
recvchat
recvchatfrom
recvemote
recvemotefrom
recvim RecvIM Distance (Min), RecvIM Distance (Max)
recvimfrom
redirchat
rediremote
remattach
remattach
remoutfit
remoutfit
rez
sendchannel
sendchannel_except
sendchat
sendgesture
sendim SendIM Distance (Min), SendIM Distance (Max)
sendimto
setcam
setcam_avdist Camera - Silhouette Distance
setcam_avdistmax Camera - Avatar Distance (Max)
setcam_avdistmin Camera - Avatar Distance (Min)
setcam_eyeoffset Camera - Eye Offset
setcam_eyeoffset
setcam_eyeoffsetscale Camera - Eye Offset Scale
setcam_eyeoffsetscale
setcam_focus
setcam_focusoffset Camera - Focus Offset
setcam_focusoffset
setcam_fov
setcam_fovmax Camera - FOV (Max)
setcam_fovmin Camera - FOV (Min)
setcam_mode
setcam_mouselook
setcam_origindistmax Camera - Focus Distance (Max)
setcam_origindistmin Camera - Focus Distance (Min)
setcam_textures Camera - Forced Texture
setcam_unlock
setdebug
setenv
setgroup
setgroup
setoverlay
setoverlay_alpha
setoverlay_texture
setoverlay_tint
setoverlay_touch
setoverlay_tween
setsphere
setsphere_color
setsphere_distextend
setsphere_distmax
setsphere_distmin
setsphere_mode
setsphere_origin
setsphere_param
setsphere_tween
setsphere_valuemax
setsphere_valuemin
share
sharedunwear
sharedwear
showhovertext
showhovertextall
showhovertexthud
showhovertextworld
showinv
showloc
showminimap
shownames
shownametags Name Tags - Visible Distance
shownearby
showself
showselfhead
showworldmap
sit
sit
sitground
sittp SitTp Distance
standtp
startim StartIM Distance (Min), StartIM Distance (Max)
startimto
temprun
touchall
touchattach
touchattachother
touchattachself
touchfar
touchhud
touchme
touchthis
touchworld
tplm
tploc
tplocal Local Teleport Distance
tplure
tprequest
tpto
unsharedunwear
unsharedwear
unsit
unsit
version
versionnew
versionnum
viewnote
viewscript
viewtexture
viewtransparent
viewwireframe