GridTalk.de

Normale Version: Suche Tür Script
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich würde für die Türen der Kabinen auf meinem Schiff ein Tür Script suchen. Auf zu würde reichen.
Türskripte gibts viele- um das passende für dich rauszusuchen sollte es schon etwas genauer sein:

- Dreh- oder Schiebetür?

- verlinkt mit dem Schiff oder unverlinkt?

- 1-Prim-Türen oder bestehen die aus mehreren Teilen?

- soll es auf Anklicken oder auf Kollision reagieren- oder auf beides?
Um Binks Liste zu erweitern:
- Soll sich die Tür automatisch wieder schliessen?
- Soll die Tür ein Geräusch machen?
also ok sorry das ich da so ungenau war. also die türen werden ein prim sein. schliessen muss sie sich nicht selber, geräusch muss sie auch keines machen und sie muss auch nicht verlinkt werden. und eigentlich könnte ich beides brauchen dreh und auch schiebetüre, denn jede kabine hat auch ein stück aussendeck da würde eine schiebetüre ganz gut aussehn. anklicken zum öffnen reicht mir.
Ich empfehle als Door Script:
Simple Door Kit von ORI KERKOR
u.A. zu bekommen auf dieser Region, im den Gebäude wo es Häuser gibt:

SC-Rezz Region
Hier ein Beispiel für eine Drehtür (arbeitet verlinkt und unverklinkt bei 1-Prim-Türen - Sound kann noch eingefügt werden, wenn gewünscht):
 
Code:
float zeit = 10.0 ; // Timer in Sekunden
float volume = 0.5 ; // Lautstärke
integer Zustand_offen;

default
{
    state_entry()
    {
        
        Zustand_offen=FALSE;
     
    }

    touch_start(integer total_number)
    {
        
        if(Zustand_offen==0)
        {
        rotation rot = llGetLocalRot();
    rotation delta = llEuler2Rot(<0,0,PI/4>); // Falsche Richtung? -> Aendere -PI zu PI (oder umgekehrt)
    rot = delta * rot;
    llSetLocalRot(rot);

    rot = delta * rot;
    llSetLocalRot(rot);
        Zustand_offen=TRUE;
     //   llPlaySound(llGetInventoryName(INVENTORY_SOUND,0),volume);  
     // in Zeile 27 entfernen, falls doch Sound gespielt werden soll & Sound zu Skript in Prim packen
         llSetTimerEvent(zeit);// Löschen, falls nicht selbst schließen soll
        }
        
        else
        {
        rotation rot = llGetLocalRot();
    rotation delta = llEuler2Rot(<0,0,-PI/4>);// Falsche Richtung? -> Aendere -PI zu PI (oder umgekehrt)
    rot = delta * rot;
    llSetLocalRot(rot);

    rot = delta * rot;
    llSetLocalRot(rot);
        Zustand_offen=FALSE;
        //   llPlaySound(llGetInventoryName(INVENTORY_SOUND,1),volume);
     // in Zeile 42 entfernen, falls doch Sound gespielt werden soll & 2. Sound zu Skript in Prim packen
         }
     }
         timer()
         {
             if(Zustand_offen!=0)
             {
        rotation rot = llGetLocalRot();
    rotation delta = llEuler2Rot(<0,0,-PI/4>);// Falsche Richtung? -> Aendere -PI zu PI (oder umgekehrt)
    rot = delta * rot;
    llSetLocalRot(rot);

    rot = delta * rot;
    llSetLocalRot(rot);
        Zustand_offen=FALSE;
        //   llPlaySound(llGetInventoryName(INVENTORY_SOUND,1),volume);
     // in Zeile 58 entfernen, falls doch Sound gespielt werden soll
        llResetScript();
               }  
         }
 
    
  }    


Das Ganze noch als Schiebetür:
 
Code:
vector move = <-4.0,0.0,0.0>;// Falsche Richtung? Ändere die Werte anhand des Beispiels (Minus bzw kein Minus ändert die Richtung nur von links nach rechts bzw. umgekehrt): -.2.0 = x-Axis, 0= y-Axis, 0= z-Axis

integer Zustand_offen;

float volume = 0.5 ; // Lautstärke


default
{
    state_entry()
    {
       
        Zustand_offen=FALSE;
        
    }
   
   
    touch_start(integer total_number)
    {
        if(Zustand_offen==0)
        {
        llSetPos(llGetLocalPos() + move);
   
       // llPlaySound(llGetInventoryName(INVENTORY_SOUND,0),volume);
// in obere Zeile entfernen und Sound zu Skript in Inhalt packen, wenn doch Sound gewünscht ist
        Zustand_offen=TRUE;
        
        llSetTimerEvent(10);// Löschen, falls nicht selbst schließen soll
        }
        else
        {
        llSetPos(llGetLocalPos() - move);
        // llPlaySound(llGetInventoryName(INVENTORY_SOUND,0),volume);
    // in oberer Zeile entfernen, wenn doch Sound gewünscht ist
        Zustand_offen=FALSE;
        }
     }
     timer()
        {
             if(Zustand_offen!=0)
          {
             llSetPos(llGetLocalPos() - move);
          // llPlaySound(llGetInventoryName(INVENTORY_SOUND,0),volume);
     // in oberer Zeile entfernen, wenn doch Sound gewünscht ist
        Zustand_offen=FALSE;
        llResetScript();
        }
   }
     
}

Bitte hier der Anleitung am Anfang des Skripts folgen, da die Bewegungsrichtung von der Bauweise abhängt (z.B. welche Ausrichtung auf der Region, falls unverlinkt, oder wie der Rootprim ausgerichtet ist, wenn die Tür in einem Linkset verwendet wird...)
danke^^