;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■MUGEN [Statedef 270999];ステート番号を変えたい場合はStateDef 27を全て置換し、ChangeStateなどを変更 ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ; ; 出来ること ;  全60種類のカードの最大20枚デッキを設定に合わせて生成し、 ;   そのデッキから手札を生成などが可能。 ;  またデッキと手札は本体に記録しているため、次のラウンドに持ち越すことも可能。 ;  使用する本体Varの個数は全部で10個。(デッキ+手札としては極めて少ない。) ; ;■ 20枚デッキ専用デッキシステムCNS byADI Ver0.80(使用に問題のないレベル) ; 14:18 2011/04/22 書き始め ; 17:59 2011/04/22 デッキ生成〜デッキシャッフル、命令受け付けまで記述完了 ; 19:20 2011/04/22 デッキの再構成に関するものを記述。デッキの操作はまだ。 ; 08:20 2011/04/23 手札の管理を決定する。まだ制作途中。 ; 21:47 2011/04/23 手札の基本的な制御を制作。未確認 ; 01:09 2011/04/24 手札の基本的な制御の記述を修正。 ; 01:35 2011/04/24 ちょっとプラス ; 04:53 2011/04/24 連続処理ができるように ; 06:04 2011/04/24 ちゃんとラウンド持ち越しが可能に。 ; 07:55 2011/04/24 手札をデッキに戻す記述、できたかな? ; 15:23 2011/04/24 手札をデッキに戻す動作確認 ; 19:09 2011/04/25 手札を戻すときの順序調整 ; 00:59 2011/04/26 本体での制御例を調整。 ; 01:24 2011/04/26 本体での制御例のゲージ量の基準を調整 ; 03:51 2012/03/09 デッキ残り枚数確認の処理が間違っていたので修正。baraiさんありがとうございます。 ; 11:34 2012/12/15 今更、手札処理のcnsが間違ってることに気づく; baraiさんありがとうございます。 ; ; 使用State270000〜270999くらいが目安。 ; 使用本体Var 初期設定40〜49の10個。(一応ヘルパーfvar(39)の設定で多少変更可能) ;( 40~43でデッキを管理、44はデッキ種類管理と連続命令用。45~49は手札用 ) ; ; 引き継ぎを使う場合、CNSのIntPersistIndexを40以下にすること。(使用するvar以下に。) ; ; 細かいことは大体カードデッキのCNS理論と同じ。 ; ただ、上限を20枚にして、カードの種類を60種までに。また手札を5枚に固定。 ; システムで制御できますが、一応手札は本体Varでも制御可能。 ; ; カードの種類の番号は0~59。60以上は種類「空き」として扱われてます。 ;( カードが無いことを確認するときは!Var(xx)ではなく、Var(xx)>=60でないとダメ ) ; ;(操作のvarは設定で変更可能ですが、一応40として) ;■基本的な操作 ;Var(40) :=-4n ;41~45まで n枚手札のカードを破棄する。(足りなくてもエラーは出さず) ;Var(40) :=-2n ;21~25まで n枚カードを手札に入れる。(手札は5枚までで、超過分は処理されず) ;Var(40) :=-46 ;手札の一枚目を手札の後ろに回す。 ; ;■特殊な操作 ;Var(40) := -n ; 1~20まで n枚カードをデッキの上から除去する ;Var(40) :=-70 ; 現在のデッキをシャッフルする。 ;Var(40) :=-99 ; デッキのカード設定をリセットし読み込み直す。(デッキリセットは常に手札もリセット) ;Var(40) :=-1000xxx ; xxx番のデッキでデッキをリセットし読み込み直す。(システムステートだと不具合発生。) ;Var(40) :=-xy0n ; 手札のカードをn枚デッキに戻す。(デッキの空きが足りないと戻せない) ;        ; X=1,手札一枚目から X=2,手札後ろから Y=1,デッキ上へ Y=2,デッキ下へ Y=3,デッキシャッフル(手札や空きが無くてもシャッフル) ;        ; メモ:手札を回していなければ一枚目から下へでデッキの上側にあった方が上側になる。手札の後ろから上へで元に戻す形になる。(12,21) ;Var(40) :=-999999999 ; -に9が9個で、デッキヘルパーを一度消します。不具合回避のため、本体のVar(40)を0にします。 ; ;命令はVar(40)、Var(41)、Var(42)、Var(43)、Var(44)へ順番に入れることで、 ; 同じフレームに連続で処理させることができます。 ; 例:(Var(40):=-99)&&(Var(41):=-25);デッキの設定をリセットし→手札を5枚引く。 ; 例:(Var(40):=-1305)&&(Var(41):=-25);手札をデッキに戻し→手札を5枚引く ; ;■本体で確認できるVar情報(本体は設定で変更可能) ; 本体 Var(40~44) ;ラウンド持ち越し用の情報と命令用Var ; 本体 Var(45~49) ;手札Var(こちらへ代入すれば手札は上書き可能) ; Helper(270000),Var(0~59) ;デッキ内のそれぞれの種類の残り枚数。 ; Helper(270000),Fvar(0~19) ;デッキVar ; Helper(270000),Fvar(20~24);手札Var ; Helper(270000),Fvar(25) ;手札の枚数 ; Helper(270000),Fvar(36) ;デッキの残り枚数 ; Helper(270000),Fvar(37) ;使用デッキの設定枚数 ; Helper(270000),Fvar(38) ;使用デッキの番号(StateNo%1000) ; Helper(270000),Fvar(39) ;本体で使用するVarの開始点 ; Helper(270000),Sysfvar(0) ;本体設定の最大ゲージ量と現在の最大ゲージ量の少ないほうの数値。 ;              ;※ゲージ設定10000000(1万本)以上は不安定になるけど、それは規格外です。 ; ; 好きなカードを使った確認などは各自で本体の手札を操作するほうが早いし、 ;  大体、そう言うのは条件側をいじる方が安全。 ; ;-3ステートの上の方へ追加する [State -3,Card Deck Helper];カードデッキヘルパー射出 Type = Helper Trigger1 = RoundState = 2 && !IsHelper Trigger1 = !NumHelper(270000) ;射出制限 ID = 270000 ;ヘルパーのID Pos = 0,-10000 StateNo = 270000 ;270xxxのxxxを変えて特定番号のデッキのヘルパーを射出できる。一応。 OwnPal = 1 Size.XScale = 0 Size.YScale = 0 SuperMoveTime = 999999999 ;SuperPause中に動ける時間 PauseMoveTime = 999999999 ;Pause中に動ける時間 ;こちらは-2の下に追加するつもりで [State -2,Card];ゲージ量に応じてカードを1枚引く Type = Varset TriggerAll = RoundState = 2 && !IsHelper ;処理制限 TriggerAll = NumHelper(270000) ;ヘルパー確認 TriggerAll = var( Floor(Helper(270000),fvar(39)) ) >= 0 ;命令がない Trigger1 = Helper(270000),Fvar(25) <= 0 ;0枚 Trigger1 = ( Helper(270000),Sysfvar(0) / 13 ) * 2 <= Power Trigger2 = Helper(270000),Fvar(25) <= 1 ;1枚以下 Trigger2 = ( Helper(270000),Sysfvar(0) / 13 ) * 4 <= Power Trigger3 = Helper(270000),Fvar(25) <= 2 ;2枚以下 Trigger3 = ( Helper(270000),Sysfvar(0) / 13 ) * 6 <= Power Trigger4 = Helper(270000),Fvar(25) <= 3 ;3枚以下 Trigger4 = ( Helper(270000),Sysfvar(0) / 13 ) * 9 <= Power Trigger5 = Helper(270000),Fvar(25) <= 4 ;4枚以下 Trigger5 = ( Helper(270000),Sysfvar(0) / 13 ) * 13 <= Power || PowerMax = Power ;ゲージ満タンでも var( Floor(Helper(270000),fvar(39)) ) = -21 ;引く数は1つずつ ;Helper(270000),sysfvar(0)は、本来の最大ゲージ量と現在の最大ゲージ量の少ない方どちらか。 ;( タッグなどで最大ゲージが少なくても手札を5枚とも使える。また、最大ゲージ量が多くても自分の設定量が基準になる。 ) ;一応10本では769.xxx*云々になる計算。13本ならそれぞれ2000,2000,2000,3000,4000という必要量に。 ;命令からカードの処理まで1Fあるので、技の条件に、(Helper(270000),Sysfvar(0)/13*xx) >= Power などをつけるのが無難。 ;1枚は*2、2枚は*4、3枚は*6、4枚は*9、5枚は*13。 [State -2,Card];ゲージ量に応じてカードを1枚戻す(後ろから) Type = Varset TriggerAll = RoundState = 2 && !IsHelper ;処理制限 TriggerAll = NumHelper(270000) ;ヘルパー確認 TriggerAll = var( Floor(Helper(270000),fvar(39)) ) >= 0 ;命令がない Trigger1 = Helper(270000),Fvar(25) >= 1 ;1枚以上 Trigger1 = ( Helper(270000),Sysfvar(0) / 13 ) * 2 > Power Trigger2 = Helper(270000),Fvar(25) >= 2 ;2枚以上 Trigger2 = ( Helper(270000),Sysfvar(0) / 13 ) * 4 > Power Trigger3 = Helper(270000),Fvar(25) >= 3 ;3枚以上 Trigger3 = ( Helper(270000),Sysfvar(0) / 13 ) * 6 > Power Trigger4 = Helper(270000),Fvar(25) >= 4 ;4枚以上 Trigger4 = ( Helper(270000),Sysfvar(0) / 13 ) * 9 > Power Trigger5 = Helper(270000),Fvar(25) >= 5 ;5枚以上 Trigger5 = ( Helper(270000),Sysfvar(0) / 13 ) * 13 > Power && PowerMax != Power var( Floor(Helper(270000),fvar(39)) ) = -2101 ;戻す数は1つずつ ;[State -1];カード発動ステートへ ;Type = ChangeState ;Value = xxx + ( Var(Floor(Helper(270000),fvar(39)) ):=-43)*0 ;手札カードの3枚を消費 ;TriggerAll = RoundState = 2 && NumHelper(270000) ;TriggerAll = Var( Floor(Helper(270000),fvar(39)) + 5 ) = *** ;手札カードの1枚目が*** ;TriggerAll = Helper(270000),Fvar(36) >= 3 ;3枚以上必要 ;TriggerAll = (Helper(270000),Sysfvar(0)/13)*6 >= Power ;手札3枚に必要なゲージ量もある。 ;Floor(Helper(270000),fvar(39))は、初期設定で40なので、Var(40)とVar(45)でも処理可能。 ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [Statedef 270000];設定ステート Type = A MoveType = I Physics = N Ctrl = 0 Anim = 0 ;判定のないやつで SprPriority = -5 [State 270000] Type = Null ;■■■■■■■■■■ デッキ設定 全部で20枚になるように ;■■■■■■■■■■ 数字は0〜4枚までが基本 Trigger1 = 1 || Var( 0):= 1 ;名前:説明 など ;■■■■■■■■■■■■ 軽い解説など ;■■■■■■■■■■■■ Trigger1 = 0 && Var( 1):= 1 ; Trigger2 = 0 && Var( 2):= 1 ; Trigger3 = 0 && Var( 3):= 1 ; Trigger4 = 0 && Var( 4):= 1 ; Trigger5 = 0 && Var( 5):= 1 ; Trigger6 = 0 && Var( 6):= 1 ; Trigger7 = 0 && Var( 7):= 1 ; Trigger8 = 0 && Var( 8):= 1 ; Trigger9 = 0 && Var( 9):= 1 ; Trigger10= 0 && Var(10):= 1 ; Trigger11= 0 && Var(11):= 1 ; Trigger12= 0 && Var(12):= 1 ; Trigger13= 0 && Var(13):= 1 ; Trigger14= 0 && Var(14):= 1 ; Trigger15= 0 && Var(15):= 1 ; Trigger16= 0 && Var(16):= 1 ; Trigger17= 0 && Var(17):= 1 ; Trigger18= 0 && Var(18):= 1 ; Trigger19= 0 && Var(19):= 1 ; Trigger20= 0 && Var(20):= 0 ; Trigger21= 0 && Var(21):= 0 ; Trigger22= 0 && Var(22):= 0 ; Trigger23= 0 && Var(23):= 0 ; Trigger24= 0 && Var(24):= 0 ; Trigger25= 0 && Var(25):= 0 ; Trigger26= 0 && Var(26):= 0 ; Trigger27= 0 && Var(27):= 0 ; Trigger28= 0 && Var(28):= 0 ; Trigger29= 0 && Var(29):= 0 ; Trigger30= 0 && Var(30):= 0 ; Trigger31= 0 && Var(31):= 0 ; Trigger32= 0 && Var(32):= 0 ; Trigger33= 0 && Var(33):= 0 ; Trigger34= 0 && Var(34):= 0 ; Trigger35= 0 && Var(35):= 0 ; Trigger36= 0 && Var(36):= 0 ; Trigger37= 0 && Var(37):= 0 ; Trigger38= 0 && Var(38):= 0 ; Trigger39= 0 && Var(39):= 0 ; Trigger40= 0 && Var(40):= 0 ; Trigger41= 0 && Var(41):= 0 ; Trigger42= 0 && Var(42):= 0 ; Trigger43= 0 && Var(43):= 0 ; Trigger44= 0 && Var(44):= 0 ; Trigger45= 0 && Var(45):= 0 ; Trigger46= 0 && Var(46):= 0 ; Trigger47= 0 && Var(47):= 0 ; Trigger48= 0 && Var(48):= 0 ; Trigger49= 0 && Var(49):= 0 ; Trigger50= 0 && Var(50):= 0 ; Trigger51= 0 && Var(51):= 0 ; Trigger52= 0 && Var(52):= 0 ; Trigger53= 0 && Var(53):= 0 ; Trigger54= 0 && Var(54):= 0 ; Trigger55= 0 && Var(55):= 0 ; Trigger56= 0 && Var(56):= 0 ; Trigger57= 0 && Var(57):= 0 ; Trigger58= 0 && Var(58):= 0 ; Trigger59= 0 && Var(59):= 0 ; ;※Var(xx)は読み込んだ後、デッキにある種類の数を表示させます。 ;※その為、初期設定をどうしても使いたい場合、別のHelperを生成して ; ↓のChangeStateに!IsHelper(*種類数確認Helper*)と追加したりして管理。 ; ;コンフィグ外・システム設定(本体制作者以外触れないこと) Trigger60= 0 && fvar(38) := StateNo % 1000 ;使用デッキ番号管理 Trigger61= 0 && fvar(39) := 40 ;使用本体Varの開始(ここから10つ使います。40なら40~49) [State 270000] Type = Null Trigger1=1||Fvar(37) := 0 ;設定枚数の認識用。 Trigger1=1||Fvar(37):=Fvar(37)+(Var( 0)+Var( 1)+Var( 2)+Var( 3)+Var( 4)+Var( 5)+Var( 6)+Var( 7)+Var( 8)+Var( 9)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(10)+Var(11)+Var(12)+Var(13)+Var(14)+Var(15)+Var(16)+Var(17)+Var(18)+Var(19)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(20)+Var(21)+Var(22)+Var(23)+Var(24)+Var(25)+Var(26)+Var(27)+Var(28)+Var(29)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(30)+Var(31)+Var(32)+Var(33)+Var(34)+Var(35)+Var(36)+Var(37)+Var(38)+Var(39)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(40)+Var(41)+Var(42)+Var(43)+Var(44)+Var(45)+Var(46)+Var(47)+Var(48)+Var(49)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(50)+Var(51)+Var(52)+Var(53)+Var(54)+Var(55)+Var(56)+Var(57)+Var(58)+Var(59)); ;超過しても不足してもエラーを返すわけではありません。 ;エラーを返させたい場合は本体で制御してください。 [State 270000] Type = ChangeState Trigger1 = Parent,Var( Floor(Fvar(39))+4 ) >= 0 && Fvar(32) != -60;命令でない Trigger1 = Parent,Var( Floor(Fvar(39))+4 )%1000 != Fvar(38) ;使用していたデッキ番号と現在のデッキ番号が異なる Value = 270000 + Parent,Var( Floor(Fvar(39))+4 )%1000 ;読み込む設定を使用していたデッキ番号に [State 270000] Type = ChangeState Trigger1 = Parent,Var( Floor(Fvar(39)) ) != 0 && Fvar(32) != -60 ;本体のVarに情報があり&&命令でない Trigger1 = 1 || Fvar(32) := StateNo ;ループ処理用/一応 Value = 270009 ;読み込みステートへ [State 270000] Type = ChangeState Trigger1 = 1 || Fvar(32) := StateNo ;ループ処理用/一応 Value = 270001 ;デッキ生成ステート1へ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [Statedef 270001];デッキ生成ステート1・カード設定ステート Type = A [State 270001]; Type = VarRangeSet TriggerAll = fvar(32) != StateNo Trigger1=0&& fvar(33) := 0 ;fvarの場所/デッキの一時保存 Trigger2=0&& fvar(34) := 0 ;Varの場所/種類番号 Trigger3=0&& fvar(35) := 0 Trigger4=0&& fvar(36) := 0 Trigger5=1|| fvar(32) := StateNo ;限定処理用フラグ Fvalue = 60 ; fvar(xx) = 60 種類「空き」に。 First = 0 Last = 24 ;計20+5個 ;手札も空にしている。 [State 270001] Type = ChangeState TriggerAll = Var( Floor(fvar(34)) ) >= 1 ;番号の種類が一枚以上 Trigger1 = 1 || Fvar( Floor(fvar(33)) ) := Floor( Fvar(34) ) ;種類番号代入 Trigger1 = fvar(33) := fvar(33) + 1 Trigger1 = fvar(33) >= 20 ;上限ならChangeState処理 Trigger2 = Var( Floor(fvar(34)) ) >= 2 ;二枚以上 Trigger2 = 1 || Fvar( Floor(fvar(33)) ) := Floor( Fvar(34) ) ;種類番号代入 Trigger2 = fvar(33) := fvar(33) + 1 Trigger2 = fvar(33) >= 20 ;上限ならChangeState処理 Trigger3 = Var( Floor(fvar(34)) ) >= 3 ;三枚以上 Trigger3 = 1 || Fvar( Floor(fvar(33)) ) := Floor( Fvar(34) ) ;種類番号代入 Trigger3 = fvar(33) := fvar(33) + 1 Trigger3 = fvar(33) >= 20 ;上限ならChangeState処理 Trigger4 = Var( Floor(fvar(34)) ) >= 4 ;四枚以上 Trigger4 = 1 || Fvar( Floor(fvar(33)) ) := Floor( Fvar(34) ) ;種類番号代入 Trigger4 = fvar(33) := fvar(33) + 1 Trigger4 = fvar(33) >= 20 ;上限ならChangeState処理 ;Trigger5 = Var( Floor(fvar(34)) ) >= 5 ;五枚以上 ;Trigger5 = 1 || Fvar( Floor(fvar(33)) ) := Floor( Fvar(34) ) ;種類番号代入 ;Trigger5 = fvar(33) := fvar(33) + 1 ;Trigger5 = fvar(33) >= 20 ;上限ならChangeState処理 Value = 270002 [State 270001] Type = ChangeState Trigger1 =1 || Fvar(34) := Fvar(34) + 1 ;次の種類へ Trigger1 = Fvar(34) < 60 ;種類が上限に達していない Value =270001 ;ループ [State 270001] Type = ChangeState Trigger1 = 1 ;ループ終了時 Value = 270002 ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [StateDef 270002];デッキ生成ステート2・シャッフルステート(シャッフル用番号の代入) Type = A [State 270002];通常の処理中はVar(0~19)をデッキ保持に、それ以外は雑多な処理に使えるので Type = Null TriggerAll = fvar(32) != StateNo Trigger1=0&& Var(41) := 0 ;var,fvarの場所 Trigger2=0&& fvar(34) := 0 Trigger3=0&& fvar(35) := 0 Trigger4=0&& fvar(36) := 0 Trigger5=1|| fvar(32) := StateNo ;限定処理用フラグ ;fvar(33) := 0 [State 270002];Random数値代入・ Type = Null TriggerAll=1|| Var(40) := 0 ;リセット Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値1 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値2 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値3 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値4 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値5 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値6 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値7 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値8 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値9 Trigger1 = 1|| Var(40) := Var(40) + Random+Random+Random+Random+Random+Random+Random+Random+Random+Random ;Random数値10 Trigger1 = 0&& Var(40) := Var(40) * 100 ;情報桁を避ける [State 270002] Type = Null Trigger1 = Var( var(41) ) := (Floor( Fvar(Var(41)) ) + Var(40)) ;数値代入 [State 270002] Type = ChangeState Trigger1 = 1 || Var(41) := Var(41) + 1 Trigger1 = Var(41) < 20 ;デッキ枚数 Value =270002 [State 270002] Type = ChangeState Trigger1 = 1 ;ループ終了時 Value = 270003 ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [StateDef 270003];デッキ生成ステート3・整列ステート Type = A [State 270003]; Type = VarRangeSet TriggerAll = fvar(32) != StateNo Trigger1=0&& Var(40) := 0 ;Var管理 Trigger2=0&& Var(41) := 0 ;Fvar管理 Trigger3=0&& Var(42) := 0 ;最大値管理 Trigger4=0&& Var(43) := 0 ;最大値Var記録 Trigger5=1|| fvar(32) := StateNo ;限定処理用フラグ fvalue = 60 ;種類・空 First = 0 Last = 19 ;一応 ;fvar(33) := 0 ;fvar(34) := 0 ;fvar(35) := 0 ;fvar(36) := 0 ;もうfvarいらないんじゃないかな・・・・ [State 270003];空の場合の処理 Type = varset Trigger1 = (Var( var(40) )%100) >= 60 ;空なら var( var(40) ) = 60 ;空に ;Random部分を切除 [State 270003];ループを力技で再現。 Type = Null TriggerAll =1||(var(42):=Var(Var(40)))||(var(43):=Var(40)) ;比較する最初の値を代入 Trigger1 =1||Var(40) := Var(40) + 1 Trigger1 =Var(40)<20 && Var(42) 0 ;カードを引く命令有り Trigger1 =1 || fvar(33) := (fvar(20)<60)+(fvar(21)<60)+(fvar(22)<60)+(fvar(23)<60)+(fvar(24)<60) ;手札の枚数 Trigger1 = fvar(33) < 5 && Fvar( Var(41) ) < 60;満タンでない && カードがある Trigger1 =1 || fvar( 20+Floor(fvar(33)) ) := Floor( Fvar( Var(41) ) ) ;手札の空き(多分)に代入 Trigger1 =1 || fvar( Var(41) ) := 60 ;カードを空に Trigger1 =1 || Var(43) := Var(43) - 1 ; [State 270006] Type = Null Trigger1 =1|| Var( Var(41) ) :=Floor( Fvar( Var(41) ) );数値代入 Trigger1 = Var( Var(41) ) < 60 ;カード存在する Trigger1 = Var( Var(41) ) := Var( Var(41) ) + (Var(42)*100) ;最大値処理用の数値を代入 [State 270006];-1 Type = Null Trigger1 = Var(40) ; 除去命令有り Trigger1 = Var(40) > Var(41) ; 指定枚数かどうか。 Trigger1 = Var( Var(41) ) := 60 ;種類空きを代入 [State 270006] Type = ChangeState Trigger1 =1 || Var(41) := Var(41) + 1 ;Fvar,Var Trigger1 =1 || Var(42) := Var(42) - 1 ;最大値 Trigger1 = Var(41) < 20 ;デッキ枚数 Value =270006 ;ループ処理。 [State 270006] Type = ChangeState Trigger1 = 1 ;ループ終了後 Value = 270003 ;整列ステートへ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [StateDef 270007];手札の空きを減らす処理 Type = A [State 270007] Type = Null TriggerAll = fvar(32) != StateNo Trigger1=0&& fvar(33) := 0 ;枚数管理 Trigger2=0&& fvar(34) := 0 Trigger3=0&& fvar(35) := 0 Trigger4=1|| fvar(32) := StateNo ;限定処理用フラグ [State 270007] Type = Null ; Trigger1 = fvar( 23 ) >= 60 ;4枚目が空きなら Trigger1 =1|| fvar( 23 ) := fvar ( 24 ) ;5枚目を入れ Trigger1 =0&& fvar( 24 ) := 60 ;5枚目を0に。 ; Trigger2 = fvar( 22 ) >= 60 ;3枚目が空きなら Trigger2 =1|| fvar( 22 ) := fvar ( 23 ) ;4枚目を入れ Trigger2 =0&& fvar( 23 ) := 60 ;4枚目を0に。 ; Trigger3 = fvar( 21 ) >= 60 ;2枚目が空きなら Trigger3 =1|| fvar( 21 ) := fvar ( 22 ) ;3枚目を入れ Trigger3 =0&& fvar( 22 ) := 60 ;3枚目を0に。 ; Trigger4 = fvar( 20 ) >= 60 ;1枚目が空きなら Trigger4 =1|| fvar( 20 ) := fvar ( 21 ) ;2枚目を入れ Trigger4 =0&& fvar( 21 ) := 60 ;2枚目を0に。 ; [State 270007] Type = ChangeState Trigger1 =1 || Fvar(33) := Fvar(33) + 1 Trigger1 = fvar(33) < 5 ;手札枚数 Value =270007 ;ループ処理。 [State 270007] Type = ChangeState Trigger1 = 1 ;ループ終了後 Value = 270004 ;本体へ代入するステート ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [StateDef 270008];手札を減らす処理 Type = A [State 270008] Type = Null TriggerAll = fvar(32) != StateNo Trigger1=0&& fvar(33) := 0 ;枚数管理 Trigger2=0&& fvar(34) := 0 ; Trigger3=0&& fvar(35) := (abs(sysvar( Floor(fvar(30)) ))%40) ;41~45の設定なので Trigger4=1|| fvar(32) := StateNo ;限定処理用フラグ [State 270008] Type = Null Trigger1 = fvar( 20+Floor(fvar(33)) ) < 60 ;空きでない Trigger1 = fvar(35) > 0 ;まだ消費する Trigger1 =1 || Fvar(35) := Fvar(35) - 1 ; Trigger1 = fvar( 20+Floor(fvar(33)) ):= 60 ;空きに [State 270008] Type = ChangeState Trigger1 =1 || Fvar(33) := Fvar(33) + 1 Trigger1 = fvar(33) < 5 ;手札枚数 Value =270008 ;ループ処理。 [State 270007] Type = ChangeState Trigger1 = 1 ;ループ終了後 Value = 270007 ;手札の空き圧縮ステートへ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [Statedef 270009];本体からVarを参照し代入する Type = A [State 270009];前処理 Type = Null TriggerAll = fvar(32) != StateNo ;リセット前 Trigger1=0&& Var(40) := 0 ;代入値管理 Trigger2=0&& Var(41) := floor(fvar(39)) ;代入親Var場所管理 Trigger3=0&& Var(42) := 0 ;fvar場所管理 Trigger4=0&& Var(43) := 1 ;bit管理1(1) Trigger5=0&& Var(44) := Var(43) * 2*2*2*2*2*2 ;bit管理2(64) Trigger6=0&& Var(45) := Var(44) * 2*2*2*2*2*2 ;bit管理3(4096) Trigger7=0&& Var(46) := Var(45) * 2*2*2*2*2*2 ;bit管理4(262144) Trigger8=0&& Var(47) := Var(46) * 2*2*2*2*2*2 ;bit管理5(16777216) Trigger9=1||fvar(32) := StateNo ;限定処理用フラグ ;fvar(33) := 0 ;fvar(34) := 0 ;fvar(35) := 0 ;fvar(36) := 0 [State 270009];本体の数値を分解して代入を行う Type = Null Trigger1 =1|| Var(40) := Parent,Var( Floor(Var(41)) ) Trigger1 = 0&&Fvar(Var(42)):=(( Var(40) & (63*Var(43)) )/Var(43)) ;(Var(xx)&63) Trigger2 =1||Var(42):=Var(42) + 1 Trigger2 = 0&&Fvar(Var(42)):=(( Var(40) & (63*Var(44)) )/Var(44)) ;(Var(xx)&4032)/64 Trigger3 =1||Var(42):=Var(42) + 1 Trigger3 = 0&&Fvar(Var(42)):=(( Var(40) & (63*Var(45)) )/Var(45)) ;(Var(xx)&258048)/4096 Trigger4 =1||Var(42):=Var(42) + 1 Trigger4 = 0&&Fvar(Var(42)):=(( Var(40) & (63*Var(46)) )/Var(46)) ;(Var(xx)&16515072)/262144 Trigger5 =1||Var(42):=Var(42) + 1 Trigger5 = 0&&Fvar(Var(42)):=(( Var(40) & (63*Var(47)) )/Var(47)) ;((Var(xx)&1056964608)/16777216 [State 270009] Type = ChangeState Trigger1 =1 || Var(41) := Var(41) + 1 Trigger1 =1 || Var(42) := Var(42) + 1 ;参照fvar+1 Trigger1 = Var(42) < 20 ;デッキ枚数 Value =270009 ;ループ処理。 ;■手札を取得 [State 270010];Parent,Var( Floor(fvar(39))+5 ) Type = Null Trigger1 = 1 || fvar(20) := Parent,Var( Floor(fvar(39))+5 ) Trigger1 = 1 || fvar(21) := Parent,Var( Floor(fvar(39))+6 ) Trigger1 = 1 || fvar(22) := Parent,Var( Floor(fvar(39))+7 ) Trigger1 = 1 || fvar(23) := Parent,Var( Floor(fvar(39))+8 ) Trigger1 = 1 || fvar(24) := Parent,Var( Floor(fvar(39))+9 ) Trigger1 = fvar(25) := (fvar(20)<60)+(fvar(21)<60)+(fvar(22)<60)+(fvar(23)<60)+(fvar(24)<60) [State 270009] Type = ChangeState Trigger1 = 1 ;ループ終了後 Value = 270004 ;本体へVar移送 ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [StateDef 270010];待機ステート Type = A [State 270010, AssertSpecial] Type = AssertSpecial Trigger1 = 1 flag = Invisible flag2 = Noshadow ignorehitpause=1 [State 270010, NotHitBy] Type = NotHitBy Value = SCA Trigger1 = 1 IgnoreHitPause = 1 ;■手札を取得(本体での手札Varの制御ができるように) [State 270010];Parent,Var( Floor(fvar(39))+5 ) Type = Null Trigger1 = 1 || fvar(20) := Parent,Var( Floor(fvar(39))+5 ) Trigger1 = 1 || fvar(21) := Parent,Var( Floor(fvar(39))+6 ) Trigger1 = 1 || fvar(22) := Parent,Var( Floor(fvar(39))+7 ) Trigger1 = 1 || fvar(23) := Parent,Var( Floor(fvar(39))+8 ) Trigger1 = 1 || fvar(24) := Parent,Var( Floor(fvar(39))+9 ) Trigger1 = fvar(25) := (fvar(20)<60)+(fvar(21)<60)+(fvar(22)<60)+(fvar(23)<60)+(fvar(24)<60) ;■システム操作を取得する [State 270010];Parent,Var( Floor(fvar(32)) ) 命令の数監視 Type = Null TriggerAll = Time TriggerAll =1 || Fvar(30) := 0 ;処理した回数 TriggerAll =1 || Fvar(31) := 0 ;処理する数 TriggerAll =1 || Fvar(32) := fvar(39) ;本体Var Trigger1 = Parent,Var( Floor(fvar(32)) ) < 0 ;システム命令感知 Trigger1 =1 || (fvar(32) := fvar(32) + 1)&&(fvar(31) := 1) ;加算 Trigger1 = Parent,Var( Floor(fvar(32)) ) < 0 ; Trigger1 =1 || (fvar(32) := fvar(32) + 1)&&(fvar(31) := 2) ;加算 Trigger1 = Parent,Var( Floor(fvar(32)) ) < 0 ; Trigger1 =1 || (fvar(32) := fvar(32) + 1)&&(fvar(31) := 3) ;加算 Trigger1 = Parent,Var( Floor(fvar(32)) ) < 0 ; Trigger1 =1 || (fvar(32) := fvar(32) + 1)&&(fvar(31) := 4) ;加算 Trigger1 = Parent,Var( Floor(fvar(32)) ) < 0 ; Trigger1 =(fvar(32) := fvar(32) + 1)&&(fvar(31) := 5) ;加算 ;sysvarの都合上、5つまで ;なぜSysVar? > Varは全部使う処理なので9桁の記憶もできるようsysVarを使用。 [State 270010];sysvarへ命令を記録 sysVarは0~4まで Type = varset sysvar(0) = Parent,Var( Floor(fvar(39)) ) Trigger1 = Time && fvar(31) > 0 ;1回以上 [State 270010]; Type = varset sysvar(1) = Parent,Var( Floor(fvar(39))+1 ) Trigger1 = Time && fvar(31) > 1 ;2回以上 [State 270010]; Type = varset sysvar(2) = Parent,Var( Floor(fvar(39))+2 ) Trigger1 = Time && fvar(31) > 2 ;3回以上 [State 270010]; Type = varset sysvar(3) = Parent,Var( Floor(fvar(39))+3 ) Trigger1 = Time && fvar(31) > 3 ;4回以上 [State 270010]; Type = varset sysvar(4) = Parent,Var( Floor(fvar(39))+4 ) Trigger1 = Time && fvar(31) > 4 ;5回以上 [State 270010];デッキ設定関係を安定させるため Type = parentvarset Trigger1 = Parent,Var( Floor(fvar(39))+4 ) < 0;命令数値なら var( Floor(fvar(39))+4 ) = Floor(fvar(38)) ;使用デッキの番号を入れ直す [State 270010];ここへのループ回数監視 Type = Null Trigger1 = !Time Trigger1 = fvar(30) := fvar(30) + 1 ;■ループ制御用のVarをリセット [State 270010] Type = Null Trigger1 = fvar(32) := StateNo ;ループ処理用/一応 ;■システムのChangeStateをする [state 270010,system];ヘルパー消滅命令 Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) = -999999999 ;ヘルパー消滅命令 Trigger1 =1|| fvar(32):= -999999999 ;処理を行わせるように Value = 270019 [State 270010,system];システム操作 type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) = -70 ;デッキのシャッフル Value = 270002 ;シャッフルステートへ [state 270010,system];デッキカード操作・カード設定読み込み直し Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) = -99 ; Trigger1 =1|| fvar(32) := -60 ;処理を行わせるように Value = 270000 + Floor( fvar(38) ) ;設定したステートへ [state 270010,system];デッキカード操作・別の設定のデッキを読み込み直す。 Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) <=-1000000 ;-1000000以下 Trigger1 = sysvar( Floor(fvar(30)) ) > -2000000 ;-2000000より上 Trigger1 =1|| fvar(32) := -60 ;処理を行わせるように Value = 270000 + ( abs(sysvar( Floor(fvar(30)) )) %1000 ) [state 270010,system];デッキカード操作・手札をデッキに戻す Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) <= -1000 ; -1000以下 Trigger1 = sysvar( Floor(fvar(30)) ) > -10000 ;-10000より上 Value = 270021 [state 270010,system];デッキカード操作・指定枚数分除去 Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) <= -1 ; Trigger1 = sysvar( Floor(fvar(30)) ) >=-20 ; Trigger1 =1|| fvar(32) := -1 ;処理を行わせるように Value = 270006 [state 270010,system];デッキカード操作・デッキから手札に指定枚数分加える。 Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) <=-21 ; Trigger1 = sysvar( Floor(fvar(30)) ) >=-25 ; Trigger1 =1|| fvar(32) := -21 ;処理を行わせるように Value = 270006 [state 270010,system];デッキカード操作・手札を指定枚数分消費する。 Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) <=-41 ; Trigger1 = sysvar( Floor(fvar(30)) ) >=-45 ; ;Trigger1 =1|| fvar(32) := -21 ;制御フラグなし Value = 270008 [state 270010,system];デッキカード操作・手札を回す Type = ChangeState Trigger1 = Time || fvar(31) > fvar(30) ;フラグ Trigger1 = sysvar( Floor(fvar(30)) ) = -46 ; Value = 270020 ;手札を回すステートへ ;■システム操作がない場合のループ [State 270010,system]; type = ChangeState Trigger1 = Time Value = 270007; 手札圧縮ステート 04 ;本体へ情報代入 ;■SysVarを使ってデバッグ表示用の変数を作る [State 270010];sysvarへ命令を記録 sysVarは0~4まで Type = varset sysvar(0) = Floor(Fvar( 0))*1000000+Floor(Fvar( 1))*10000+Floor(Fvar( 2))*100+Floor(Fvar( 3))+100000000; Trigger1 = 1 [State 270010]; Type = varset sysvar(1) = Floor(Fvar( 4))*1000000+Floor(Fvar( 5))*10000+Floor(Fvar( 6))*100+Floor(Fvar( 7))+100000000; Trigger1 = 1 [State 270010]; Type = varset sysvar(2) = Floor(Fvar( 8))*1000000+Floor(Fvar( 9))*10000+Floor(Fvar(10))*100+Floor(Fvar(11))+100000000; Trigger1 = 1 [State 270010]; Type = varset sysvar(3) = Floor(Fvar(12))*1000000+Floor(Fvar(13))*10000+Floor(Fvar(14))*100+Floor(Fvar(15))+100000000; Trigger1 = 1 [State 270010]; Type = varset sysvar(4) = Floor(Fvar(16))*1000000+Floor(Fvar(17))*10000+Floor(Fvar(18))*100+Floor(Fvar(19))+100000000; Trigger1 = 1 [State -2];デバッグ Type = DisplayToClipBoard Trigger1 = 1 text = "%d,%d,%d,%d,%d \n" Params = sysvar(0),sysvar(1),sysvar(2),sysvar(3),sysvar(4) IgnoreHitPause = 1 [State -2];デバッグ追加 type = AppendToClipboard trigger1 = 1 text = "%d,%d,%d,%d,%d \n" Params = Floor(fvar(20)+8800),Floor(fvar(21)+8800),Floor(fvar(22)+8800),Floor(fvar(23)+8800),Floor(fvar(24)+8800) IgnoreHitPause = 1 [State 270010]; Type = varset sysfvar(0) = IfElse( (PowerMax= 60 ;カードが空 TriggerAll = Var(40) > 0 && Var(43) = 1;戻す枚数が0でない一枚目から Trigger1 = fvar(20) < 60 ;ある Trigger1 =1|| Var(52) := Floor( fvar(20) ) Trigger1 =1|| fvar(20):= 60 ;空に Trigger2 = fvar(21) < 60 ;ある Trigger2 =1|| Var(52) := Floor( fvar(21) ) Trigger2 =1|| fvar(21):= 60 ;空に Trigger3 = fvar(22) < 60 ;ある Trigger3 =1|| Var(52) := Floor( fvar(22) ) Trigger3 =1|| fvar(22):= 60 ;空に Trigger4 = fvar(23) < 60 ;ある Trigger4 =1|| Var(52) := Floor( fvar(23) ) Trigger4 =1|| fvar(23):= 60 ;空に Trigger5 = fvar(24) < 60 ;ある Trigger5 =1|| Var(52) := Floor( fvar(24) ) Trigger5 =1|| fvar(24):= 60 ;空に var(40) = -1 ;戻す枚数を減らす [State 270021] Type = varadd TriggerAll = Var(52) = 60 ;空 TriggerAll = Var( var(41) ) >= 60 ;カードが空 TriggerAll = Var(40) > 0 && Var(43) = 2;戻す枚数が0でない後ろから Trigger1 = fvar(24) < 60 ;ある Trigger1 =1|| Var(52) := Floor( fvar(24) ) Trigger1 =1|| fvar(24):= 60 ;空に Trigger2 = fvar(23) < 60 ;ある Trigger2 =1|| Var(52) := Floor( fvar(23) ) Trigger2 =1|| fvar(23):= 60 ;空に Trigger3 = fvar(22) < 60 ;ある Trigger3 =1|| Var(52) := Floor( fvar(22) ) Trigger3 =1|| fvar(22):= 60 ;空に Trigger4 = fvar(21) < 60 ;ある Trigger4 =1|| Var(52) := Floor( fvar(21) ) Trigger4 =1|| fvar(21):= 60 ;空に Trigger5 = fvar(20) < 60 ;ある Trigger5 =1|| Var(52) := Floor( fvar(20) ) Trigger5 =1|| fvar(20):= 60 ;空に var(40) = -1 ;戻す枚数を減らす [State 270021] Type = Null Trigger1 =1|| Var( Var(41) ) :=Floor( Fvar( Var(41) ) );数値代入 Trigger1 =1|| Var( 51 ) := (IfElse( Var(44)=1, Var(41) ,Var(42)-100 )*100); ;戻す方向が上からなら、後に入れるカードが上側にくるように ;戻す方向が下からなら、後に入れるカードが下側になるように [State 270021] Type = Null Trigger1 = Var(52) < 60 ;設定が空でない ;別にいらない;Trigger1 = Var( Var(41) ) >= 60 ;カードが空 Trigger1 = Var( Var(41) ) := ( Var(52) + ( Var(51) ) + (Var(50)) ) ;最大値処理用と前後管理用 [State 270021] Type = Null Trigger1 = Var( Var(41) ) < 60 ;カード存在する Trigger1 = Var( Var(41) ) := Var( Var(41) ) + (Var(42)*100) ;最大値処理用の数値を代入+前後管理 [State 270021] Type = Null Trigger1 = Var(44) = 3 ;シャッフルの場合 Trigger1 =1|| Fvar( Var(41) ) := (Var( Var(41) )%100) ;fvarに戻す [State 270021] Type = ChangeState Trigger1 =1 || Var(41) := Var(41) + 1 ;Fvar,Var Trigger1 =1 || Var(42) := Var(42) - 1 ;最大値 Trigger1 = Var(41) < 20 ;デッキ枚数 Value =270021 ;ループ処理。 [State 270021] Type = ChangeState Trigger1 = Var(44) = 3 ;デッキシャッフル Value = 270002 ;シャッフルステートへ [State 270021] Type = ChangeState Trigger1 = 1 ;ループ終了後 Value = 270003 ;整列ステートへ ; ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ; ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ [Statedef 270100];別デッキ設定ステート Type = A MoveType = I Physics = N Ctrl = 0 Anim = 0 ;判定のないやつで SprPriority = -5 ;StateNo=270100での射出やVar(*本体命令Var*):=-1000100で基本のデッキとは違うこのデッキを読み込みます。 ;このステート全体をコピーし、[StateDef 270xxx]のxxxを適当な数字(他で使っていない数値)にすれば、 ; また別のデッキ設定を作ることができます。開始時に選べたり、AIに別のデッキを使わせたい時などに [State 270100] Type = Null ;■■■■■■■■■■ デッキ設定 全部で20枚になるように ;■■■■■■■■■■ 数字は0〜4枚までが基本 Trigger1 = 1 || Var( 0):= 0 ;名前:説明 など ;■■■■■■■■■■■■ 軽い解説など ;■■■■■■■■■■■■ Trigger1 = 0 && Var( 1):= 0 ; Trigger2 = 0 && Var( 2):= 0 ; Trigger3 = 0 && Var( 3):= 0 ; Trigger4 = 0 && Var( 4):= 0 ; Trigger5 = 0 && Var( 5):= 0 ; Trigger6 = 0 && Var( 6):= 0 ; Trigger7 = 0 && Var( 7):= 0 ; Trigger8 = 0 && Var( 8):= 0 ; Trigger9 = 0 && Var( 9):= 0 ; Trigger10= 0 && Var(10):= 0 ; Trigger11= 0 && Var(11):= 0 ; Trigger12= 0 && Var(12):= 0 ; Trigger13= 0 && Var(13):= 0 ; Trigger14= 0 && Var(14):= 0 ; Trigger15= 0 && Var(15):= 0 ; Trigger16= 0 && Var(16):= 0 ; Trigger17= 0 && Var(17):= 0 ; Trigger18= 0 && Var(18):= 0 ; Trigger19= 0 && Var(19):= 0 ; Trigger20= 0 && Var(20):= 1 ; Trigger21= 0 && Var(21):= 1 ; Trigger22= 0 && Var(22):= 1 ; Trigger23= 0 && Var(23):= 1 ; Trigger24= 0 && Var(24):= 1 ; Trigger25= 0 && Var(25):= 1 ; Trigger26= 0 && Var(26):= 1 ; Trigger27= 0 && Var(27):= 1 ; Trigger28= 0 && Var(28):= 1 ; Trigger29= 0 && Var(29):= 1 ; Trigger30= 0 && Var(30):= 1 ; Trigger31= 0 && Var(31):= 1 ; Trigger32= 0 && Var(32):= 1 ; Trigger33= 0 && Var(33):= 1 ; Trigger34= 0 && Var(34):= 1 ; Trigger35= 0 && Var(35):= 1 ; Trigger36= 0 && Var(36):= 1 ; Trigger37= 0 && Var(37):= 1 ; Trigger38= 0 && Var(38):= 1 ; Trigger39= 0 && Var(39):= 1 ; Trigger40= 0 && Var(40):= 0 ; Trigger41= 0 && Var(41):= 0 ; Trigger42= 0 && Var(42):= 0 ; Trigger43= 0 && Var(43):= 0 ; Trigger44= 0 && Var(44):= 0 ; Trigger45= 0 && Var(45):= 0 ; Trigger46= 0 && Var(46):= 0 ; Trigger47= 0 && Var(47):= 0 ; Trigger48= 0 && Var(48):= 0 ; Trigger49= 0 && Var(49):= 0 ; Trigger50= 0 && Var(50):= 0 ; Trigger51= 0 && Var(51):= 0 ; Trigger52= 0 && Var(52):= 0 ; Trigger53= 0 && Var(53):= 0 ; Trigger54= 0 && Var(54):= 0 ; Trigger55= 0 && Var(55):= 0 ; Trigger56= 0 && Var(56):= 0 ; Trigger57= 0 && Var(57):= 0 ; Trigger58= 0 && Var(58):= 0 ; Trigger59= 0 && Var(59):= 0 ; ; ; ; ;コンフィグ外・システム設定(本体制作者以外触れないこと) Trigger60= 0 && fvar(38) := StateNo % 1000 ;使用デッキ番号管理 Trigger61= 0 && fvar(39) := 40 ;使用本体Varの開始(ここから10つ使います。40なら40~49) [State 270000] Type = Null Trigger1=1||Fvar(37) := 0 ;設定枚数の認識用。 Trigger1=1||Fvar(37):=Fvar(37)+(Var( 0)+Var( 1)+Var( 2)+Var( 3)+Var( 4)+Var( 5)+Var( 6)+Var( 7)+Var( 8)+Var( 9)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(10)+Var(11)+Var(12)+Var(13)+Var(14)+Var(15)+Var(16)+Var(17)+Var(18)+Var(19)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(20)+Var(21)+Var(22)+Var(23)+Var(24)+Var(25)+Var(26)+Var(27)+Var(28)+Var(29)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(30)+Var(31)+Var(32)+Var(33)+Var(34)+Var(35)+Var(36)+Var(37)+Var(38)+Var(39)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(40)+Var(41)+Var(42)+Var(43)+Var(44)+Var(45)+Var(46)+Var(47)+Var(48)+Var(49)); Trigger1=1||Fvar(37):=Fvar(37)+(Var(50)+Var(51)+Var(52)+Var(53)+Var(54)+Var(55)+Var(56)+Var(57)+Var(58)+Var(59)); ;超過しても不足してもエラーを返すわけではありません。 ;エラーを返させたい場合は本体で制御してください。 [State 270000] Type = ChangeState Trigger1 = Parent,Var( Floor(Fvar(39))+4 ) >= 0 && Fvar(32) != -60;命令でない Trigger1 = Parent,Var( Floor(Fvar(39))+4 )%1000 != Fvar(38) ;使用していたデッキ番号と現在のデッキ番号が異なる Value = 270000 + Parent,Var( Floor(Fvar(39))+4 )%1000 ;読み込む設定を使用していたデッキ番号に [State 270000] Type = ChangeState Trigger1 = Parent,Var( Floor(Fvar(39)) ) != 0 && Fvar(32) != -60 ;本体のVarに情報があり&&命令でない Trigger1 = 1 || Fvar(32) := StateNo ;ループ処理用/一応 Value = 270009 ;読み込みステートへ [State 270000] Type = ChangeState Trigger1 = 1 || Fvar(32) := StateNo ;ループ処理用/一応 Value = 270001 ;デッキ生成ステート1へ ;■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■