Posted by DosKillerFighterTrue
in Is there a char that uses a replay system like Street Fighter EX (Started by DosKillerFighterTrue October 25, 2024, 06:26:47 pm
Board: Requests
Board: Requests
; WIN
[Statedef 180]
type = S
ctrl=0
;near
[State 180, Near or Far]
type = ChangeState
value = 183
triggerall = p2bodydist X <= 3
trigger1 = Time = 1
;far
[State 180, Near or Far]
type = ChangeState
value = 181
trigger1 = Time = 1
So if you have a variable counting your hits, you can expand on that. If you don't you can look at my Ryuko here
https://mugenguild.com/forum/topics/ryuko718-custom-ryuko-updated-103122-196784.0.html
She has a way so that I can't keep using the same specials over and over. Look at her StateDef -2
[State -2, VarSet] ;BitShift Reset
You'll see something weird looking. Your system doesn't have to get this complex.
But basically you can set a variable to 3 when P2 is not hit.
Then in the moves you want to hit and miss, you do a varadd -1. Then inside those same states, you could either use a targetstate or a 2nd hitdef that sends P2 to your custom FALL FAST ON YO FACE state.
With the bitshift method you could make it so that you could stop the same move from hitting 2x in the same combo.
[State -2, VarSet] ;BitShift ResetExcuse me, please. I'm still a beginner and sometimes it's hard for me to understand the complexity of the codes in mugen. Sometimes I use Google Translate to translate from English to Spanish, but it also translates the codes. For example, VarSet translates to "Conjunto de Var", which confuses me after reading.
type = VarSet
triggerAll = P2Movetype != A
trigger1 = ;??? How do I set the combo limit 3 of neutral hit jump like in mk9???
v = 20
value = 0
[Statedef 622]
type = A
movetype= A
physics = A
juggle = 5 ;Here you have to replace the juggle with another one, a state of landing on the ground quickly
ctrl = 0
anim = 660
[State 621, adjust]
type = Turn
trigger1 = Time = 0
trigger1 = (P2Dist X < 0) && (P2Dist X > -55)
[State 620, Select]
type = VarRandom
trigger1 = Time = 1
v = 11
range = 60
[State 620, 1.5]
type = Playsnd
trigger1 = Animelem = 2
value = F5,15
[State 620, 145]
type = Playsnd
trigger1 = Var(11) = [0, 20]
trigger1 = Animelem = 2
value = 2,12
[State 620, 145]
type = Playsnd
trigger1 = Var(11) = [21, 40]
trigger1 = Animelem = 2
value = 2,13
[State 620, 145]
type = Playsnd
trigger1 = Var(11) = [41, 60]
trigger1 = Animelem = 2
value = 2,14
[State 201, 1]
type = HitDef
trigger1 = time = 0
attr = S, NA ;Attribute: Standing, Normal Attack
damage = 0, 0 ;Damage that move inflicts
animtype = Light ;Animation type: Light, Medium, Heavy, Back (def: Light)
air.animtype = Back
guardflag = HL
hitflag = MAF ;Flags of conditions that move can hit
priority = 2, Hit ;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 8,8 ;Time attacker pauses, time victim shakes
sparkno = -1
sparkxy = -10,-105
guard.sparkno = -1
hitsound = 5,1
guardsound = 5,14
p2facing = 1
ground.type = High ;Type: High, Low, Trip (def: Normal)
ground.slidetime = -1
ground.hittime = 0
guard.velocity = -1
guard.slidetime = -1
guard.ctrltime = 0
ground.velocity = 0,-10 ;Time to regain control after guard (def: guard.slidetime)
guard.velocity = 0
air.velocity = 0, -10
airguard.velocity = -1.9 ;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.fall = 1
fall.recover = 0
ground.cornerpush.veloff = 0
fall = 1
fall.yvelocity = -8
;kill = (Var(9) = 0)
;fall.kill = (Var(9) = 0)
;guard.kill = (Var(9) = 0)
;envshake.time = 10
;envshake.freq = 30
;envshake.ampl = 5
[State 620, 4]
type = Changestate
trigger1 = Pos Y = 0
value = 0
ctrl = 1
You should take away HT on your hitoverride and nothitby I think. Then make P2 have moves that are HT in their hitdef and see if you get better results.
I am not too familiar with super armor. I don't think I've made a character with it yet.
[State 0, NotHitBy]I investigated NotHitBy and HitBy a little more, after seeing another post on M.U.G.E.N Development Help that asks the following question
type = NotHitBy
trigger1 = numhelper(1006)
value = SCA,NA,HA,NP,SP,SA,HP,NT,ST
[State 0, HitBy]
type = HitBy
trigger1 = 1
value = S, HT
time = 1
I'm trying to make a character that is ONLY hittable by projectiles and possibly helpers. I don't want normal attacks to do any damage, let alone phase him. Is there a way I can do that
I'm not sure if there is a standard way of breaking super armor.well there is, and it is also so that she learns something new that if there are solutions that she didn't know about. but is it possible that there will be more problems with super armor in the future? Maybe but for now let's leave it at that, if I need help with the super armor after giving up I will continue posting here.
;------------------------------------------------------------------------------------------------------------
[Statedef -2]
[State -2, DestroySelf]
type = DestroySelf
triggerAll = IsHelper(1006)
triggerall = root,stateno != [10001,10020]
triggerall = parent, stateno = 333
trigger2 = roundstate = 2
trigger1 = !root,alive
ignorehitpause = 0
Does the 2nd Scorpion disappear at all?
;IF YOU'RE DEAD, AND I'M YOU IN THE FUTURE, THEN I'M... Oh no.
[State 1]
type = DestroySelf
triggerall = root,stateno != [10001,10020]
triggerall = parent, stateno = 333
trigger2 = roundstate = 2
trigger1 = !root,alive
ignorehitpause = 0
trigger 1 should be above trigger 2. I'm surprised it's not throwing errors. you have another spot where you do this.
Are parent and root different? I thought P1 spawns the helper. So root and parent would be the same.
If they are the same, if parent is in state 333 it will always not be in states 10001 through 10020. I assume 10001 through 10020 are the special moves that will have the super armor.
This problem is tricky. I'm not sure if there is a standard way of breaking super armor. It seems like the characters you use will be the ones that have moves to hit P1. You can use that to your advantage to make the system you want.
If I was trying to make this system, I'd have a hitoverride that could be hit by ONE thing. Then the moves in P2 that get that attribute would be the combo breaker or x-ray moves.
I would think to make the combo breaker or x-ray moves pretend to be hyper throws. Which would help your character work against random characters like Zangief. I would make sense that he should be able to grab you and slam you with an Ultra move.
The X-ray move already works like a throw. P2 has to stop and do what P1 wants. P2 has to do P1's animations. The combo breaker can be labeled as a Ultra Throw move and still be 1 hit and have P2 react like it does now.
You should take away HT on your hitoverride and nothitby I think. Then make P2 have moves that are HT in their hitdef and see if you get better results.
I am not too familiar with super armor. I don't think I've made a character with it yet.
;============================================== ==the super armor helper
; Spear EX (Enhanced)---------------------------------------
;=================================================
[Statedef 10001]
type = S
movetype= A
physics = S
juggle = 10
poweradd= -1000
velset = 0,0
anim = 1000
ctrl = 0
[State 0, PalFX]
type = PalFX
trigger1 = numhelper(1006)
trigger1 = helper(1006), movetype = H
time = 3
add = 100,100,0
mul = 256,256,200
sinadd = 0,0,0,10
invertall = 1
color = 256
[State -1, Super Armor]
type = Helper
trigger1 = roundstate = 2
trigger1 = numhelper(1006) = 0 && movetype = A
helpertype = normal
name = "Super Armor"
ID = 1006
stateno = 1006
pos = 0,0
postype = p1
facing = 1
keyctrl = 0
ownpal = 1
supermovetime = 9999999
pausemovetime = 9999999
ignorehitpause = 0
[State 0, LifeAdd]
type = LifeAdd
trigger1 = numhelper(1006)
trigger1 = fvar(10) > 0
value = -floor(fvar(10))
ignorehitpause = 1
[State 0, VarAdd]
type = VarAdd
trigger1 = 1
fv = 10
value = -floor(fvar(10))
ignorehitpause= 1
[State 0, NotHitBy]
type = NotHitBy
trigger1 = numhelper(1006)
value = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
;Super Armor Meat and PotatoesHere is an example of how the result should be
[Statedef 1006]
type = U
movetype = I
physics = N
commented.
ctrl=0
;The helper will be invisible so you're not seeing double (Though you still will if you're drunk enough).
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = invisible
;This handler copies the root animation. This is best used if you maintain this super armor while going through various states.
;Delete this if you uncommented previously.
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = selfanimexist(root,anim)
elem = root,animelemno(0)
value = root,anim
;This makes sure the super armor stays on you if your character goes off screen.
[State 0, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0
movecamera = 0.0
;If this helper is hit (which it should be, since its root will be "invincible" as long as this helper exists, as you will see below)
[State 0, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
stateno = 1007
time = 1
forceair = 0
ignorehitpause = 1
;This makes the helper follow the root to the ends of the earth.
[State 0, BindToRoot]
type = BindToRoot
trigger1 = 1
time = 1
pos = 0.0
ignorehitpause = 1
;IF YOU'RE DEAD, AND I'M YOU IN THE FUTURE, THEN I'M... Oh no.
[State 1]
type = DestroySelf
triggerall = root,stateno != [10001,10020]
triggerall = parent, stateno = 333
trigger2 = roundstate = 2
trigger1 = !root,alive
ignorehitpause = 0
;------------------------------------------------- ---------------------------
;Super Armor's Big Oof
;------------------------------------------------- ---------------------------
;Super Armor's Big Oof
[Statedef 1007]
type = U
movetype = H
physics = N
;anim = 10060 Same deal as above.
ctrl=0
;This protects the super armor while it is calculating damage. See final Changestate for more details.
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
time = 2
[State 0, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0
movecamera = 0.0
[State 0, BindToRoot]
type = BindToRoot
trigger1 = 1
time = 1
facing = 1
pos = 0.0
ignorehitpause = 1
;This tells the player how much damage they should take.
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = time = 0
fv = 10
value = gethitvar(damage)
;Optional - This Playsnd triggers when you get hit, so you can make a clunking or, my favorite, grunting sound on hit.
;[State 0, PlaySnd]
;type = PlaySnd
;trigger1 = time = 0
;trigger1 = gethitvar(damage)
;value = S170.0
[State 1]
type = DestroySelf
triggerall = root,stateno != [10001,10020]
trigger2 = roundstate = 2
trigger1 = !root,alive
ignorehitpause = 0
;Afer a period of time, go back to the previous state.
[State 0, ChangeState]
type = ChangeState
trigger1 = time >= 1 ;The time here is the period between when you can be hit again, as you are fully invincible in this state thanks to the first controller.
value = 1006
ctrl=0
As you can see in the video, the problem is that the animation of being hit appears. Not that Shao Kahn no longer lands it on the ground (I just modified that to see if it worked)The video can't be seen since it was stated as private. However, as I said to you, it's just experimentation, try to make all the possible combinations to get the effect you want, a unspoken rule of MUGEN is that no code work instantaneously after you copy it, you've to (strongly) modify it to get it done, so you better make a lot of work there