• 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.

Teleportation über Menü

Shelly Wolfenhaut

Neuer Nutzer
Hallöchen :)

Ich habe leider über die SuFu nichts gefunden, deshalb wage ich es zu fragen.
Mich beschleicht folgendes Problem: Ich möchte einen Gegenstand basteln, der beim Anklicken ein Menü öffnet (das klappt ja soweit). Das Menü soll verschiedene Teleportationspunkte (llMapdestination) beinhalten, die sich üer der Karte öffnen, sobald man sie anklicken.
Das Menü zu erstellen war soweit leicht, selbst den Befehl für das Karteöffnen konnte problemlos eingepasst werden. Wenn ich aber jetzt das Menü öffne und den entsprechenden "Button" für eines der Mapkoordinaten eingebe tut sich nix.
Ich muss irgendwo was falsch gemacht haben aber was? Sicher wieder nur ein kleiner Fehler. Ich wäre für Hilfe sehr dankbar!

integer CHANNEL = 42;
list MENU_MAIN = ["Gareth' Bunker"];

default {
state_entry() {
llListen(CHANNEL, "", NULL_KEY, "");
}

touch_start(integer num)
{
llDialog(llDetectedKey(0), "Gib die Koordinaten ein", MENU_MAIN, CHANNEL);
}

listen(integer channel, string name, key id, string message)
{
if (llListFindList(MENU_MAIN, [message]) != -1)
{
if (message == "Gareth' Bunker")
llMapDestination("Romantik", <203, 43, 22>, ZERO_VECTOR);
}
}
}
 

Simon Illyar

Freund/in des Forums
llMapDestination
Funktioniert NUR in attachments oder in einem touch event !

Im listen event passiert nix.


Gruß Simon
 

Shelly Wolfenhaut

Neuer Nutzer
Ah okay, gibt es aber eine Möglichkeit die Karte mit dem gewünschten Teleportort über das Menü zu öffnen oder ist es garnicht über das Menü möglich?
 

Simon Illyar

Freund/in des Forums
Du könntest z.B. nach der message eine kurze zeitlang beim touch die map öffnen lassen, statt das menü.

Alternativ könntest du auch eine slurl im chat ausgeben oder eine Landmark übergeben.
Ein direkter Weg über ein menü die Map zu öffnen ist mir nun nicht bekannt.

Gruß Simon
 

Shelly Wolfenhaut

Neuer Nutzer
Okay, habs nun über llOwnerSay mit Teleportlink gemacht, geht auch prima ^^ danke.
Ahm, nur eine weitere Frage: Wie kann ich das Script so verändern, dass nur der Besitzer des Scriptes es anklicken kann?
 

Simon Illyar

Freund/in des Forums
Code:
integer CHANNEL = 42; 
list MENU_MAIN = ["Gareth' Bunker"];

default 
{
	state_entry() 
	{
		llListen(CHANNEL, "", NULL_KEY, "");
	}

	touch_start(integer num)
	{
		[COLOR="Red"]if(llDetectedKey(0) == llGetOwner())
		{[/COLOR]
			llDialog([COLOR="red"]llGetOwner()[/COLOR], "Gib die Koordinaten ein", MENU_MAIN, CHANNEL);
		[COLOR="red"]}[/COLOR]
	}

	listen(integer channel, string name, key id, string message)
	{
		if (llListFindList(MENU_MAIN, [message]) != -1)
		{
			if (message == "Gareth' Bunker")
			llMapDestination("Romantik", <203, 43, 22>, ZERO_VECTOR);
		}
	}
}

Mit llGetOwner(), erhälst du den key des Owners von dem Object. (rot markiert)

Auf ähnliche Weise lässt sich der listen event anpassen und die Funktion llListen
Code:
llListen(CHANNEL , "" , llGetOwner() , "");

Aber für den touch event reicht die if abfrage.
(Die Dialog Funktion hab ich nur der vollständigkeit halber angepasst, es würde auch mit llDetectedKey(0) weiterhin funktionieren)

Gruß Simon
 
S

Simba Fuhr

Guest
Wenn du im Chat einen Link ausgibst würde ich einen direkten TP Befehl ausgeben. Der sieht wie folgt aus:

secondlife:///app/teleport/sim/x/y/z

Dabei wird direkt teleportiert, die Map öffnet sich nicht.
 

Users who are viewing this thread

Oben Unten