&size(30){ニコスクリプト}; ---- #contents ---- *基本概要 [#gaiyou] -投稿者コメントのみで使用可能な@から始まる特殊なスクリプト --何かを表示するスクリプト、視聴者のコメントが変化するスクリプト、視聴者のコメントで何かを変化させるスクリプトなどがある --投稿者コメントを作成すると『[[投稿者コメント>http://www.nicovideo.jp/tag/%E6%8A%95%E7%A8%BF%E8%80%85%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88]]』タグが固定で自動付加。邪魔なら解除して削除可能。 --検索などで表示される『投稿者コメント』は過去に投稿者コメントを作成した証拠。ちなみに消す方法は今のところ無い。 -記述方法に関する注意点 --コマンド欄に記述する項目とコメント欄に記述する項目があるので注意 --コメント欄における全角半角、大文字小文字の記述はどちらでもよい([、]と[,]、[@]と[@]、[%]と[%]など) --一時停止で設定してもよいが、エディタから時刻を編集した方が正確に、また容易に設定できます。 --[[動画投稿者による独自スクリプト>#dokuji]](JavaScriptに似た感じ。ただし制限有り)を使用することも可能(使用動画は『[[未公開スクリプト>http://www.nicovideo.jp/tag/%E6%9C%AA%E5%85%AC%E9%96%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88]]』タグで検索) ※ちなみにこの独自スクリプト、[[公式には「ニワン語」というらしい>http://info.dwango.co.jp/recruit/project/story_2_3.html]]。 -投稿者コメントのうち通常のコメントは普通に閲覧可能 --『[[ニコスクリプト公開>http://www.nicovideo.jp/tag/%E3%83%8B%E3%82%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E5%85%AC%E9%96%8B]]』タグを固定化すると全スクリプトを公開可能 -本家・開発者の説明 --[[ニコニコヘルプ: 032 ニコスクリプトについて アーカイブ>http://help.nicovideo.jp/cat60/]] --[[ニコスクリプトマニュアル>http://www.nicovideo.jp/static/script/]] --[[ニコスクリプトのちょっとした解説 - こたにき>http://d.hatena.ne.jp/kotas/20071126/nicoscript]] ---- *投稿者用(インタラクティブ性の薄いもの) [#toukou] **投稿者コメント専用コマンド [#command] コマンド欄に記入可能なもの -migi hidari --画面の右、左に合わせて表示 --@から始まるニコスクリプトのみに有効 -@'''秒数''' --'''秒数'''に相当する部分には半角数字を入れる --ニコスクリプトの場合の未設定は概ね@30になる(30秒) --投稿者コメントであればニコスクリプトでなくても有効 -ex.10秒間、上に赤字の大文字を表示(hidariの効力は無い) |コマンド|@10 ue hidari big red| |コメント|(適当な文字列)| --ちなみに通常の投稿者のコメントは視聴者のコメントと位置を干渉せず重なって表示されるのでueとnakaを使用する際は留意すること。 **@テキスト [#text] @テキスト[:ラベル] 表示するテキスト -画面中央にコメントに影響されないテキストを表示する。 -コマンドで表示位置等を設定できる。 -ex.コマンド[@10 ue hidari big red]コメント[適当な文字列] **@trace [#trace] @trace 表示するテキスト -画面左下にコメントに影響されないテキストを表示します。 -一度表示すると消えません。(これを使うくらいなら@テキストを使用したほうがいい) **@eval [#eval] -@trace の後に使用可能 -詳細希望 **@watch [#watch] @watch[:表示するラベル] 監視したいスクリプト式 **@ヘルプ [#help] @ヘルプ @ヘルプ 一覧 @ヘルプ @使い方を知りたいマクロ -使用可能なニコスクリプト一覧、またはスクリプトの書式を表示する ---- *視聴者のコメントを変化させるスクリプト [#c_script] **@デフォルト [#default] @デフォルト -通常は[white medium naka]となっているデフォルトのコマンドを指定した形式に変更する -入力は順不同で省略した項目は通常のままとなる。 -設定したタイミング以降に適応され、コマンド側から@(数値)による有効時間の制御はできない。 -途中で元に戻したいなら@デフォルトのコマンド[white medium naka]で上書きすること。 //-コメント投稿時のコマンドに設定項目が付加されるわけではなくコメントの展開処理時に付加されるので、投稿者コメントを変更すれば元に戻る。 //オフィシャル動画にてコマンドにsageと設定していたが効力があるかは不明。 -ex.30秒以降のデフォルトコメントをred big ueにしたい時 |動画上の時刻|30秒で一時停止| |コマンド欄|red big ue| |コメント欄|@デフォルト| **@コメント禁止 [#kinsi] @コメント禁止 -スクリプトの有効時間内はコメント入力不可にし、またコメントを非表示にする。 -%%ただしコメント表示切り替えのボタンを二度クリックすると普通にコメントが表示される(恐らくバグ)%%修正されました -ex.30秒の時点から90秒間コメント禁止にしたい時(コメント禁止時間は0:30-2:00) |動画上の時刻|30秒で一時停止| |コマンド欄|@90| |コメント欄|@コメント禁止| -公式一般公開 体験動画 #nicovideo(sm1625232,left) #nicovideo(sm1758112) **@置換 [#chikan] @置換[:ラベル] 置換前の言葉 [置換後の言葉 単/全 含む/含まない 部分一致/完全一致] -コメントを置き換える。フィルターより細かな設定が可能。 -コマンド欄に[ue red]等を設定しておくと置換が発生したコメントについてのみ@デフォルトと同様の効果が発生する。 -[単]だと該当部分のみ[全]だと該当したコメントの全部が置換えられる。初期値[単] -[含む]だと投稿者コメントも置換えの対象になる。初期値[含まない] -[完全一致]だと視聴者コメントの全部が[置換前の言葉]と一致しないと置換が発生しない。初期値[部分一致] -公式一般公開 体験動画 #nicovideo(sm1625221) **@キーワードメッセージ [#k_message] @キーワードメッセージ 反応キーワード 表示するメッセージ [部分一致/完全一致] -スクリプトの有効時間内において特定のキーワードを投稿すると設定したメッセージが画面に表示される -ex.コマンド[@60]コメント[キーワード 表示するメッセージ] ---- *ジャンプスクリプト [#j_script] **@ジャンプ [#jump] @ジャンプ 移動先の動画ID [ジャンプメッセージ] -設定した秒数になると指定の動画へ移動する -ジャンプメッセージの表示時間は3秒程度 -ex.コメント[@ジャンプ sm11111 このメッセージ表示の後に移動] **@キーワードジャンプ [#k_jump] @キーワードジャンプ 反応キーワード 移動先の動画ID [ジャンプメッセージ 部分一致/完全一致] -スクリプトの有効時間内において特定のキーワードを投稿すると指定の動画へジャンプする -ex.コマンド[@30]コメント[@キーワードジャンプ キーワード sm11111 このメッセージ表示の後に移動] ---- *投票スクリプト [#t_script] **@投票 [#touhyo] @投票[:ラベル] 投票対象1,対象2,対象3.. [表示/非表示 投票数の単位 部分一致/完全一致] -表示/非表示は途中経過の表示を行うかどうかの選択。初期値[表示] -非表示はクイズの正解者数を数える時などに使用する。 その場合は正解の文字列を@置換で表示しないようにするべし -[完全一致]だと視聴者コメントと投票対象が完全に同じでないとカウントしません。初期値[部分一致] -ex.コメント[@投票:テスト 選択肢A,選択肢B,選択肢C 表示 人 部分一致] -公式一般公開 体験動画 #nicovideo(sm1625230) **@投票結果 [#kekka] @投票結果 [集計対象の投票ラベル1,ラベル2,ラベル3.. 昇順/降順] -あらかじめ@投票を行いその結果を表示するために使用する -ex.コメント[@投票結果 テスト 昇順] -公式一般公開 体験動画 #nicovideo(sm1625230) **@投票ジャンプ [#t_jump] @投票ジャンプ 投票ラベル 移動先の動画ID1,ID2,ID3.. [昇順/降順 集計対象の順位 ジャンプメッセージ] -あらかじめ@投票を行い、その投票の集計によって指定した動画へ移動する -ex.コメント[@投票ジャンプ テスト sm11111,sm22222,sm33333 降順 3 このメッセージ表示の後に移動] **@スコア [#score] @スコア 答え [点数 部分一致/完全一致] **@スコア表示 [#s_hyouji] @スコア表示 [スコアのラベル 単位] **@スコアジャンプ [#s_jump] @スコアジャンプ スコアのラベル 得点範囲 動画ID [メッセージ] ---- *玉・窓・ドアスクリプト [#tama_script] -窓とドアを複数同時にセットした場合は、いずれかの可視領域であれば動画の部分が表示されます。 **@玉 @窓 [#tama] @玉(窓)[:ラベル] [上,下,左,右への移動コメント 上,下,左,右の移動量 部分一致/完全一致] -玉の代わりに以下でも可。なお無印と中は同じサイズ。 @玉 @大玉 @中玉 @小玉 @窓 @大窓 @中窓 @小窓 -玉は大中小それぞれ200px,150px,70pxの玉を表示する。 -窓は玉と塗りつぶす領域が逆になる。 -コマンド関連 --色は使用可能(窓の時は強制で黒) --[ue,shita][migi,hidari]は初期位置に影響 --[big,medium,small]使用可能(big + @大玉 で非常に大きな玉になる等) -スクリプトの[]が未指定なら上,下,左,右で20px移動 -移動量は%でも指定可能 -玉はかつて画面外にも飛び出していきました。現在は修正済み。 -ex.コマンド[@40 big ue migi]コメント[@大窓 ↑,↓,←,→ 10%,10%,10%,10%] -公式一般公開 体験動画 #nicovideo(sm1625226,left) #nicovideo(sm1758051) **@玉窓ジャンプ [#tama_jump] @玉窓ジャンプ 玉か窓のラベル ゴールX,Y 移動先の動画ID [ジャンプメッセージ] -あらかじめラベルを設定した玉が指定の座標に来ると設定した動画へジャンプする **@ドア [#door] @ドア [左(上),右(下)への移動コメント 左右/上下 しきい値 部分一致/完全一致] -画面の左右or上下の半分を覆うドアが出現。コメントで覆う場所を切り替え。 -未指定なら左右のドアで左,右で切り替え -しきい値を設定するとその回数該当するコメントを行うとドアが切り替わるようになります。回数の累計はドアが切り替わった所でリセットされます。ちなみに0だと切り替わりません。初期値[5] -ex.コメント[@ドア うえ,した 上下 1] この場合、コメントで「うえ」「した」と入力することで、ドアが上下に切り替わります。 ---- *動画投稿者による独自スクリプト [#dokuji] 上述の「@」機能を使用しないで、独自に手動でスクリプトを書き込むことも可能なようです。 投稿者コメントのコメント欄で、「/」の後にスクリプトを書き込んで下さい。 式は;で区切る。 ---- **命令または関数 [#g7c7960e] drawShape(x:x座標,y:y座標,shape:図形,width:幅,height:高さ,color:色,visible:表示,pos:位置,mask:マスク,alpha:不透明度,rocation:場所) 画面上に任意の図形を描く -x座標、y座標 数値をとる。画面の中心を(0,0)とし、左下に向かって値が大きくなる。 -図形 "circle"または"rect"をとる。"circle"は楕円、"rect"は長方形を描画する -幅、高さ 数値をとる。 -色 数値をとる。数値はRGBの値を指定する。 -表示 trueまたはfalseをとる。flaseを指定すると、描画されなくなる。 -位置 "naka"、"hidari"、"migi"を組み合わせた文字列を取る。 -マスク trueまたはfalseをとる。trueは図形を塗りつぶす。falseは図形外を塗りつぶす。 -不透明度 数値をとる。数値は0~100を指定。 -場所 不明。 drawText(text:文字,x:x座標,y:y座標,size:大きさ,pos:位置,color:色,bold:太字,visible:表示) 画面上に文字を表示する -文字 文字列をとる。 -x座標、y座標 drawShapeと同様。 -大きさ 数値をとる。文字の大きさを指定。 -位置 drawShapeと同様。 -色 drawShapeと同様。 -太字 trueまたはfalseをとる。trueであれば文字が太字になる。標準ではfalse。 -表示 drawShapeと同様。 commentTrigger(then:式,timer:時間1) コメントが画面に表示されたら発生するイベント。定義変数chatはこの中で使う。 -式 コメントが画面に表示されたら、式を実行する -時間1 commentTriggerが書かれた時間から(時間1)秒間、commentTriggerを有効とする。省略した場合は動画が終わるまで。 if(when:評価式,then:式1,else:式2) 条件分岐。 -評価式が真なら式1を実行し、偽なら式2を実行。 distance(X1,Y1,X2,Y2) 2点間距離を求める -座標(X1,Y1)と座標(X2,Y2)間の距離を返り値とする。 jump(動画ID) 他の動画に移動する -動画ID 文字列をとる。動画のIDを指定。例。jump("sm9") **定義変数 [#ye743aa6] -chat commentTrigger内での変数。コメントの情報が入っている。 --chat.message commentTriggerに引っ掛ったコメントの文字列をとる --chat.isYourPost commentTriggerに引っ掛ったコメントが現在の視聴者だったらtrueそうでなければfalse --chat.vpos commentTriggerに引っ掛ったコメントの投稿時間をとる。 **定義定数 [#t9ae9d32] screenWidth -画面の幅をとる。 screenHeight -画面の高さをとる。 ---- -例1:スクリプト開始から特定コメントの投稿時点までの時間によって 結果表示が変わるスクリプトを使った動画 #nicovideo(sm1870398) -例2:動画上での簡易計算機 #nicovideo(sm2191614) -例3:三目並べ #nicovideo(sm2197148) -その他の独自スクリプト使用動画については「[[未公開スクリプト>http://www.nicovideo.jp/tag/%E6%9C%AA%E5%85%AC%E9%96%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88]]」タグを参照して下さい。 ---- *コメントまたはwikiの編集がわからない人はこちらから投稿してください。 [#l03ed74e] #br #pcomment(コメント/ニコスクリプト,10,below)