• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Klick auf einen Prim im Linkset - was passiert???

Miro Muni

Freund/in des Forums
Hallo,

liegt es an meinem Gedächtnis oder an Linden???

Ich war eigentlich der Meinung, das man ein Linkset anklicken kann und es egal ist, welchen Prim man gerade trifft, es wird immer ein touch bzw. touch_start ausgelöst.

Ich habe ein Script im Rootprim eines Linksets liegen und erstaunlicherweise wird das nur mit touch_start gestartet, wenn ich genau diesen Prim anklicke nicht aber, wenn ich einen anderen Prim des Linksets anklicke.

Ist das tatsächlich so? Dann müsste ich ja in jeden Prim des Sets ein eigenes Script legen....

Oder spinnt SL wieder mal ein bischen???

Danke und Grüsse
Miro

Nachtrag: hmmm, erst denken, dann schreiben:
gerade kommt mi die Idee, in jeden Prim nur ein kleines Script zu legen, das das Hauoptscript per llLinkMessage "weckt". Ist das eine Lösung?
 
Also ich finde das ganz gut, wenn nur in dem Objekt ein Script ausgelöst wird (innerhalb eines Linksets), auf das ich gerade klicke und bin auch der Meinung das es so ist.

Mit llMessageLinked (nicht llLinkMessage) kannst Du das Ereignis link_message auslösen. Im Wiki stehen nähere Ausführungen.

Es gibt aber auch die Möglichkeit der Listener.
Das Hauptscript lauscht, während alle Prims über einen Kanal senden können.
Zu dem Thema Listener stehen in den einzelnen Threads des Scriptforums auch schon einige Beispiele.

Gruß Rot
 
HIer nochmal die Gegendarstellung..

Wie erreiche ich, das sich bei klick auf einen Button das ganze linkset bewegt. Muss ich nur das Objekt selbst ansprechen.. nee, geht ja so nicht. Wie tu ich denn da?

Und noch was anderes. Wo sehe ich die Nummer des Prims im Linkset das ich ansprechen will? geht das nur mit probieren? Habe die Reihenfolge der einzelnen verlinkungen nicht wirklich im Kopf.. ^^
 
HIer nochmal die Gegendarstellung..
Gegendarstellung, zu was?

Wie erreiche ich, das sich bei klick auf einen Button das ganze linkset bewegt. Muss ich nur das Objekt selbst ansprechen.. nee, geht ja so nicht. Wie tu ich denn da?
Was für ein Button? Beweg doch mal den Rootprim und schau was passiert? Sag uns Bescheid.

Und noch was anderes. Wo sehe ich die Nummer des Prims im Linkset das ich ansprechen will?
Wurde hier im Forum schon schon mal diskutiert. Einfach mal nachschauen. Werde es bei Gelegenheit aber auch selbst tun. Hier noch ein Link zum Wiki
 
zur ersten Frage,
soweit ich weiss wird ein klick auf ein LINK_SET dem Root Prim angerechnet wenn in dem angeklickten verlinkten Prim kein Script mit Touch Event liegt.
--------------------

Wenn man die Nummer eines verlinkten Prims nicht weiß gibt es eine Methode um das anzuzeigen, mit Tatsenkombinationen die ich leider jedesmal vergesse. Daher leg ich mir dann ein Script in das Prim:
Code:
llSay(0,(string)llGetLinkNumber());
Script wieder löschen und fertig.
 
Hallo Ruven,

ich möchte das ja nur verstehen, weil es mir sonst zuviel Zeit kostet (raten, was damit gemeint sein könnte):
Genau umgedreht wie es der Threadersteller meinte

und ich verstehs immer noch nicht, und wenn ich das versuche zu verstehen, dann verstehe ich die "Gegendarstellung" (klingt so wichtig und offiziell) nicht, tut mir Leid. :cry:

Gruß Rot
 
Im Prinzip genau das was wir in dem anderen Thread gerade haben.

Wie bringe ich ein Script, das im Objekt bzw. Root Prim liegt dazu, auf ne Message vom childprim zu reagieren. Entweder bin ich heute total blind oder das geht einfach nicht.. schau dir den Schnipsel drüben an.
 
Primnummern ermitteln geht so

Ermittelt bei touch primnummer und name eines prims im linkset:
(rootprim ist 0, erstes child 1..., also umgekehrte reihenfolge wie beim linkvorgang)

integer linknumber;
string linkname;

default
{
state_entry()
{
}
touch_start(integer total_number)
{
linknumber = llGetLinkNumber();
llOwnerSay("Linknummer: "+(string)linknumber);
linkname = llGetLinkName(linknumber);
llOwnerSay("Linkname: "+linkname);
}


}
 
Also ich habe scheinbar genau das gegenteilige Problem. Ich habe ein Haus mit einer Schiebetür erstellt. In der Schiebetür befindet sich das Verschiebescript. Das Haus habe ich bereits verlinkt. Wenn ich jetzt aber die Schiebetür dazulinke verschiebt sich bei einem touchclick das ganze Haus statt nur die Tür.

Der Versuch die Schiebetür ohne script zu verlinken und das Skript nachträglich, mit "edit liked parts" an die Schiebetür zu bringen brachte auch kein anderes Ergebnis.

Weiß jemand Rat?
 
die Tür musst du alleine lassen, Problem ist nicht das Touch, Problem ist das eine Bewegung innerhalb eines Primset, also wie die Tür, immer ausgehend vom Rootprim gemacht wird, wenn du also z.B. den Türrahmen als Root verwendest, wird sich nach dem verlinken das ganze Haus drehen, verlinkst du mit dem Haus, und nimmst somit den Rootprim des Hausses an, stimmt die Drehung der Tür nicht mehr.
 
Hallo Leute,
eins versteh ich nicht:
Habe ein Haus und eine Truhe, da öffnet sich Tür oder Deckel
nach "Touch".(einfaches Anklicken mit links)
In beiden Fällen sind die Objekte verlinkt.
Wie ging das denn??

Habe mal zum Spass ein kleines Haus gebaut und konnte die Tür nicht mit dem Haus verlinken, weil da sich das Haus mitdrehte.

Wie schaffen es manche doch?

*großes Fragezeichen*

Elko
 
llSetLocalRot( rotation rot );

musst du dir aber genau ansehen, da es wie geschrieben in Abhängigkeit vom Rootprim ausgeführt wird.
 
nein, dieses gerade nicht im Rootprim.

Dieses kannst du in einem Child verwenden, xyz wird aber verdreht, abhängig von root prim.
Einfach probieren wegen der Achsen.
 
Emely Wilber schrieb:
Also ich habe scheinbar genau das gegenteilige Problem. Ich habe ein Haus mit einer Schiebetür erstellt. In der Schiebetür befindet sich das Verschiebescript. Das Haus habe ich bereits verlinkt. Wenn ich jetzt aber die Schiebetür dazulinke verschiebt sich bei einem touchclick das ganze Haus statt nur die Tür.

Der Versuch die Schiebetür ohne script zu verlinken und das Skript nachträglich, mit "edit liked parts" an die Schiebetür zu bringen brachte auch kein anderes Ergebnis.

Weiß jemand Rat?

Das ist kein Problem - ich vermute mal du hast einfach beim Hinzulinken deiner Schiebetür diese als zweites ausgewählt und damit zum RootPrim gemacht.
Durch das Verschieben des Rootprims verschiebt sich nämlich das gesamte Objekt, nur child prims kann man für sich alleine verschieben.
Also einfach beim verlinken von Haus und Tür zuerst die Tür und dann das Haus auswählen :wink:
 
Hallo Leute,
im Scripten bin ich ja kein Held.

Habe versucht, was Takeshi geschrieben hat.

Habe zuerst Haus mit Tür verlinkt,
Tür ist nicht der Root.
Die Tür war verlinkt und das Haus blieb stehen.
Aber die Tür drehte sich in einem sehr seltsamen Winkel.
Der Rootprim des Hauses war das Giebeldach.
Das mit den Rotationsachsen der Tür peil ich noch nicht.
Also, hab ich wieder alles entlinkt.
Das Haus hab ich wieder neu verlinkt,
diesmal war der Rootrim ein großer ausgehöhlter Prim,
welcher in der Bauphase nicht rotiert wurde.
Dann hab ich das Haus und Tür erneut verlinkt.
(Haus ist der Root)
Und.............oh Wunder, die Tür ist mit dem Haus verlinkt und geht richtig auf.
*Breit Grins*
Da hat mir ein kleines Stück der Takeshi geholfen.
Er versuchte das in möglichst einfachen Worten zu erklären.

Alle Meister der Scripte sind hier toll,
verstehe halt leider nicht alle.
Wahrscheinlich seid ihr Alle zu weit fortgeschritten.

Ihm und den Anderen meinen großen Dank
Elko

PS: Ich habe die Freebietür hier aus dem Forum benutzt.
Die ist mod. und copy.
Schade, daß sie nicht transfer ist,
weil in der RFH-Sandbox wollte die eine Neue haben,
die ihr erstes Haus bauen wollte.
 

Users who are viewing this thread

Zurück
Oben Unten