News:

MFG's Character of the Month: September 2026 Voting

Main Menu

AI coding help

Started by darkstorm980, October 04, 2007, 12:59:43 AM

Previous topic - Next topic

darkstorm980

So I'm trying to code AI for the first time. I added a new CNS file, AI.cns, and added that as one of his extra states. However, each time I load him in mugen, an error pops up. Usually, it closes before I can see what the problem was, but I saw something about an incompt.txt. So I looked into that file, but saw nothing related to what I was doing, except maybe variables. So here's some files.

Spoiler: AI.cns (click to show)
[Statedef -3]

;This controller plays a sound everytime KFM lands from a jump, or
;from his back-dash.
[State -3]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
value = 40, 0

[State -3]
type = VarSet
triggerall = var(50) != 1
trigger1 = command = "AI1"
trigger2 = command = "AI2"
trigger3 = command = "AI3"
trigger4 = command = "AI4"
trigger5 = command = "AI5"
trigger6 = command = "AI6"
trigger7 = command = "AI7"
trigger8 = command = "AI8"
trigger9 = command = "AI9"
trigger10 = command = "AI10"
trigger11 = command = "AI11"
trigger12 = command = "AI12"
trigger13 = command = "AI13"
trigger14 = command = "AI14"
trigger15 = command = "AI15"
trigger16 = command = "AI16"
trigger17 = command = "AI17"
trigger18 = command = "AI18"
trigger19 = command = "AI19"
trigger20 = command = "AI20"
trigger21 = command = "AI21"
trigger22 = command = "AI22"
trigger23 = command = "AI23"
trigger24 = command = "AI24"
trigger25 = command = "AI25"
trigger26 = command = "AI26"
trigger27 = command = "AI27"
trigger28 = command = "AI28"
trigger29 = command = "AI29"
trigger30 = command = "AI30"
trigger31 = command = "AI31"
trigger32 = command = "AI32"
trigger33 = command = "AI33"
trigger34 = command = "AI34"
trigger35 = command = "AI35"
trigger36 = command = "AI36"
trigger37 = command = "AI37"
trigger38 = command = "AI38"
trigger39 = command = "AI39"
trigger40 = command = "AI40"
trigger41 = command = "AI41"
trigger42 = command = "AI42"
trigger43 = command = "AI43"
trigger44 = command = "AI44"
trigger45 = command = "AI45"
trigger46 = command = "AI46"
trigger47 = command = "AI47"
trigger48 = command = "AI48"
trigger49 = command = "AI49"
trigger50 = command = "AI50"
var(50) = 1

;special 1
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 30
triggerall = power > 1000
trigger1 = ctrl = 1
triggerall = random <= 30
value = 800

;slash 1
[State -3]
type = ChangeState
trigger1 = random <= 80
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50
trigger1 = ctrl = 1
value = 200

;slash 2
[State -3]
type = ChangeState
triggerall = Stateno = 200
trigger1 = movehit = 1
trigger1 = animelem(5) > 0
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50
value = 230

;throw
[State -3]
type = ChangeState
trigger1 = random <= 80
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X >= 100
triggerall = power >= 50
trigger1 = ctrl = 1
value = 210

;throw 2
[State -3]
type = ChangeState
trigger1 = Stateno = 210
trigger1 = random <= 100
trigger1 = animelem(5) > 0
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = power >= 100
triggerall = P2MoveType = H
value = 240


;run
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = Stateno = 0
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X > 100 && P2Dist X <299
trigger1 = ctrl = 1
value = 20

;run
[State -3]
type = ChangeState
triggerall = var(50) = 1
trigger1 = random <= 30
triggerall = Stateno = 0
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X > 300
trigger1 = ctrl = 1
value = 100

;hop
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = random <= 30
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X <= 30
trigger1 = ctrl = 1
value = 105

;jump kick
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType = A
triggerall = Movetype != H
trigger1 = P2MoveType = A
triggerall = P2Life > 0
triggerall = P2Dist X <50
triggerall = ctrl = 1
value = 600

;jump shot
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType = A
triggerall = Movetype != H
trigger1 = P2MoveType = A
triggerall = P2Life > 0
triggerall = P2Dist X > 100
triggerall = ctrl = 1
triggerall = power >= 50
value = 610

and

Spoiler: Part of the CMD that activates AI (click to show)
[Command]
name = "AI1"
command = D,D,D,F,F,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI2"
command = D,D,D,F,F,U,a+b+c+x+y+z
time = 1

[Command]
name = "AI3"
command = D,D,D,F,F,UF,a+b+c+x+y+z
time = 1

[Command]
name = "AI4"
command = D,D,D,F,F,D,a+b+c+x+y+z
time = 1

[Command]
name = "AI5"
command = D,D,D,F,F,DF,a+b+c+x+y+z
time = 1

[Command]
name = "AI6"
command = D,D,D,F,F,B,a+b+c+x+y+z
time = 1

[Command]
name = "AI7"
command = D,D,D,F,F,DB,a+b+c+x+y+z
time = 1

[Command]
name = "AI8"
command = D,D,D,F,F,UB,a+b+c+x+y+z
time = 1

[Command]
name = "AI9"
command = D,D,D,F,U,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI10"
command = D,D,D,F,UF,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI11"
command = D,D,D,F,DF,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI12"
command = D,D,D,F,D,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI13"
command = D,D,D,F,DB,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI14"
command = D,D,D,F,B,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI15"
command = D,D,D,F,UB,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI16"
command = D,D,D,F,F,F,a+b+c+x+y,z
time = 1

[Command]
name = "AI17"
command = D,D,D,F,F,F,a+b+c+x,y,z
time = 1

[Command]
name = "AI18"
command = D,D,D,F,F,F,a+b+c,x,y,z
time = 1

[Command]
name = "AI19"
command = D,D,D,F,F,F,a+b,c,x,y,z
time = 1

[Command]
name = "AI20"
command = D,D,D,F,F,F,a,b,c,x,y,z
time = 1

[Command]
name = "AI21"
command = D,D,D,F,F,F,a+b+c,x+y+z
time = 1

[Command]
name = "AI22"
command = D,D,D,F,F,U,a+b,c+x+y+z
time = 1

[Command]
name = "AI23"
command = D,D,D,F,F,UF,a,b+c+x+y+z
time = 1

[Command]
name = "AI24"
command = D,D,D,F,F,U,a+b,c+x+y+z
time = 1

[Command]
name = "AI25"
command = D,D,D,F,F,DF,a,b,c+x+y+z
time = 1

[Command]
name = "AI26"
command = D,D,D,F,F,B,a+b,c+x,y+z
time = 1

[Command]
name = "AI27"
command = D,D,D,F,F,DB,a,b+c+x,y+z
time = 1

[Command]
name = "AI28"
command = D,D,D,F,F,UB,a,b+c+x+y,z
time = 1

[Command]
name = "AI29"
command = DF,D,D,F,U,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI30"
command = B,D,D,F,UF,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI31"
command = B,B,BD,F,DF,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI32"
command = D,F,F,F,D,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI33"
command = DF,D,DF,UF,DB,F,a+b+c+x+y+z
time = 1

[Command]
name = "AI34"
command = D,D,D,F,DB,DF,a+b+c+x+y+z
time = 1

[Command]
name = "AI35"
command = D,D,UF,DF,UB,UF,a+b+c+x+y+z
time = 1

[Command]
name = "AI36"
command = D,DF,DF,DF,DF,F,a+b+c+x+y,z
time = 1

[Command]
name = "AI37"
command = D,D,DB,UF,DF,UF,a+b+c+x,y,z
time = 1

[Command]
name = "AI38"
command = F,U,F,F,F,F,a,b+c,x,y,z
time = 1

[Command]
name = "AI39"
command = DF,UF,D,DF,U,F,a+b,c+x,y,z
time = 1

[Command]
name = "AI40"
command = D,D,D,D,F,D,a+b,c,x,y+z
time = 1

[Command]
name = "AI41"
command = D,D,D,F,F,F,a+b+c+x+y+z,a
time = 1

[Command]
name = "AI42"
command = D,D,D,F,F,U,a+b+c+x+y+z,b
time = 1

[Command]
name = "AI43"
command = D,D,D,F,F,UF,a+b+c+x+y+z,c
time = 1

[Command]
name = "AI44"
command = D,D,D,F,F,D,a+b+c+x+y+z,x
time = 1

[Command]
name = "AI45"
command = D,D,D,F,F,DF,a+b+c+x+y+z,y
time = 1

[Command]
name = "AI46"
command = D,D,D,F,F,B,a+b+c+x+y+z,z
time = 1

[Command]
name = "AI47"
command = D,D,D,F,F,DB,a+b+c+x+y+z,a+b
time = 1

[Command]
name = "AI48"
command = D,D,D,F,F,UB,a+b+c+x+y+z,a+c
time = 1

[Command]
name = "AI49"
command = D,D,D,F,U,F,a+b+c+x+y+z,b+c
time = 1

[Command]
name = "AI50"
command = D,D,D,F,UF,F,a+b+c+x+y+z,x+z
time = 1

Anyone want to help me out?

DavidGee

Triggerall has to be above any triggerx's.

darkstorm980

#2
I'll try that, thanks.

EDIT: No dice. Here's the updated CNS.

Spoiler (click to show)


[Statedef -3]

;This controller plays a sound everytime KFM lands from a jump, or
;from his back-dash.
[State -3]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
value = 40, 0

