LSL(リンデン スクリプト ランゲージ)言語の基本文法(型、演算子、分岐、繰返)

LSLで使用できる型

integer 整数

float 浮動少数

string 文字列

list 配列、構造体のような型。データの集めるために使う。

vector X,Y,Zを持つ3つのfloat型の集まり。位置、色、速度などを設定するために使う。

rotation X,Y,Z,Sを持つ4つのfloat型の集まり。

key UUID(UniversallyUniqueIndentifier)。オブジェクトを識別するキー

よく使う定数

NULL_KEY00000000-0000-0000-0000-000000000000ヌルkey
PI円周率。3.141593
PI_BY_TWO円周率÷2。1.570796
TWO_PI円周率×2。6.283185
ZERO_ROTATION<0.0,0.0,0.0,0.1>回転していない状態。
ZERO_VECTOR<0.0,0.0,0.0>ゼロベクトル。
PUBLIC_CHANNEL0。通常のチャットチャンネル。
DEBUG_CHANNEL2147483647デバッグ時に使用するチャットチャンネル。スクリプトエラーウィンドウに表示されます。
TRUE1。真
FALSE0。偽

LSLで使用できる演算子

LSLには、以下のような演算子があります。

種類 演算子
四則演算など 足し算+
引き算-
掛け算*
割り算/
余り%
累乗^
マイナス化-
文字列連結+
代入をともなう演算式=、+=、-=、*=、/=
¥=、^=、&=
条件式等号==
不等号<>

if文:条件分岐


integer int = 0;
if(int >= 0){
  //0以上の処理
}else{
  //0未満の処理
}

for文:繰り返し処理


integer int = 0;
for (int=0; int<100; int++){
  //ループ処理
}

while文:繰り返し処理


integer int = 0;
integer isStop= FALSE;
while(!isStop){
  int++;
  if(int == 10){
    isStop = TRUE;
  }
}

do-while文:繰り返し処理


integer int = 0;
integer isStop= FALSE;
do{
  int++;
  if(int == 10){
    isStop = TRUE;
  }
}while(!isStop);

JUMP文:分岐文(@ラベルのところへジャンプする)


integer int = 0;
if(int == 0){
    jump tolabel;
}
//省略
@tolabel
llSay(0,"jump");