Profile

アメリ

Author:アメリ
キャラ紹介

line
カテゴリ
AIR (1)
Pos (1)
Var (1)
FAQ (1)
line
不許カウンター
line
最新記事
line
最新コメント
line
最新トラックバック
line
月別アーカイブ
line
sub_line
カレンダー
04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
line
検索フォーム
line
リンク
line
RSSリンクの表示
line
QRコード
QR
line
ブロとも申請フォーム

この人とブロともになる

line
sub_line
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
line
・書式
 注意しておく事と言えば全て小文字で書く事です。大文字はdocsで説明されている以外の部分を大文字にすると判別できません、よって全部大文字で書くとそんな単語は知らないよと言われてしまいます。特に、変数の代入でSysFVarをSysfVarにしてしまうと代入されずに素通りしてしまいます。単語のタイプミスが多い人はこう言った事態を防ぐために出来るだけ小文字で書く方が安全です。
 winmugenでは一行の文字数が256文字までと言う制限があるのでそれを越えてしまうと読み込み時にエラーになります。
 ;半角セミコロンから先はコメントです。注釈をかけます。
 表示上改行されている場所がありますが行の途中で改行は出来ません、改行するとその部分でその行は終わりになります。
 コメントだからと言って定義 [ ] がある行に日本語を使う場合は短めにするか避けましょう。

 今ここを見ている方は必要な知識が足りないと思います。リンクの mugendocs を開いて読んでください。
全てを読んでおかないとらゆる場所で引っかかります。
 mugenwiki は winmugen つまりベータ版の時の情報なので古いのと間違いがそこそこあるので差分部分以外は特に読まないでください。

・ステート定義
mugendocsCNS Formatを読みましょう。

 ステートの定義は [statedef ステート番号] です。
[statedef 1000]

[state ]
type = null
trigger1 = 0

 最低限だとこれだけあれば大丈夫ですが普通は[statedef ]にもっと指定します。

[statedef 1000]
type = S
movetype= A
physics = S
velset = 0,0
anim = 1000

ctrl = 0
poweradd = 0
juggle = 4
facep2 = 0
hitdefpersist = 0
movehitpersist = 0
hitcountpersist = 0
sprpriority = 1

[state ]
type = null
trigger1 = 0

 ここからデフォルト値で良くて使わない物を除くと

[statedef 1000]
type = S
movetype= A
physics = S
velset = 0,0
anim = 1000

ctrl = 0
poweradd = 0
juggle = 4
sprpriority = 1

[state ]
type = null
trigger1 = 0

 これで問題ありません。sprpriorityは通常は1です。


・ステートコントローラー
 普通はこんな感じだと思います。
[state SAMSARA]
type=varset
trigger1=!IsHelper
trigger1=Time=0
var(20)=1

 若しくは
[state 1100, usecount]
type = varset
trigger1 = !IsHelper
trigger1 = Time = 0
var(20) = 1

 ここで、タブを4文字にして次の様にすると綺麗になります。
[state 1100, 使用回数を1にする]
type        = varset
trigger1    = !IsHelper
trigger1    = Time = 0
var(20)     = 1

 しかしもっと長い文字列もあるので合わせるとしたら次の位置でしょうか。
[state 1100, 投擲 必須不足]
type            = Projectile
trigger1        = NumProjID(1100) = 0
trigger1        = Time = 0
projid          = 1100
projsprpriority = 3                     ;通常の位置

 個人の主観に依るでしょうが、後で見やすい方が良いと思います。

・persistent と ignorehitpause
persistent と ignorehitpause は全てのステートコントローラーに対して指定できます。ignorehitpauseは初期値が0で、ignorehitpause=1にするとhitpause中でも有効になります。persistentは初期値が1で、persistent=0だとそのステートに居る間は一回しか実行されません。persistentは初期値が1になっていますが、hitpause中に[statedef -2]でChangeStateしたステートには[statedef -2]で再度ChangeStateできません。但し、persistent=2やpersistent=3の場合は動作が異なります。

・トリガー
 これと
trigger1 = NumProjID(1100) = 0 && Time = 0 && Random < 30 || NumProjID(1100) = 0 && Time = 12 && Random < 50

 これは同じです
trigger1        = NumProjID(1100) = 0
trigger1        = Time = 0
trigger1        = Random < 30
trigger2        = NumProjID(1100) = 0
trigger2        = Time = 12
trigger2        = Random < 50

 この場合は同じ部分があるのでtriggerallで纏められます
triggerall      = NumProjID(1100) = 0
trigger1        = Time = 0
trigger1        = Random < 30
trigger2        = Time = 12
trigger2        = Random < 50

 こういう書き方も出来ます。
trigger1 = NumProjID(1100) = 0 && (Time = 0 && Random < 30 || Time = 12 && Random < 50)

 左から読むので上記の4種類のトリガーは全て同じになります。
但し一行の文字制限が256文字なので、それを越えない様に注意する必要があります。
一行で書いた方が処理としては少なくなります。

・注意点
 MUGEN1.0以降では、trigger1の順番が滅茶苦茶でも実行されますが、上から順に実行されます。数字の順番にはならないので今まで通りに書きましょう。

triggerall = 0
triggerall = 1
trigger1 = 1
trigger1 = 1
trigger2 = 2
trigger2 = 2
trigger3 = 3
trigger4 = 4


・式
var(9)=var(9)+1
var(9) = var(9)+1
var(9) = var(9) + 1
var(9)                  = var(9)+1
var(9)                  = var(9) + 1

 条件式も入れられます。計算順序の都合で括弧で括る必要があり、結果は1か0です(真か偽)。
var(9) = var(9) + 10*(var(20) = 1 && Time = 0)

(var(20) = 1 && Time = 0)が1か0になります。
特に意味のある式ではないので気にしないでください。

 浮動小数点になるpos系の値を使った場合はfloor(切捨て),ceil(切り上げ)するのを忘れない様にしましょう。
var(9) = floor(pos x) + 30 + floor(Time*2.5)
var(9) = floor(pos x + 30 + Time*2.5)
var(9) = pos x + 30 + Time*2.5                ;これだとエラーになる。

 エラーになる場合でもvarに入れる場合はexpression truncatedと表示されて小数点以下が切り取られるだけですが、var以外のoffset等の設定値に入れる場合はそのステートコントローラーを実行した際にエラーのダイアログボックス表示が出てMUGENが落ちます。
 floorで切り捨て、か又はceilで切り上げは忘れずに。


・コメント
 半角セミコロンから右は説明書きになり、行末まで有効です。行の途中からでもコメントになります。

スポンサーサイト
line
line

line
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。