YesNoOk
avatar

#Striker Tutorial (Read 6437 times)

Started by #Shaun, November 22, 2007, 03:59:57 am
Share this topic:
#Striker Tutorial
#1  November 22, 2007, 03:59:57 am
  • *****
  • corner push pusher
I'm in an extremely generous mood so I'm going to copy+paste some of my striker code from my Real Lucky character. I'll post some generalized comments on what does what here and there in the code, but it'll mostly be copy+paste (yeah, I'm also in a lazy mood). This tutorial will show you two different striker set-ups (for the rest, just d/l my char and look it over). The major difference in them is really the X and Y axis of where and how they show up/disappear. All you need to know is this: a striker needs a helper to initialize itself, and it needs a jump/walk/run in anim, an ATK anim, and a kill-off anim.....as well as the code to back it up  ::).

To see these strikers in action download "gone"

Striker 01: Heavy D' (This striker comes from the top left hand of the corner, lands on the ground, does a pose, and travels across the screen with his fist out. That atk animation will also be used to kill off the striker.


;=======================================================================
; Heavy D! Striker Code
;=======================================================================

;Heavy_D' State Def
[Statedef 6010]
type    = S
movetype= A
physics = S
poweradd = 0
velset = 0,0
anim = 8850
ctrl = 0

;=======================================================================
; Striker Helper =======================================================
;=======================================================================
[State 6010, Helper]
type = Helper
trigger1 = Time = 0
helpertype = normal
name = "Heavy_D'"
id = 6011
pos = -15,-200 ;<=== position of where Heavy D will jump from. in this case, the top/left corner.
stateno = 6011
ownpal = 1 ;<==== if you want your striker to not share your chars palette, have him have his own palette.
keyctrl = 0
postype = p1 ;<===== the striker will always appear above P1, no matter where P1 is standing.


[State 6010, 1]
type = ChangeState
trigger1 = Time = 40
value = 0
ctrl = 1

;============================================================
;Striker Code (Jump In Animation)
;============================================================
[Statedef 6011]
type    = A
physics = N
ctrl = 0
anim = 6010
sprpriority = 1

;i prefer veladd than velset in most cases. this indicates that your striker will travel towards the right and land on
;the ground at a steady pace when activated.
[State 6011, 1]
type = VelAdd
trigger1 = Time = 0
x = 4
y = 9

;....just make sure that he does lands on the ground.
[State 6011, 3]
type = ChangeState
trigger1 = Vel Y >= 0
trigger1 = Pos Y >= 0
value = 6012


;..this is only if you want his jump animation to mimic his quick landing anim as well. this isn't really needed.
;============================================================
;Striker Code (Action)
;============================================================
[Statedef 6012]
type    = S
physics = N
ctrl = 0
anim = 6010

[State 6012, 1]
type = VelSet
trigger1 = Time = 0
y = 0

[State 6012, 2]
type = PosSet
trigger1 = Time = 0
y = 0


[State 6012, 4]
type = ChangeState
trigger1 = Time = 0
value = 6013
ctrl = 1

;...in most cases I throw in a stupid animation to give the strike a little character before he attacks. in this case, Heavy D' will punch the ground before his initial atk
;============================================================
;Striker Code (Action Pose)
;============================================================
[Statedef 6013]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0, 0
anim = 6011

;...this is how long it'll take before the anim is done
[State 6013 3]
type = ChangeState
trigger1 = Time = 55
value = 6014



;============================================================
;Striker Code (ATK)
;============================================================
[Statedef 6014]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0, 0
anim = 6012;<=== hit animation that will also be used to kill off the striker later

;Heavy D' will travel towards the opponent at this speed
[State 6014]
type = VelSet
trigger1 = Time >= 0
x = 10

[State 6014, HitDef]
type = HitDef
trigger1 = Time = 0
attr = S,HA
hitflag = MA
animtype = Hard
pausetime = 6,6
damage = 25,2
sparkno = 1
sparkxy = 10,-20
hitsound = S0,0
guardsound = S4,0
ground.type = High
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -3,-5
fall = 1


[State 6014, AI]
type = AfterImage
trigger1 = time = 0
time = 1000;<===I know, 1000 is really, really an unnecessary amount of time to have Heavy D' have an afterimage. change it to whatever you want
length = 10
palbright = 34,15,156 ;<=== the perfect color for a striker's afterimage IMO
framegap = 2
trans = add

[State 6004]
type = ChangeState
trigger1 = Time = 100
value = 6015

;============================================================
;Striker Code (Kill off striker)
;============================================================
[Statedef 6015]
type = S
movetype = A
physics = S
ctrl = 0
anim = 6012 ;<=== this is Heavy D's ATK animation that'll also be used as his kill-off anim

[State 6014,0]
type = DestroySelf
trigger1 = Time = 0







Striker 02: Clown (this striker will appear from the top/left, do a taunt, atk, do another atk but with a taunt-like animation, then disappear at the top/right)
;=======================================================================
; Clown Striker Code
;=======================================================================

;Clown State Def
[Statedef 6030]
type    = S
movetype= A
physics = S
velset = 0,0
anim = 8851
ctrl = 0

;=======================================================================
; Striker Helper =======================================================
;=======================================================================
[State 6030, Helper]
type = Helper
trigger1 = Time = 0
helpertype = normal
name = "Clown"
id = 6031
pos = -15,-200
stateno = 6031
ownpal = 1
keyctrl = 0
postype = p1

[State 6030, 1]
type = ChangeState
trigger1 = Time = 40
value = 0
ctrl = 1

;============================================================
;Striker Code (Jump In)
;============================================================
[Statedef 6031]
type    = A
physics = N
ctrl = 0
anim = 6030
sprpriority = 1

[State 6011, 1]
type = VelAdd
trigger1 = Time = 0
x = 4
y = 9

[State 6014, HitDef]
type = HitDef
trigger1 = Time = 0
attr = S,HA
hitflag = MA
animtype = Hard
pausetime = 6,6
damage = 25,2
sparkno = 1
sparkxy = 10,-20
hitsound = S0,0
guardsound = S4,0
ground.type = High
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -3,-5
fall = 1

[State 6031, 3]
type = ChangeState
trigger1 = Vel Y >= 0
trigger1 = Pos Y >= 0
value = 6032


;============================================================
;Striker Code (Action)
;============================================================
[Statedef 6032]
type    = S
physics = N
ctrl = 0
anim = 6030

[State 6032, 1]
type = VelSet
trigger1 = Time = 0
y = 0

[State 6032, 2]
type = PosSet
trigger1 = Time = 0
y = 0





[State 6032, 4]
type = ChangeState
trigger1 = Time = 0
value = 6033
ctrl = 1

;============================================================
;Striker Code (Action)
;============================================================
[Statedef 6033]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0, 0
anim = 6031

[State 6035, AI]
type = AfterImage
trigger1 = time = 100
length = 10
palbright = 34,15,156
framegap = 2
trans = add

[State 6033 3]
type = ChangeState
trigger1 = Time = 10
value = 6034

;============================================================
;Striker Code (Action)
;============================================================
[Statedef 6034]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0, 0
anim = 6032



[State 6034]
type = ChangeState
trigger1 = Time = 70
value = 6035

;============================================================
;Striker Code (Attack)
;============================================================
[Statedef 6035]
type = S
movetype = A
physics = S
ctrl = 0
anim = 6033

[State 6035]
type = VelSet
trigger1 = Time >= 0
x = 8

[State 6035, AI]
type = AfterImage
trigger1 = time = 20
length = 10
palbright = 34,15,156
framegap = 2
trans = add


[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 1
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 5
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 6
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, Attack]
type = HitDef
trigger1 = AnimElem = 7
attr = S, NA
animtype  = Medium
damage    = 12, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7

[State 6035, 4]
type = HitDef
trigger1 = AnimElem = 8
attr = A, SA
animtype  = Medium
damage    = 15, 4
priority  = 5
guardflag = MA
pausetime = 12,12
sparkxy = -10,-70
hitsound   = 5,3
guardsound = 6,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -3.5,-7
guard.velocity = -7
air.velocity = -3.5,-7
fall = 1

[State 2001, CS]
type = ChangeState
trigger1 = time = 15
trigger2 = vel y > 0 && pos y >= 0
value = 6036
ctrl = 0

;============================================================
;Striker Code (Pestering 2)
;============================================================
[Statedef 6036]
type = S
movetype = A
physics = S
ctrl = 0
anim = 6034



[State 6014, HitDef]
type = HitDef
trigger1 = Time = 0
attr = S,HA
hitflag = MA
animtype = Hard
pausetime = 6,6
damage = 25,2
sparkno = 1
sparkxy = 10,-20
hitsound = S0,0
guardsound = S4,0
ground.type = High
ground.slidetime = 17
ground.hittime  = 17
ground.velocity = -3,-5
fall = 1

[State 6034]
type = ChangeState; <== Means you want to change the current state anim to 6037
trigger1 = Time = 90; <==== the amount of time your state is active before it shuts down and goes into its next state
value = 6037

;============================================================
;Striker Code (Jump Off Screen)
;============================================================
[Statedef 6037]
type = S
movetype = A
physics = S
ctrl = 0
anim = 6035; <=== That is your animation's "begin action" number


[State 6037]
type = VelSet
trigger1 = Time >= 0
x = 8
y = -10




[State 6034]
type = ChangeState
trigger1 = Time = 100
value = 6038

;============================================================
;Striker Code (Kill off striker)
;============================================================
; if you're someone trying to figure out how to code strikers, remember:
[Statedef 6038]; <===========That determines the state of your anims
type = S
movetype = A
physics = S
ctrl = 0
anim = 6035;

[State 6037,0]
type = DestroySelf
trigger1 = Time = 0

If you've downloaded the char feel free to use the striker code to suit your needs. I don't really care. Just make sure you know what you're doing. When I don't feel as lazy as I do right now I may be a little in-depth in this tutorial in the future.

P.S., if playing with Real Lucky and wondering about how my Trey striker appeared with that flicker effect, it really isn't nothing special....just the old-age trick of coding one anim frame, then coding an empty one.
Last Edit: December 28, 2009, 12:44:46 pm by Cyanide
Re: #Striker Tutorial
#2  November 26, 2007, 05:26:25 pm
  • *****
  • corner push pusher
I should probably point out that this isn't the mainstay way of making a striker - there's other ways of doing it. But this is how I do it. My type of striker doesn't get hit by the opponent either (notice the absence of code for it  ;P).

There are many other talented people here in the guild who can do better strikers than I can, but since I didn't see anyone giving specific play-by-play help on it I decided to make this tutorial. If anyone else has some input feel free to reply.
Re: #Striker Tutorial
#3  June 18, 2008, 04:45:49 am
  • ***
  • :)
    • www.freewebs.com/mvcsnk/
What would I put in the CMD?
Re: #Striker Tutorial
#4  October 14, 2008, 12:09:13 am
  • *
  • Sega!
hey um bad news i cant download Real Lucky the link is down can you put a new one up please?  ???
Egon WIP
coming at ya sooner then ya think

JNi

Re: #Striker Tutorial
#5  December 30, 2009, 05:19:42 am
  • avatar
  • ***
    • JonathanAM.webs.com
Sorry, the file you requested is not available.  :-\

«latest release on: December,25,2009,»