12:10:52)追加された行はこの色です。削除された行はこの色です。[#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]]』タグが固定で自動付加。邪魔なら解除して削除可能。--検索などで表示される『投稿者コメント』は過去に投稿者コメントを作成した証拠。ちなみに消す方法は今のところ無い。--検索などで表示される『投稿者コメント』は投稿者コメントを作成した証拠。%%ちなみに消す方法は今のところ無い。%%編集モードにある「投稿者コメントを破棄」のボタンから削除可能。--一時停止で設定してもよいが、エディタから時刻を編集した方が正確に、また容易に設定できます。--通常のコメントと同様に投稿することで設定が可能。''エディタから時刻を編集した方が正確に、また容易に設定が可能。''エディタの書式は:で区切り、左から再生時、コマンド欄、コメント欄です。書式を表にすると次のようになります。small|'':''|コメント欄|エディタには次のように記述することになります。本ページにある上記のような例文はそのままエディタに入れると動作します。--[[動画投稿者による独自スクリプト>#dokuji]](JavaScriptに似た感じ。※ちなみにこの独自スクリプト、[[公式には「ニワン語」というらしい>http://info.dwango.co.jp/recruit/project/story_2_3.html]]。※ちなみにこの独自スクリプト、[[公式には「ニワン語」というらしい>http://info.dwango.co.jp/recruit/project/story_2_3.html]]。wiki内の解説ページは[[こちら>ニワン語]]。hidari--画面の右、左に合わせて表示--@から始まるニコスクリプトのみに有効-@'''秒数'''--'''秒数'''に相当する部分には半角数字を入れる--ニコスクリプトの場合の未設定は概ね@30になる(30秒)--投稿者コメントであればニコスクリプトでなくても有効--@buttonより先に記述しないとなぜか効果が無い-@button--@置換以外のコメントを受けて変化が起きるスクリプトにおいて、@ボタンを使用して作成したボタンからの投稿のみを受け付けるようにする。red:(適当な文字列)--ちなみに通常の投稿者のコメントは視聴者のコメントと位置を干渉せず重なって表示されるのでueとnakaを使用する際は留意すること。表示するテキスト-画面中央にコメントに影響されないテキストを表示する。-コマンドで表示位置等を設定できる。red]コメント[適当な文字列]-ex.再生時0:30から10秒間左上に大きな赤文字で「文字列」と表示する。表示するテキスト-画面左下にコメントに影響されないテキストを表示します。-一度表示すると消えません。表示する文字列/on/off-画面左下に赤字で文字列を表示します。-基本的にデバッグ用です。すると表示が消えます。表示するメッセージ-表示するメッセージを内部言語として評価した結果を@traceで処理します。naka]となっているデフォルトのコマンドを指定した形式に変更する-入力は順不同で省略した項目は通常のままとなる。-設定したタイミング以降に適応され、コマンド側から@(数値)による有効時間の制御はできない。naka]で上書きすること。//-コメント投稿時のコマンドに設定項目が付加されるわけではなくコメントの展開処理時に付加されるので、投稿者コメントを変更すれば元に戻る。-コマンド欄にsageと設定しすことで常にsageるようにする構想があるようだが正常に動作しない。-コマンド欄にsageと設定することで常にsageるようにする構想があるようだが正常に動作しない。幅-指定した範囲に重なるコメントの部分を非表示にする。-高さと幅は数値でも指定できるが%で指定したほうが確実かと。migiのいずれかを設定した場合は、その位置から中央に向かって高さ、幅が設定される。ちなみに画面全体を覆う高さ、幅は常に「100%」である。[#seek_dis]@シーク禁止-スクリプトの有効時間内からシークを行えないようにします。-ただし有効時間外からシークを行っていた場合、画面表示は「操作できない設定です」と表示されるもののどこにでも(シーク禁止の範囲内にすら)シークバーを置けます。[#kinsi]@コメント禁止-スクリプトの有効時間内はコメント入力不可にし、またコメントを非表示にする。[部分一致/完全一致]-コメントを置き換える。フィルターより細かな設定が可能。red]等を設定しておくと置換が発生したコメントについてのみ@デフォルトと同様の効果が発生する。-[単]だと該当部分のみ[全]だと該当したコメントの全部が置換えられる。初期値[単]-[含む]だと投稿者コメントも置換えの対象になる。初期値[含まない]-[完全一致]だと視聴者コメントの全部が[置換前の言葉]と一致しないと置換が発生しない。[押せる回数]-指定のコメントをボタンを押すだけで容易に投稿できるようにします。-表示位置は通常のコメントと同じです。よってmigi/hidariは使えません。-この機能を使って投稿されたコメントのコマンド欄には「from_button」という文字列が自動的に付加されます。-ボタンコメントの一部分を[]で囲うことにより、その部分のみがボタンになります。-投稿コメントが省略されている場合はボタンコメントのボタン部分と同じコメントを返します。-非表示に設定するとコマンド欄に「invisible」が自動的に付加されます。他の人からはそのコメントが見えなくなります。初期値「表示」-投稿コマンド欄は、そこに設定したコメンドがボタンを押して投稿されたコメントに付加されます。複数指定する場合は「,」で区切ります。省略した場合は@ボタンのコマンド欄の色設定のみ継承します。-%%押せる回数はそのボタンを押せる回数を指定します。初期値「1」%%現在は強制で1になるように固定されております。23:00)-コマンド欄に「hidden」を設定すると通常の文字と同じ表示になります。ボタンとして押すことは可能です。(ue,shitaコマンドで並べてある場合、「hidden」を有効にすると大きくずれる場合があるようです。)-プレミアム会員専用の色の場合、ボタンの色には反映されるが押した時に出てくるコメントが白くなるというバグあり(green2限定?)-視聴者がコメント非表示にしていると、ボタンも表示されないので注意。適用レイヤー-スクリプトの有効時間内において、コメントが流れる方向を「左から右」にします。-適用レイヤーは「コメ」「投コメ」「全」のいずれかを設定(デフォルトでは「全」)。-「コメ」設定だと通常コメントのみが、「投コメ」設定だと投稿者コメントのみが、「全」だと全てのコメントが「左から右」に流れるようになる。-コメントが流れている途中でスクリプトが有効になった場合、コメントが逆流した際の表示位置にワープする。[戻りメッセージ]-設定した秒数になると指定の動画、もしくは指定の再生時へ移動する。-コマンド欄に@数値で有効時間を指定できる。有効時間外にシークした場合は@ジャンプは動作しない。省略した場合は次の@ジャンプがある所か動画の終わりまで有効。-ジャンプ先は以下の形式の中から選択する。--sm9指定した動画(この場合はsm9)へ移動する。--#1:30指定した再生時(この場合は1:30)へ移動する。--#ラベルAあらかじめ設定しておいた@ジャンプマーカーの中の該当の位置へ移動する。-ジャンプメッセージの表示時間は3秒程度。-ジャンプ先再生開始位置はジャンプ先を何秒の位置から再生するか[分:秒]で指定する。これが設定されていると動画を全て読み込むまで再生が開始されない。-戻り秒数が設定されている場合はその時間再生されたら元の動画に戻る。-戻りメッセージはその戻る際にメッセージを表示させる。-@ジャンプ関連の戻り値の仕様--URLにあらかじめGETメソッドで戻る際の情報が付加される。--returnto戻った際にどこから再生するか。ジャンプが発生した再生時が格納される。このメッセージ表示の後に移動-基本的に1動画の1再生につき@ジャンプは1度しか動作しない。@ジャンプで戻り秒数を設定した場合で戻って場合、同じIDの動画への@ジャンプは発生しないように制限がかかっている。この制限のかかった@ジャンプが処理された場合でも@ジャンプは行われたことになり、それ以上@ジャンプは作動しない。戻ってきた後に別の動画に再びジャンプさせる時はこの制限を回避しなければいけない。動画の再生が始まって投稿者コメントが読み込まれ設定される前にそのジャンプを発生させた@ジャンプの有効時間を抜けなければいけない。具体的には「@ジャンプをキーフレームに置く」「コマンド欄に@数値を非常に小さい値で設定する」の2点で行う事となる。エコノミーモードでキーフレームの位置がずれた場合は上手くいかなくなる可能性がある。基本的に上手くいかない可能性が高い事を覚悟しておいたほうがいい。[#j_marker]@ジャンプマーカー:ラベル-@ジャンプの移動先に@ジャンプマーカーで設定したラベルを指定すると、その@ジャンプマーカーの再生時へ移動するようになります。[戻りメッセージ]-スクリプトの有効時間内において特定のキーワードを投稿すると指定の動画や再生時へジャンプする。-[同窓/別窓]以降の設定値はジャンプ先が動画のIDの場合のみに有効。-別窓なら新しいウインドウを開く。その際戻り秒数を設定するとその新しいウインドウにから見て同窓で戻り先を展開する。-その他の設定項目は[[@ジャンプ>#jump]]を参照。ジャンプ先の再生位置-動画の読み込みが完了していない場合、指定の再生位置へジャンプします。-ジャンプ先の再生位置は以下のいずれかの方法を使用します。[メッセージ]-動画の再生を一定時間一時停止します。@BGMの再生は停止されません。[時間]-指定した動画をCMとしてニコ割で処理します。上部広告枠の所に表示されます。-再生する動画で使えるのは@CMのアイコンが付加された動画のみです。該当の動画は[[ユーザーニコ割>http://www.nicovideo.jp/tag/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%8B%E3%82%B3%E5%89%B2]]タグから検索できます。-「再生/停止」で再生を設定するとCM中も元の動画はそのまま再生され続けます。停止であれば一時停止します。-ジャンプ先はsm11111のような動画ID、若しくはco11111のようなコミュニティIDを設定。CM再生中に広告をクリックした場合にジャンプが発生します。-音量は0~100で設定。-時間は4桁の数値で指定。1530とすれば15時30分に流れます。未設定の場合は@CMを設定した再生時で流れます。[部分一致/完全一致]-表示/非表示は途中経過の表示を行うかどうかの選択。初期値[表示]-非表示はクイズの正解者数を数える時などに使用する。その場合は正解の文字列を@置換で表示しないようにするべし-[完全一致]だと視聴者コメントと投票対象が完全に同じでないとカウントしません。[部分一致/完全一致]-有効時間内で「答え」をコメントすると「ラベル」に「点数」を加算します。-ラベルが未指定なら「スコア」というラベルに点数が格納されます。-このスクリプト単体での表示は何もありません。-点数の初期値は10。マイナスの値も指定可能。[単位]-@スコアで格納したスコアを表示します。-「スコアのラベル」が未指定なら「スコア」というラベルから呼び出します。-「単位」の初期値は「点」-スコアのラベルの設定値が同じ@スコア表示を複数設定した場合、最後に処理される@スコア表示の表示値が他の@スコア表示でも表示されるようです(おそらくバグ)。0s~60sまで「答え」と投稿する度に50点加算。60sでその合計値を表示。[戻りメッセージ]-@スコアの得点でジャンプ先を設定する。-「点数の範囲」は以下のような設定値を使います。[#tama_script]-窓とドアを複数同時にセットした場合は、いずれかの可視領域であれば動画の部分が表示されます。[部分一致/完全一致]-玉の代わりに以下でも可。無印と中は同じサイズ。@小窓-玉は大中小それぞれ200px,150px,70pxの玉を表示する。-窓は玉と塗りつぶす領域が逆になる。非常に大きな玉になる等)-スクリプトの[]が未指定なら上,下,左,右で20px移動-移動量は%でも指定可能-玉はかつて画面外にも飛び出していきました。[戻りメッセージ]-あらかじめラベルを設定した玉が指定の座標に来ると設定した動画へジャンプする。-「ジャンプ先」以降の設定値は[[@キーワードジャンプ>#k_jump]]を参照。部分一致/完全一致]-画面の左右or上下の半分を覆うドアが出現。コメントで覆う場所を切り替え。-未指定なら左右のドアで左,右で切り替え-しきい値を設定するとその回数該当するコメントを行うとドアが切り替わるようになります。回数の累計はドアが切り替わった所でリセットされます。ちなみに0だと切り替わりません。この場合、コメントで「うえ」「した」と入力することで、ドアが上下に切り替わります。[#ed87e837]//-このスクリプトは視聴している側でも使用可能である//-コメント欄に打ち込んで「コメントする」を押せばhttp://ichiba.nicovideo.jp/pizza/に自動的にジャンプする////投稿コメントに該当の文字列があるかどうかをチェックしているだけでありニコスクリプトとは一切関係ありません。[#dokuji]上述の「@」機能を使用しないで、独自に手動でスクリプトを書き込むことも可能なようです。投稿者コメントのコメント欄で、「/」の後にスクリプトを書き込んで下さい。後ろの関数の後ろの()を省略すると全て初期値で処理されます。式は;で区切る事で一行に複数の式を書けます。基本的に一度表示すると消去するように命令を送らない限り消えません。具体的には下のように直接visibleの要素を書き換えることによって非表示にします。[#dokuji]記述項目増加につき分割:[[ニワン語]]下記のようなものが出来るようです。[#c17faf91]drawShape(x:'''x座標''',y:'''y座標''',shape:'''図形''',width:'''幅''',height:'''高さ''',color:'''色''',visible:'''表示''',pos:'''位置''',mask:'''マスク''',alpha:'''不透明度''',rotation:'''回転''')画面上に任意の図形を描く。設定の必要性が無い項目は省略できる。省略した場合の初期値は()の中のものとなる。-x:'''x座標'''(0)、y:'''y座標'''(0)--表示を行う座標。--後述のposで設定した座標を(0,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が無効になる。-alpha:'''不透明度'''(100)--不透過度を設定する。不透明-rotation:'''回転'''(0)--図形の角度を設定する。--図形の左上を中心に回転する。[#t134c24f]drawText(text:'''文字列''',x:'''x座標''',y:'''y座標''',size:'''大きさ''',pos:'''位置''',color:'''色''',bold:'''太字''',visible:'''表示''')画面上に文字を表示する。説明の無い項目はdrawShapeと同じ。省略した場合の初期値は()の中のものとなる。-text:'''文字列'''('')--表示する文字列を設定する。-x:'''x座標'''(0),y:'''y座標'''(0)-size:'''大きさ'''(14)--フォントの大きさを設定する。-pos:'''位置'''('naka')-color:'''色'''(0)-bold:'''太字'''(false)--trueまたはfalseを設定する。trueであれば文字が太字になる。[#p164b671]dt('''文字列''',x:'''x座標''',y:'''y座標''',size:'''大きさ''',pos:'''位置''',color:'''色''')画面上に文字を表示する。drawTextの簡易版と思って間違いない。説明の無い項目はdrawtextと同じ。省略した場合の初期値は()の中のものとなる。-'''文字列'''('')--text:の記述は必要ない。[#pa6e7c99]commentTrigger(then:'''式''',timer:'''有効時間''')有効時間内にコメントが画面に表示される度にthen:'''式'''の処理を行う。注意して設定しないと非常に重くなる。定義変数chatは主にこの中で使う。-then:'''式'''--コメントが画面に表示されたら式を実行する。--ちなみにthen:の部分は省略可能。-timer:'''有効時間'''--commentTriggerが設定された時間からの有効期間(単位:秒)。省略した場合は動画が終わるまで。[#ydc4f4b4]commentTriggerと同じ動作をする。[#b413b67a]if(when:'''評価式''',then:'''式1''',else:'''式2''')条件分岐。-when:'''評価式'''が真ならthen:'''式1'''を実行し、偽ならelse:'''式2'''を実行する。[#gaeb563b]timer(timer:'''待機時間''',then'''動作''')指定時間経過後に指定した動作を行う-timer:'''待機時間'''で指定した時間(単位:秒)が経過した後にthen'''動作'''を実行する。[#q8a24e00]jump('''動画ID''',msg:'''ジャンプメッセージ''')他の動画に移動する-'''動画ID'''--動画のIDを指定する。-msg:'''ジャンプメッセージ'''--ジャンプする直前にメッセージを表示する。[#j0f7cc7f]rand('''文字列''')文字列、もしくは数値を渡すと対応した特定の数値が返ってくる。数値の場合は、その数値を超えない最大の整数の31倍の数値が返ってくる。[#u779a7cc]counter(x:'''x座標''',y:'''y座標''',size:'''大きさ''',height:'''色''',visible:'''表示''',enabled:'''有効''',pos:'''位置''',unit:'''単位''')-x:'''x座標'''(0)-y:'''y座標'''(0)-size:'''大きさ'''(30)-height:'''色'''(16777215)--heightになってるのは本体のバグです。17:00で確認)-visible:'''表示'''(true)-enabled:'''有効'''(true)--trueだと有効、falseだと無効。[#f36b2629]sum(x:'''x座標''',y:'''y座標''',size:'''大きさ''',color:'''色''',visible:'''表示''',enabled:'''有効''',pos:'''位置''',asc:'''昇降''',unit:'''単位''',words:'''単語''')投票。基本的に表示に関する設定はdrawTextと同じ。-x:'''x座標'''(0)-y:'''y座標'''(0)-size:'''大きさ'''(30)-color:'''色'''(16777215)-visible:'''表示'''(true)-enabled:'''有効'''(true)--trueなら投票有効。17:00)-unit:'''単位'''('人')--画面に表示される単位。ようにArray形式で設定していく(括弧も含む)-partial:'''一致部分'''(true)--trueなら部分一致、falseなら全体一致。[#wbc88940]showResult(x:'''x座標''',y:'''y座標''',size:'''大きさ''',color:'''色''',visible:'''表示''',pos:'''位置''',unit:'''単位''',asc:'''昇降''',sum:'''投票''')あらかじめラベル付きで投票を行い、その投票結果をまとめて表示するのに使用する。-x:'''x座標'''(0)-y:'''y座標'''(0)-size:'''大きさ'''(30)-color:'''色'''(16777215)-visible:'''表示'''(true)-pos:'''位置'''('naka')-unit:'''単位'''('人')-asc:'''昇降'''(false)-sum:'''投票'''--まとめて表示する投票項目をArray形式で指定する。--同じ投票名の項目が複数ある場合は後に設定された方が優先される。[#e2e18f5a]replace(src:'''置換え対象''',dest:'''置換え後''',enabled:'''有効''',target:'''対象者''',fill:'''全文置換え''',partial:'''一致部分''',color:'''色''',size:'''大きさ''',pos:'''位置''')置き換え。省略した場合の初期値は()の中のものとなる。-src:'''置換え対象'''('')-dest:'''置換え後'''('''srcと同じ文字列''')-enabled:'''有効'''(true)--trueだと有効、falseだと無効。owner')--userは視聴者コメントに有効、ownerは投稿者コメントに有効にする。-fill:'''全文置換え'''(false)--trueなら全文置換え、falseなら該当部分のみ置換え。-partial:'''一致部分'''(true)--trueなら部分一致、falseなら完全一致で置換え。-color:'''色'''--以下3項目はreplaceが作動したコメントのcolor、size、posをそれぞれ書き換えます。--しかしはcolorはバグのため正常に動作しません。[#j5709af1]distance('''X1''','''Y1''','''X2''','''Y2''')-座標(X1,Y1)と座標(X2,Y2)間の距離を返り値とする。[#p09d5369]screenWidth("")-画面の幅を返す。-通常は512を返す。[#b2017df5]screenHeight('')-画面の高さを返す。-通常は384を返す。[#se2ed098]最後に処理されたコメントの情報を返す。commentTrigger内で使用すると常にcommentTriggerを発生させたコメントのものを取得できるので有用。-chat.message該当のコメントの文字列を返す。-chat.isYourPost該当のコメントの投稿者が現在の視聴者だったらtrue、そうでなければfalseを返す。-chat.vpos該当のコメントの投稿時間を返す。[#g6a46db4]任意のRBG系の数値を代入するとデフォルトのコメント色を変更する。初期値はundefinedで何も代入されていない。[#ad60af31]"naka","shita","ue"のいずれかを代入するとデフォルトのコメントの流れ方を変更する。[#mca6a8f1]"big","medium","small"のいずれかを代入するとデフォルトのコメントのサイズを変更する。[#z9962fa7]コメントの入力、投稿を制御する。undefined時の処理値(postDisabled=false)trueの時コメントの入力を拒否する。[#p22a5240]コメントの表示を制御する。undefined時の処理値(commentInvisible=false)trueの時コメントを非表示にする。drawTextなどで描画された文字はこの限りでない。この変数によってコメント非表示した場合、プレイヤー中のコメント表示/非表示ボタンではコメントを再度表示させることができない。[#kdfed63e]動画をsageるかを決めるブール値が入っている。undefined時の処理値(defaultSage=false)trueを指定した場合に、デフォルトで動画のコマンド欄にsageと書いているとされる。現状の仕様では@デフォルトを行うと強制的にfalseになる。[#m9451055]以下の演算子が使用可能です。exp2|商の余りを求めます-比較演算子~真ならtrue、偽ならfalseを返します。exp2|exp1がtrue、又はexp2がtrueならtrueを返します:!exp1|exp1がfalseならtrueを返します。from])--stringの1文字目を0としてkeyが何文字目にあるのかを返します。fromを2とした場合は2つめのkeyが何文字目にあるかを返します。存在しない場合は-1を返します。--これを利用してstringがkeyの文字列を含むこと、もしくは含まない事を検出できます。'abcdef'.indexOf('d')&br;この場合は3を返します。-----例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]*コメントまたはwikiの編集がわからない人はこちらから投稿してください。