YesNoOk
avatar

Dio Stop TIme (Read 2002 times)

Started by cyberwolfx55, September 27, 2015, 04:24:14 pm
Share this topic:
Dio Stop TIme
New #1  September 27, 2015, 04:24:14 pm
  • avatar
    • USA
    • cyberwolfx55@gmail.com
Hey, its me again, I wasn't sure where to post this.
I am trying to make a character stop time. So far i tried using Dio's 時よ止まれッ! But I realized then I had no clue what I was doing at all. Just wondering which part of the code for Dio is even relevant?

Code:
;---------------------------------------------------------------------------
;時よ止まれッ!
[Statedef 3200]
type = S
movetype = I
physics = N
ctrl = 0
anim = 3200
velset = 0,0

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 10000, VarAdd]
type = VarSet
trigger1 = time = 0
var(13) = 0
ignorehitpause = 1

[State 10000, VarAdd]
type = VarSet
trigger1 = time = 0
var(15) = 0
ignorehitpause = 1

[State 10000, NotHitBy]
type = NotHitBy
trigger1 = AnimElemTime(13) = 1
value = SCA
time = 2

[State 10000, VarAdd]
type = VarSet
trigger1 = AnimElemTime(13) = 2
var(0) = 1
ignorehitpause = 1

[State 220, Voice]
type = PlaySnd
trigger1 = AnimElem = 6
value = 3200, 0
channel = 0

[State 220, Voice]
type = PlaySnd
trigger1 = animtime = 0
value = 3200, 1
channel = 0

[State 220, Voice]
type = PlaySnd
trigger1 = AnimElem = 7
value = 3200, 3

[State 1000, Spark]
type = Explod
trigger1 = AnimElem = 7
Anim = 7050
id = 7050
pos = 0,ceil(-105*const(size.yscale))
postype = P1
ownpal = 1
bindtime = -1
sprpriority = -106
removeongethit = 1
removetime = 25
pausemovetime = 25

[State 4900, 16]
type = modifyExplod
trigger1 = Numexplod(7050)
Id = 7050
scale = (time-56)*.05,(time-56)*.05

[State 10000, VarSet]
type = VarSet
trigger1 = AnimElemTime(13) = 2
var(2) = ifelse(power>=10000,572,ceil(power*.052))+1
ignorehitpause = 1

[State 220, 3]
type = ChangeState
trigger1 = animtime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;時よ止まれッ!(終了待機)
[Statedef 3203]
type = U
movetype = I
physics = N
ctrl = 0
velset = 0,0

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 10000, ChangeAnim]
type = changeanim
trigger1 = Time = 0
trigger1 = statetype = C
value = 12

[State 10000, StateTypeSet]
type = StateTypeSet
trigger1 = anim = 12 && animtime = 0
statetype = S
ignorehitpause = 1

[State 10000, ChangeAnim]
type = changeanim
trigger1 = anim = 5 && animtime = 0
trigger2 = anim = 6 && animtime = 0
trigger3 = anim = 12 && animtime = 0
trigger4 = anim != 5 || anim != 6 || anim != 12 || anim != 0
value = 0
persistent = 0

[State 2500, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA

[State 220, 3]
type = ChangeState
trigger1 = !NumHelper(10000)
trigger2 = !Helper(10000),var(0)
trigger3 = Helper(10000),stateno = 10000
value = 3202

;---------------------------------------------------------------------------
;時よ止まれッ!(終了)
[Statedef 3202]
type = S
movetype = I
physics = N
ctrl = 0
anim = 3202
velset = 0,0

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 10000, VarAdd]
type = VarSet
trigger1 = animtime = 0
var(0) = 0
ignorehitpause = 1

[State 220, Voice]
type = PlaySnd
trigger1 = animelemtime(9) = 20
value = 3200, 2
channel = 0

[State 200, 7]
type = TargetState
trigger1 = numtarget
trigger1 = target,stateno != [2600,2601]
trigger1 = animtime = 0
value = 2701

[State 2500, NotHitBy]
type = NotHitBy
trigger1 = var(0) = 1
value = SCA

[State 220, 3]
type = ChangeState
trigger1 = numtarget || var(42)
trigger1 = animtime = 0
value = 3204

[State 220, 3]
type = ChangeState
trigger1 = animtime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;時よ止まれッ!(終了)
[Statedef 3204]
type = S
movetype = I
physics = N
ctrl = 0
anim = 3203
velset = 0,0

[State 200, 7]
type = screenbound
trigger1 = 1
value = 0

[State 2500, NotHitBy]
type = NotHitBy
trigger1 = var(0) = 1
value = SCA

[State 200, 7]
type = ChangeState
triggerall = backedgebodydist < 0 || frontedgebodydist < 0
trigger1 = !numtarget && !var(42)
trigger2 = numtarget
trigger2 = target,statetype = L
trigger3 = var(42)
trigger3 = numenemy
trigger3 = enemynear,statetype = L
value = 2500

[State 200, 7]
type = ChangeState
triggerall = time > 3
trigger1 = !numtarget && !var(42)
trigger2 = numtarget
trigger2 = target,statetype = L
trigger3 = var(42)
trigger3 = numenemy
trigger3 = enemynear,statetype = L
value = 0
ctrl = 1

;------------------------------------------------------------------------------------------
;時よ止まれッ!(背景変化)
[Statedef 3210]
type = U
physics = N
anim = 6900
velset = 0,0
ctrl = 0

[State 181, EnvColor]
type = Bgpalfx
trigger1 = 1
time = 2
invertall = 1
color = 0
ignorehitpause = 1

[State 10000, Assert]
type = AssertSpecial
trigger1 = 1
flag = nomusic
flag2 = timerfreeze
ignorehitpause = 1

[State 420, 3]
type = DestroySelf
trigger1 = !root,var(0)

;------------------------------------------------------------------------------------------
;時よ止まれッ!(入門)
[Statedef 3211]
type = U
physics = N
anim = 6900
velset = 0,0
ctrl = 0

[State 220, Voice]
type = PlaySnd
trigger1 = time = 1
trigger1 = root,stateno != 3200
value = 3200, 0

[State 220, Voice]
type = PlaySnd
trigger1 = time = 1
trigger1 = root,stateno != 3200
value = 3200, 3

[State 420, 3]
type = DestroySelf
trigger1 = !root,var(0)

;---------------------------------------------------------------------------
;時よ止まれッ!(スタンド)(終了)
[Statedef 13204]
type = S
physics = S
sprpriority = 0
anim = 6900

[State 1505,0]
type = BindToParent
trigger1 = 1
pos = 0,0
postype = p1

[State 100, 2]
type = turn
trigger1 = facing != root,facing

[State 420, VarSet]
type = VarSet
trigger1 = time = 1
var(0) = 0

[State 200, 7]
type = TargetState
trigger1 = numtarget && !root,numtarget
trigger1 = target,stateno != [2600,2601]
trigger1 = !root,var(0)
value = 2701
persistent = 0

[State 2500, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA

[State 420, ChangeState]
type = ChangeState
trigger1 = !root,var(0)
value = 10000

Sorry if this seems too annoying. But looking at that wall of code can be very scary.
Last Edit: October 22, 2015, 02:07:25 pm by Noctis
Re: Dio Stop TIme
#2  September 27, 2015, 08:03:23 pm
  • *****
  • Shame on you!
    • USA
"Freezing time" Is usually an illusion caused by controlling P2 so my guess is,
[State 200, 7]
type = TargetState
trigger1 = numtarget
trigger1 = target,stateno != [2600,2601]
trigger1 = animtime = 0
value = 2701
Is the important part.

Check out statedef 2701. It seems Dio sends P2 to that state a couple ways. You're just looking for N physics and velsets of 0,0. and probably a way of locking what ever animation P2 is in, on one frame.
vVv Ryuko718 Updated 10/31/22 vVv