[Opensim-dev] Feature Request: osAvatarSit(key avatar, key object, integer options)

Justin Clark-Casey jjustincc at googlemail.com
Fri Oct 17 01:08:19 UTC 2014


Vegaslon and others contributed an osForceOtherSit() patch in git master commit 00b23e51aecab7902f0fe0a0b138698ad28caea2 
which I think does what you need.  Vegaslon then documented it at [1].

[1] http://opensimulator.org/index.php?title=OsForceOtherSit

On 02/09/14 16:16, Aine wrote:
> I've been considering scripting a new couples dance ball for clubs in busy regions where keeping the script count to a
> minimum and script efficiency to a maximum is key.
>
> The current most popular couples dance machine currently is the venerable "Franks Couples Dance System" and its assorted
> permutations which can handle multiple couples but requires one script per **possible** dancer (so often this has 12-16
> animation handler scripts), plus the master controller script, etc...not very efficient at all. The version I envision
> would be a single script that uses OSSL animation functions to handle all users simultaneously. The only hurdle to
> overcome in scripting this is the positioning of the couples in x,y axis in the region since they need to be effectively
> on poseballs but I want to make it a completely poseball-free system by having them "sit" on the machine itself and then
> use llSetLinkPrimitiveParamsFast() for the positioning.
>
> Frank's machine rezzes a pair of poseballs near the initial toucher's location, then the pair sits and the poseballs are
> moved to do the positioning for each dance. To eliminate the poseball usage but maintain the same basic functionality I
> would need some way to know the couple's approximate location *prior* to "sitting" on the dance machine (which then
> makes them part of the linkset and lets me do all the positional dance controls). The only solution I can come up with
> using existing functions is one where one dancer has to first touch the machine to say ""I want to dance so store my
> position and then when I sit put me back there" and then a right-click sit to actually sit on the machine....not
> something that's very intuitive or user-friendly plus requires multiple clicks. The easiest solution I can think of is a
> function that allows me to "force sit" the toucher rather than having him/her have to do so, allowing the first dancer
> to touch the device which then checks the location and then force-sits the avi before immediately putting them right
> back where they were. Then the partner touches the machine which repeats the process but puts them in the correct
> location based on the dance selected. Obviously there would be a few little tricks to correctly matching couples but I
> can manage all of that stuff with existing functions so the only stumbling block is the lack of a force-sit command for
> avatars.
>
> The "force sit" function I'm proposing would be identical to the existing osNpcSit() function but work on regular
> agents. You'd specify the UUIDs of the avatar, the UUID of the target to sit on, and use the equivalent of
> OS_NPC_SIT_NOW as its option. Since the function exists already in NPC form, I was hoping that it might require minimal
> additional coding to enable it to work on a regular avatar -- possibly as simple as commenting out the presumable check
> in the current code that makes sure the agent is an NPC before allowing osNpcSit() to do its thing.
>
> I can envision other applications where this function could very useful (to be able to seat someone who touches an
> object). Needless to say it would need to be assigned at least a VeryHigh or even Severe threat level due to its
> potential for abuse unless it initiated a permission request check of some sort.
>
> Is this feasible and is there any interest from someone with the necessary coding expertise to implement it? Of can
> someone think of a clever way around this hurdle using existing functions?
>
> Cheers!
>
> Aine
>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>


-- 
Justin Clark-Casey (justincc)
OSVW Consulting
http://justincc.org
http://twitter.com/justincc


More information about the Opensim-dev mailing list