[#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://info.dwango.co.jp/recruit/project/story_2_3.html]]。red||コメント|(適当な文字列)|--ちなみに通常の投稿者のコメントは視聴者のコメントと位置を干渉せず重なって表示されるのでueとnakaを使用する際は留意すること。表示するテキスト-画面中央にコメントに影響されないテキストを表示する。-コマンドで表示位置等を設定できる。表示するテキスト-画面左下にコメントに影響されないテキストを表示します。-一度表示すると消えません。naka]となっているデフォルトのコマンドを指定した形式に変更する-入力は順不同で省略した項目は通常のままとなる。-設定したタイミング以降に適応され、コマンド側から@(数値)による有効時間の制御はできない。naka]で上書きすること。//-コメント投稿時のコマンドに設定項目が付加されるわけではなくコメントの展開処理時に付加されるので、投稿者コメントを変更すれば元に戻る。-コマンド欄にsageと設定しすことで常にsageるようにする構想があるようだが正常に動作しない。[#kinsi]@コメント禁止-スクリプトの有効時間内はコメント入力不可にし、またコメントを非表示にする。部分一致/完全一致]-コメントを置き換える。フィルターより細かな設定が可能。red]等を設定しておくと置換が発生したコメントについてのみ@デフォルトと同様の効果が発生する。-[単]だと該当部分のみ[全]だと該当したコメントの全部が置換えられる。初期値[単]-[含む]だと投稿者コメントも置換えの対象になる。初期値[含まない]-[完全一致]だと視聴者コメントの全部が[置換前の言葉]と一致しないと置換が発生しない。部分一致/完全一致]-表示/非表示は途中経過の表示を行うかどうかの選択。初期値[表示]-非表示はクイズの正解者数を数える時などに使用する。その場合は正解の文字列を@置換で表示しないようにするべし-[完全一致]だと視聴者コメントと投票対象が完全に同じでないとカウントしません。[#tama_script]-窓とドアを複数同時にセットした場合は、いずれかの可視領域であれば動画の部分が表示されます。部分一致/完全一致]-玉の代わりに以下でも可。無印と中は同じサイズ。@小窓-玉は大中小それぞれ200px,150px,70pxの玉を表示する。-窓は玉と塗りつぶす領域が逆になる。非常に大きな玉になる等)-スクリプトの[]が未指定なら上,下,左,右で20px移動-移動量は%でも指定可能-玉はかつて画面外にも飛び出していきました。部分一致/完全一致]-画面の左右or上下の半分を覆うドアが出現。コメントで覆う場所を切り替え。-未指定なら左右のドアで左,右で切り替え-しきい値を設定するとその回数該当するコメントを行うとドアが切り替わるようになります。回数の累計はドアが切り替わった所でリセットされます。ちなみに0だと切り替わりません。この場合、コメントで「うえ」「した」と入力することで、ドアが上下に切り替わります。[#dokuji]上述の「@」機能を使用しないで、独自に手動でスクリプトを書き込むことも可能なようです。投稿者コメントのコメント欄で、「/」の後にスクリプトを書き込んで下さい。後ろの関数の後ろの()を省略すると全て初期値で処理されます。式は;で区切る事で一行に複数の式を書けます。基本的に一度表示すると消去するように命令を送らない限り消えません。具体的には下のように直接visibleの要素を書き換えることによって非表示にします。[#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)-solor:'''色'''(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)-solor:'''色'''(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の編集がわからない人はこちらから投稿してください。