Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
(Fast) weiche Bewegung - Tour Skript
#8
Als Ergänzung zu dem Routenskript (und auf Wunsch) hab ich noch ein kleines Skript gebastelt, dass selbstständig eine config NC erstellt. Einfach in das Objekt legen (ohne das Routenskript) und anklicken, dann erscheint ein Menü, mit dem ihr die Positionen und Rotation speichern könnt. Bewegt und dreht das Objekt dahin wo es hin soll, dann auf "Position" klicken, evtl. noch eine Pause und/oder ein Text mit dazu und weiter gehts. Seid ihr fertig, wird bei Klick auf "Ende" eine NC erstellt. Dazu muss aber das Threat-Level mindestens High sein. Dann legt ihr das Routenskript hinein, setzt es zurück und fertig.
Viel Spass :-)
Code:
integer Channel = -888888;
integer Listener;
integer Listener1;

list Items;
integer Modus;

Menu()
{
    list l = ["Abbruch", "Ende", "Position", "Pause", "Text"];
    llListenRemove(Listener);
    Listener = llListen(Channel, "", llGetOwner(), "");
    llDialog(llGetOwner(), "Wähle eine Option:", l, Channel);
}

default
{
    state_entry()
    {
        Items = [];
        state running;
    }
}
state running
{
    state_entry()
    {
        Items = [];
    }
    touch_start(integer total_number)
    {
        if(llDetectedKey(0) == llGetOwner()) Menu();
    }
    listen(integer channel, string name, key id, string message)
    {
        if(channel == Channel)
        {
            if(message == "Abbruch")
            {
                Items = [];
                llListenRemove(Listener);
                return;
            } else if(message == "Ende")
            {
                osMakeNotecard("config", Items);
                llSay(0, "Die Notecard wurde erstellt.");
                llRemoveInventory(llGetScriptName());
            } else if(message == "Position")
            {
                string s = "DRIVE = " + (string)llGetPos() + " = " + (string)llGetRot();
                Items += [s];
                llSay(0, "Die Position/Rotation wurde gespeichert.");
                Menu();
                return;
            } else if(message == "Pause")
            {
                Modus = 1;
                llSay(0, "Bitte die Pause in Sekunden im Chat eingeben, z.B. 5.0.");
                Listener1 = llListen(0, "", llGetOwner(), "");
            } else if(message == "Text")
            {
                Modus = 2;
                llSay(0, "Bitte den gewünschten Text im Chat eingeben.");
                Listener1 = llListen(0, "", llGetOwner(), "");
            }
        } else if(channel == 0)
        {
            if(Modus == 1)
            {
                float f = (float)message;
                if(f > 0)
                {
                    Items += ["Pause = " + message];
                    llSay(0, "Pause gespeichert.");
                }
                llListenRemove(Listener1);
                Menu();
                return;
            } else if(Modus == 2)
            {
                message = llStringTrim(message, STRING_TRIM);
                if(message != "")
                {
                    Items += ["Text = " + message];
                    llSay(0, "Text gespeichert.");
                }
                llListenRemove(Listener1);
                Menu();
                return;
            }
        }
    }
}
Zitieren


Nachrichten in diesem Thema
RE: (Fast) weiche Bewegung - Tour Skript - von Rebekka Revnik - 22.05.2013, 15:39

Gehe zu:


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