Converge搭載

簡潔に行きます。 ※5keyのみでConvergeを設定できるようにします。 ※他keyでやっても、おにぎり2つ割り当てが出来ないので需要なさそうですし。 まずはスイッチのAS。黄色の部分を追加。
switch(_root.style){

	case "Default":
		_root.style = "Mirror";
		break;
	case "Mirror":
		_root.style = "Random";
		break;
	case "Random":
		_root.style = "Random+";
		break;
	case "Random+":
		_root.style = "S-Random";
		break;
	case "S-Random":
		_root.style = "S-Random+";
		break;
	case "S-Random+":
		if(_root.keyLabel==5){
			_root.style = "Converge";
		}else{
			_root.style = "Default";
		}
		break;
	case "Converge":
		_root.style = "Default";
	}

	gotoAndPlay("setOption");
}
「// 矢印・フリーズアロー」から11行間を上書きする、っていう作業をやったところ、 書き換える部分は探してください。 黄色の部分を追加、赤字を書き換え。
//以下S-Random関連処理

if(style=="S-Random" || style=="S-Random+" || style=="Converge"){
	if(style=="S-Random" && keyLabel!="7i"){
		np = timeline[3];	//おにぎりデータの保存(S-Random時の回避用)
		fnp = ftimeline[3];	//(フリーズ)
	}

	//S-Random処理に使用する配列生成	
	srtimeline = new Array();	srtimeline2 = new Array();	srtimeline3 = new Array();
	fsrtimeline = new Array();	fsrtimeline2 = new Array();	fsrtimeline3 = new Array();	
	st = new Array();	st2 = new Array();	st3 = new Array();
	en = new Array();	en2 = new Array();	en3 = new Array();

	//各矢印の並びを1つの変数にまとめる
	for(j=0;j<3;j++){						//左側矢印
		if(j!=1 || ( keyLabel!=5 && keyLabel!=9 && keyLabel!="DP" ) ){
			if(isNaN(srtimeline[j][0])){
				srtimeline = srtimeline.concat(timeline[j]);
			}
			if(ftimeline[j].length > 1){
				fsrtimeline = fsrtimeline.concat(ftimeline[j]);
			}
		}
	}
	
	if(style!="S-Random" && keyLabel!="7i"){
		if(isNaN(srtimeline[3][0])){
			srtimeline = srtimeline.concat(timeline[3]);
		}
		if(ftimeline[3].length > 1){
			fsrtimeline = fsrtimeline.concat(ftimeline[3]);
		}
	}
//"S-Random+"のときは、別変数に格納したものを元に戻す
if(style != "S-Random" && ( keyLabel=="DP" || keyLabel==11 || keyLabel……
	srtimeline = srtimeline.concat(srtimeline2,srtimeline3);
	fsrtimeline = fsrtimeline.concat(fsrtimeline2,fsrtimeline3);
}
//フリーズの配置
  ・
  ・
  ・
(中略)
  ・
  ・
  ・
}else if(keyLabel==5){			//5key
	if(style=="S-Random+"){
	  ・
	  ・
	  ・
	(中略)
	  ・
	  ・
	  ・
	}else{		
		for(k=0;k<fsrtimeline.length;k++){
			retrycount = 0;
			do {
				fretryflg = false;
				if(style=="Converge" && retrycount==0){
					r = 3;
				}else{
					do {
						r = Math.floor(Math.random() * 7);
					} while ( r==1 || r==3 || r==5 );
				}
				for(c=0;c<fuse[r].length;c++){
					if(fuse[r][c].s <= fsrtimeline[k].s && ……	
						fretryflg = true;
						break;
					}
				}
				retrycount++;
			}while (fretryflg);
		
			g = ftimeline[r].push(fsrtimeline[k].s);
			g = ftimeline[r].push(fsrtimeline[k].e);
			
			g = fuse[r].push({ s:fsrtimeline[k].s , e:fsrtimeline[k].e });
				
		}
	}
//通常矢印の配置(フリーズをよける)
  ・
  ・
  ・
(中略)
  ・
  ・
  ・
}else if(keyLabel==5){			//5key
	if(style=="S-Random+"){
	  ・
	  ・
	  ・
	(中略)
	  ・
	  ・
	  ・
	}else{		
		for(k=0;k<srtimeline.length;k++){
			retrycount = 0;
			do {
				fretryflg = false;
				retryflg = false;
				if(style=="Converge" && retrycount==0){
					r = 3;
				}else{
					do {
						r = Math.floor(Math.random() * 7);
					} while ( r==1 || r==3 || r==5 );
				}
				for(c=0;c<fuse[r].length;c++){
					if(fuse[r][c].s != undefined && fuse[r][c].s ……	
						fretryflg = true;
						break;
					}
				}
				if(ouse[r] == srtimeline[k]){
					retryflg = true;
				}
				retrycount++;
			}while (fretryflg || retryflg);

			g = timeline[r].push(srtimeline[k]);
			if(srtimeline[k] == srtimeline[k+1]){
				ouse[r]=srtimeline[k];
			}

		}
	}
実際に試して問題が無いようであれば次。 では「resultSet.as」です。 /*-------- リザルトコピー部分の作成 --------*/ ↑の上に書いた部分
//1行リザルト用Style省略
	if(_root.style=="Mirror"){
		st1 = "(鏡)";
	}else if(_root.style=="Random"){
		st1 = "(乱)";
	}else if(_root.style=="Random+"){
		st1 = "(乱+)";
	}else if(_root.style=="S-Random"){
		st1 = "(S乱)";
	}else if(_root.style=="S-Random+"){
		st1 = "(S乱+)";
	}else if(_root.style=="Converge"){
		st1 = "(全鬼)";
	}else{
		st1 = "";
	}
「全鬼」というのは、ツイッターで案を募った際に頂いた、Fly-Skyさんのを採用してます。 最後に、5key以外のときは、Convergeは選べないようにしていましたが、 複数keyの複数譜面のときに、変えた譜面が5key以外だったらConvergeをDefaultにします。 「InitFunction.as」を開き、下記の部分を追加してください。
function selectDifficulty(dif,preKey){
	
	// キーラベル( 5key か 7key かなどキー数を決定 )
	keyLabel = (keyLabelArr[dif]!=undefined ? keyLabelArr[dif] : "7");

	// 11キーであるかどうかのフラグ
	elvFlg   = ((keyLabel=="11" || keyLabel=="11L") ? true : false);

	// 14iキー、16iキーであるかどうかのフラグ
	elviFlg   = ((keyLabel=="14i" || keyLabel=="16i") ? true : false);

	//Converge→Default
	if(keyLabel != 5 && style=="Converge"){
		style = "Default";
	}

	// 譜面番号(1譜面目は空にする)
	diffin   = (dif!=0 ? dif+1 : "");
一応具体例は示しましたが、 selectDifficultyの中であればどこでも構いません。 よく分からない人は上の通りにしてください。 以上で作業は終了です。 というわけでお疲れ様でした、おにぎり地獄を是非体感してください。 topに戻る
inserted by FC2 system