Titta skript för utskärningar (1 / 3 steg)
Steg 1: Lägga till skript
Rätt klick på din utskuren och välj Redigera menyn paj.Gå till innehållsfliken i Redigera-menyn och klicka på "Nytt manus."
Öppna den nya skriften och Byt ut innehållet med följande kod:
Öppna utstansade innehållet från Redigera-menyn och klicka på knappen Lägg till skript.
Öppna den nya skriften.
Klistra in följande kod i fönstret ersätter det aktuella innehållet:
Enkel Rotation skript för att ge din Bartender lite liv
Om detta skript är inställd att köra, kommer att det vända för att möta den närmaste agenten.
Ändra för att passa din bartender.
Baserade på manus av Ope Rand & Christopher Omega
AXIS_ * konstanter, representerar enhet vector 1 enheten på den angivna axeln.
vektor AXIS_UP = < 0.0.1 >;
vektor AXIS_LEFT = < 0.1.0 >;
vektor AXIS_FWD = < 1.0.0 >;
rotation getRotToPointAxisAt (vector axel, vektor mål) {
återgå llGetRot() * llRotBetween (axel * llGetRot(), mål - llGetPos());
}
Styrka och dämpning är värden används för att styra hur llRotLookAt och llLookAt flyttas, dessa värden är avstämbara.
flyta styrka = 1,0;
flyta dämpning = 0,250;
standard {
state_entry() {
Hindrar det från att välta
llSetStatus (STATUS_ROTATE_X, falsk);
llSetStatus (STATUS_ROTATE_Y, falsk);
llSetStatus (STATUS_ROTATE_Z, TRUE);
llSensorRepeat (string namn, nyckel-id, heltalstyp, float utbud, float arc, float pris)
llSensorRepeat("",NULL_KEY,AGENT,10,PI,1); Ange de senaste tre variabler lägre/högre att minska fördröjning
}
sensorn (heltal num_detected) {
Vector target = llDetectedPos(0);
Denna linje pekar fwd (X) axeln på målet:
llRotLookAt (getRotToPointAxisAt (AXIS_FWD, mål), styrka, dämpning);
Denna linje pekar den vänstra värdeaxeln (Y) på målet:
llRotLookAt (getRotToPointAxisAt (AXIS_LEFT, mål), styrka, dämpning);
Detta pekar upp (Z)-axeln på målet:
llRotLookAt (getRotToPointAxisAt (AXIS_UP, mål), styrka, dämpning);
}
}