Jump to content
  • 0

The problems with Reiko Hikari


LGM2006

Question

Okay, so I was just trying to see some of my characters battling out in different matches while using my MUGEN game in attract mode last night, but then I came across this issue with one of them. Apparently, I have one character that's been sitting in my roster for a while. It's a Kakuge Yaro OC named Reiko Hikari by Kamek. She usually works in my game for most of the part. However, whenever she fights against certain badly made characters (as stated in the Readme), MUGEN will crash without an error message/warning. That actually happened a long time ago, but there's also another problem that I found recently: If she even tries to fight against such cheap characters (let's just say YOUKAI's Naruto, for example), the game will freeze with this error message:

 

Error message: State machine stuck in loop (stopped after 2500 loops): 9901 for Hikari Reiko

Check your states for infinite ChangeState loops.

 

Here's what I found in one of her files that the error mentioned (taken from her "Common" file):

;============================================================================
; ????? (9001)
;============================================================================
[Statedef 9901]
type = U
physics = U
movetype = A

[State 9901: ?????]
type = ChangeState
trigger1 = 1
value = 990

From what I know, it's a pretty confusing and tedious task to fix this error up. Much more difficult than those DisplaytoClipboard errors, AIR file errors, Velset errors, etc.

 

Honestly, I don't know if it's either a normal issue that's preventing her from working in my game anymore or if it's a rather serious one. Who knows? This might not happen to other people who also got this character, but it could for a few, such as me. I am currently using MUGEN 1.0, and I seemingly recalled that this error may not or may actually occur in WinMUGEN as well. I'm not sure though. 🤔

 

Oh, and after some of you guys can answer my question, I've also got a few more questions to ask: Is this character even worth playing today? Is she still good? Does she need to be updated for MUGEN 1.0? If not, then I guess that in conclusion, she is pretty buggy for me. I'll let you decide what is going on with this character in general. Any help will be appreciated. 😄

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
49 minutes ago, LGM2006 said:

And when you said that the anti-cheap code would need to be "tossed", does that mean that I would have to do some minor tweaks to it as well?

As in, removed. Easiest, least destructive way of doing it is to change the two VarSets at the top of what you posted to type = Null like the one below it. This disables the anti-cheap stuff, though it'll still be there in case you want to re-enable it in the future.

Link to comment
Share on other sites

  • 0

Infinite ChangeState loops are an incredibly easy way to crash MUGEN deliberately, as all you need is a state containing a ChangeState sctrl that sends the character to the same state, as shown above.

 

Just find the code that initially sends her to state 9001 and disable it.

Link to comment
Share on other sites

  • 0
On 5/30/2024 at 2:11 AM, PlasmoidThunder said:

Just find the code that initially sends her to state 9001 and disable it.

Not sure why I'm asking, but does that mean that I would need to comment out both of the two pieces of code above and their parameters or only one of them? Just wondering.

 

And I've found more of the coding that's related to them (taken from her "Negative" file), don't know if I would also need to modify anything or not:

;============================================================================
;============================================================================
; POWER UP AGAINST CHEAPIES
;============================================================================
;============================================================================

; Take a wild guess.
[State 5900: ????? against ?????]
type = VarSet
triggerall = !Var(55)
triggerall = PowerMax <= 9000
trigger1 = enemy(0), AuthorName = "YOUKAI"
trigger2 = NumEnemy > 1
trigger2 = enemy(1), AuthorName = "YOUKAI"
trigger3 = enemy(0), AuthorName = "gulthor"
trigger4 = NumEnemy > 1
trigger4 = enemy(1), AuthorName = "gulthor"
trigger5 = enemy(0), AuthorName = "Ryou Win"
trigger6 = NumEnemy > 1
trigger6 = enemy(1), AuthorName = "Ryou Win"
trigger7 = enemy(0), AuthorName = "100%Ex-Inferis"
trigger8 = NumEnemy > 1
trigger8 = enemy(1), AuthorName = "100%Ex-Inferis"
var(55) = 9001

; Ubercheapie power-up: enabled by default, but only against Master Cheese.
; Add your own ubercheapies if you like.
[State 5900: Power Up against extreme cheapies]
type = VarSet
triggerall = !Var(55)
; Master Cheese
trigger1 = enemy(0), Name = "Geese Howard"
trigger1 = enemy(0), AuthorName = "Cannon Musume"
trigger2 = NumEnemy > 1
trigger2 = enemy(1), Name = "Geese Howard"
trigger2 = enemy(1), AuthorName = "Cannon Musume"
var(55) = 666

