1. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  2. 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.
    Information ausblenden
  3. 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.
    Information ausblenden

Segelschiff: Wind Indicator Script

Dieses Thema im Forum "Fragen zu Scripting" wurde erstellt von ottoa Korobase, 1. Juli 2008.

  1. ottoa Korobase

    ottoa Korobase Nutzer

    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo ,
    ich habe ein Problem, wenn ich das Wind Indicator Script vom Tako Script speichern will. Ich bekomme immer die Fehler Meldung

    (1,19) ERROR: Syntax error

    wenn ich das Script speichern will. Das Script schaut so aus:

    vector windDir;
    list particleVars=[[[PSYS PART FLAGS|PSYS_PART_FLAGS]],
    PSYS_PART_FOLLOW_SRC_MASK,
    PSYS_SRC_PATTERN,
    PSYS_SRC_PATTERN_DROP,
    PSYS_PART_MAX_AGE,3.0,
    PSYS_PART_START_COLOR,<1,1,1>,
    PSYS_PART_START_ALPHA,1.0,
    PSYS_PART_START_SCALE,<.3,.3,.3>,
    PSYS_SRC_BURST_RATE,0.1,
    PSYS_SRC_BURST_SPEED_MIN,0.5,
    PSYS_SRC_BURST_SPEED_MAX,0.5,
    PSYS_SRC_BURST_PART_COUNT,1];
    list tmpVars;
    integer fixed=FALSE;

    setParticles() {
    windDir=llWind(<0,0,0>);
    windDir*=0.15;
    tmpVars=particleVars;
    tmpVars+=[[[PSYS SRC ACCEL|PSYS_SRC_ACCEL]],windDir];
    llParticleSystem(tmpVars);
    }

    default {
    state_entry() {
    llSetObjectName("windindicator");
    llParticleSystem([]);
    llSetTimerEvent(4.0);
    }

    timer() {
    setParticles();
    }

    link_message(integer sender_num, integer num, string str, key id) {
    if (num==1000) {
    llParticleSystem([]);
    llSetTimerEvent(0);
    }
    else if (num>1000) {
    llSetTimerEvent(0);
    num-=2000;
    float windAng=num*DEG_TO_RAD;
    windAng+=PI;
    windDir=<llCos(windAng),llSin(windAng),0>;
    windDir*=0.5;
    tmpVars=particleVars;
    tmpVars+=[[[PSYS SRC ACCEL|PSYS_SRC_ACCEL]],windDir];
    llParticleSystem(tmpVars);
    fixed=TRUE;
    }
    else {
    llSetTimerEvent((float)num);
    fixed=FALSE;
    }
    }
    }

    Linie 1, Spalte 19 ist eine eckige Klammer, die auf der gleichen Linie auch wieder geschlossen wird, ich seh nicht, wo hier ein Fehler sein soll. Das orginal Script gibts auf

    http://rpgstats.com/wiki/index.php?title=LibrarySailboat

    Weiss jemand, was hier das Problem sein könnte ?

    LG Ottoa
     
  2. Kottos Sperber

    Kottos Sperber Freund/in des Forums

    Beiträge:
    698
    Zustimmungen:
    7
    Punkte für Erfolge:
    18
    Ich verstehe die Zeile:


    Code:
     list particleVars=[[[PSYS PART FLAGS|PSYS_PART_FLAGS]],
    nicht, was die soll (und noch zwei weitere derart). Vielleicht ist das eine veraltete Version des Particle generators. Probier mal dies:

    Code:
    vector windDir;
    list particleVars=[PSYS_PART_FLAGS,
                PSYS_PART_FOLLOW_SRC_MASK,
                PSYS_SRC_PATTERN,
                PSYS_SRC_PATTERN_DROP,
                PSYS_PART_MAX_AGE,3.0,
                PSYS_PART_START_COLOR,<1,1,1>,
                PSYS_PART_START_ALPHA,1.0,
                PSYS_PART_START_SCALE,<.3,.3,.3>,
                PSYS_SRC_BURST_RATE,0.1,
                PSYS_SRC_BURST_SPEED_MIN,0.5,
                PSYS_SRC_BURST_SPEED_MAX,0.5,
                PSYS_SRC_BURST_PART_COUNT,1];
    list tmpVars;
    integer fixed=FALSE;
    
    setParticles() {
        windDir=llWind(<0,0,0>);
        windDir*=0.15;
        tmpVars=particleVars;
        tmpVars+=[PSYS_SRC_ACCEL,windDir];
        llParticleSystem(tmpVars);
    }
    
    default {
        state_entry() {
            llSetObjectName("windindicator");
            llParticleSystem([]);
            llSetTimerEvent(4.0);
        }
    
        timer() {
            setParticles();
        }
    
        link_message(integer sender_num, integer num, string str, key id) {
            if (num==1000) {
                llParticleSystem([]);
                llSetTimerEvent(0);
            }
            else if (num>1000) {
                llSetTimerEvent(0);
                num-=2000;
                float windAng=num*DEG_TO_RAD;
                windAng+=PI;
                windDir=<llCos(windAng),llSin(windAng),0>;
                windDir*=0.5;
                tmpVars=particleVars;
                tmpVars+=[PSYS_SRC_ACCEL,windDir];
                llParticleSystem(tmpVars);
                fixed=TRUE;
            }
            else {
                llSetTimerEvent((float)num);
                fixed=FALSE;
            }
        }
    }
    
     
  3. ottoa Korobase

    ottoa Korobase Nutzer

    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Diese Version des Scripts hat funktioniert.

    Danke, Kottos :D
     
  4. Kottos Sperber

    Kottos Sperber Freund/in des Forums

    Beiträge:
    698
    Zustimmungen:
    7
    Punkte für Erfolge:
    18
    Ich versuche gerade selber ein Segelboot zu bauen und habe den in dem Link erwähnten script in das Segelboot kopiert.
    Als erstes kommt eine Fehlermeldung. Eine Ani genannt "helm" wäre nicht auffindbar. Ich nehme an, da das Script "open source"ist, dass die Ani auch frei verfügbar wäre. Ich habe aber bei SLX nichts gefunden.
    Gibt es eine freebee version der helm ani?
     
  5. Stuart Choche

    Stuart Choche Nutzer

    Beiträge:
    40
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    "Helm" heisst, wie Du sicher schon rausgefunden hast ;-) , "Steuermann". Nimm doch erstmal einfach eine Sitz-Ani und benenne sie in "helm" um. Oder frag mal Meike Heston. Die hat die Anis für die Fizz gemacht. Vielleicht gibt sie Dir eine.

    Gruss

    Stu
     

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden