Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Script: Objekt rezzen auf Befehl
#1
Hallo!
Ich möchte eine Kiste bauen, die auf einen gesprochenen Befehl hin jeweils ein Objekt herausgibt.
Das Objekt sollte anhand seines konkreten Namens im Script gerezzt werden.

1. Beispiel:

Befehl: "hamburger"
--> Die Kiste rezzt ein Objekt mit Namen "hamburger", das in ihrem Inventar vorliegt.

Dies sollte jedoch mit mehreren Befehlen funktionieren.
Beispiel:

Befehl: "hamburger!"
oder: "Hamburger." usw.

----------------------------------------------------------------------------------------------------------
Außerdem sollte mit einem anderen Befehl ein anderes Objekt gerezzt werden.

2. Beispiel:

Befehl: "cheeseburger"
--> Die Kiste rezzt ein Objekt mit Namen "cheeseburger", das ebenfalls in ihrem Inventar vorliegt.

Dies sollte ebenfalls mit verschiedenen Befehlen möglich sein.
Beispiel:
Befehl: "Cheeseburger!" usw.

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

Ich habe die üblichen Rezz-auf-Befehl-Scripts verwendet.
Unten habe ich ein solches Script eingefügt.

Es gibt jedoch folgende Probleme:

1. Das zu rezzende Objekt muss im Inventar "INVENTORY_OBJECT" heißen,
damit es gerezzt wird.
Hat es einen anderen Namen, z. B. "hamburger", wird es nicht gerezzt.

2. Es kann nur ein Objekt gerezzt werden.
Wenn man ein Script für ein zweites Objekt im Inventar hinzufügt,
z. B. für das Objekt "cheeseburger", funktioniert dieses Script nicht.
Nur das erste Script funktioniert.

3. Es gelingt mir ebenfalls nicht,
ein Objekt mit verschiedenen Befehlen zu rezzen.
Beispiel:
Befehl "hamburger" funktioniert.

Wenn ich ein zweites solches Script mit dem
Befehl "Hamburger!" zu der Kiste hinzufüge, funktioniert dieses zweite Script nicht.
----------------------------------------------------------------------------------------------------------

Beispiel-Rezz-Object-Script:
(Dieses Script funktioniert für ein Objekt, wenn das Objekt in der Kiste "INVENTORY_OBJECT" genannt ist: )
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

// This script was auto-generated by Ann Enigma's script autogenerator
// available at http://www.3greeneggs.com/autoscript/
// Note: After you copy this script into your creation, you will also need to copy in the object to rez


default
{

state_entry() {
llListen(0,"", NULL_KEY, "");
}

listen(integer channel, string name, key id, string message) {
if (message == "hamburger") {

// This line will pick the first object out of the container and rez it
llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), llGetPos()+<-1,0,1>,ZERO_VECTOR,ZERO_ROTATION,0);

}
}

}

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

Hat jemand vielleicht eine Idee?
Vielen Dank! Rolleyes
Zitieren
#2
also da hast du eine ganze Menge falsch verstanden ...
1.) INVENTORY_OBJECT ist eine Konstante und hat den Wert 6
(siehe hier : http://wiki.secondlife.com/wiki/INVENTORY_OBJECT)
2.) llGetInventoryName(INVENTORY_OBJECT,0) gibt den Namen des (alphabetisch) ersten Objekts zurück.
(siehe hier : http://wiki.secondlife.com/wiki/LlGetInventoryName)
- wenn es also einen "hamburger" und einen "cheeseburger" gibt, gibt das script einen "cheeseburger" aus

soweit das ... und dann ist da noch:

llListen(0,"", NULL_KEY, "");

KANN man machen, ist aber keine gute Idee!
Zur Erklärung: http://wiki.secondlife.com/wiki/LlListen
Zitat:Avoid channel zero (PUBLIC_CHANNEL) and set name or id where possible to avoid lag. llListen(0, "", NULL_KEY,"") can be laggy as it listens to all chat from everyone in chat range and so should be avoided.
Wer nicht weiss wohin er will, der kommt leicht woanders hin.
Zitieren
#3
So, ich habe es jetzt hinbekommen, ungefähr.

Auf den Befehl "cheeseburger" bzw. "hamburger" hin gibt die Kiste einen Cheeseburger (INVENTORY_OBJECT,0)
oder Hamburger (INVENTORY_OBJECT,1)

heraus und sagt noch einen Satz im Chat und auch als Sound ("Bitte sehr.")


Falls es jemanden interessiert, unten folgt das Script.

Wer noch Anmerkungen / Verbesserungsvorschläge hat, darf sie gerne nennen.

Vielen Dank noch einmal! Smile

----------------------------------------------------------------------------------------------------------
Code:
default
{

    state_entry() {
        llListen(2,"", NULL_KEY, "");
    }

    listen(integer channel, string name, key id, string message) {

  
if (message == "cheeseburger"){
            llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), llGetPos()+<0,1,0>,ZERO_VECTOR,ZERO_ROTATION,0);
            llSay(0,"Bitte sehr.");
            llPlaySound(("bitte_sehr"),1);
        }    

if (message == "hamburger"){
            llRezObject(llGetInventoryName(INVENTORY_OBJECT,1), llGetPos()+<0,1,0>,ZERO_VECTOR,ZERO_ROTATION,0);
            llSay(0,"Bitte sehr.");
            llPlaySound(("bitte_sehr"),1);
        }


    }

}
Zitieren
#4
So habs mal in einen Code zu besseren Lesbarkeit eingefügt ;D
Signatur
Have a nice Day ;D

>> BogusMusikRausch am 28.03.24 um 20 Uhr in Uwes KeulenBar

Tschöö

Bogus | PinguinsReisen.de | M: @gse@norden.social
Zitieren
#5
Das script hier ist auch intressant:
https://www.outworldz.com/cgi/freescripts.plx?ID=160

oder einfach alle herunterladen:
https://github.com/Outworldz/LSL-Scripts
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Question Tür script gesucht, Tür soll bei Eintritt ein paar meter vorher öffnen Kalkofe 9 595 11.10.2023, 05:37
Letzter Beitrag: Christoph Balhaus
  Objekt soll IM senden Sascha Dyvall 5 1.810 15.07.2022, 21:34
Letzter Beitrag: Sascha Dyvall
  Rufknopf Script für Aufzug gesucht Xenos Yifu 4 1.961 03.04.2022, 19:09
Letzter Beitrag: Mareta Dagostino
  Geber/ Rezz Script Xenos Yifu 10 4.693 28.11.2020, 14:28
Letzter Beitrag: Kubwa
  Suche Script Gruppe Titoss 4 6.715 27.11.2020, 14:52
Letzter Beitrag: Dorena Verne

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste