enhancing beam effects

Started by Tyrannosaurus rex, December 31, 2009, 09:35:47 AM

Previous topic - Next topic

Tyrannosaurus rex

I have this character who has this beam attack. The beam attack is quite unique and I'am trying to play with the code for enhancing the beam's destructive force. The beam attack works like this:

player punches a combination of keys:
character executes beam attack. the attack button used for execution is held for keeping the beam going.
player presses up or down the manuever the beam upwards or downwards.
The beam is drawn as three seperately animated sprite segments: the tail, the middle and the front tip, all combining to illustrate a single beam fired in one direction. Needless to say, there are three such animated segments for aiming upwards and downwards.

Here are the constants (taken from Fighter factory) used:


;------------------------------------------
[Statedef 1000]
type    = S
movetype= A
physics = S
juggle  = 4
velset = 0,0
anim = 1000
ctrl = 0
sprpriority = 2

[State 1000, 3]
type = VarSet
trigger1 = Time = 0
v = 0
value = 0

[State 1000, 3]
type = VarAdd
triggerall = Var(0) > -2
triggerall = Time%4 = 0
triggerall = Time > 12
triggerall = Time < 63
trigger1 = command = "holda"
trigger1 = command = "holdup"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 75
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y <= -50
trigger2 = P2BodyDist Y >= -100
v = 0
value = -1

[State 1000, 3]
type = VarAdd
triggerall = Var(0) < 2
triggerall = Time%4 = 0
triggerall = Time > 12
triggerall = Time < 63
trigger1 = command = "holddown"
trigger1 = command = "holda"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 25
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y >= 0
v = 0
value = 1

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 12
triggerall = Time < 63
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Var(0) = 0
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Var(0) = 0
value = 1003

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 12
triggerall = Time < 63
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Var(0) < 0
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Var(0) < 0
value = 1001

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 12
triggerall = Time < 63
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Var(0) > 0
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Var(0) > 0
value = 1002

[State 1000, 1]
type = PlaySnd
triggerall = anim != 1005
triggerall = Time > 12
triggerall = Time < 63
triggerall = Time%8 = 0
trigger1 = command = "holda"
trigger2 = Var(10) > 0
value = 1000, 0

[State 1000, 10]
type = Projectile
triggerall = Var(0) = -2
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1011
;projhitanim = 1015
projremovetime = 15+Var(2)
offset = 18+random%2, -66
velocity = 5,-5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = -1
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1013
projremovetime = 15+Var(2)
offset = 20+random%2, -66
velocity = 5,-2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-1
palfx.time = 2
palfx.mul = 80, 80, 200
/// (low beam straight)
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 0
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1010
projremovetime = 15+Var(2)
offset = 28+random%2, -58
velocity = 5,0
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = 1
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1014
projremovetime = 15+Var(2)
offset = 20+random%2, -50
velocity = 5,2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,1
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = 2
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1012
projremovetime = 15+Var(2)
offset = 22+random%2, -48
velocity = 5,5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 7]
type = ChangeAnim
trigger1 = Time = 63
trigger2 = command != "holda"
trigger2 = Time > 12
trigger2 = anim != 1005
trigger2 = Var(10) = 0
value = 1005

[State 1000, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;------------------------------------------




;------------------------------------------
[Statedef 1050]
type    = S
movetype= A
physics = S
juggle  = 4
velset = 0,0
anim = 1050
ctrl = 0
sprpriority = 2

[State 1000, 3]
type = VarSet
trigger1 = Time = 0
v = 0
value = 0

[State 1000, 3]
type = VarAdd
triggerall = Var(0) > -2
triggerall = Time > 20
triggerall = Time < 121
triggerall = Time%4 = 0
trigger1 = command = "holdx"
trigger1 = command = "holdup"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 50
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y <= -50
trigger2 = P2BodyDist Y >= -100
v = 0
value = -1

[State 1000, 3]
type = VarAdd
triggerall = Var(0) < 2
triggerall = Time > 20
triggerall = Time < 121
triggerall = Time%4 = 0
trigger1 = command = "holdx"
trigger1 = command = "holddown"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 25
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y <= 0
v = 0
value = 1

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 20
triggerall = Time < 121
trigger1 = command = "holdx"
trigger1 = Var(0) = 0
trigger1 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Var(0) = 0
trigger2 = anim != 1006
value = 1003

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 20
triggerall = Time < 121
trigger1 = command = "holdx"
trigger1 = Var(0) < 0
trigger1 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Var(0) < 0
trigger2 = anim != 1006
value = 1001

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 20
triggerall = Time < 121
trigger1 = command = "holdx"
trigger1 = Var(0) > 0
trigger1 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Var(0) > 0
trigger2 = anim != 1006
value = 1002

[State 1000, 1]
type = PlaySnd
triggerall = anim != 1006
triggerall = Time > 20
triggerall = Time < 121
triggerall = Time%8 = 0
trigger1 = command = "holdx"
trigger2 = Var(10) > 0
value = 1000, 0

[State 1000, 10]
type = Projectile
triggerall = Var(0) = -2
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1011
;projhitanim = 1015
projremovetime = 15+Var(2)
offset = 18+random%2, -66
velocity = 5,-5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-2
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = -1
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1013
projremovetime = 15+Var(2)
offset = 20+random%2, -66
velocity = 5,-2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-1
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 0
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1010
projremovetime = 15+Var(2)
offset = 28+random%2, -58
velocity = 5,0
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 1
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1014
projremovetime = 15+Var(2)
offset = 20+random%2, -50
velocity = 5,2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,1
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 2
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1012
projremovetime = 15+Var(2)
offset = 22+random%2, -48
velocity = 5,5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,2
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 7]
type = ChangeAnim
trigger1 = Time = 121
trigger2 = command != "holdx"
trigger2 = Time > 20
trigger2 = anim != 1006
trigger2 = Var(10) = 0
value = 1006

[State 1000, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;------------------------------------------


The actions used in the animations relevant to this code are as follows:

1010: aiming beam straightwards
1011: aiming beam diagnolly upwards
1012: aiming beam diagnolly downwards
1013: transition from straight to downwards
1014: transition from straight to upwards
1015: Spark effect caused by the beam hitting an opponent
1006 and 1005:player is finished firing the beam.

I'am still studying the definitions of each variable used here. I'am a novice, but I figured somethings out by testing the code with different values used.

The first thing that I noticed is, that when the beam is fired at an enemy it strikes him rapidly and pushes him back. The attack collision box is repeatedly generated to mimic the effect of a scorching beam at a very quick hit per microsecond rate. I was wondering if there is a way to make it so that when the beam touches the enemy there is atleast a one second delay before the next hit is registered.  

The second thing I'am trying to figure out is that how I can make it so that when the beam is aimed downwards and the collision box touches the ground, it creates all the effects exactly like the same way the beam reacts when hitting an opponent.

Lastly how do I make the screen flash white entirely when a collision box registers a hit to either player or the ground.


P.S:I'am manipulating the values of the variable Var but they seem to have no effect to the overall attack. What is the function of Var in this piece of code.


Ryon

i find this VERY EXTREMELY useful.

this is something i should implement to my Kid Goku, since he has controlled it once as a kid.

Cyanide

#2
So, you're posting someone else's code that you don't understand just yet? Moving topic to help, it's not code library material unless you can explain it.

All var(0) is doing is controlling the direction of the beam. Var(10) appears to have no real purpose because i don't know what it's set to, or when it's set.

Due to the nature of that beam you could not stop the projectiles hitting again except in a rather over the top manner (hitflag = MA-) meaning only hit people who aren't in a hitstate which just wouldn't work.

As i'm pretty sure this is pextin's code, and i know that beam is pretty static really, clever scaling of a helper would give a better effect and be more controllable. Only issue would be that you have to change the anim via a change in anim rather than just angledraw.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Ryon

i've seen Pixteen's chars use this. and it sounds awesome. dont mind me.

Cyanide

Oh there's nothing wrong with it as far as it goes, it's just, it could be better and it didn't belong in code library because the OP didn't and couldn't explain how to replicate it.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Tyrannosaurus rex

its been a while now, and I retried coding this with Cynide's suggestion. Since Cynide suggested to do this outside PMing, I decided to revive this thread in hopes of getting this solved once and for all.

;------------------------------------------
[Statedef 1000]
type    = S
movetype= A
physics = S
juggle  = 4
velset = 0,0
anim = 1000
ctrl = 0
sprpriority = 2

[State 1000, 3]
type = VarSet
trigger1 = Time = 0
v = 0
value = 0

[State 1000, 3]
type = VarAdd
triggerall = Var(0) > -2
triggerall = Time%4 = 0
triggerall = Time > 12
triggerall = Time < 63
trigger1 = command = "holda"
trigger1 = command = "holdup"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 75
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y <= -50
trigger2 = P2BodyDist Y >= -100
v = 0
value = -1

[State 1000, 3]
type = VarAdd
triggerall = Var(0) < 2
triggerall = Time%4 = 0
triggerall = Time > 12
triggerall = Time < 63
trigger1 = command = "holddown"
trigger1 = command = "holda"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 25
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y >= 0
v = 0
value = 1

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 12
triggerall = Time < 63
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Var(0) = 0
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Var(0) = 0
value = 1003

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 12
triggerall = Time < 63
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Var(0) < 0
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Var(0) < 0
value = 1001

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 12
triggerall = Time < 63
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Var(0) > 0
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Var(0) > 0
value = 1002

[State 1000, 1]
type = PlaySnd
triggerall = anim != 1005
triggerall = Time > 12
triggerall = Time < 63
triggerall = Time%8 = 0
trigger1 = command = "holda"
trigger2 = Var(10) > 0
value = 1000, 0

[State 1000, 10]
type = Projectile
triggerall = Var(0) = -2
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1011
;projhitanim = 1015
projremovetime = 15+Var(2)
offset = 18+random%2, -66
velocity = 5,-5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = -1
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1013
projremovetime = 15+Var(2)
offset = 20+random%2, -66
velocity = 5,-2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-1
palfx.time = 2
palfx.mul = 80, 80, 200
/// (low beam straight)
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 0
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1010
projremovetime = 15+Var(2)
offset = 28+random%2, -58
velocity = 5,0
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = 1
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1014
projremovetime = 15+Var(2)
offset = 20+random%2, -50
velocity = 5,2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,1
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = 2
trigger1 = anim != 1005
trigger1 = command = "holda"
trigger1 = Time > 12
trigger1 = Time < 63
trigger2 = anim != 1005
trigger2 = Var(10) > 0
trigger2 = Time > 12
trigger2 = Time < 63
projanim = 1012
projremovetime = 15+Var(2)
offset = 22+random%2, -48
velocity = 5,5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 7]
type = ChangeAnim
trigger1 = Time = 63
trigger2 = command != "holda"
trigger2 = Time > 12
trigger2 = anim != 1005
trigger2 = Var(10) = 0
value = 1005

[State 1000, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;------------------------------------------
[Statedef 1050]
type    = S
movetype= A
physics = S
juggle  = 4
velset = 0,0
anim = 1050
ctrl = 0
sprpriority = 2

[State 1050, VelAdd]
type = VelAdd
trigger1 = 1
y = .3

[State 1000, 3]
type = VarSet
trigger1 = Time = 0
v = 0
value = 0

[State 1000, 3]
type = VarAdd
triggerall = Var(0) > -2
triggerall = Time > 20
triggerall = Time < 121
triggerall = Time%4 = 0
trigger1 = command = "holdx"
trigger1 = command = "holdup"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 50
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y <= -50
trigger2 = P2BodyDist Y >= -100
v = 0
value = -1

[State 1000, 3]
type = VarAdd
triggerall = Var(0) < 2
triggerall = Time > 20
triggerall = Time < 121
triggerall = Time%4 = 0
trigger1 = command = "holdx"
trigger1 = command = "holddown"
trigger2 = Var(10) > 0
trigger2 = P2BodyDist X <= 25
trigger2 = P2BodyDist X >= 0
trigger2 = P2BodyDist Y <= 0
v = 0
value = 1

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 20
triggerall = Time < 121
trigger1 = command = "holdx"
trigger1 = Var(0) = 0
trigger1 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Var(0) = 0
trigger2 = anim != 1006
value = 1003

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 20
triggerall = Time < 121
trigger1 = command = "holdx"
trigger1 = Var(0) < 0
trigger1 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Var(0) < 0
trigger2 = anim != 1006
value = 1001

[State 1000, 7]
type = ChangeAnim
triggerall = Time > 20
triggerall = Time < 121
trigger1 = command = "holdx"
trigger1 = Var(0) > 0
trigger1 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Var(0) > 0
trigger2 = anim != 1006
value = 1002

[State 1000, 1]
type = PlaySnd
triggerall = anim != 1006
triggerall = Time > 20
triggerall = Time < 121
triggerall = Time%8 = 0
trigger1 = command = "holdx"
trigger2 = Var(10) > 0
value = 1000, 0

[State 1000, 10]
type = Projectile
triggerall = Var(0) = -2
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1011
;projhitanim = 1015
projremovetime = 15+Var(2)
offset = 18+random%2, -66
velocity = 5,-5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-2
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = -1
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1013
projremovetime = 15+Var(2)
offset = 20+random%2, -66
velocity = 5,-2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,-1
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 0
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1010
projremovetime = 15+Var(2)
offset = 28+random%2, -58
velocity = 5,0
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = High
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1000, 10]
type = Projectile
triggerall = Var(0) = 1
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1014
projremovetime = 15+Var(2)
offset = 20+random%2, -50
velocity = 5,2.5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,1
palfx.time = 2
palfx.mul = 80, 80, 200
[State 1000, 10]
type = Projectile
triggerall = Var(0) = 2
trigger1 = anim != 1006
trigger1 = command = "holdx"
trigger1 = Time > 20
trigger1 = Time < 121
trigger2 = anim != 1006
trigger2 = Var(10) > 0
trigger2 = Time > 20
trigger2 = Time < 121
projanim = 1012
projremovetime = 15+Var(2)
offset = 22+random%2, -48
velocity = 5,5
getpower  = 0
givepower = 0
attr = S, SP
damage = 1
animtype = Light
pausetime = 0,0
sparkno = S1015
guard.sparkno = S4010
sparkxy = 0, 0
hitsound = S1100,1
guardsound = S100,1
hitflag = MAF
guardflag = MA
ground.type = Low
ground.slidetime = 0
ground.hittime = 0
ground.velocity = -2
air.velocity = -2,2
palfx.time = 2
palfx.mul = 80, 80, 200

[State 1050, ChangeState]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
trigger2 = MoveContact
value = 1051

[State 1000, 7]
type = ChangeAnim
trigger1 = Time = 121
trigger2 = command != "holdx"
trigger2 = Time > 20
trigger2 = anim != 1006
trigger2 = Var(10) = 0
value = 1006

[State 1000, 7]            ////animation end
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;------------------------------------------
;---------------------------------------------------------------------------


This is in testing phase to see what works. There is an error however.

http://img203.imageshack.us/i/errormessageke.png/


Would appreciate help knowing what went wrong.

2OS


-True-

I see no explod, in the code.
the error is in the 1051 state. can you put 1051?

Como Hacia Hitler Mijo

Ƹ̵̡Ӝ̵̨̄ƷShadyƸ̵̡Ӝ̵̨̄Ʒ

Probably your state 1051 problem. Post it in here.

もう何も無いのねAlexandria Shady Rensia。少しこの名前に疲れているのかしら。自分を嫌いになりそう。

2OS

Ok seriously ?

Two echos aren't needed thanks

Ƹ̵̡Ӝ̵̨̄ƷShadyƸ̵̡Ӝ̵̨̄Ʒ

Quote from: 2OS on February 12, 2011, 07:51:07 PM
Ok seriously ?

Two echos aren't needed thanks
Didn't notice it. Oh, Deuce.


もう何も無いのねAlexandria Shady Rensia。少しこの名前に疲れているのかしら。自分を嫌いになりそう。

Tyrannosaurus rex

sorry for missing that bit, so here it is:

ƒhhelper_2

[Statedef 1051]
type = A
movetype = A
physics = N
anim = 1052
ctrl = 0
velset = 0,0

[State 1051, PlaySnd]
type = PlaySnd
trigger1 = Time = 0
value = 1100,0

[State 1051, Explod]
type = Explod
trigger1 = Time = 0
anim = 1053
pos = -20,Ceil(Pos Y / 4)
sprpriority = 5

[State 1051, PosSet]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1051, Explod]
type = Explod
trigger1 = Time = 5
anim = 1053
pos = 20,0
sprpriority = 5

[State 1051, HitDef]
type = HitDef
trigger1 = Time = 0
attr = S, SP
damage = 120,5
animtype = Hard
guardflag = M
hitflag = MAFD
getpower = 20,40
pausetime = 10,12
sparkno = -1
guard.sparkno = S8050
sparkxy = -5, -85
hitsound = S5,2
guardsound = S6,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 18
ground.velocity = -5,-5
air.velocity = -5,-5
yaccel = .4
ground.cornerpush.veloff = 0
fall = 1
fall.recover = 0

[State 1051, DestroySelf]
type = DestroySelf
trigger1 = AnimTime = 0
;---------------------------------------------------------------------------

All spark effects and other animation and audio related things are in place.

2OS

[State 1051, Explod]
type = Explod
trigger1 = Time = 0
anim = 1053
pos = -20,Ceil(Pos Y)/4
sprpriority = 5

Try that

Tyrannosaurus rex

Tried it. Its still giving the same error :???:.

Cyanide

For the sake of troubleshooting. Please change the pos line to pos = 20,0

I know it's not what you're after, but if it still errors after that we can take a malformed equation out, or consider that there is an explod parameter required that you haven't added. Although i'm pretty sure you've got the only important ones already.

Also, please label your 2 explods slightly further with numbers

explod 1

explod 2

in the [] bit. Would be interesting to know if 1 or both are causing issues as they are both the same code.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

Tyrannosaurus rex

I tried your modifications Cyanide, but it didn't solve the problem. Its giving the same error, only now it has the numericals labelling the explods.


Cyanide

Good. We can go a step further then

[State 1051, Explod 1]
type = Explod
trigger1 = Time = 0
anim = 1053
pos = -20,0
sprpriority = 5
;postype = p1
;bindtime = -1
;removetime = -2
;removeongethit = 1

Those 4 are parameters i always add by default. Uncomment 1, save it, test, repeat. Do this for explod 1 only. Would like to know if it removes it from the debug. If it does NOT remove it. Then we have exhausted options for fixing the explod. Delete the sctrl. Save the files, quit altogether, reopen, rewrite the code.


In M.U.G.E.N there is no magic button

They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.

-True-

i test two sctrl of explods, and no give me error  :-\ (winmugen and mugen 1.0)

Como Hacia Hitler Mijo

Riptide

The first two parameters, you include them because mugen will go buggy with out them?

Tyrannosaurus rex

Well, I have tried your second step, and there are no more errors, Cyanide.

However, when I execute the attack, the player disappears and there are explosions on his feet that blink very fast.