このブログはPBW『無限のファンタジア』『シルバーレイン』『エンドブレイカー!』『サイキックハーツ』のキャラクター、およびそのプレイヤー(背後)の対話形式のブログです……でした。
対話形式は気まぐれに、残りはほとんどプレイング置き場になってます。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ネトゲ(TW2)でテストがありました。
そして昨日、結果が返ってきました。 ……背後(リアル)的には、勉強スタイルだ乱数だ何だを元にサーバーが点数計算して、なんだろうけど、 設定(キャラ)的には先生たちが1日で数ひゃ…数万枚の回答用紙を採点して、通信簿につけて…と考えると、先生の苦労が目に浮かびますw 自キャラ(城田恭子・b01069)のテスト結果はこんな感じになりました。 国語60点ちょい、数学と化学が90点ちょい。苦手なはずの英語が60点。 保健体育が96点、技術家庭科が28点―どっちも実技(得意な体育と苦手な料理)が要因のようです? だいぶ前に書いたユーザースクリプト(FirefoxでIE同様にサムネイルするためのスクリプト)、不具合があったので改修しました。 ……パッチファイル置こうかと思ったものの、行数が当てにならないので、全文置いています。 // ver 2.0 2008.11.15 // TW1(無限のファンタジア)、TW2(シルバーレイン)の両方に対応 // ver 2.1 2009.3.15 // NPC(投票不可)で投票できる不具合があったので、修正しました // 何もしない条件(サムネイルがある環境) // length == 0 : 状況がわからないが、少なくとも参照自体がエラー // length == 1 : 存在しないキャラクターID if (document.getElementsByTagName('script').length < 2){return;} var tw_thumbnail = { init: function(){ this.tw_prd = this.get_array('prd'); // 本家が使える場合は何もしない if ((document.all) || (this.tw_prd.length == 0)){return;} // DOMをサポートしていない場合、エラーが起こるので中断する if (!document.getElementById){return;} // IDを取得 var id_fild = this.img_sorce[this.img_sorce.length - 42]; var start = id_fild.indexOf('value')+7; var end = start + 6; var char_id = id_fild.substring(start, end); // 変数を取得 this.tw_vlabel = this.get_array('votelabel'); this.tw_lid = this.get_param('lastid'); this.tw_prm = this.get_param('getparm'); this.tw_in = this.get_param('login'); this.tw_votebtn = this.get_element('votebtn'); // スペーサーの高さを計算 var max_height=0; var init_height=0; for (var i=0;i<this.tw_prd.length;i++){ img_height = this.tw_prd[i][12].match(/height.*/); if (img_height){ image_height = parseInt(img_height[0].substring(8, img_height[0].length-1)); max_height = Math.max(max_height, image_height); if (i==this.tw_lid){init_height = image_height;} } } if (typeof(max_height)=='number'){this.max_height = max_height + 80;}; var spacer=document.createElement('div'); document.getElementsByTagName('body')[0].appendChild(spacer); spacer.setAttribute('id', 'spacer'); spacer.style.height = init_height+'px'; this.novotemsg = (this.tw_in) ? '未投票' : ' '; this.write_sorce(); this.init_link(char_id); this.get_element('prdmain').innerHTML = this.create_prd(this.tw_lid); }, // リンクの張り替え init_link: function(myid){ if (!this.tw_in){ for (var id=0; id<this.tw_prd.length; id++){ if (id == this.tw_lid){ this.get_element('tmb' + id).style.borderColor = '#ee1111'; } else { this.get_element('tmb' + id).style.borderColor = '#3333ee'; } this.get_element('tmbvote' + id).innerHTML = this.novotemsg; this.get_element('tmblink' + id).href = 'javascript:tw_change(' + id + ')'; } this.tw_votebtn.innerHTML = this.create_btn(this.tw_lid); return; } var vformval = '<form name="vform" id="vform" action="'+this.action_path+'/ils_gvote.cgi">'; vformval += '<input type="hidden" name="myid" value="'+myid+'">'; vformval += '<input type="hidden" name="getparm" value="' + this.tw_prm + '">'; for (var id=0; id<this.tw_prd.length; id++){ if (id == this.tw_lid){ this.get_element('tmb' + id).style.borderColor = '#ee1111'; if (this.tw_prd[id][4] == '' || this.tw_prd[id][8] == ''){ this.tw_votebtn.innerHTML = this.create_btn(id); this.get_element('tmbvote' + id).innerHTML = (this.tw_prd[id][4]==''?'投票不可':this.novotemsg); this.get_element('tmbvote' + id).style.color = '#ff0000'; } } else { if (this.tw_prd[id][4] == ''){ this.get_element('tmb' + id).style.borderColor = '#9999cc'; this.get_element('tmbvote' + id).innerHTML = '投票不可'; this.get_element('tmbvote' + id).style.color = '#9999cc'; } else if (this.tw_prd[id][8] == ''){ this.get_element('tmb' + id).style.borderColor = '#3333ee'; this.get_element('tmbvote' + id).innerHTML = this.novotemsg; this.get_element('tmbvote' + id).style.color = '#ff0000'; } else{this.get_element('tmb' + id).style.borderColor = '#9999cc';} } this.get_element('tmblink' + id).href = 'javascript:tw_change(' + id + ')'; vformval += '<input type="hidden" name="odrid' + this.tw_prd[id][0] + '" id="odrid' + this.tw_prd[id][0] + '" value="">'; } vformval += '</form>'; this.get_element('voteform').innerHTML = vformval; this.get_element('allvotebtn').innerHTML = '<input type="button" value="一括投票" onclick="tw_submit()">'; }, get_element: function(id){ return document.getElementById(id); }, // ボタンを生成 create_btn: function(id){ var buf; if(!this.tw_in){ buf='<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>'; buf+='あなたはログインしていないので、<br>投票できません。'; buf+='<br><br><br><br></td></tr></table>'; } else if ((this.tw_prd[id][4]=='')||(this.tw_prd[id][17]=='0'&&this.tw_serial==2)){ buf='<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>'; buf+='この作品には投票できません。'; buf+='<br><br><br><br></td></tr></table>'; } else if(this.tw_prd[id][8]==''){ buf='<table border="0" width="320" cellspacing="4" cellpadding="0" align="center">'; buf+='<tr><td colspan="4"><b>この作品に投票する</b><br>'; buf+='(「一括投票」ボタンでまとめて投票されます)<br></td></tr><tr>'; for(var i=1;i<=8;i++){ buf+='<td><a href="javascript:tw_store('+id+',\''+((i==8)?'n':i); buf+='\')"><img src="'+this.vote_img_path+'/ill_icon_kensaku0'; buf+=(i+1); buf+='.jpg" width="70" height="16" border="0"></a></td>'; if(i==4){buf+='</tr><tr>'}; } buf+='</tr>'; buf+='<tr><td colspan="4" align="center"><a href="javascript:tw_cansel('+id+');">キャンセル</a></td></tr>'; buf+='</table>'; } else{ buf='<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>'; buf+='あなたはこの作品に<br> 「<b>'; buf+=((this.tw_prd[id][8]=='n')?'いまいち':this.tw_vlabel[this.tw_prd[id][8]]); buf+='</b>」を投票しました。<br><br><br></td></tr></table>'; } return buf; }, // nameで指定された配列を、TWのソースから取得 // 2次配列を前提とした実装 get_array: function(name){ var param_array=[]; var img_sorce = this.img_sorce; for (var i=0;i<img_sorce.length;i++){ line=img_sorce[i]; if (line.indexOf(name) == 0){ // 空配列を除外 if (line.indexOf(' = new Array()') != -1 || line.indexOf('=new Array()') != -1 || line.indexOf('=[]') != -1 || line.indexOf(' = []') != -1){continue;} var start = line.indexOf('='); var end = line.length; if (line.charAt(end) == ';'){end--;} param = line.substring(start+1, end); param_array.push( eval(param) ); } } if (param_array.length == 0){return this.get_param(name);} return param_array; }, // nameで指定された変数を、TWのソースから取得 get_param: function(name){ var param=null; var img_sorce = this.img_sorce; for (var i=0;i<img_sorce.length;i++){ line = img_sorce[i]; if (line.indexOf(name) == 0){ var start=name.length; var end=line.length; if (line.charAt(end-1)==';'){end--;} if (line.charAt(start)=='='){start++;} else if (line.substring(start, start+3)==' = '){start+=3;} return eval(line.substring(start, end)); } } }, // span#prdmainのinnerHTMLを生成 create_prd: function(id){ var buf = '<table border="1" bordercolor="'+this.table_bgcolor+'" width="640" cellspacing="0" cellpadding="0" align="center">' buf += '<tbody>'; buf += '<tr><td align="center">'; buf += '<table width="100%"><tbody><tr><td align="left">'; if (id > 0){buf += '<a href="javascript:tw_change('+(id-1)+');">'+'<='+'</a>';} buf += '</td><td align="right">'; if (id < this.tw_prd.length - 1){buf += '<a href="javascript:tw_change('+(id+1)+');">'+'=>'+'</a>';} buf += '</td></tr></tbody></table>'; buf += this.tw_prd[id][1]; buf += '<div align="right">(' + (id + 1) + '/' + (this.tw_prd.length) + ')</div></td></tr>'; buf += '<tr><td align="center">'; buf += ((this.tw_prd[id][15] == '')?'':'<a href="'+this.tw_prd[id][14]+'" target="_blank">'); buf += '<img src="' + this.tw_prd[id][10] + '"' + this.tw_prd[id][11] + this.tw_prd[id][12] + ' border="0"></td></tr>'; buf += ((this.tw_prd[id][15] == '')?'':'</a>'); if (this.tw_prd[id][9] != ''){ buf += '<tr><td align="center"><br>'; buf += '『'+ this.tw_prd[id][9] + '』'; buf += '<br><br></td></tr>'; } if (this.tw_prd[id][13] != ''){; buf += '<tr><td align="center"><br>'; buf += '着せ替えパスワード:『 '; buf += this.tw_prd[id][13]; buf += ' 』'; buf += '<br><br></td></tr>'; } if (this.tw_serial==1){ buf += this.tw_prd[id][16]; if (this.tw_prd[id][4] != ''){ buf += '<tr><th><a href="/mugefan/illust/chip.cgi?ilsid=' + this.tw_prd[id][4]; buf += '"><img src="../img/icon_appare.jpg" width="61" height="50" border="0"></a></th></tr>'; } } else{ if (this.tw_prd[id][4] != ''){ buf += '<tr><th><a href="/sr/illust/chip.cgi?ilsid=' + this.tw_prd[id][4]; buf += '"><img src="../img/illust/icon_appare.jpg" width="61" height="50" border="0"></a>'; buf += this.tw_prd[id][18] + this.tw_prd[id][16] + '</th></tr>'; } else{ buf += '<tr><th>' + this.tw_prd[id][18] + this.tw_prd[id][16] + '</th></tr>'; } } buf += '</tbody></table>'; return buf; }, // サムネイルを動かすためのソースコードをHTMLに追加 write_sorce: function(){ var sorce = 'tw_prd=[\n'; for (var i=0;i<this.tw_prd.length;i++){ if (this.tw_prd[i][15] == ''){prd_name=this.tw_prd[i][5];} else{prd_name=this.tw_prd[i][5]+'<a href="'+this.tw_prd[i][14]+'" target="_blank">'+this.tw_prd[i][15]+'</a>';} sorce += '[\'' + prd_name + '\',\'' + this.create_prd(i) + '\']'; sorce += ((i==this.tw_prd.length-1)?'\n];\n':',\n'); } var func ='var max_image_height = '+this.max_height+';\n'; func+='function tw_change(id){'; func+='document.getElementById(\'tmb\'+lastid).style.borderColor=((prd[lastid][4]!=\'\'&&prd[lastid][8]==\'\')?\'#3333ee\':\'#9999cc\');'; func+='document.getElementById(\'tmb\'+id).style.borderColor=\'#ee1111\';'; func+='if(tw_prd[id][2]){document.getElementById(\'spacer\').style.height=tw_prd[id][2];\n}\n'; func+='else if(prd[id][12]&&prd[id][12]!=\'\'){\n'; func+='img_height=prd[id][12].match(\/height.*\/);\n'; func+='parseInt(img_height[0].substring(8, img_height[0].length-1));\n'; func+='space_height=max_image_height-parseInt(img_height[0].substring(8, img_height[0].length-1));\n'; func+='tw_prd[id][2]=(space_height+"px");\n'; func+='document.getElementById(\'spacer\').style.height=tw_prd[id][2];\n}'; func+='else{document.getElementById(\'spacer\').style.height=\'0px\';}\n'; func+='document.getElementById(\'ilslink1\').innerHTML=prd[id][3];'; func+='document.getElementById(\'ilslink1\').href=\''+this.action_path+'/ils_info.cgi?ilsid=\'+prd[id][4];'; func+='document.getElementById(\'ilslink2\').href=\''+this.action_path+'/ils_info.cgi?ilsid=\'+prd[id][4];'; func+='document.getElementById(\'prddate\').innerHTML=prd[id][6];'; func+='document.getElementById(\'prdvotes\').innerHTML=prd[id][7];'; func+='document.getElementById(\'prdname\').innerHTML=tw_prd[id][0];'; func+='document.getElementById(\'prdmain\').innerHTML=tw_prd[id][1];'; func+='document.getElementById(\'votebtn\').innerHTML=tw_btn(id);'; func+='lastid=id;};\n'; if (!this.tw_in){ func+='function tw_btn(id){'; func+='var buf;'; func+='buf=\'<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>\';'; func+='buf+=\'あなたはログインしていないので、<br>投票できません。\';'; func+='buf+=\'<br><br><br><br></td></tr></table>\';'; func+='return buf;};'; } else{ func+='function tw_store(id,vote){'; func+='voteval[id]=vote;'; func+='document.getElementById(\'tmbvote\'+id).style.color=\'#000000\';'; func+='document.getElementById(\'tmbvote\'+id).innerHTML=votelabel[vote];'; func+='if(id<prd.length-1){tw_change(id+1);}'; func+='else{document.getElementById(\'votebtn\').innerHTML=tw_btn(id);'; func+='if(novote==1&&confirm(\'このページの最後のイラストに投票しました。一括投票しますか?\')){tw_submit();}}}\n'; func+='function tw_cansel(id){'; func+='voteval[id]=undefined;'; func+='document.getElementById(\'tmbvote\'+id).style.color=\'#ff0000\';'; func+='document.getElementById(\'tmbvote\'+id).innerHTML=\''+this.novotemsg+'\';'; func+='if(id<prd.length-1){tw_change(id+1);}}\n'; func+='function tw_submit(){var voted=undefined;votedlength=0;'; func+='for(id=0;id<prd.length;id++){voted=voteval[id];'; func+='if(!voted){continue;}'; func+='document.getElementById(\'odrid\'+prd[id][0]).value=voted;'; func+='votedlength++;}'; func+='if(votedlength==0){return;};'; func+='document.getElementById(\'vform\').submit();}\n'; func+='function tw_btn(id){'; func+='if(!login){'; func+='buf=\'<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>\';' func+='buf+=\'あなたはログインしていないので、<br>投票できません。\';' func+='buf+=\'<br><br><br><br></td></tr></table>\';}' func+='\nelse if (prd[id][4]==""'; if(this.tw_serial==2){func+='||prd[id][17]=="0"';}; func+='){buf=\'<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>\';'; func+='buf+=\'この作品には投票できません。\';'; func+='buf+=\'<br><br><br><br></td></tr></table>\';}'; func+='else if(prd[id][8]==\'\'){'; func+='buf=\'<table border="0" width="320" cellspacing="4" cellpadding="0" align="center">\';'; func+='buf+=\'<tr><td colspan=\"4\"><b>この作品に投票する</b>\';'; func+='if(voteval[id]&&voteval[id]!=\'\'){buf+=\' \'+(((voteval[id]==\'n\')?\'いまいち'; func+='\':votelabel[voteval[id]])+\'を選択中\')};'; func+='buf+=\'<br>(「一括投票」ボタンでまとめて投票されます)\';'; func+='buf+=\'<br></td></tr><tr>\';for(var i=1;i<=8;i++){'; func+='buf+=\'<td><a href=\"javascript:tw_store(\';'; func+='buf+=id+\',\\\'\'+((i==8)?\'n\':i);'; func+='buf+=\'\\\')\"><img src=\"'+this.vote_img_path+'/ill_icon_kensaku0\';buf+=(i+1);'; func+='buf+=\'.jpg\" width=\"70\" height=\"16\" border=\"0\"></a></td>\';'; func+='if(i==4){buf+=\'</tr><tr>\'};};buf+=\'</tr>\';'; func+='buf+=\'<tr><td colspan=\"4\" align=\"center\"><a href=\"javascript:tw_cansel(\'+id+\');\">\';'; func+='buf+=\'キャンセル</a></td></tr></table>\';}'; func+='else{'; func+='buf=\'<table border="0" width="320" cellspacing="4" cellpadding="4"><tr><td><br>\';'; func+='buf+=\'あなたはこの作品に<br> 「<b>\';'; func+='buf+=((prd[id][8]==\'n\')?\'いまいち\':votelabel[prd[id][8]]);'; func+='buf+=\'</b>」を投票しました。\';'; func+='buf+=\'<br><br><br></td></tr></table>\';}'; func+='return buf;}'; } var js_code=document.createElement('script'); document.getElementsByTagName('body')[0].appendChild(js_code); js_code.setAttribute('type', 'text/JavaScript'); js_code.innerHTML += sorce + func; } }; // TW1とTW2の差分をセット var url = location.href; if (url.match(/^http:\/\/t-walker\.jp\/mugefan\//)){ tw_thumbnail.tw_serial = 1; tw_thumbnail.table_bgcolor = '#883300'; tw_thumbnail.action_path = '/mugefan/illust'; tw_thumbnail.vote_img_path = '../img'; } else if (url.match(/^http:\/\/t-walker\.jp\/sr\//)){ tw_thumbnail.tw_serial = 2; tw_thumbnail.table_bgcolor = '#5050b0'; tw_thumbnail.action_path = '/sr/illust'; tw_thumbnail.vote_img_path = '../img/illust'; } else{ return; } var img_js = document.getElementsByTagName('script')[0]; tw_thumbnail.img_sorce = (img_js.textContent || img_js.gnnerText || img_js.innerHTML).split('\n'); tw_thumbnail.init(); PR |
カレンダー
リンク
最新記事
(12/27)
(12/27)
(07/12)
(05/08)
(05/13)
カテゴリー
プロフィール
HN:
キッド
年齢:
38
性別:
男性
誕生日:
1986/03/22
職業:
(元)冒険者
最新コメント
[06/16 TWmap管理人]
[05/09 おか(静月PL)]
[09/28 水]
[07/05 イノセ]
[07/04 水]
アクセス解析
ブログ内検索
フリーエリア
Dropboxに登録しませんか?
Dropboxは複数の端末でファイルを共有・管理できるサービスです。
(PCからスマフォへの画像送信や、ToDo管理や、スマフォで発注文を書いてPCでリクエスト、など用途はたくさん!)
上のURLから登録すると、500MBが無料拡張されます。
最新トラックバック
|