Hola, este es otro de mis tutoriales, esta vez es para agregar inteligencia artificial a los chars de mugen vercion beta 2002 (el mas comun) Hay varias formas,pero esta es la que yo uso:
Primero en el archivo .cmd copias y pegas TODOS estos comandos:
;-|CPU|-------------------------------------------------------------
;-| AI |--------------------------------------------------------------
[Command]
name = "AI1"
command = U,D,B,F,U,D,B,F,b,b,a,a,s
time = 0 [Command]
name = "AI2"
command = U,D,U,D,U,D,U,D,U,D,U,D,a+b+c+x+y+z
time = 0
[Command]
name = "AI3"
command = U,F,B,D,B,F,U,x,x,x,y,y,y,z,z,z
time = 0
[Command]
name = "AI4"
command = x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x
time = 0
[Command]
name = "AI5"
command = y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y
time = 0
[Command]
name = "AI6"
command = z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z
time = 0
[Command]
name = "AI7"
command = x+y+z,x+y+z,x+y+z,x+y+z,x+y+z,x+y+z,x+y+z
time = 0
[Command]
name = "AI8"
command = a+b+c,a+b+c,a+b+c,a+b+c,a+b+c,a+b+c,a+b+c
time = 0
[Command]
name = "AI9"
command = y,a,B,B,a,D,a,B,B,a
time = 0
[Command]
name = "AI10"
command = c,U,B,B,y,B,U,D,D,y
time = 0
[Command]
name = "AI11"
command = x,x
time = 0
[Command]
name = "AI12"
command = y,y
time = 0
[Command]
name = "AI13"
command = z,z
time = 0
[Command]
name = "AI14"
command = a,a
time = 0
[Command]
name = "AI15"
command = b,b
time = 0
[Command]
name = "AI16"
command = c,c
time = 0
[Command]
name = "AI17"
command = U,x
time = 0
[Command]
name = "AI18"
command = D,x
time = 0
[Command]
name = "AI19"
command = B,x
time = 0
[Command]
name = "AI20"
command = F,x
time = 0
[Command]
name = "KonamiCode"
command = U,U,D,D,B,F,B,F,b,a,s
time = 0
;---------------------------------------------------------------------------
Despues de eso, en el archivo .cmd, despues de donde dice [statedef -1] agregas lo siguiente:
Es muy importante que este justo devajo del statedef -1, quedaría hací:
[Statedef -1]
;INTELIGENCIA ARTIFICIAL
;Activate AI
[State -1, Activate AI]
type = VarSet
triggerall = var(59) = 0
trigger1 = IsHomeTeam
trigger1 = TeamSide = 2
trigger2 = command = "KonamiCode"
trigger3 = command = "AI1"
trigger4 = command = "AI2"
trigger5 = command = "AI3"
trigger6 = command = "AI4"
trigger7 = command = "AI5"
trigger8 = command = "AI6"
trigger9 = command = "AI7"
trigger10 = command = "AI8"
trigger11 = command = "AI9"
trigger12 = command = "AI10"
trigger13 = command = "AI11"
trigger14 = command = "AI12"
trigger15 = command = "AI13"
trigger16 = command = "AI14"
trigger17 = command = "AI15"
trigger18 = command = "AI16"
trigger19 = command = "AI17"
trigger20 = command = "AI18"
trigger21 = command = "AI19"
trigger22 = command = "AI20"
v = 59
value = 1 ;---------------------------------------------------------------------------
;Activate AI
[State -1, Activate AI]
type = VarSet
trigger1 = var(59) = 2
trigger1 = RoundState != 3
v = 59
value = 1
;---------------------------------------------------------------------------
;Deactivate AI
[State -1, Deactivate AI]
type = VarSet
triggerall = var(59) != 0
trigger1 = RoundState = 3
v = 59
value = 2
;---------------------------------------------------------------------------
;Liedown AI
[State -1, Liedown AI]
type = VarSet
triggerall = var(59) = 1
trigger1 = p2statetype = L
trigger2 = p2stateno = [5050,5079]
v = 59
value = 4
;---------------------------------------------------------------------------
;Liedown AI Off
[State -1, Liedown AI Off]
type = VarSet
triggerall = var(59) = 4
trigger1 = p2statetype != L
trigger1 = p2stateno != [5050,5079]
v = 59
value = 1
;---------------------------------------------------------------------------
;Check Miss AI Begin Attack
[State -1, Check Miss AI Begin Attack]
type = VarSet
triggerall = var(59) != 0
triggerall = var(58) <= 0
trigger1 = movetype = A
v = 58
value = stateno
;---------------------------------------------------------------------------
;Check Miss AI Hit
[State -1, Check Miss AI Hit]
type = VarSet
triggerall = var(59) != 0
triggerall = var(58) != 0
trigger1 = movecontact
trigger2 = movetype = I
trigger2 = random < 10
trigger3 = stateno = [150,159]
v = 58
value = 0
;---------------------------------------------------------------------------
;Check Miss AI End Attack
[State -1, Check Miss AI End Attack]
type = VarSet
triggerall = var(59) != 0
triggerall = var(58) > 0
trigger1 = ctrl = 1
v = 58
value = var(58)*(-1)
;---------------------------------------------------------------------------
Ya casi esta listo, solo falta que le agregues los comandos para darle inteligencia artificial. abajo de eso que acavamos de copiar y pegar, supongamos que quieres que tu char cambie al statedef 1200 cuando el oponente esta en el aire:
;Ataque 1 AI
[state -1]
type = changestate
value = 1200 ;statedef del ataque
triggerall = var(59) = 1 ; condicion especial para que lo haga solamente cuando es el CPU
trigger1 = statetype != A && (ctrl) ; tu personaje esta en el suelo y tiene el control
trigger1 = p2statetype = A ; el enemigo esta en el aire
Si lo hicieron bien, cada vez que el oponente salte o este en el aire nuestro char cambiará al statedef 1200 para realizar un ataque.
Otros ejemplos:
Hacer que nuestro char ataque cuando el enemigo esta cerca y en el suelo:
;golpear 1 AI
[State -1, AI]
type = ChangeState
value = 200
triggerall = var(59) = 1 ; variable de AI
triggerall = statetype != A ; nuestro personaje esta en el suelo
triggerall = p2dist x <= 40 ; el enemigo esta mas cerca que 40 pixeles de distancia
triggerall = p2statetype != A ; el enemigo tambien esta en el suelo
trigger1 = ctrl ; nuestro personaje tiene el control
Hacer que nuestro char ataque cuando el enemigo esta lejos y en el suelo:
;ataque AI
[State -1, AI]
type = ChangeState
value = 210
triggerall = var(59) = 1 ; variable de AI
triggerall = statetype != A ; nuestro personaje esta en el suelo
triggerall = p2dist x >= 120 ; el enemigo esta mas lejosque 120 pixeles de distancia
triggerall = p2statetype != A ; el enemigo tambien esta en el suelo
trigger1 = ctrl ; nuestro personaje tiene el control
Hacer que nuestro char ataque desde el aire cuando el enemigo esta cerca:
;patada aerea AI
[State -1, AI]
type = ChangeState
value = 610
triggerall = var(59) = 1 ; variable de AI
triggerall = statetype = A ; nuestro personaje esta en el aire
triggerall = p2dist x <= 60 ; el enemigo esta mas cerca que 60 pixeles de distancia
trigger1 = ctrl ; nuestro personaje tiene el control
Eso es todo, pueden personalizar la inteligencia artificial de sus chars a sus propios gustos, no olviden agregar el triggerall = var(59) = 1 , es muy importante para que nuestro char realize esas acciones solo cuando es manejado por el CPU.
Eso es todo, cualquier duda aqui mismo me lo preguntan. Espero que sirva.