¡¡¡Nos cambiamos a nuestro nuevo sitio!!!! NEW URL:

//prodandromeda.ucoz.com/
[ Mensajes nuevos · Participantes · Reglas del foro · Búsqueda · RSS ]
  • Página 1 de 1
  • 1
TUTORIAL inteligencia artificial (AI)
megamugenteam Fecha: Jueves, 12-de Agosto-2010, 18:37 | Message # 1
Admin
Grupo: Administrador
Mensajes: 1769
Reputacion: 114
Status: Desconectado / Offline
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.




 
Arthas-ZX Fecha: Miercoles, 02-de Febrero-2011, 21:55 | Message # 2
Axl
Grupo: Usuario
Mensajes: 839
Reputacion: 57
Status: Desconectado / Offline
esto me servirá cuando complete algún char XD
no lo había visto, buen tuto 0.o



 
  • Página 1 de 1
  • 1
Búscar:




Megaman Mugen Team © 2024
Sitio administrado por el sistema de uCoz