Registrierung
Linkliste Second Forum Chat Second Forum Treffen Suche Mitgliederliste Häufig gestellte Fragen Gästebuch Kalender

 
Amazonien Rollenspiel in SL
 

Hier kann man sich über die letzten Beiträge im Board live informieren, das kleine Fenster welches sich durch einen Klick öffnet aktualisiert sich von alleine alle 60 Sekunden.

Guckloch öffnen
 

Second Forum - Ein deutschsprachiges Forum zu Second Life » Support zu Second Life » Fragen zu Scripting in Second Life » particlescript ab bestimter höhe?? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen


Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen particlescript ab bestimter höhe??
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »

cliffomat
unregistriert
particlescript ab bestimter höhe?? 24.08.2008 09:42 [OPTIONEN] [HOCH] [RUNTER]

Hallo leute

Ich hab mal ne frage zu Particlescripte!!
Ist es möglich das man im script bestimmt das die particle nur in einer bestimten höhe funktionieren??
Sagen was mal ich fliege mit mein Avatar im 50 meter höhe und wen ich sagen wa mal in 60 meter ankomme geht das particlescript an ist das möglich??


Würde mich um antworten freuen Smile ) oder IM an Cliffomat Koba in SL
Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von cliffomat am 24.08.2008 um 09:42 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.


Criz Collins
unregistriert
24.08.2008 10:25 [OPTIONEN] [HOCH] [RUNTER]

hi cloffomat,

sicher ist das möglich...
Nehmen wir mal an, Du hast schon ein particel script, das du dafür verwenden willst?
Dann füge einfach folgendes hinzu:

Statt dem einfach aufruf der Partikel-Funktion:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
[....]
default 
{

     state_entry() 
     {
          llSetTimerEvent(1);
     }

    timer()
    {
            if (llGetAgentInfo(llDetectedKey(i)) & AGENT_FLYING) 
            {
                // Wenn Avatar fliegt, starte Partikel...
                updateParticles();
            }
            else
            {
                // Wenn Avatar nicht fliegt, stoppe Partikal...
                llParticleSystem([]);
            }
    }
}
[....]


Ändere das obige ungefähr so ab:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
[....]
// Hoehe in Metern ab wann Partikel erscheinen sollen...
integer hoehe = 60;

default 
{

     state_entry() 
     {
          llSetTimerEvent(1);
     }

    timer()
    {
            if (llGetAgentInfo(llDetectedKey(i)) & AGENT_FLYING) 
            {
                // Wenn Avatar fliegt, starte Partikel...
                vector pos = llGetPos();
                if (pos.z >= hoehe)
                    updateParticles();
                else
                    llParticleSystem([]);
            }
            else
            {
                // Wenn Avatar nicht fliegt, stoppe Partikal...
                llParticleSystem([]);
            }
    }
}
[....]

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Criz Collins: 24.08.2008 10:26.

Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von Criz Collins am 24.08.2008 um 10:25 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.


Criz Collins
unregistriert
24.08.2008 10:46 [OPTIONEN] [HOCH] [RUNTER]

Das obige war ungetestet, frei von der Feder weg geschrieben und somit hatte sich da auch gleich mal ein kleiner Fehler eingeschlichen.

Ich habe mich in SL jetzt mal kurz hingesetzt und das umgesetzt... hier das fertige Script:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
// written 2008 by Criz Collins


// Hoehe in Metern ab wann Partikel erscheinen sollen...
integer hoehe = 60;
/////////////////////



integer glow = TRUE;            // Make the particles glow
integer bounce = TRUE;          // Make particles bounce on Z plane of object
integer interpColor = TRUE;     // Go from start to end color
integer interpSize = TRUE;      // Go from start to end size
integer wind = FALSE;           // Particles effected by wind
integer followSource = FALSE;    // Particles follow the source
integer followVel = FALSE;       // Particles turn to velocity direction
integer pattern = PSYS_SRC_PATTERN_EXPLODE;
key target = "";
float age = 10;                  // Life of each particle
float maxSpeed = 0.5;            // Max speed each particle is spit out at
float minSpeed = 0.1;            // Min speed each particle is spit out at
string texture = "";            // Texture used for particles, default used if blank
float startAlpha = 1.0;           // Start alpha (transparency) value
float endAlpha = 0.0;           // End alpha (transparency) value
vector startColor = <1,1,1>;    // Start color of particles <R,G,B>
vector endColor = <1,1,1>;      // End color of particles <R,G,B> (if interpColor == TRUE)
vector startSize = <0.1,0.1,0.1>;     // Start size of particles 
vector endSize = <1.5,1.5,1.5>;       // End size of particles (if interpSize == TRUE)
vector push = <0,0,0>;          // Force pushed on particles
float rate = 0.1;            // How fast (rate) to emit particles
float radius = 0.4;          // Radius to emit particles for BURST pattern
integer count = 32;        // How many particles to emit per BURST 
float outerAngle = 0.15;    // Outer angle for all ANGLE patterns
float innerAngle = 0.0;    // Inner angle for all ANGLE patterns
vector omega = <0,0,0>;    // Rotation of ANGLE patterns around the source
float life = 0;             // Life in seconds for the system to make particles
integer pre = 2;          //Adjust the precision of the generated list.
integer flags;
list sys;
integer type;

updateParticles()
{
    flags = 0;
    if(target == "detected") target = llDetectedKey(0);
    if (target == "owner") target = llGetOwner();
    if (target == "self") target = llGetKey();
    if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
    if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
    if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
    if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
    if (wind) flags = flags | PSYS_PART_WIND_MASK;
    // if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
    if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
    if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;
    sys = [  PSYS_PART_MAX_AGE,age,
                        PSYS_PART_FLAGS,flags,
                        PSYS_PART_START_COLOR, startColor,
                        PSYS_PART_END_COLOR, endColor,
                        PSYS_PART_START_SCALE,startSize,
                        PSYS_PART_END_SCALE,endSize, 
                        PSYS_SRC_PATTERN, pattern,
                        PSYS_SRC_BURST_RATE,rate,
                        PSYS_SRC_ACCEL, push,
                        PSYS_SRC_BURST_PART_COUNT,count,
                        PSYS_SRC_BURST_RADIUS,radius,
                        PSYS_SRC_BURST_SPEED_MIN,minSpeed,
                        PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
                        PSYS_SRC_TARGET_KEY,target,
                        PSYS_SRC_ANGLE_BEGIN,innerAngle, 
                        PSYS_SRC_ANGLE_END,outerAngle,
                        PSYS_SRC_OMEGA, omega,
                        PSYS_SRC_MAX_AGE, life,
                        PSYS_SRC_TEXTURE, texture,
                        PSYS_PART_START_ALPHA, startAlpha,
                        PSYS_PART_END_ALPHA, endAlpha
                            ];
                            
    llParticleSystem(sys);
}

default 
{

    state_entry() 
    {
        llSetTimerEvent(1);
    }
    
    timer()
    {
        if (llGetAgentInfo(llGetOwner()) & AGENT_FLYING) 
        {
            // Wenn Avatar fliegt, starte Partikel...
            vector pos = llGetPos();
            if (pos.z >= hoehe)
                updateParticles();
            else
                llParticleSystem([]);
        }
        else
        {
            // Wenn Avatar nicht fliegt, stoppe Partikal...
            llParticleSystem([]);
        }
    }
}
Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von Criz Collins am 24.08.2008 um 10:46 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.


cliffomat
unregistriert
24.08.2008 11:30 [OPTIONEN] [HOCH] [RUNTER]

huhu
Na deas nenne ich doch mal Kompetente Arbeit !!
Besten dankt probiere es mal aus und gebe bescheid Smile )

Gruß Cliffo
Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von cliffomat am 24.08.2008 um 11:30 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.


cliffomat
unregistriert
24.08.2008 11:56 [OPTIONEN] [HOCH] [RUNTER]

huhu Klappt gut Smile )

Allerbesten Dank
Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von cliffomat am 24.08.2008 um 11:56 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.

Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Second Forum - Ein deutschsprachiges Forum zu Second Life » Support zu Second Life » Fragen zu Scripting in Second Life » particlescript ab bestimter höhe??

Views heute: 2.549 | Views gestern: 8.744 | Views gesamt: 44.549.592



Impressum


Forensoftware: Burning Board 2.3.6
Designed by: ART[I]SIGN GbR
#top #top