スペル導入方法を書いていきます。
マイクロスレッドの使用が必須です。
////////////////////////////////////////////////////////////////////////////////////////
///////////////////スペル作成の部////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
SpellCardフォルダにスペルを作成します。
script_enemy_mainのすぐ後に

let Norma=6;//撮影枚数の設定
let SpellTimer=9000;//制限時間の設定（フレーム単位）
let StepUp=[1,2,3,4,5];//段階移行する枚数を設定（九つまで設定可能）。
//StepUp1〜9（boolean）まであり、初期はfalse。入力枚数撮るとtrueになる
#include_function ".\..\txt/DoubleSpoilerData.txt"

を入れます。上二つは説明する必要もありませんから三つ目について。
必ずしも9つ入れる必要はなく
let StepUp=[2,4];
でもＯＫ。10以上いれなければ良い。
変化させない場合でも[];を入力すること

使い魔の場合は
let StepUp=[];
#include_function ".\..\txt/DoubleSpoilerDataServant.txt"
の二行を入れる

以下具体的な例（いい例というわけではないです）

let StepUp=[2,4];	
let way=20;
task step
{
	while(!StepUp1){yield;}//2枚とるまで繰り返す
	way=22;
	while(!StepUp2){yield;}//4枚とるまで繰り返す
	way=24;
}

@Initializeで以下の２行を追加
InitializeDoubleSpoiler;
DrawSpellName(画像へのパス、左、上、右、下);//必ずしも入れる必要はない、
SetLife関数は関数内で実行される。

@Mainloopで追加（使い魔にも使用する）
DoubleSpoilerYield;
yield;の代わりに使用する。

@Drawloopで任意追加
DrawTextSpellName(名前(文字列）,Ｘ座標);
DrawSpellNameの代わりにDwawTextで表示する。
これを使う場合はDrawSpellNameの画像パスを"None"にする。

DrawDoubleSpoiler;
クリア時ボスのAlpha値をゼロにする関数。
気になる人は入れる。

@Finalizeで以下の一行を追加
FinalizeDoubleSpoiler;

その他任意に追加するもの
SetBulletScorePoint(Kind,score);
Kindは0〜12まで入力。１〜１１はデフォルト弾の種類（数字が小さい順）
12はユーザー追加弾。scoreは１弾当たりの得点。

任意のタイミングで追加するもの
MagicCircleEffectTask;
//指定タイミングでNiceShot用魔方陣を出します。

DoubleSpoilerDeleteEnemyShotImmediatelyInCircle(引数：4)
指定タイミングで弾消去を行います。
使い方はDeleteEnemyShotImmediatelyInCircleと一緒。

専用関数
DoubleSpoilerCreateShot01(引数：9)
CreateShot01拡張版。元々の６つに７．Colorと８．スコアと　９．アイテム数の要素を加えたもの。
カラーは下の配列で定義されています。
SetBulletColor=["RED","ORANGE","YELLOW","GREEN","CYAN","BLUE","PURPLE","WHITE"];
スコアはSetBulletScorePointでの設定に追加される

DoubleSpoilerCreateShot02(引数：10)
CreateShot01拡張版。元々の8つに9．Colorと10．と　１１．アイテム数スコアの要素を加えたもの。
カラーは下の配列で定義されています。

DoubleSpoilerSetMovePosition02(引数：3)
SetMovePosition02拡張版。使い方はSetMovePosition02と一緒。

DoubleSpoilerSetMovePosition03(引数：4)
SetMovePosition03拡張版。使い方はSetMovePosition03と一緒。

DoubleSpoilermoveToPlayer(引数：7)
wikiのmoveToPlayer拡張版。使い方はmoveToPlayerと一緒。
これらの移動系関数は夢終劇のアニメライブラリが必須です。

ショットタスクサンプル
task sampleShot(let x,let y,let speed,let angle,let graphic,let delay)
{//ユーザー追加弾を２種以上使うときなど
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj, x, y);
	ObjShot_SetGraphic(obj, graphic);
	Obj_SetSpeed(obj, speed);
	Obj_SetAngle(obj, angle);
	ObjShot_SetDelay(obj, delay);
	Obj_SetAutoDelete(obj,false);
	
	let X=Obj_GetX(obj);
	let Y=Obj_GetY(obj);

	while(!Obj_BeDeleted(obj))
	{
		yield;
	}
	if(GetCommonDataDefault("Shooting",false))
	{//カメラで消えたかどうか
		if(X<GetClipMaxX && X>GetClipMinX && Y<GetClipMaxY && Y>GetClipMinY)
		{シーン内かどうかの判定
		BasePoint(80);//ベースポイント加算設定。
		//スピードを毎フレーム記録すればそれを含めたスコアにすることも可能

		BulletColor("RED");
		//色を設定する設定できる色は
		//"RED","ORANGE","BLUE","YELLOW","GREEN",PURPLE","CYAN","WHITE"の８種
	
		EffectSet(X,Y,"GREEN");
		//弾消しエフェクト及びチャージアイテムを一つ発生させる。
		}
	}
	if(GetCommonDataDefault("EndDefeatBullet",false))
	{クリア時の弾消しエフェクト発生
		EffectSet(X,Y,"RED");
	}
}

////////////////////////////////////////////////////////////////////////////////////////
///////////////////スペル導入の部////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
settingtxtフォルダ内のSpellCardFileを開き
SpellCardScScript[num]にスペルへのパスを入力して下さい。
[num]内の数値は１１〜９９で３４ならばLevel３のScene４です。
Scene1から埋める必要はないのですが、そうしたほうが見た目がいいでしょう。
ここ以外は変更する必要はありません。
////////////////////////////////////////////////////////////////////////////////////////
///////////////////ノルマ設定の部////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
settingtxtフォルダ内のLevelNormaを開き
FlagLevelNum[num]及び任意で。
FlagLevelSuccessSceneNum[num]にノルマ枚数を入れてください。

////////////////////////////////////////////////////////////////////////////////////////
///////////////////スコアノルマ設定の部////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
settingtxtフォルダ内のScoreNormaを開き
SpellNorma[num]にノルマスコアを入力して下さい。
////////////////////////////////////////////////////////////////////////////////////////
///////////////////コメント設定の部////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
settingtxtフォルダ内のTopicを開き
TopicAya[num]orTopicHatate[num]または
TopicHatate[num]orTopicHatate[num]
にコメントを入れてください。
////////////////////////////////////////////////////////////////////////////////////////
///////////////////メニュースペル名表示部////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
settingtxtフォルダ内のSetSpellNameを開き
SetSpellNameに(No,パス、左、上、右、下)
を入力して下さい
//////////////////////////////////////////////////////////////////////////////
///////その他注意事項/////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
使い魔を使う場合はSetCollisionAは0にする。
CatBonusとOyajiBonusがあります(0or1)

SetCommonData("OyajiBonus",0);
SetCommonData("CatBonus",0);

状況に応じて値を変えてください。