変数のきほん。 変数とは †データを入れておく箱の事。 変数を使う †変数に値を入れる †次の三通りの方法があります。 $好感度【タブ】100 $好感度=100 (set,好感度,100) 詳しく→変数への代入には…
変数を削除する †入れる値を空白にする(何も書かない)と、その変数を削除できます。下記は一例。 $好感度【タブ】 (set,好感度,) 変数を使う(呼び出す) †変数名を()で囲むと、処理時に変数の中身に置き換わります。 :(ユーザ名)さん、おはようございます。 初回起動時に変数に値を入れておく †satori_conf.txtで変数の初期値を設定する事ができます。 ゴースト終了時の変数の値の保存 †変数は、ゴースト終了時に自動的にsatori_savedata.txtに保存され、次回起動時に自動的に読み込まれます。 前述した変数の削除を行うと、その変数はsatori_savedata.txtにも保存されません。 変数への代入には… †以下の3つの方法があります。 基本 †$変数名【タブ】値 右辺を特にいじらず、そのまま変数に代入します。 計算式であっても文字列として扱われます。 $変数テスト【タブ】1+1 :(変数テスト)っ♪ ↓ :1+1っ♪ 計算してから代入 †$変数名=値 右辺の値を「計算式」として扱い、計算結果を代入します。 $変数テスト=1+1 :(変数テスト)っ♪ ↓ :2っ♪ set関数を使った代入 †(set,変数名,値) 里々の関数のset関数を使用した代入方法です。 :(set,変数テスト,1+1)(変数テスト)っ♪ ↓ :2っ♪ 先の二つの方法は変数代入で1行を使用しなければなりませんが、set関数は文中に使用出来る為、次の様な記述が可能になります。 (when,(条件変数)==1,(set、変数テスト、100),(set、変数テスト、200)) 計算式について †一つの式の中で加算、減算より乗算、除算、剰余が優先的に計算されるので $変数=3+6×2 だと結果は「18」ではなく「15」になります。注意。 「3+6」を先に計算したい場合はこう書きます。 $変数=(3+6)×2 カッコは必ず半角で。 変数が数字かどうか確認する †is_digitで数字か否かの判断が出来ます。数字なら1、そうでないなら0が返ります。 例えば、こんな。 * :ユーザさんの歳って、いくつ? \![open,inputbox,ユーザ年齢] *ユーザ年齢を教えてもらった >おかしい【タブ】(is_digit,(ユーザ年齢))==0 :(ユーザ年齢)歳ね。(6)ふ〜〜〜ん。 :なんだよ。 *おかしい :(7)数字を入れろっ! :落ち着けっ! てな具合。 他にも年齢とか誕生日とかは、あり得ない数字とかと合わせてチェックした方がいいと思います。 変数の存在を確認する †(変数「ユーザ名」の存在) とすれば、$ユーザ名という変数が存在すれば1,そうでなければ0が返ります。 変数の中に何が入っているか解らないときは便利。 * >名前を聞いている【タブ】(変数「ユーザ名」の存在)==1 :そういえばさ、まだユーザさんの名前聞いてないんだけど。 :メニューの「名前を教える」から教えてや。 *名前を聞いている :(5)よっ、(ユーザ名)。 :(ユーザ名)に名前を教えてもらったのがそんなに嬉しいか? :(8)うるさいなぁ。 てな具合に。 ただし、satori_conf.txtの中で予め何かが設定されている場合は、その変数が存在することになります。 里々の場合、デフォルトで $ユーザ名【タブ】ユーザ と書いてある場合がほとんどなので、その場合はこのトークが発生すると、 「ユーザ」という名前をすでに教えてもらっている状態となるので注意。 中身のないからっぽ変数の扱い †呼び出した時の挙動 †中身のない、何も設定していない変数を呼び出すと、消えるのではなくそのまま表示されます。 :(ほげほげ)わー。 #「(ほげほげ)わー。」と表示される #「わー。」にはならない 当然、SAORIや条件式に使う場合も同じです。 また、中身のない変数を呼び出そうとすると、\1側のトークの頭に一行分の改行が入ります。 計算時の挙動 †からっぽ変数の扱いの中で、下記の例だけは例外となります。 $新規変数=(新規変数)+1 この場合エラーが起こりません。 ただ、タブなどの直接入力やssuなどではできません。 配列変数 †記事:配列変数 |