Bugün Second Life tek yerde Hediyeler ve freebie’ler her saat güncellenir 7 dil Ücretsiz mağazanı ekle
12:49 SLT Etkinliğini ekle+ Ekle
Grid sorunu
  • Planlı: Scheduled Billing Maintenance, 16 Kas Pzt 09:30–10:30 SLT
  • Grid durumu: Unscheduled Group Chat Maintenance (investigating)
  • Şimdi: UUtopia'da Unitarian Universalist Cumartesi Ayini
  • Şimdi: The Dharma of Community: Budist Toplum ve Householder
  • Şimdi: SLCS Harvest Fest: oyunlar, müzik ve eğlence
  • 14:00 SLT: Cascadia Moondance'te NAD GOUGH canlı performans, 14:00 SLT
  • Haberler: REZZ MALL: Second Life markaları tek bir web mağazasında
  • Viewer: Second Life Viewer 26.5 ile sohbet yenileniyor
  • Planlı: Scheduled Billing Maintenance, 16 Kas Pzt 09:30–10:30 SLT
  • Grid durumu: Unscheduled Group Chat Maintenance (investigating)
  • Şimdi: UUtopia'da Unitarian Universalist Cumartesi Ayini
  • Şimdi: The Dharma of Community: Budist Toplum ve Householder
  • Şimdi: SLCS Harvest Fest: oyunlar, müzik ve eğlence
  • 14:00 SLT: Cascadia Moondance'te NAD GOUGH canlı performans, 14:00 SLT
  • Haberler: REZZ MALL: Second Life markaları tek bir web mağazasında
  • Viewer: Second Life Viewer 26.5 ile sohbet yenileniyor
LSL script

LSL kapı scripti: dokununca açılır, kendi kendine kapanır

Second Life için ücretsiz LSL kapı scripti. Dokununca açılıp kapanır, kapı menteşesi üzerinde döner ve birkaç saniye sonra kendiliğinden kapanır. Sesler isteğe bağlı.

55 satır ·

Second Life için basit ve güvenilir bir kapı scripti. Kapıya dokunun, menteşesi üzerinde açılsın; tekrar dokunarak kapatın ya da birkaç saniye sonra kendiliğinden kapansın. Her açılışta kapının kapalıyken durduğu konumu hatırlar, bu yüzden kapıyı sonradan taşısanız bile çalışmaya devam eder.

lsl-door-script.lsl · 55 satır Bu scripti denetle
// Touch Door with auto-close - free LSL script from WhatSL (https://whatsl.com/scripts/lsl-door-script)
// Free to use, change and put in your own creations, also ones you sell.
//
// Put this script in an upright door that is its own object (not linked to the house).
// The door's width must run along its X axis (the red arrow in the Edit window).
// Touch to open, touch again to close. It also closes by itself after AUTO_CLOSE seconds.

float   OPEN_ANGLE  = 90.0;  // degrees to swing; use -90.0 to open the other way
float   AUTO_CLOSE  = 10.0;  // seconds before it closes by itself; 0.0 = stay open
integer HINGE_SIDE  = 1;     // 1 = hinge on the +X edge, -1 = hinge on the -X edge
string  OPEN_SOUND  = "";    // optional: a sound name in the door's Contents, or a sound UUID
string  CLOSE_SOUND = "";

integer  gOpen = FALSE;
vector   gClosedPos;
rotation gClosedRot;

openDoor()
{
    // remember where the closed door is, so the door can be moved and still work
    gClosedPos = llGetPos();
    gClosedRot = llGetRot();
    vector size = llGetScale();
    vector hinge = gClosedPos + <HINGE_SIDE * size.x * 0.5, 0.0, 0.0> * gClosedRot;
    rotation turn = llEuler2Rot(<0.0, 0.0, OPEN_ANGLE * DEG_TO_RAD>);
    llSetLinkPrimitiveParamsFast(LINK_THIS, [
        PRIM_POSITION, hinge + (gClosedPos - hinge) * turn,
        PRIM_ROTATION, gClosedRot * turn
    ]);
    if (OPEN_SOUND != "") llPlaySound(OPEN_SOUND, 1.0);
    gOpen = TRUE;
    if (AUTO_CLOSE > 0.0) llSetTimerEvent(AUTO_CLOSE);
}

