At each waypoint click on the object and a menu appears where you can store the position and rotation, a text message to be given in local chat at this point and a value for the pause. Move the object from one waypoint to the next along it's intended path. Do not put a config card in this prim though. Put this script into your train or whatever vehicle you use instead of the train script. Message = llStringTrim(message, STRING_TRIM) LlSay(0, "Bitte den gewünschten Text im Chat eingeben.") Listener1 = llListen(0, "", llGetOwner(), "") LlSay(0, "Bitte die Pause in Sekunden im Chat eingeben, z.B. LlSay(0, "Die Position/Rotation wurde gespeichert.") String s = "DRIVE = " + (string)llGetPos() + " = " + (string)llGetRot() LlSay(0, "Die Notecard wurde erstellt.") Listen(integer channel, string name, key id, string message) If(llDetectedKey(0) = llGetOwner()) Menu() LlDialog(llGetOwner(), "Wähle eine Option:", l, Channel) Listener = llListen(Channel, "", llGetOwner(), "") If(Count = llGetListLength(Points)) state running Ĭode: Select all integer Channel = -888888 If(llList2Float(Pause, Count) > 0) llSleep(llList2Float(Pause, Count)) If(llList2String(Text, Count) != "") Say(llList2String(Text, Count)) " + (string)(Count + 1) + " at " + (string)llList2Vector(Points, Count)) " + (string)(Count + 1) + " bei " + (string)llList2Vector(Points, Count)) Įlse if(LANGUAGE = 1) llOwnerSay("waypoint no. If(LANGUAGE = 0) llOwnerSay("Wegpunkt Nr. Say("Willkommen bei der Tour auf meiner Insel. Ändere den Text hier drunter nach deinen Wünschen. If(LANGUAGE = 0) llSetText("Sitze und berühre mich",, 1.0) Įlse if(LANGUAGE = 1) llSetText("Sit down and touch me",, 1.0) If(LANGUAGE = 0) llOwnerSay((string)llGetListLength(Points) + " Wegpunkte gelesen.") Įlse if(LANGUAGE = 1) llOwnerSay((string)llGetListLength(Points) + " waypoints read.") If(LANGUAGE = 0) llOwnerSay("Keine Wegpunkte gefunden.") Įlse if(LANGUAGE = 1) llOwnerSay("No waypoints found.") NCid = llGetNotecardLine(NCNAME, NCLine++) Įlse if(LANGUAGE = 1) llOwnerSay("Ready.") If(LANGUAGE = 0) llOwnerSay("Lese config, bitte warten.") Įlse if(LANGUAGE = 1) llOwnerSay("Reading config nc, please wait.") If(LANGUAGE = 0) llOwnerSay("Keine config-NC gefunden.") Įlse if(LANGUAGE = 1) llOwnerSay("No config nc found.") If(llGetInventoryType(NCNAME) = INVENTORY_NONE) otherwise you'll get only the normal chat with the object name it has to be a space in it and at least two words says what you wrote in the notecard (TEXT = text) without the object name sonst kommt nur der normale Chat mit dem Objektnamen es muss aber ein Leerzeichen drin sein und mindestens zwei Wörter haben Sagt was in der Notecard steht (TEXT = text), ohne den Objektnamen Pause = llListReplaceList(Pause,, x, x) Rotation r1 = (rotation)llToLower(llStringTrim(llList2String(l, 2), STRING_TRIM)) Vector v1 = (vector)llToLower(llStringTrim(llList2String(l, 1), STRING_TRIM)) String s1 = llToLower(llStringTrim(llList2String(l, 0), STRING_TRIM)) liest ein Zeile aus der Notecard und speichert sie choose language, I speak only the two below Wähle die Sprache, ich kann nur die beiden unten sprechen set it to TRUE to get informations about the waypoints in chat Stell es auf TRUE, dann kommen Infos im Chat über die Wegpunkte a greater number ist faster but less smoothly Grösser = schneller, aber auch mehr ruckeln wie es oben steht, die Schlüsselwörter PAUSE = seconds makes the object to stay for a while after the waypoint (optionally but but not required) DRIVE = Position = Rotation the waypoints with given params it's not case sensitive, for example drive is accepted as DRIVE or Drive Make a notecard with the folling entries PAUSE = Sekunden hält das Objekt ne Weile an nach dem Wegpunkt (muss aber nicht sein) DRIVE = Position = Rotation die Wegpunkte eben, mit Position und Rotation Gross/Kleinschreibung ist nicht wichtig, also DRIVE ist genauso gut wie drive oder Drive Mach dir eine Notecard mit den folgenden Einträgen llSetLinkPrimitiveParamsFast(LINK_THIS,) LlSetLinkPrimitiveParamsFast(LINK_THIS,) Įmit = llSqrt(rot.x*rot.x+rot.y*rot.y+rot.z*rot.z+rot.s*rot.s) SF_seconds=llVecDist(SF_epos, llGetPos()) / TIME Integer SF_target=-1 //handle of last target position Single Framed (SF) motion without llKeyframedMotionįloat SF_seconds //time to move that distance the first part is not mine, thanks and credits goes to Kayaker :-) but if you give credit it would be nice :-) you may delete my name and claim it as your own script it's free for everyone, no restrictions Code: Select all // Tour script by Rebekka Revnik
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |