概要

HTML5版コメントジェネレーターで、コメジェネスキンを使う場合、
従来だと、以下の入力フォーマットで、1ユーザーに対し1ファイルの画像のみ関連付けされていた。
@コテハン[画像名]

本体を改造することで、以下のフォーマットで指定した複数スキンの中から、常にランダムで表示させるような仕様にする
@コテハン[画像A,画像B,画像C]

改造後も、従来通り , 記号で区切らない1つだけの登録フォーマットもそのまま使えます

注意

・改造は自己責任で
0.0.8a のバージョンを対象としています。それ以外は同じ方法で行けるか分かりません
・事前に CommentGenerator.js のバックアップ(コピー)を取っておきましょう

設定

[基本設定] → [スキン] → [使う(固定)]
→[フォルダ参照] で、コメジェネで利用するスキンを格納したフォルダを指定しておく。

[リスナー指定] → [リスナーがスキンを指定] にチェックを入れる

CommentGenerator.js (オリジナル/改造前)

おおよそ25~30行目あたりの、改造する付近だけ抜粋しています。
//スキン設定 というコメントが書いてあるので、そこを探すと見つけやすいかも?

	//スキン設定
	var PrivateSkinStart = Handle.indexOf("[");
	var PrivateSkinEnd = Handle.indexOf("]");
	var PrivateSkin = "";
	if((TxtFormat['userSkinName']==1)&&(PrivateSkinStart!=-1)&&(PrivateSkinEnd!=-1)) {
		if(PrivateSkinEnd-PrivateSkinStart-1!=0) {
			//【!】↓↓置換範囲ここから↓↓
			PrivateSkin = TxtFormat['SkinFolder']+"/skin_"+Handle.substr(PrivateSkinStart+1,PrivateSkinEnd-PrivateSkinStart-1)+".png";
			//【!】↑↑置換範囲ここまで↑↑
		}
	}
	if((PrivateColor != "")&&(PrivateSkin != "")) {

CommentGenerator.js (改造後)

上記で示した範囲を、以下のように置き換えます。
1行消えて、代わりに5行くらい増える感じですね。
この範囲以外に、書き換える箇所は特にありません

	//スキン設定
	var PrivateSkinStart = Handle.indexOf("[");
	var PrivateSkinEnd = Handle.indexOf("]");
	var PrivateSkin = "";
	if((TxtFormat['userSkinName']==1)&&(PrivateSkinStart!=-1)&&(PrivateSkinEnd!=-1)) {
		if(PrivateSkinEnd-PrivateSkinStart-1!=0) {
			//【!】↓↓置換内容ここから↓↓
			var _orgFile = Handle.substr(PrivateSkinStart+1 , PrivateSkinEnd-PrivateSkinStart-1);
			var _randSkinArr = _orgFile.split(",");
			var _arrMaxIndex = _randSkinArr.length-1;
			var _randSkinStr = _randSkinArr[ Math.floor(Math.random() * (_arrMaxIndex - 0 + 1) + 0) ];
			PrivateSkin = TxtFormat['SkinFolder']+"/skin_"+ _randSkinStr +".png";
			//【!】↑↑置換内容ここまで↑↑
		}
	}
	if((PrivateColor != "")&&(PrivateSkin != "")) {

書き換え後

あとはOBS等の配信ソフトを再起動等させるか、
もしくはOBSに登録している CommentGenerator.html を更新させるかすれば、この仕様が反映されるかと思います

@コテハン[ファイルA,ファイルB,ファイルC]のように、
紐づける画像ファイル名を , 記号で区切って入力してみてください

ただの個人的メモ

Handle に、表示するハンドルネーム文字列が送られる。
コテハン設定時にスキン用文字列も入れておけば、"ハンドル名[ファイル名]" のようになる
	var PrivateSkinStart = Handle.indexOf("[");
	var PrivateSkinEnd = Handle.indexOf("]");
	Handle.substr(PrivateSkinStart+1 , PrivateSkinEnd-PrivateSkinStart-1);
この流れで、[] の中に入っている文字列を抽出できるといった寸法
コテハン登録されてない場合は、生IDならそのまま(コメビュで自動取得設定にしていれば)ハンドル名だけ流れてくる
comment.xml にコメ番号もあるので、コメジェネ設定によってはその番号がHNとして扱われるケースもある。

以降、 var PrivateSkin に処理の過程でフルパスのスキンファイルが入るので、それが読み込まれる感じ。
なので、PrivateSkin に代入する前でフックして書き換える。

ただの個人的メモ:アニメも切っちゃう

該当のアニメーション箇所を変化しないようにすればまぁそれなりには。。
	this.skinimage.x = 0;
	this.bgcolorbar.x = 0;
	this.textedgecomment.x = this.leftSpace;
	this.textcomment.x = this.leftSpace;