[ ニコスクリプト - ニワン語 - ニコスクリプト⇔二ワン語 - 投稿者コメントレシピ ]
ニワン語
基本概要 †
ニコスクリプトの「@」機能を使用しないで、独自に手動でスクリプトを書き込むことが可能です。
- =の右側が命令の場合は代入式として作用せず、=の左側がラベルとして設定され即実行されます。
(関数がコメントへの参照を返すわけではないようです)
0::/a=dt('テスト')
命令または関数 †
drawShape †
drawShape(x:x座標,y:y座標,z:順序,shape:図形,width:幅,height:高さ,color:色,visible:表示,pos:位置,mask:マスク,commentmask:コメントマスク,alpha:透明度,rotation:回転,mover:移動方法)
画面上に任意の図形を描く。
設定の必要性が無い項目は省略できる。
省略した場合の初期値は()の中のものとなる。
- x:x座標(0)、y:y座標(0)
- 表示を行う座標。
- 後述のposで設定した座標を(0,0)とし、右下に向かって値が大きくなる。
- z:順序(0)
- 図形の重ね合わせの順序。
- 値が大きいほど前面に表示される。
- shape:図形('circle')
- 'circle'または'rect'を設定する。
- 'circle'は楕円、'rect'は長方形を描画する。
- width:幅(30)、height:高さ(30)
- color:色(16777215)
- 数値を設定する。
- RGB(#000000~#FFFFFF)を10進数に変換した値を指定する。
- もし変換が面倒であれば「0xffffff」のような書き方をすればよい。
- visible:表示(true)
- trueまたはfalseを設定。
- flaseを指定すると描画されなくなる。
- pos:位置('naka')
- 'naka'、'ue'、'shita'、'hidari'、'migi'を組み合わせた文字列を設定する。
- 'naka'は初期値なので特に設定する必要はない。
- mask:マスク(false)
- trueまたはfalseを設定する。
- falseは図形を塗りつぶし、trueは図形外を塗りつぶす。
- 図形外を塗りつぶした際はcolorとalphaが無効になる。
- commentmask:コメントマスク(false)
- trueなら図形と重なる位置のコメントを透過する。
- ただしmaskがtrueなら動作しない。
- colorは無効だがalphaは効果がある。
- drawText、dtには効果がない。
- rotation:回転(0)
- 図形の角度を設定する。角度は度で指定する。
- 図形の左上を中心に回転する。
- ※図形の大きさか変わってしまうというバグ有り
- mover:移動方法('')
- x、yを変更したときの移動方法を設定する。
- 空欄、smooth、rolling、kageから選択。
- 空欄以外を指定すると、移動過程が見えるようになる。
- ex.
0::/drawShape(x:50,y:80,shape:'circle',width:100,height:60,color:0xff0000,pos:'ue hidari',alpha:50)
drawText †
drawText(text:文字列,x:x座標,y:y座標,z:順序,size:大きさ,pos:位置,color:色,bold:太字,visible:表示,filterフィルター,alpha:透明度,mover:移動方法)
画面上に文字を表示する。
特に説明の無い項目はdrawShapeと同じ。
省略した場合の初期値は()の中のものとなる。
- bold:太字(false)
- trueまたはfalseを設定する。trueであれば文字が太字になる。
- filter:フィルター('')
- 文字装飾を行う。
- 空欄、fuchi、kasumi、kageから選択。それぞれ、フィルター無し、縁取りを行う、文字を霞ませる、右下に影をつける。
- ex.
0::/drawText(text:'本文',x:100,y:100,size:40,pos:'hidari ue',color:0xff0000)
dt †
dt(text:文字列,x:x座標,y:y座標,z:順序,size:大きさ,pos:位置,color:色,bold:太字,visible:表示,filterフィルター,alpha:透明度,mover:移動方法)
画面上に文字を表示する。
drawTextの簡易版と思って間違いない。
特に説明の無い項目はdrawTextと同じ。
省略した場合の初期値は()の中のものとなる。
commentTrigger
commentTrigger(then:式,timer:有効時間)
有効時間内にコメントが画面に表示される度にthen:式の処理を行う。
注意して設定しないと非常に重くなる。
定義変数chatは主にこの中で使う。
- then:式
- コメントが画面に表示されたら式を実行する。
- ちなみにthen:の部分は省略可能。
- timer:有効時間
- commentTriggerが設定された時間からの有効期間(単位:秒)。省略した場合は動画が終わるまで。
ctrig †
commentTriggerと同じ動作をする。要は短縮形。
if †
if(when:評価式,then:式1,else:式2)
条件分岐。
- when:評価式が真ならthen:式1を実行し、偽ならelse:式2を実行する。引数を指定しない最初の項目でも同様。つまりwhen:という記述は省略できる。
- then時、またはelse時に何も実行しない場合はその項目を省略できる。
- ex. 上はwhenが真なのでthenが実行されます。下はwhenが偽なのでthenが実行されません。
0::/a=true;if(a,then:dt(a,pos:'hidari'))
0::/b=false;if(b,then:dt(b,pos:'migi'))
timer †
timer(timer:待機時間,then:動作)
指定時間経過後に指定した動作を行う
- timer:待機時間で指定した時間(単位:秒)が経過した後にthen:動作を実行する。then: は省略できる。
jump †
jump(id:動画ID,msg:ジャンプメッセージ,from:開始位置,length:再生時間,return:戻り,returnmsg:戻りメッセージ,newwindow:対象窓)
他の動画に移動する
- id:動画ID('')
- 動画のIDを指定する。ちなみに id: は省略できる。
- msg:ジャンプメッセージ('')
- ジャンプする直前にメッセージを表示する。未設定でもそれ用のメッセージが表示される。\nで改行可。
- from:開始位置('')
- 指定した再生時から再生する。ただし、移動先は動画を完全に読み込むまで再生が開始されなくなる。
- length:再生時間('')
- return:戻り(false)
- returnmsg:戻りメッセージ('')
- newwindow:対象窓(false)
- trueなら新しいウインドウで、falseなら同じウィンドウでURLを開く。
- 備考
- jumpは一つの動画では基本的に一度しか作動しない。細かい挙動は@ジャンプを参照。
ジャンプ先から戻ってきた後の更にジャンプを再現する(@数値に当たる設定を行う)にはjumpCancelを使用すればよい。
ただし@ジャンプ同様確実に意図した通りに動作する保障は無い。
20::/jump('sm9',length:10,return:true)
21::/jumpCancel
40::/jump('sm13',length:10,return:true)
jumpCancel †
jumpCancel('')
- jump、若しくはseekの処理が開始される前に行うと該当の処理をキャンセルさせる。
seek †
seek(vpos:時間,msg:文字列)
- vpos:時間
- msg:文字列
- 文字列を設定した場合は移動する瞬間に画面が白で塗りつぶされ文字列が中央に表示される。
※移動できる位置はキーフレームの位置に限られる。
※エコノミーモードでは指定した時間に飛ばない、おまけにリロードすると飛び先時間が変わるという状態で、全く使い物にならない。
addMarker †
addMarker(name:名前,vpos:再生時)
getMarker †
getMarker(name:名前)
sum †
sum(x:x座標,y:y座標,size:大きさ,color:色,visible:表示,enabled:有効,pos:位置,asc:昇降,unit:単位,buttononly:ボタン限定,words:単語)
投票。
基本的に表示に関する設定はdrawTextと同じ。
- x:x座標(0)、y:y座標(0)
- size:大きさ(30)
- color:色(16777215)
- visible:表示(true)
- enabled:有効(true)
- trueなら投票を受け付ける。falseなら受け付けない。
- pos:位置('naka')
- asc:昇降(false)
- ソートの昇順、降順の設定のはずですが上手く動作しません(player: 2008-02-04 17:00)
- unit:単位('人')
- buttononly:ボタン限定(false)
- trueなら@ボタンからの投稿からしか受け付けないようにする。(正確にはコマンド欄に「from_button」があるものであれば受け付ける)
- words:単語
- 選択肢の設定
- ['選択肢1','選択肢2'] のようにArray形式で設定していく(括弧も含む)
- partial:一致部分(true)
- ex. ちなみに下のような方法で特定の項目の投票数を取得できます。
0::/a=sum(words:['犬','猫','兎'],unit:'票')
60::/b=a.words['犬'];dt(b,pos:'shita')
showResult †
showResult(x:x座標,y:y座標,size:大きさ,color:色,visible:表示,pos:位置,unit:単位,asc:昇降,sum:投票)
あらかじめsumを行い、その投票結果をまとめて表示するのに使用する。
- x:x座標(0)、y:y座標(0)
- size:大きさ(30)
- color:色(16777215)
- visible:表示(true)
- pos:位置('naka')
- unit:単位('人')
- asc:昇降(false)
- sum:投票
- まとめて表示する投票項目をArray形式で指定する。
- 同じ投票名の項目が複数ある場合は後に設定された方が優先される。
- ex.
0::/a=sum(words:['選択肢1'],pos:'migi')
30::/b=sum(words:['選択肢2'],pos:'hidari')
60::/showResult(sum:[a,b])
replace †
replace(src:置換え対象,dest:置換え後,enabled:有効,target:対象者,fill:置換え部分,partial:一致部分,color:色,size:大きさ,pos:位置)
置き換え。
省略した場合の初期値は()の中のものとなる。
- src:置換え対象('')
- これを省略すると全てのコメントが置換えの対象になります。
- dest:置換え後(srcと同じ文字列)
- enabled:有効(true)
- target:対象者('')
- target:対象者('owner user')
- userは視聴者コメントに有効、ownerは投稿者コメントに有効にする。
- fill:置換え部分(false)
- trueなら全文置換え、falseなら該当部分のみ置換え。
- partial:一致部分(true)
- trueなら部分一致、falseなら完全一致で置換え。
- 以下3項目はreplaceが作動したコメントのcolor、size、posをそれぞれ書き換えます。
- color:色(元のまま変更しない)
- size:大きさ(元のまま変更しない)
- pos:位置(元のまま変更しない)
- ex. 視聴者コメントのみ「w」を「…」に置換え。
0::/replace(src:'w',dest:'…',target:'user')
以下のような方法で全てのコメントのコマンドを強制的に書き換える事ができます。
0::/replace(color:0xff0000,size:'big',pos:'ue')
rand †
rand(文字列)
文字列、もしくは数値を渡すと対応した特定の数値が返ってくる。
ただしその数値はまず推測できない。
数値の範囲はおそらく 0 ~ 2^31-1 (=2147483647)
distance †
distance(X1,Y1,X2,Y2)
- 座標(X1,Y1)と座標(X2,Y2)間の距離を返り値とする。
screenWidth †
screenWidth('')
- 画面の幅(通常は512)を返す。
- この値が100%の幅となる。
screenHeight †
screenHeight('')
- 画面の高さ(通常は384)を返す。
- この値が100%の高さとなる。
addButton †
addButton(message:コメント,mail:コマンド,vpos:再生時,commes:投稿コメント,commail:投稿コマンド,comvisible:投稿表示,limit:有効回数,hidden:隠し)
- message:コメント('')
- mail:コマンド('')
- vpos:再生時
- commes:投稿コメント(ボタン部分のコメントの内容)
- commail:投稿コマンド('')
- comvisible:投稿表示(true)
- falseにするとこの機能を使って投稿したコメントはその投稿者以外から見えなくなる。
- limit:有効回数(1)
- hidden:隠し(false)
- ボタン状の表示を隠し、通常の文字と同じにする。クリックした際の効果は変わらない。
- どうやらニワン語で設定すると正常に動作しないようです。正常に動作された方は修正お願いします。(player: 2008-03-13 15:00)
playStartTime? †
playStartTime?('')
- 該当のページを開いた時刻を返す。
時刻は、unix秒(1970年1月1日からの秒数)のミリ秒単位の数字で表記される。つまり、unix秒の1000倍の数値となる。
0::/dt(playStartTime)
BGM †
BGM(id:動画ID,x:x座標,y:y座標,width:幅,height:高さ,visual:表示方法,volume:音量)
あらかじめBGM(BackGroundMovie?)として使用する動画を定義する。
- id:動画ID('sm9')
- 「@BGM使用可」と表示されている動画のみ指定できます。ちなみにsm9は使用できない動画です。
- visual:表示方法(0)
- trueなら表示、falseなら非表示、それ以外なら5秒でフェードアウト。
- /BGMを定義した順番に0番から順に番号がつけられます。この番号は後述のplayBGM等で使用します。
- @BGMのデフォルトはsm3844507、@BGMで指定した動画が削除されていた場合はsm3844508が再生される。ちなみに使用できる動画は2MB以下のものに制限されています。
- 使用できる動画は@BGM推奨から検索するといい。
- ex.
0::/BGM(id:'sm3844507',x:128,y:96,width:256,height:192,visual:true,volume:80)
5::/playBGM
30::/stopBGM
playBGM †
playBGM(番号)
- BGMで定義したBGMを再生する。
- 番号を省略した場合は0番
stopBGM †
stopBGM(番号)
addAtPausePoint? †
addAtPausePoint?(vpos:再生時,wait:静止時間)
addPostRoute? †
addPostRoute?(match:'一致',id:'レイヤ',button:'ボタン')
コメントの表示レイヤを指定します。addPostRoute?は事前実行スクリプトなので、動画の途中での変更は効きません。
- match:'一致'
レイヤを変更したいコメント内の文字列を指定します。部分一致です。
- id:レイヤ('default')
表示レイヤを以下から指定する。
- 'default':通常スレッド
- 'local':ローカルスレッド
- 'game':ニコススレッド
CM †
CM(id:動画ID,time:時刻,pause:停止,link:リンク,volume:音量)
あらかじめCMとして再生される動画を定義する。
- /CMを定義した順番に0番から順に番号がつけられます。この番号は後述のplayCMで使用します。
playCM †
playCM(番号)
定義変数 †
chat †
直前に処理されたコメントの情報を返す。
commentTrigger内で使用すると常にcommentTriggerを発生させたコメントのものを取得できるので有用。
- chat.message
該当のコメントの文字列を返す。
- chat.vpos
該当のコメントの再生時を返す。
- chat.isYourPost?
該当のコメントの投稿者が現在の視聴者だったらtrue、そうでなければfalseを返す。
- chat.mail
該当のコメントのコマンド欄を返す。
- chat.fromButton
該当のコメントのコマンド欄にfrom_buttonがあるならtrue、なければfalseを返す。@ボタンなどのボタンをクリックして生成されたコメントかどうかを判断する。
- chat.isPremium
該当のコメントの投稿者がプレミアム会員だったらtrue、そうでなければfalseを返す。
- chat.color
該当のコメントの色(0~16777215)を返す。未指定の場合はundefined。
- chat.size
該当のコメントの文字サイズを返す。medium、big、smallの順に0、1、2。未指定の場合はundefined。
- chat.no
該当のコメントのコメ番号を返す。
commentColor
任意のRBG系の数値を代入するとデフォルトのコメント色を変更する。
初期値はundefinedで何も代入されていない。
undefined時は次の設定と同等の処理を行う(commentColor=0xffffff)
commentColorに数値を代入した段階で変更が適応される。
0::/commentColor=0xff0000
commentPlace
"naka","shita","ue"のいずれかを代入するとデフォルトのコメントの流れ方を変更する。
undefined時の処理値(commentPlace='naka')
0::/commentPlace='shita'
commentSize
"big","medium","small"のいずれかを代入するとデフォルトのコメントのサイズを変更する。
undefined時の処理値(commentSize='medium')
0::/commentSize='small'
commentInvisible
コメントの表示を制御する。
undefined時の処理値(commentInvisible=false)
trueの時コメントを非表示にする。
ただし、drawTextなどで描画された文字はこの限りでない。
この変数によってコメント非表示した場合、プレイヤー中のコメント表示/非表示ボタンではコメントを再度表示させることができない。
30::/commentInvisible=true
commentReverse
数値を代入することでコメントが逆に流れるようになる。
undefined時の処理値(commentReverse=0)
0なら無効、1なら視聴者コメントのみ、2なら投稿者コメントのみ、3なら全て。
0::/commentReverse=1
defaultSage †
動画をsageるかを決めるブール値が入っている。
undefined時の処理値(defaultSage=false)
trueを指定した場合に、デフォルトで動画のコマンド欄にsageと書いているとされる。
現状の仕様では@デフォルトを行うと強制的にfalseになる。
0::/defaultSage=true
がバグのせいで仮にこれがtrueでもsageを記入したことにはならない模様。
postDisabled †
コメントの入力、投稿を制御する。
undefined時の処理値(postDisabled=false)
trueの時コメントの入力を拒否する。
30::/postDisabled=true
seekDisabled †
シークバーの操作をできなくするかを決めるブール値が入っている。
undefined時の処理値(seekDisabled=false)
trueを代入するとシークバーの操作ができなくなる。
0::/seekDisabled=true
isLoaded †
動画の読み込みが完了していればtrue、そうでなければfalseを返す。
5::/if(when:isLoaded,then:dt('読み込み済'),else:dt('読み込み中'))
動作しないっぽい。
isWide †
false以外の何らかの値を代入することで、drawShape等の描画命令が16:9モードに対応するようになる。
undefined時の処理値(isWide=false)
- ex
画面全体を塗りつぶす
0::/isWide=true
0::/drawShape(x:0,y:0,shape:'rect',width:screenWidth,height:screenHeight,color:0xffffff, pos:'ue hidari')
lastVideo †
未実装。一つ前に見た動画のIDが入っているように、そのうち実装されるかもしれません。現状では常にsm1を返します。
演算子 †
以下の演算子が使用可能です。
別記の方法でも同様の結果が得られます。
算術演算子 †
演算子 | 用例 | 解説 | 別記 |
+ | exp1 + exp2 | 和を求めます | exp1.add(exp2) |
- | exp1 - exp2 | 差を求めます | exp1.subtract(exp2) |
* | exp1 * exp2 | 積を求めます | exp1.multiply(exp2) |
/ | exp1 / exp2 | 商を求めます | exp1.divide(exp2) |
% | exp1 % exp2 | 商の余りを求めます | exp1.modulo(exp2) |
比較演算子 †
真ならtrue、偽ならfalseを返します。
演算子 | 用例 | 解説 | 別記 |
== | exp1 == exp2 | exp1とexp2が等しいなら真 | exp1.equals(exp2) |
!= | exp1 != exp2 | exp1とexp2が等しくないなら真 | exp1.notEquals(exp2) |
>= | exp1 >= exp2 | 大なりイコール | exp1.notLessThan?(exp2) |
<= | exp1 <= exp2 | 小なりイコール | exp1.notGreaterThan?(exp2) |
> | exp1 > exp2 | 大なり(exp1はexp2より大きい) | exp1.greaterThan(exp2) |
< | exp1 < exp2 | 小なり(exp1はexp2より小さい) | exp1.lessThan(exp2) |
論理演算子 †
真ならtrue、偽ならfalseを返します。
演算子 | 用例 | 解説 | 別記 |
&& | exp1 && exp2 | exp1がtrueで且つexp2がtrueならtrueを返します | exp1.and(exp2) |
|| | exp1 || exp2 | exp1がtrue、又はexp2がtrueならtrueを返します | exp1.or(exp2) |
! | !exp1 | exp1がfalseならtrueを返します | exp1.not |
未分類(用途不明含む) †
演算子 | 用例 | 解説 | 別記 |
= | exp1 = exp2 | exp1にexp2を代入します | |
:= | exp1 := exp2 | 関数内でローカル変数の初期化に使います | |
+ | +exp1 | exp1が数値ならそのまま、文字列なら0を返します | exp1.plus |
- | -exp1 | exp1が数値なら-1をかけたもの、文字列なら0を返します | exp1.minus |
++ | exp1 ++ | exp1を返し、exp1に1を加えたものをexp1に格納します。 | exp1=exp1.increase |
-- | exp1 -- | exp1を返し、exp1に-1を加えたものをexp1に格納します | exp1=exp1.decrease |
++ | ++ exp1 | exp1+1を返し、exp1に1を加えたものをexp1に格納します | exp1=exp1.increase |
-- | -- exp1 | exp1-1を返し、exp1に-1を加えたものをexp1に格納します | exp1=exp1.decrease |
+= | exp1 += exp2 | exp1+exp2の結果をexp1に格納します | exp1=exp1.add(exp2) |
-= | exp1 -= exp2 | exp1-exp2の結果をexp1に格納します | exp1=exp1.subtract(exp2) |
*= | exp1 *= exp2 | exp1*exp2の結果をexp1に格納します | exp1=exp1.multiply(exp2) |
/= | exp1 /= exp2 | exp1/exp2の結果をexp1に格納します | exp1=exp1.divide(exp2) |
%= | exp1 %= exp2 | exp1%exp2の結果をexp1に格納します | exp1=exp1.modulo(exp2) |
数値 †
数値です。
基本操作 †
- 数値に文字列を加えるようにすると自動的に文字列に変換されます。加える文字列は空でも同様です。
- 数字のみからなる文字列の場合、0を引くことにより数値に変換されます。
- 0から始まる数値は8進数、0xから始まる数値は16進数として扱われます。
floor †
numeric.floor
sin †
numeric.sin
- 正弦を求めます
- ex. 多分0に近い値を表示
0::/dt(3.14.sin)
cos †
numeric.cos
- 余弦を求めます
- ex. 多分-1に近い値を表示
0::/dt(3.14.cos)
pow †
exp1.pow(exp2)
- exp1のexp2乗を求めます
- ex. 「4」を表示
0::/dt(2.pow(2))
abs †
numeric.abs
- 絶対値を求めます
- ex. 「1」を表示
0::/dt((-1).abs)
文字列 †
文字列です。
基本操作 †
index †
string.index(value)
size †
string.size
- 文字列の長さを返します。
- ex. この場合は6を表示します。
0::/dt("ニコニコ動画".size)
indexOf †
string.indexOf(key [, from])
- stringの1文字目を0としてkeyが何文字目にあるのかを返します。fromを2とした場合は2つめのkeyが何文字目にあるかを返します。存在しない場合は-1を返します。
- これを利用してstringがkeyの文字列を含むこと、もしくは含まない事を検出できます。
- ex. この場合は3を返します。
0::/dt('abcdef'.indexOf('d'))
文字列検索の例。t1の文字列にt2の文字列が含まれるかをチェックする。文字列があればcheckにtrueが格納される。
0::/t1='abcdef';t2='d';check=(t1.indexOf(t2)>=0);if(when:check,then:dt('ある'),else:dt('ない'))
slice †
string.slice
toInteger †
string.toInteger
- 文字列を10進数の整数に変換します。小数点以下は切り捨てられます。
- 文字列の一文字目を0にし全ての桁が7以下の場合は8進数、0xにすると16進数として扱います。
- 数値以外の文字列を渡した場合はNaNを返します。
- ex. 511 を返します。
0::/dt('0777'.toInteger)
toFloat †
string.toFloat
eval †
string.eval
配列 †
配列です。
基本操作 †
- 変数のarrayに、"A","B","C"を要素に持つ配列を代入します。取り出し方は後述のindexにて。
0::/ array = ["A","B","C"]
- 二次元配列や三次元配列も作成できます。この場合"F"を表示します。
0::/ array = [["A","B"],["C",["D",["F"],"E"],"G"],"H","I"]
0::/ dt( array[1][1][1][0] )
index †
array.index(value)
size †
array.size
unshift †
array.unshift(value)
push †
array.push(value)
shift †
array.shift
pop †
array.pop
sort †
array.sort
sum †
array.sum
product †
array.product
join †
array.join(value)
オブジェクト †
オブジェクトに関連する処理。
def †
def(name, script)
- 関数を作成します。
- ex. "こんにちは世界"が表示されます。
0::/def(hoge(target), dt('こんにちは'+ target))
0::/hoge('世界')
オブジェクトに対してメソッドとして追加することも出来ます。
0::/obj = ['ほげ']
0::/obj.def(hoge, dt('配列の中身は' + self[0]))
0::/obj.hoge
ローカル変数の使用例です。"val=ローカル" "val=グローバル" と表示されます。
0::/val = 'グローバル'
0::/def(hoge, val := 'ローカル'; dt('val='+ val))
0::/hoge
0::/dt('val='+ val).pos = "migi"
def_kari †
def_kari(obj , script)
- オブジェクトを作成します。objを記述するとscriptを実行するようになります。
- ex. "テスト"が表示されます。
0::/def_kari('test',dt('テスト'))
0::/test
下記の方法で引数を渡すことも出来ます。id無しで渡したものは$1等の指定で呼び出せます。
"456テスト123"が表示されます。
0::/def_kari('test',dt($2+txt+$1))
0::/test('123',txt:'テスト','456')
setSlot †
label.setSlot(id,value)
- オブジェクトの指定したidの内容を書き換える。
- ex. textの内容を書き換えます。
0::/label=drawText(text:'test');label.setSlot('text','書き換え')
下の記述方法でも同じ動作をします。
0::/label=drawText(text:'test');label.text='書き換え'
getSlot †
label.getSlot(id)
- オブジェクトの指定したidの内容を取得する。
- ex. textの内容取得します。
0::/label=drawText(text:'test',pos:'ue');dt(label.getSlot('text'))
下の記述方法でも同じ動作をします。
0::/label=drawText(text:'test',pos:'ue');dt(label.text)
clone †
object.clone
その他構文 †
while_kari †
while_kari(評価式, 実行式)
__nicoscript_x †
alternative †
評価式.alternative(式1, 式2)
- 評価式が真であるときには式1、そうでなければ式2を実行してその結果を返します。
- ifの代わりになります。
- ex. この例では、"A"がコメントとして入力されると"正解です"と表示され、それ以外の場合は"不正解です"と表示されます。
0::/ ctrig( (chat.message == "A").alternative(dt("正解です"), dt("不正解です")) )
- このスクリプトは、ifを使って次のように書き換えられます。
0::/ ctrig( if(chat.message == "A", then: dt("正解です"), else: dt("不正解です")) )
alt †
評価式.alt(式1, 式2)
lambda †
lambda(スクリプトの処理)
timethis †
timethis(スクリプトの処理)
コメントまたはwikiの編集がわからない人はこちらから投稿してください。