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 = Smovetype= Aphysics = Spoweradd = 0velset = 0,0anim = 8850ctrl = 0;=======================================================================; Striker Helper =======================================================;=======================================================================[State 6010, Helper]type = Helpertrigger1 = Time = 0helpertype = normalname = "Heavy_D'"id = 6011pos = -15,-200 ;<=== position of where Heavy D will jump from. in this case, the top/left corner.stateno = 6011ownpal = 1 ;<==== if you want your striker to not share your chars palette, have him have his own palette.keyctrl = 0postype = p1 ;<===== the striker will always appear above P1, no matter where P1 is standing.[State 6010, 1]type = ChangeStatetrigger1 = Time = 40value = 0ctrl = 1;============================================================;Striker Code (Jump In Animation);============================================================[Statedef 6011]type = Aphysics = Nctrl = 0anim = 6010sprpriority = 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 = VelAddtrigger1 = Time = 0x = 4y = 9;....just make sure that he does lands on the ground.[State 6011, 3]type = ChangeStatetrigger1 = Vel Y >= 0trigger1 = Pos Y >= 0value = 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 = Sphysics = Nctrl = 0anim = 6010[State 6012, 1]type = VelSettrigger1 = Time = 0y = 0[State 6012, 2]type = PosSettrigger1 = Time = 0y = 0[State 6012, 4]type = ChangeStatetrigger1 = Time = 0value = 6013ctrl = 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 = Smovetype = Aphysics = Sctrl = 0velset = 0, 0anim = 6011;...this is how long it'll take before the anim is done[State 6013 3]type = ChangeStatetrigger1 = Time = 55value = 6014;============================================================;Striker Code (ATK);============================================================[Statedef 6014]type = Smovetype = Aphysics = Sctrl = 0velset = 0, 0anim = 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 = VelSettrigger1 = Time >= 0x = 10[State 6014, HitDef]type = HitDeftrigger1 = Time = 0attr = S,HAhitflag = MAanimtype = Hardpausetime = 6,6damage = 25,2sparkno = 1sparkxy = 10,-20hitsound = S0,0guardsound = S4,0ground.type = Highground.slidetime = 17ground.hittime = 17ground.velocity = -3,-5fall = 1[State 6014, AI]type = AfterImagetrigger1 = time = 0time = 1000;<===I know, 1000 is really, really an unnecessary amount of time to have Heavy D' have an afterimage. change it to whatever you wantlength = 10palbright = 34,15,156 ;<=== the perfect color for a striker's afterimage IMOframegap = 2trans = add[State 6004]type = ChangeStatetrigger1 = Time = 100value = 6015;============================================================;Striker Code (Kill off striker);============================================================[Statedef 6015]type = Smovetype = Aphysics = Sctrl = 0anim = 6012 ;<=== this is Heavy D's ATK animation that'll also be used as his kill-off anim[State 6014,0]type = DestroySelftrigger1 = Time = 0Striker 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 = Smovetype= Aphysics = Svelset = 0,0anim = 8851ctrl = 0;=======================================================================; Striker Helper =======================================================;=======================================================================[State 6030, Helper]type = Helpertrigger1 = Time = 0helpertype = normalname = "Clown"id = 6031pos = -15,-200stateno = 6031ownpal = 1keyctrl = 0postype = p1[State 6030, 1]type = ChangeStatetrigger1 = Time = 40value = 0ctrl = 1;============================================================;Striker Code (Jump In);============================================================[Statedef 6031]type = Aphysics = Nctrl = 0anim = 6030sprpriority = 1[State 6011, 1]type = VelAddtrigger1 = Time = 0x = 4y = 9[State 6014, HitDef]type = HitDeftrigger1 = Time = 0attr = S,HAhitflag = MAanimtype = Hardpausetime = 6,6damage = 25,2sparkno = 1sparkxy = 10,-20hitsound = S0,0guardsound = S4,0ground.type = Highground.slidetime = 17ground.hittime = 17ground.velocity = -3,-5fall = 1[State 6031, 3]type = ChangeStatetrigger1 = Vel Y >= 0trigger1 = Pos Y >= 0value = 6032;============================================================;Striker Code (Action);============================================================[Statedef 6032]type = Sphysics = Nctrl = 0anim = 6030[State 6032, 1]type = VelSettrigger1 = Time = 0y = 0[State 6032, 2]type = PosSettrigger1 = Time = 0y = 0[State 6032, 4]type = ChangeStatetrigger1 = Time = 0value = 6033ctrl = 1;============================================================;Striker Code (Action);============================================================[Statedef 6033]type = Smovetype = Aphysics = Sctrl = 0velset = 0, 0anim = 6031[State 6035, AI]type = AfterImagetrigger1 = time = 100length = 10palbright = 34,15,156framegap = 2trans = add[State 6033 3]type = ChangeStatetrigger1 = Time = 10value = 6034;============================================================;Striker Code (Action);============================================================[Statedef 6034]type = Smovetype = Aphysics = Sctrl = 0velset = 0, 0anim = 6032[State 6034]type = ChangeStatetrigger1 = Time = 70value = 6035;============================================================;Striker Code (Attack);============================================================[Statedef 6035]type = Smovetype = Aphysics = Sctrl = 0anim = 6033[State 6035]type = VelSettrigger1 = Time >= 0x = 8[State 6035, AI]type = AfterImagetrigger1 = time = 20length = 10palbright = 34,15,156framegap = 2trans = add[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 1attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 2attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 3attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 4attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 5attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 6attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, Attack]type = HitDeftrigger1 = AnimElem = 7attr = S, NAanimtype = Mediumdamage = 12, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7[State 6035, 4]type = HitDeftrigger1 = AnimElem = 8attr = A, SAanimtype = Mediumdamage = 15, 4priority = 5guardflag = MApausetime = 12,12sparkxy = -10,-70hitsound = 5,3guardsound = 6,0ground.type = Lowground.slidetime = 20ground.hittime = 20ground.velocity = -3.5,-7guard.velocity = -7air.velocity = -3.5,-7fall = 1[State 2001, CS]type = ChangeStatetrigger1 = time = 15trigger2 = vel y > 0 && pos y >= 0value = 6036ctrl = 0;============================================================;Striker Code (Pestering 2);============================================================[Statedef 6036]type = Smovetype = Aphysics = Sctrl = 0anim = 6034[State 6014, HitDef]type = HitDeftrigger1 = Time = 0attr = S,HAhitflag = MAanimtype = Hardpausetime = 6,6damage = 25,2sparkno = 1sparkxy = 10,-20hitsound = S0,0guardsound = S4,0ground.type = Highground.slidetime = 17ground.hittime = 17ground.velocity = -3,-5fall = 1[State 6034]type = ChangeState; <== Means you want to change the current state anim to 6037trigger1 = Time = 90; <==== the amount of time your state is active before it shuts down and goes into its next statevalue = 6037;============================================================;Striker Code (Jump Off Screen);============================================================[Statedef 6037]type = Smovetype = Aphysics = Sctrl = 0anim = 6035; <=== That is your animation's "begin action" number[State 6037]type = VelSettrigger1 = Time >= 0x = 8y = -10[State 6034]type = ChangeStatetrigger1 = Time = 100value = 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 animstype = Smovetype = Aphysics = Sctrl = 0anim = 6035;[State 6037,0]type = DestroySelftrigger1 = Time = 0If 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.
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 ). 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.