キャラクター改造のスゝメ 初級編1


1、共通

  ここでは、打撃技や飛び道具を食らってものけぞらない

  いわゆる「ハイパーアーマー」をキャラクターに付与する改造を説明します。

  色んなキャラに付与してもバグを防止するために、投げは食らう・ガード中や食らい中はアーマーが消滅するようにしています。

  このページの下にあるテンプレートをコピーして、改造したいキャラにペーストすれば完成です。

  キャラクターのどの部分にペーストするかは、初心編の1-1~1-3までと同じなので省略します。

 

1-4 出てきた「Statedef -2」のすぐ下に下記テンプレート「2-1」をペースト、

   開いたメモ帳の一番下に下記テンプレート「2-2」をペーストする

 

  今回の改造はヘルパーの記述を利用するので、ペーストする部分を二つに分けてあります。

  両方同じところにペーストすると高確率でバグるのでやめましょう。

 

  また、変数、ヘルパーに使用しているStatedef、ヘルパーのIDが改造するキャラで使用済みだと同じくバグります。

  どうもおかしいなと感じたら変えてみましょう。

  ※ここが分からないでどうしてもバグる、という場合は色々調べてみるか素直にあきらめましょう。

 


2、テンプレート

 長いですが、まるごとコピーしてペーストしましょう。

 

2-1

[state -2,アーマー]
type = nothitby
triggerall = numhelper(10015)>=1
trigger1 = stateno !=[120,159]
value = ,AA,AP

[state -2,アーマー]
type = lifeadd
triggerall = numhelper(10015)>=1
triggerall = var(55)
trigger1 = stateno !=[120,159]
trigger1 = stateno !=[5000,5199]
value = -(Ceil(var(55)*0.8))
ignorehitpause = 1

[state -2,アーマー]
type = varset
trigger1 = var(55)
var(55) = 0
ignorehitpause = 1

[state -2,アーマー用ヘルパー]
type = Helper
triggerall = numhelper(10015)<=0
trigger1 = stateno !=[120,159]
trigger1 = MoveType !=H
id = 10015
name = "armor"
sprpriority = -1
pos = 0,0
postype = p1
stateno = 10015
helpertype = normal
pausemovetime = 0
bindtime = -1
keyctrl = 0
ownpal = 1

 

2-2

[Statedef 10015];アーマー処理
Type = S
VelSet = 0,0
Sprpriority = 2
ctrl=0

[State a]
type=selfstate
trigger1=!ishelper
value=0
[State 1825]
type = assertspecial
trigger1 = 1
flag = invisible

[State a]
Type = Turn
trigger1 = Facing*(Parent,Facing) < 0
IgnoreHitPause = 1
SuperMoveTime = 9999
PauseMoveTime = 9999

[State a]
type = posset
trigger1 = 1
x = root,pos x
y = root,pos y
ignorehitpause = 1

[State a]
type = changeanim
trigger1 = 1
value = root,anim
elem = root,animelemno(0)
ignorehitpause = 1

[State a]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
stateno = 10016
time = 1
ignorehitpause = 1

[State a]
type = destroyself
trigger1 = root,stateno=[120,159]
trigger2 = root,MoveType=H
;---------------------------------------------------------------------------
[Statedef 10016];アーマー処理
Type = S
VelSet = 0,0
Sprpriority = 2
ctrl=0

[State a]
type=selfstate
trigger1=!ishelper
value=0
[State 1825]
type = assertspecial
trigger1 = 1
flag = invisible

[State a]
type = parentvarset
trigger1 = time = 0
var(55) = GetHitVar(damage)
ignorehitpause = 1

[State a]
Type = Turn
trigger1 = Facing*(Parent,Facing) < 0
IgnoreHitPause = 1
SuperMoveTime = 9999
PauseMoveTime = 9999

[State a]
type = posset
trigger1 = 1
x = root,pos x
y = root,pos y
ignorehitpause = 1

[State a]
type = changeanim
trigger1 = 1
value = root,anim
elem = root,animelemno(0)
ignorehitpause = 1

[State a]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
stateno = 10016
time = 1
ignorehitpause = 1

[State a]
type = ChangeState
trigger1 = time = 1
value = 10015
ctrl = 0

[State a]
type = destroyself
trigger1 = root,stateno=[120,159]
trigger2 = root,MoveType=H
 

 


講座TOPへ

TOPへ

inserted by FC2 system