closeDoor()
{
    llSetTimerEvent(0.0);
    llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, gClosedPos, PRIM_ROTATION, gClosedRot]);
    if (CLOSE_SOUND != "") llPlaySound(CLOSE_SOUND, 1.0);
    gOpen = FALSE;
}

default
{
    touch_start(integer total)
    {
        if (gOpen) closeDoor();
        else openDoor();
    }

    timer()
    {
        closeDoor();
    }
}

Ücretsizdir: kullanabilir, değiştirebilir ve sattıkların dahil kendi yapımlarına koyabilirsin.

Nasıl kurulur

  1. Kapınızı yapın ya da rez edin. Dik durmalı ve evle bağlantılı değil, kendi başına bir obje olmalı.
  2. Kapının genişliğinin X ekseni boyunca uzandığını kontrol edin (Düzenle penceresindeki kırmızı ok). Değilse, kapıyı yapım araçlarıyla döndürün ya da boyut değerlerini değiştirin.
  3. İçerik sekmesini açın, Yeni Script'e tıklayın, scripti yapıştırıp kaydedin.
  4. Kapıya dokunun. Ters yöne açılırsa OPEN_ANGLE değerini -90.0 yapın. Yanlış kenardan dönerse HINGE_SIDE değerini -1 yapın.

Ayarlar

  • OPEN_ANGLE: Kapının derece cinsinden ne kadar açılacağı.
  • AUTO_CLOSE: Kapının kendiliğinden kapanmadan önceki saniye sayısı; 0.0 olursa dokunulana kadar açık kalır.
  • HINGE_SIDE: Hangi dikey kenarın menteşe olduğu.
  • OPEN_SOUND / CLOSE_SOUND: Kapının İçeriğindeki bir sesin adı ya da bir ses UUID'si. Sessiz olması için boş bırakın.

İpuçları

  • Çift kanatlı kapılarda scripti her iki kapıya koyun; birine OPEN_ANGLE 90.0, diğerine -90.0 yazın.
  • Bağlı bir evin parçası olan kapılar için farklı bir yöntem gerekir. En kolay çözüm, kapıyı bağlantısını kesip kendi başına bir obje olarak tutmaktır.

Sık sorulan sorular

Kapım neden ortasından dönüyor?

Script, kapının X boyutundan hesapladığı bir kenarın etrafında döndürür. Kapı ortasından dönüyorsa genişliği X ekseni boyunca değildir. Kırmızı oku genişliği boyunca gelecek şekilde kapıyı döndürün.

Kapıyı kilitleyebilir miyim?

Bu sürüm herkes için açılır. Kilitli bir kapı için touch_start'ın başına bir kontrol ekleyin, örneğin: if (llDetectedKey(0) != llGetOwner()) return;

Script lag yapar mı?

Hayır. Yalnızca biri kapıya dokunduğunda ve zamanlayıcı kapıyı kapattığında çalışır.

Kendi scriptini denetle: LSL sözdizimi denetleyicisi →

Diğer scriptlerTüm scriptler
LSL script · 69 satır

LSL sit and pose script for chairs and pose balls

Free LSL sit script for Second Life chairs, benches and pose balls: sit and play your own animation, set the sit position, hide the ball while in use.

LSL script · 96 satır

LSL tip jar script with thank-you message and total

Free LSL tip jar script for Second Life clubs, DJs, hosts and stores: quick pay buttons, a thank-you message, the total and last tipper in floating text.

LSL script · 101 satır

LSL hediye dağıtma scripti: freebie ve grup hediyeleri için

Second Life mağazaları için ücretsiz LSL hediye scripti: dokunun, tüm eşyalar tek klasörde gelsin. Herkes ya da yalnızca grup etiketini takanlar için.