[State -3]
type = VarSet
triggerall = var(50) != 1
trigger1 = command = "AI1"
trigger2 = command = "AI2"
trigger3 = command = "AI3"
trigger4 = command = "AI4"
trigger5 = command = "AI5"
trigger6 = command = "AI6"
trigger7 = command = "AI7"
trigger8 = command = "AI8"
trigger9 = command = "AI9"
trigger10 = command = "AI10"
trigger11 = command = "AI11"
trigger12 = command = "AI12"
trigger13 = command = "AI13"
trigger14 = command = "AI14"
trigger15 = command = "AI15"
trigger16 = command = "AI16"
trigger17 = command = "AI17"
trigger18 = command = "AI18"
trigger19 = command = "AI19"
trigger20 = command = "AI20"
trigger21 = command = "AI21"
trigger22 = command = "AI22"
trigger23 = command = "AI23"
trigger24 = command = "AI24"
trigger25 = command = "AI25"
trigger26 = command = "AI26"
trigger27 = command = "AI27"
trigger28 = command = "AI28"
trigger29 = command = "AI29"
trigger30 = command = "AI30"
trigger31 = command = "AI31"
trigger32 = command = "AI32"
trigger33 = command = "AI33"
trigger34 = command = "AI34"
trigger35 = command = "AI35"
trigger36 = command = "AI36"
trigger37 = command = "AI37"
trigger38 = command = "AI38"
trigger39 = command = "AI39"
trigger40 = command = "AI40"
trigger41 = command = "AI41"
trigger42 = command = "AI42"
trigger43 = command = "AI43"
trigger44 = command = "AI44"
trigger45 = command = "AI45"
trigger46 = command = "AI46"
trigger47 = command = "AI47"
trigger48 = command = "AI48"
trigger49 = command = "AI49"
trigger50 = command = "AI50"
var(50) = 1

;slash 1
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50
triggerall = random <= 80
trigger1 = ctrl = 1
value = 200

;slash 2
[State -3]
type = ChangeState
triggerall = Stateno = 200
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50
triggerall = movehit = 1
trigger1 = animelem(5) > 0
value = 230

;throw
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X >= 100
triggerall = power >= 50
triggerall = random <= 80
trigger1 = ctrl = 1
value = 210

;throw 2
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = power >= 100
triggerall = P2MoveType = H
triggerall = Stateno = 210
triggerall = random <= 100
trigger1 = animelem(5) > 0
value = 240


;run
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = Stateno = 0
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X > 100 && P2Dist X <299
trigger1 = ctrl = 1
value = 20

;run
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = Stateno = 0
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X > 300
trigger1 = ctrl = 1
value = 100

;hop
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = random <= 30
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X <= 30
trigger1 = ctrl = 1
value = 105

;jump kick
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType = A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2Dist X <50
triggerall = ctrl = 1
trigger1 = P2MoveType = A
value = 600

;jump shot
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType = A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2Dist X > 100
triggerall = ctrl = 1
triggerall = power >= 50
trigger1 = P2MoveType = A
value = 610


hjk

As he said:

Here are some specific example.

Everything that you see in bold must be placed above the triggers that are meant to come after it.




Quote;special 1
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 30
triggerall = power > 1000
trigger1 = ctrl = 1
triggerall = random <= 30
value = 800


Quote
;slash 2
[State -3]
type = ChangeState
triggerall = Stateno = 200
trigger1 = movehit = 1
trigger1 = animelem(5) > 0
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50

value = 230


Quote;throw
[State -3]
type = ChangeState
trigger1 = random <= 80
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X >= 100
triggerall = power >= 50

trigger1 = ctrl = 1
value = 210







Fixes

'Triggerall comes before trigger1'
'trigger1 comes before trigger2'
'trigger2 comes before trigger3'

Quote;special 1
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 30
triggerall = power > 1000
triggerall = random <= 30
trigger1 = ctrl = 1
value = 800



Quote;slash 2
[State -3]
type = ChangeState
triggerall = Stateno = 200
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50

trigger1 = movehit = 1
trigger1 = animelem(5) > 0
value = 230



Quote;throw
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X >= 100
triggerall = power >= 50

trigger1 = random <= 80
trigger1 = ctrl = 1
value = 210
LOL, Caddie's the man!! ;)

I'm as real as the runnin, I just happen to rap, Nigaas London, Japan, and i'm scared of dat tap.

I suggest extending my banning, cuz when I come back, it's gonna be hell. You think I was annoying before, oh man, it's on now :)
hjk vs. 99% of MFG. I will win.

RIP Poo Bear Tell my Dead Homie isson, for the year my partner.

darkstorm980

Yeah, I did that, somehow, it still doesn't work. Here's the updated one.

Spoiler: Updated (click to show)