; Cheapie Power-up: Disabled by default.
; To enable, change the Null to a VarSet.
; Populate your own cheapy list. I've included Reu's characters as an example.
[State 5900: Power Up against other cheapies]
type = Null;VarSet
triggerall = !Var(55)
; Reubenkee's chars
trigger1 = enemy(0), AuthorName = "Reu"
trigger2 = NumEnemy > 1
trigger2 = enemy(1), AuthorName = "Reu"
trigger3 = enemy(0), AuthorName = "Reu and Kingtigre"
trigger4 = NumEnemy > 1
trigger4 = enemy(1), AuthorName = "Reu and Kingtigre"
var(55) = 1

[State 5900: Can't Touch This]
type = NotHitBy
trigger1 = var(55) = 666
;trigger2 = PowerMax > 9000
;trigger2 = MoveType = A
value = SCA

[State 5900: They Touched This :(]
type = Helper
; Auto-Reversal Bus (ubercheapies only)
trigger1 = Var(55) = 666
trigger1 = !NumHelper(666)
trigger1 = MoveReversed
; Any Cheapy Bus (once per round)
trigger2 = Var(55)
trigger2 = !NumHelper(666)
trigger2 = Life < 500
trigger2 = enemyNear, Pos Y >= -30 ;only if they can be hit
trigger2 = !Var(53)
trigger2 = Var(53) := 1 ;one time only
name = "RESPECT TEH BUS"
ID = 666
pos = 0, 0
postype = left
stateno = 666
ownpal = 1

[State 5900: ?????]
type = ChangeState
trigger1 = var(55) = 9001
value = 9901

; Really Dark Reiko stuff
[State -2: Timer]
type = Helper
trigger1 = !NumHelper(6666)
trigger1 = PowerMax > 9000
Name = "Timer Freezer"
stateno = 6666
ID = 6666
pausemovetime = 9999999999999999
supermovetime = 9999999999999999
ignorehitpause = 1

[State -2: Can't throw me]
type = NotHitBy
trigger1 = PowerMax > 9000
value = , AT
ignorehitpause = 1

[State -2: Override all hits]
type = HitOverride
trigger1 = PowerMax > 9000
time = -1
attr = SCA, AA, AT, AP
slot = 7
stateno = 5000
ignorehitpause = 1

[State -2: Custom State hit prevention]
type = ChangeState
trigger1 = PowerMax > 9000
trigger1 = MoveType = H && StateNo != 5000 && MoveReversed ; only possible if a move was reversed
value = 5000

[State -2: Life Init]
type = Null
trigger1 = PowerMax > 9000
trigger1 = !var(38)
trigger1 = var(38) := 1
trigger1 = var(39) := LifeMax

[State -2: Healing Factor]
type = VarAdd
trigger1 = PowerMax > 9000
trigger1 = !(GameTime % 3)
trigger1 = var(39) <= LifeMax
var(39) = 1
ignorehitpause = 1

[State -2: Life]
type = LifeSet
trigger1 = PowerMax > 9000
trigger1 = 1
value = var(39)

Now, I never thought that I was going to run into compatibility issues like this by using MUGEN 1.0.

 

Sorry to keep you waiting, but that's all that I can explain for now. I'll be sure to do the exact solution that you mentioned, as soon as I have time. But if she still crashes my MUGEN game again, then I guess all I've got left now is a similar looking KY OC: Hyuuga A. Akiko, even though she isn't quite as well-known/great as Reiko, but still considered as another hidden gem IMO.

Link to comment
Share on other sites

  • 0

Don't knock out the state itself or the character will get stuck going into an invalid state; instead remove this:

[State 5900: ?????]
type = ChangeState
trigger1 = var(55) = 9001
value = 9901

This will resolve the ChangeState loop at least, but all the other anti-cheap code would ideally need to be tossed so she always functions normally.

Link to comment
Share on other sites

  • 0
1 hour ago, PlasmoidThunder said:
[State 5900: ?????]
type = ChangeState
trigger1 = var(55) = 9001
value = 9901

Didn't want to take this solution as a difficult task, but would I need to comment that out entirely instead of the code you mentioned earlier? I'm still very new to these errors though. And when you said that the anti-cheap code would need to be "tossed", does that mean that I would have to do some minor tweaks to it as well?

Link to comment
Share on other sites

  • 0

Okay, I already fixed that part out. Now that did the math. Thank you so much. I tried the battle again, and the error no longer comes up.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...