-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
oc_api restore interface channel commands #1016
Conversation
Fix restores and expands arbitrary command functionality to interface channel. Also restores "owned by:" messages on all start ups, not just reboot, improves auth efficiency of chat commands, and restores "#" prefix handling Details: * Restored # prefix functionality, issue #897 * Refactored chat command handling for efficiency. Chat commands no longer sent as CMD_ZERO for authing as this script handles auth so we can auth locally to save a link_message round trip on every chat command. *Restored object command handling as per v7.x and previous, using interface channel rather than HUDchannel as there seems no reason to duplicate and hudchannel stuff hasn't worked for a few years anyway. Added remote auth function - llSay(g_iInterfaceChannel,"checkauth 1111"); will return "AuthReply|(wearerkey)|(auth level)" on channel 1111, reporting the auth level of the object owner. Commands can be prefixed with "authas:(userkey)=", which will use the LOWER auth level between object owner and userkey. Commmand format is targetkey:chat command. Examples: "authas:(userkey)=(targetkey):kneel" - will issue kneel command if (userkey) and object owner both have valid auth "(targetkey):sit (sittarget key)" - sit wearer on (sittarget key) if object owner has valid auth *menuto cleanup requires menuto target to be in sim AND be the owner of the issuing command *Set g_iStartup to TRUE in active state on_rez event to restore "owned by" message #906 *Updated old oc_leash_on_collision "grabby post" script to work with updated interface channel *Created new oc_smart_post script, a heavily commented example of what can be done via the interface channel
Note: the oc_smart_post restrictions function is dependent on the oc_rlvsuite change in pr #1015 |
Tested by Omnia and Ping. These changes work as expected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved as revised
I'll wait for the Do Not Merge tag to be removed before merging |
Instead of wrestling with the github based conflict resolution with #1001, I will merge the changes in my own code, do some inworld sanity checks and then create a PR with the combined version of oc_api, later today |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested by Omnia and Ping. Everything works as expected
Fix restores and expands arbitrary command functionality to interface channel. Also restores "owned by:" messages on all start ups, not just reboot, improves auth efficiency of chat commands, and restores "#" prefix handling
Details:
Restored # prefix functionality, issue The "#" prefix wildcard is not working in 8.2.3 #897
Refactored chat command handling for efficiency. Chat commands no longer sent as CMD_ZERO for authing as this script handles auth so we can auth locally to save a link_message round trip on every chat command.
*Restored object command handling as per v7.x and previous, using interface channel rather than HUDchannel as there seems no reason to duplicate and hudchannel stuff hasn't worked for a few years anyway. Added remote auth function - llSay(g_iInterfaceChannel,"checkauth 1111"); will return "AuthReply|(wearerkey)|(auth level)" on channel 1111, reporting the auth level of the object owner. Commands can be prefixed with "authas:(userkey)=", which will use the LOWER auth level between object owner and userkey.
Commmand format is targetkey:chat command. Examples:
"authas:(userkey)=(targetkey):kneel" - will issue kneel command if (userkey) and object owner both have valid auth "(targetkey):sit (sittarget key)" - sit wearer on (sittarget key) if object owner has valid auth
*menuto cleanup requires menuto target to be in sim AND be the owner of the issuing command
*Set g_iStartup to TRUE in active state on_rez event to restore "owned by" message #906
*Updated old oc_leash_on_collision "grabby post" script to work with updated interface channel
*Created new oc_smart_post script, a heavily commented example of what can be done via the interface channel