//edit user : No.1 #contents *フィルタースクリプトに関する注意事項 [#n2606b31] &color(red,#ffffff){フィルタースクリプト機能は、上級者向けの機能であり、スクリプトによっては大変危険な処理も実行できてしまいます。&br;ActionScriptが理解できる方のみ使用してください。&br;ネット上等で得た信頼できないスクリプトを、動作内容を理解出来ないままコピー&ペーストして実行することは絶対にしないでください。&br;スクリプトの使用によってユーザーに対して損害が生じた場合でも、作者はいかなる責任も負いません。}; *フィルタースクリプトとは [#ma941cd2] スクリプトを記述することでより柔軟にコメントのNG化が行えたり、コマンドやコメントの内容を書き換えることも可能になります。~ ''出来ることの例''~ -コマンドを消去して通常のコメント化 -コメントやコマンド、ユーザーID以外の条件(投稿日時やコメント秒数など)でのNG化 *使用方法 [#a6b31859] 「SET」→「スクリプト」タブを開き、「フィルタースクリプトを利用する」にチェックを入れます。~ スクリプトを上のテキストエリアに入力します。変更はリアルタイムに反映されます。~ 出力エリアはスクリプトでエラーがあった場合や「printf()」関数の出力がされるデバッグ用エリアです。~ *スクリプト構文 [#n41b2be8] スクリプトエンジンは[[The D.eval API>http://www.riaone.com/products/deval/]]を使わせていただいています。~ スクリプトは書くコメントが表示される直前に呼び出されます。~ コメントの各パラメーターが下記の変数に代入されています。~ それぞれの変数を用いて変更を加えた後、スクリプトの最後に一回だけ「return item;」を記述して結果を戻します。~ **使用可能な変数 [#t3da533d] ***item["vpos"] [#need1d7b] int~ コメント表示タイミング ※ただしこれを変更しても表示タイミングは変更されません。 ***item["date"] [#sff88ea0] int~ コメント投稿日時 ***item["no"] [#gcd220f8] int~ コマンドNo. ***item["user_id"] [#w7af4c16] string~ ユーザーID ***item["ng_cnt"] [#ofed5c23] int~ 共有NGカウント ***item["group_id"] [#g5e7ddd8] int~ グループID ***item["mail"] [#m686d042] string~ コマンド ***item["mes"] [#h55f3af6] string~ コメント ***item["isNG"] [#r4699bdd] int~ 0:表示コメント 1:NGコメント(コメント非表示) *サンプルスクリプト [#u64a597f] **コマンド効果除去 [#gfd4f74d] item["mail"] = ""; return item; **20秒までのコメントを非表示に [#n2376f20] if(item["vpos"]<20){ item["isNG"] = 1; } return item; **コメントの元サイト別に色分け [#n108b6ce] var pattern:RegExp = new RegExp("red|pink|orange|yellow|green|cyan|blue|purple|black|#[0-9a-f]{6}", "i"); //すでに設定されている色を消去するための正規表現 var patternPara:RegExp = new RegExp("^[a-z0-9]{8}-", "i"); //ぱらすて用の正規表現 if(item["user_id"].toString().length == 27){ //user_idの文字数が27文字ならニコニコ動画のIDとみなす //ニコニコ:黄緑 item["mail"] = item["mail"].replace(pattern,"") + "#32cd32"; //すでに設定されている色コマンドを消した上で色をつける }else if(item["user_id"].toString().length == 24){ //SayMove:水色 item["mail"] = item["mail"].replace(pattern,"") + "#87cefa"; }else if(item["user_id"].toString().length == 10){ //ひまわり:オレンジ item["mail"] = item["mail"].replace(pattern,"") + "#ffa500"; }else if(patternPara.test(item["user_id"].toString())){ //ぱらすて:赤茶 item["mail"] = item["mail"].replace(pattern,"") + "#a52a2a"; if(item["user_id"] != undefined){ if(item["user_id"].toString().length == 27){ //user_idの文字数が27文字ならニコニコ動画のIDとみなす //ニコニコ:黄緑 item["mail"] = item["mail"].replace(pattern,"") + "#32cd32"; //すでに設定されている色コマンドを消した上で色をつける }else if(item["user_id"].toString().length == 24){ //SayMove:水色 item["mail"] = item["mail"].replace(pattern,"") + "#87cefa"; }else if(item["user_id"].toString().length == 10){ //ひまわり:オレンジ item["mail"] = item["mail"].replace(pattern,"") + "#ffa500"; }else if(patternPara.test(item["user_id"].toString())){ //ぱらすて:赤茶 item["mail"] = item["mail"].replace(pattern,"") + "#a52a2a"; } } return item; **時間の経過とともにコメントの色を変える [#ge6b9075] var pattern:RegExp = new RegExp("red|pink|orange|yellow|green|cyan|blue|purple|black|#[0-9a-f]{6}", "i"); //すでに設定されている色を消去するための正規表現 var _h = item["vpos"] * 0.25; //0-360までの色相 if(_h > 360){ _h = 360; } var _s = 0.8; //彩度 var _v = 0.9; //明度 var _RGB_MAX:Number = 255; var _r:Number = 255; var _g:Number = 255; var _b:Number = 255; //HSV→RGB変換 var hi:Number = Math.floor(_h / 60) % 6; var f:Number = _h / 60 - hi; var p:Number = _v * ( 1 - _s ); var q:Number = _v * ( 1 - _s * f); var t:Number = _v * ( 1 - _s * ( 1 - f)); switch (hi) { case 0 : _r = _v; _g = t; _b = p; break; case 1 : _r = q; _g = _v; _b = p; break; ; case 2 : _r = p; _g = _v; _b = t; break; case 3 : _r = p; _g = q; _b = _v; break; case 4 : _r = t; _g = p; _b = _v; break; case 5 : _r = _v; _g = p; _b = q; break; } _r *= _RGB_MAX; _g *= _RGB_MAX; _b *= _RGB_MAX; var fillString:String = "000000"; //0埋め用文字列 var colorStringR:String = _r.toString(16); //R var colorStringG:String = _g.toString(16); //G var colorStringB:String = _b.toString(16); //B colorString = "#" + fillString.substring(0,2 - colorStringR.length) + colorStringR + fillString.substring(0,2 - colorStringG.length) + colorStringG + fillString.substring(0,2 - colorStringB.length) + colorStringB; item["mail"] = item["mail"].replace(pattern,"") + colorString; return item;