Hello, I didn't really want to make this post but I gave up. After the publication of "make shao kahn have protection his body only performs a special move like MK9" I learned how to use super armor. I have also thought about how I would make sure that not everyone is invincible, for example combo breaker or x-ray that can affect super armor (like in mk9). I tried to put trigger1 = stateno != 333 (it is the state of combo breaker) but it didn't work, I tried searching on the internet, I didn't find anything, I tried to do it myself without help, sometimes it no longer detects any hits, it is no longer invincible with normal hits to super armor, or two double scorpion comes out after receiving the blow. I tried everything possible but it wasn't that easy.;============================================== == ; 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 the super armor helper ;Super Armor Meat and Potatoes [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 Here is an example of how the result should beVIDEO If anyone helps me I will appreciate it (I apologize for my English, I use Google Translator).