Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

lockmeister competible

Silje Russell
lsl geek
Join date: 2 Oct 2005
Posts: 63
06-17-2007 13:52
is it a way to make Huddless lockmeister competible?
this wud been greet help for us that wear collar sins most collar produsers use lockmeister to turn on and off intern ao on collar or own ao
basic codes.
From: someone

listen(integer chan,string name,key id, string msg)
{
if(chan == -8888)
{
if(llGetOwnerKey(id) == llGetOwner())
{
if(msg == (string)llGetOwner()+"booton";)
{
// ao turns on
}
else if(msg == (string)llGetOwner()+"bootoff";)
{
// ao off
}
}
}
}
_____________________
Yes i know i got typos..
I got writing and reading problems.
but i am still a humen!!
Keiki Lemieux
I make HUDDLES
Join date: 8 Jul 2005
Posts: 1,490
06-18-2007 16:22
From: Silje Russell
is it a way to make Huddless lockmeister competible?
this wud been greet help for us that wear collar sins most collar produsers use lockmeister to turn on and off intern ao on collar or own ao
basic codes.

Could you elaborate about how you think they would work together? Would you be wanting to use the HUDDLE to give a command to a collar script? I'm not sure I understand your question.
_____________________
imakehuddles.com/wordpress/
Xinful Hawks
Registered User
Join date: 1 Feb 2007
Posts: 1
06-29-2007 02:50
From: Keiki Lemieux
Could you elaborate about how you think they would work together? Would you be wanting to use the HUDDLE to give a command to a collar script? I'm not sure I understand your question.


Looking at the script snippet supplied by Silje, it would appear that lockmeister has the capability to turn on/off any compatible AO and this is the feature being requested. I would assume this is because some lockmeister attachments themselves have animations and this prevents the AO interfering whilst these are being played.
Monica Jewell
Registered User
Join date: 9 Feb 2007
Posts: 9
07-19-2007 05:13
Anything new about this one yet?

I know quite a few subs who are not allowed to wear AO's just because the collar anims wont work anymore if they have lower priority than the AO. Adding this functionality would solve the problem.
Keiki Lemieux
I make HUDDLES
Join date: 8 Jul 2005
Posts: 1,490
07-19-2007 08:02
From: Monica Jewell
Anything new about this one yet?

I know quite a few subs who are not allowed to wear AO's just because the collar anims wont work anymore if they have lower priority than the AO. Adding this functionality would solve the problem.

This is not something that I would add as a standard feature of the EZ Animator. However, a custom script which listened for the command from the collar and turned off the AO is possible. I will try to take a look at it later today. If there is some lockmeister documentation that explains this, I would appreciate seeing it. At this point I'm just guessing as to what the AO is listening for and what should happen.
_____________________
imakehuddles.com/wordpress/
Monica Jewell
Registered User
Join date: 9 Feb 2007
Posts: 9
07-19-2007 09:23
From: Keiki Lemieux
However, a custom script which listened for the command from the collar and turned off the AO is possible.


Awww - this is great news :)

Maybe it already would be enough to provide a few reactions to linked messages. So custom scripts would be possible to listen to lockmeister or whatever commands and control the most basic AO options this way?

AO on/AO off/stop all animations would be perfectly sufficient for this I guess.

I dont know the internal structure of the Huddles but I hope this would be the way that causes you the minimum efford *s

Anyhow - I will check the collar messages later today when I have some peace for it and provide you with a more detailed info about it. Eventhough what Silje wrote seems pretty correct.
Keiki Lemieux
I make HUDDLES
Join date: 8 Jul 2005
Posts: 1,490
07-19-2007 14:43
From: Monica Jewell
Awww - this is great news :)

Maybe it already would be enough to provide a few reactions to linked messages. So custom scripts would be possible to listen to lockmeister or whatever commands and control the most basic AO options this way?

AO on/AO off/stop all animations would be perfectly sufficient for this I guess.

I dont know the internal structure of the Huddles but I hope this would be the way that causes you the minimum efford *s

Anyhow - I will check the collar messages later today when I have some peace for it and provide you with a more detailed info about it. Eventhough what Silje wrote seems pretty correct.

All I need to know is what the standard messages from the collar would be and on what channel. Then I can whip up a script and post it here.
_____________________
imakehuddles.com/wordpress/
Keiki Lemieux
I make HUDDLES
Join date: 8 Jul 2005
Posts: 1,490
07-19-2007 14:53
Hmm... I guess that is in the OP. I'll will see what I can do.
_____________________
imakehuddles.com/wordpress/
Monica Jewell
Registered User
Join date: 9 Feb 2007
Posts: 9
07-20-2007 05:57
Yes, the collar messages have been in the OP already. Since the ZHAO is opensouce I played a lil with both.

The script probably leaves room for improvement optimisation but so far it seems to work fine for me:

----------------------------------------------------------

string uid;

integer sitOverride = FALSE;
integer animOverrideOn = TRUE;
integer override = FALSE;
integer listener = -1;

default
{
state_entry() {
override = FALSE;
uid = (string)llGetOwner();
llListenRemove(listener);
listener = llListen(-8888, "", NULL_KEY, "";);
}

attach(key id) {
override = FALSE;
if (id != NULL_KEY) {
uid = (string)id;
llListenRemove(listener);
listener = llListen(-8888, "", NULL_KEY, "";);
}
}

listen(integer channel, string name, key id, string msg) {
if (channel == -8888) {
if (msg == uid + "booton";) {
override = TRUE;
if (animOverrideOn) llMessageLinked(LINK_THIS, 0, "AO_ON", NULL_KEY);
if (sitOverride) llMessageLinked(LINK_THIS, 0, "SIT_ON", NULL_KEY);
llSetTimerEvent(1);
} else if (msg == uid + "bootoff";) {
override = TRUE;
if (animOverrideOn) llMessageLinked(LINK_THIS, 0, "AO_OFF", NULL_KEY);
if (sitOverride) llMessageLinked(LINK_THIS, 0, "SIT_OFF", NULL_KEY);
llSetTimerEvent(1);
}
}
}

link_message(integer sender, integer channel, string msg, key id) {
if (!override) {
if (msg == "AO_ON" ) animOverrideOn = TRUE;
else if (msg == "AO_OFF";) animOverrideOn = FALSE;
else if (msg == "SIT_ON";) sitOverride = TRUE;
else if (msg == "SIT_OFF";) sitOverride = FALSE;
}
}

timer() {
llSetTimerEvent(0);
override = FALSE;
}

}