[Statedef -3]

;This controller plays a sound everytime KFM lands from a jump, or
;from his back-dash.
[State -3]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
trigger2 = stateno = 106 ;Run-back land
value = 40, 0

[State -3]
type = VarSet
triggerall = var(50) != 1
trigger1 = command = "AI1"
trigger2 = command = "AI2"
trigger3 = command = "AI3"
trigger4 = command = "AI4"
trigger5 = command = "AI5"
trigger6 = command = "AI6"
trigger7 = command = "AI7"
trigger8 = command = "AI8"
trigger9 = command = "AI9"
trigger10 = command = "AI10"
trigger11 = command = "AI11"
trigger12 = command = "AI12"
trigger13 = command = "AI13"
trigger14 = command = "AI14"
trigger15 = command = "AI15"
trigger16 = command = "AI16"
trigger17 = command = "AI17"
trigger18 = command = "AI18"
trigger19 = command = "AI19"
trigger20 = command = "AI20"
trigger21 = command = "AI21"
trigger22 = command = "AI22"
trigger23 = command = "AI23"
trigger24 = command = "AI24"
trigger25 = command = "AI25"
trigger26 = command = "AI26"
trigger27 = command = "AI27"
trigger28 = command = "AI28"
trigger29 = command = "AI29"
trigger30 = command = "AI30"
trigger31 = command = "AI31"
trigger32 = command = "AI32"
trigger33 = command = "AI33"
trigger34 = command = "AI34"
trigger35 = command = "AI35"
trigger36 = command = "AI36"
trigger37 = command = "AI37"
trigger38 = command = "AI38"
trigger39 = command = "AI39"
trigger40 = command = "AI40"
trigger41 = command = "AI41"
trigger42 = command = "AI42"
trigger43 = command = "AI43"
trigger44 = command = "AI44"
trigger45 = command = "AI45"
trigger46 = command = "AI46"
trigger47 = command = "AI47"
trigger48 = command = "AI48"
trigger49 = command = "AI49"
trigger50 = command = "AI50"
var(50) = 1

;slash 1
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50
triggerall = random <= 80
trigger1 = ctrl = 1
value = 200

;slash 2
[State -3]
type = ChangeState
triggerall = Stateno = 200
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X <= 50
triggerall = movehit = 1
trigger1 = animelem(5) > 0
value = 230

;throw
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2bodydist X >= 100
triggerall = power >= 50
triggerall = random <= 80
trigger1 = ctrl = 1
value = 210

;throw 2
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = power >= 100
triggerall = P2MoveType = H
triggerall = Stateno = 210
triggerall = random <= 100
trigger1 = animelem(5) > 0
value = 240


;run
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = Stateno = 0
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X > 100 && P2Dist X <299
trigger1 = ctrl = 1
value = 20

;run
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = Stateno = 0
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X > 300
trigger1 = ctrl = 1
value = 100

;hop
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = random <= 30
triggerall = StateType != A
triggerall = Movetype != H
triggerall = P2MoveType != A
triggerall = P2Life > 0
triggerall = P2Dist X <= 30
trigger1 = ctrl = 1
value = 105

;jump kick
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType = A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2Dist X <50
triggerall = ctrl = 1
trigger1 = P2MoveType = A
value = 600

;jump shot
[State -3]
type = ChangeState
triggerall = var(50) = 1
triggerall = StateType = A
triggerall = Movetype != H
triggerall = P2Life > 0
triggerall = P2Dist X > 100
triggerall = ctrl = 1
triggerall = power >= 50
trigger1 = P2MoveType = A
value = 610

hjk

#5
I don't know, or else I'm too lazy to go through and figure out why but...:

How about just putting teh code directly in the CMD.


Try putting your AI activation commands in the CMD and coding it using

[state -1] as opposed to [state -3]



More than likely that will have no bearing on why the AI is causing Mugen to shut down so let me ask this question:


Could you post the exact text Mugen displays when it shows the error message?
LOL, Caddie's the man!! ;)

I'm as real as the runnin, I just happen to rap, Nigaas London, Japan, and i'm scared of dat tap.

I suggest extending my banning, cuz when I come back, it's gonna be hell. You think I was annoying before, oh man, it's on now :)
hjk vs. 99% of MFG. I will win.

RIP Poo Bear Tell my Dead Homie isson, for the year my partner.

darkstorm980

#6
Thats the problem. For some reason, before I can even read it properly, it goes to the windows has to shut down mugen for whatever reason, and whether or not to send an error report. I'll try catching what it says. Maybe moving it to CMD might help.

EDIT: I found the problem.

triggerall = animelem(5) > 0 should be
triggerall = animelemtime(5) > 0

heh heh thanks guys for all the input. XD

SpliTT

can i ask why you have two ;runs?

My messed up private mugen!