Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Link message problem

Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 12:23
I am trying to write a script that sends out a command on a certin channel to where another script and linked objects will follow the command. But it has multiple commands so i have to touch it multiple times rather than 1 time to open all the linked objects. Anyone ot there have ny advice fo me please :)
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 12:28
From: Rebel1CSA Foxtrot
I am trying to write a script that sends out a command on a certin channel to where another script and linked objects will follow the command. But it has multiple commands so i have to touch it multiple times rather than 1 time to open all the linked objects. Anyone ot there have ny advice fo me please :)

Is this all within a single object? If so, the word 'channel' doesn't really make sense. For stuff all within a single object, use just link messages. For stuff split between several separate objects, use chat on some unused channel..

Not sure I understand the problem but if you want to do several link messages for every one touch, just call llMessageLinked several times in the touch_start event.

Can you post your script here?
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 12:32
I have not started on the script yet because I was not shure how to start on it. But I have an idea going from your response though. Thank you verry much for your insight for it and I will post it if i have any more problems. Again tyvm for the advice
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 12:33
Good luck with it!

Don't be shy about posting your code (unless it's a bazillion lines long) here if you get stuck, once you get it rolling..
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 12:37
thanks :).
but wouldnt i use the if else statement to put multipul llMessageLinked in the touch_start?
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 12:41
That's hard to say without knowing more about what you're trying to do..

Doing something like this is perfectly fine, though:

touch_start(integer total_number)
{
llMessageLinked(LINK_ALL_OTHERS, 42, "hello!", "";);
llMessageLinked(LINK_ALL_OTHERS, 192, "bonjour!", "";);
}
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 12:46
I am trying to click it once it will send a message saying ''open'' and click it again sending a message saying ''close'' on a certin channel but can not figure it out.
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
11-03-2009 13:00
CODE

integer ON = TRUE;
integer CHAN = 45; //Or whatever
default
{
touch_start(integer num)
{
if (ON)
{
llSay(CHAN,"Open");
}
else
{
llSay(CHAN,"Close");
}
ON = !ON;
}
}


That ought to do it. :)
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 13:00
From: Rebel1CSA Foxtrot
I am trying to click it once it will send a message saying ''open'' and click it again sending a message saying ''close'' on a certin channel but can not figure it out.

If it's all within a single object, something like this might be what you want...

integer gOpened = FALSE;

DoIt()
{
if (gOpened)
{
llMessageLinked(LINK_ALL_OTHERS, 0, "open sesame seed!", "";);
}
else
{
llMessageLinked(LINK_ALL_OTHERS, 0, "close poppy seed!", "";);
}
}

default
{
state_entry()
{
gOpened = FALSE;
DoIt();
}

touch_start(integer total_number)
{
gOpened = !gOpened;
DoIt();
}
}


...if it's multiple objects, just change the llMessageLinked commands to be llSay (or llShout or llRegionSay, depending on how far away the thing you want to talk to is) commands.
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 13:11
ok Rolig, thanks for the help but there was n error in your script.. :) on isnt defined within scope it said. but Mead, that is what i was looking for.. thanks :) i just had to change LINK_ALL_OTHERS to LINK_ALL CHILDEREN. that was great thanks. :)
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 13:14
Rolig's script was basically the same thing as mine - just a typo at the top where this..

integer OPEN = TRUE;

...should say...

integer ON = TRUE;

That or change the places where it says ON to say OPEN.
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 13:22
ok, what if i want this to, where i rez it out, it rezzes out in the closed position and it plays the the right sound and sends the "close" message.. here is what i have for it but it doesnt seem to be working the way i thought it would.

CODE

integer gOpened = FALSE;
string jopen = "f34bcebf-e9e7-2b2d-d032-09a566771886";
string jclosed = "4cbcfe1c-a61d-430f-32d9-b1228121d613";
integer chan = 2;

DoIt()
{
if (gOpened)
{
llMessageLinked(LINK_ALL_CHILDREN, chan, "open", "");
llTriggerSound(jopen, 1.0);
}
else
{
llMessageLinked(LINK_ALL_CHILDREN, chan, "close", "");
llTriggerSound(jclosed, 1.0);
}
}

default
{
state_entry()
{
gOpened = FALSE;
DoIt();
}

on_rez(integer start_param)
{
llMessageLinked(LINK_ALL_CHILDREN, chan, "close", "");
return;
}

touch_start(integer total_number)
{
gOpened = !gOpened;
DoIt();
}
}
Zaine Swords
Registered User
Join date: 26 Nov 2008
Posts: 47
11-03-2009 13:38
ok, i have a fix for it but its not perfect. it seems to rez out with the open command and the sounds were switched. but here is what i have and it seems to work.

CODE

integer gOpened = FALSE;
string jopen = "f34bcebf-e9e7-2b2d-d032-09a566771886";
string jclosed = "4cbcfe1c-a61d-430f-32d9-b1228121d613";
integer chan = 2;

DoIt()
{
if (gOpened)
{
llMessageLinked(LINK_ALL_CHILDREN, chan, "open", "");
llTriggerSound(jclosed, 1.0);
}
else
{
llMessageLinked(LINK_ALL_CHILDREN, chan, "close", "");
llTriggerSound(jopen, 1.0);
}
}

default
{
state_entry()
{
gOpened = TRUE;
DoIt();
}

touch_start(integer total_number)
{
gOpened = !gOpened;
DoIt();
}
}
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 13:45
If you always want it to be closed when it's rezzed, just add this in there, too:

on_rez (integer param)
{
llResetScript();
}
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
11-03-2009 13:46
From: Meade Paravane
Rolig's script was basically the same thing as mine - just a typo at the top where this..

integer OPEN = TRUE;

...should say...

integer ON = TRUE;

That or change the places where it says ON to say OPEN.

:o I can't spell simple words. Fixed it in the original post. Sorry about that. Meade's is more elegant anyway.
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 13:59
I changed it to what you said Meade but it is rezzing open and again y`all are the best help out there for advice on this subject. But now it is rezzing open what can i do to change that??
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 14:01
You changed it to say this in state_entry...

gOpened = TRUE;

Change that back to = FALSE and it'll close whenever the script is reset. Leave it = TRUE and it'll open whenever the script is reset.
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Zaine Swords
Registered User
Join date: 26 Nov 2008
Posts: 47
11-03-2009 14:02
ok go to the state_entry and where it says gOpened = FALSE;

change the FALSE to TRUE and it shoudl rez out closed for you everytime. :)
Meade Paravane
Hedgehog
Join date: 21 Nov 2006
Posts: 4,845
11-03-2009 14:16
From: Zaine Swords
ok go to the state_entry and where it says gOpened = FALSE;

change the FALSE to TRUE and it shoudl rez out closed for you everytime. :)

/me looks suspiciously at this statement.
_____________________
Tired of shouting clubs and lucky chairs? Vote for llParcelSay!!!
- Go here: http://jira.secondlife.com/browse/SVC-1224
- If you see "if you were logged in.." on the left, click it and log in
- Click the "Vote for it" link on the left
Zaine Swords
Registered User
Join date: 26 Nov 2008
Posts: 47
11-03-2009 14:20
lol, why do i get taht look?
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 14:39
Another stupid question.... What do I write in the sript so only the owner can touch to open and close the item I am working on??
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
11-03-2009 14:46
CODE

touch_start( integer num)
{
if (llDetectedKey(0) == llGetOwner())
{
//Do stuff
}
}
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at
Rebel1CSA Foxtrot
Registered User
Join date: 19 Nov 2008
Posts: 9
11-03-2009 14:54
Y`ll are the best tyvvm... This fourm is btter than any scripting group for advice and or answers.
Kerharbor Dreamscape
Registered User
Join date: 9 Feb 2008
Posts: 3
camera controls
11-08-2009 20:02
The camera on MLPV2 seems to not move up when holding alt ..the mlp 1 did move when holding alt.does anyone know how to change the camera controls to allow moving the camera freely with alt.
Rolig Loon
Not as dumb as I look
Join date: 22 Mar 2007
Posts: 2,482
11-08-2009 20:42
From: Kerharbor Dreamscape
The camera on MLPV2 seems to not move up when holding alt ..the mlp 1 did move when holding alt.does anyone know how to change the camera controls to allow moving the camera freely with alt.

Try posting your question in the MLPV2 thread () or starting a fresh thread in this forum. Nobody's going to think to look here for it. ;)
_____________________
It's hard to tell gender from names around here but if you care, Rolig = she. And I exist only in SL, so don't ask.... ;)

Look for my work in XStreetSL at