Domingo, 10 Diciembre 2017, 19:59
Bienvenido(a) Visitante | RSS
Inicio | Comando sale mal - Foro | Registrarse | Entrada
[ Nuevos mensajes · Participantes · Reglas del foro · Búscar · RSS ]
Página 1 de 11
Foro » Sección M.U.G.E.N. » Preguntas y dudas M.U.G.E.N. » Comando sale mal (Un error simple pero molesto)
Comando sale mal
OmegaZeroFecha: Sábado, 21 Diciembre 2013, 23:49 | Mensaje # 1
General de división
Grupo: Usuarios
Mensajes: 436
Reputación: 21
Estatus: Offline
Si, regrese, blablabla, al grano.
Estoy programando un tipo de ataque en el cual cuando estas en el aire, si usas holdfwd o holdup, puedes disparar a esa direccion, pero el problema esta en que cuando presiono "x" y la flecha indicada (como dije antes, arriba, abajo, etc) y luego suelto "x", sigue disparando, sin embargo, cuando si mantengo presionado "x" para disparar, algunos comandos no sirven (no se activan ciertos statenos), lo unico que necesito es un codigo que me sirva para forzar al personaje a que dispare a la direccion que quiero al momento que presiono "x"

Dejo los changestates:





Mi pagina, pasense si quieren: http://faraonmugen.webs.com/

ןןıɥ ıɥɔoɹo ʇıɥs ʎɯ ʞɔıן
 
David-AndromedaFecha: Lunes, 23 Diciembre 2013, 03:07 | Mensaje # 2
Admin
Grupo: Administradores
Mensajes: 2026
Reputación: 135
Estatus: Offline
Debes arreglar los changestates esos y colocarlos en el statedef 1 en el archivo .cmd, aun asi, crei que has omitido detalles, porque el ultimo change state que pusiste es por tiempo... y uno muy corto...

[State 230, 3]
type = ChangeState
triggerall = command = "x"
trigger1 = command = "holdup"
value = 604
ctrl = 0

[State 230, 3]
type = ChangeState
triggerall = command = "x"
trigger1 = command = "holddown"
value = 606
ctrl = 0

[State 230, 3]
type = ChangeState
triggerall = command = "x"
trigger1 = command = "holdup"
trigger1 = command = "holdfwd"
value = 608
ctrl = 0

[State 230, 3]
type = ChangeState
triggerall = command = "x"
trigger1 = command = "holddown"
trigger1 = command = "holdfwd"
value = 610
ctrl = 0

[State 230, 3]
type = ChangeState
trigger1 = time = 48
value = 603
ctrl = 1

cualquier cosa me dices, creo que lo que buscas es algo como el ataque de axl verdad?


 
OmegaZeroFecha: Lunes, 23 Diciembre 2013, 16:27 | Mensaje # 3
General de división
Grupo: Usuarios
Mensajes: 436
Reputación: 21
Estatus: Offline
-Editado: Solucionado.



Mi pagina, pasense si quieren: http://faraonmugen.webs.com/

ןןıɥ ıɥɔoɹo ʇıɥs ʎɯ ʞɔıן


Mensaje editado por OmegaZero - Domingo, 29 Diciembre 2013, 02:49
 
David-AndromedaFecha: Martes, 24 Diciembre 2013, 21:21 | Mensaje # 4
Admin
Grupo: Administradores
Mensajes: 2026
Reputación: 135
Estatus: Offline
Bien, tengo una mejor idea, copia y pega todos los stetedef que estén relacionados con dicho ataque y te lo arreglo y te explico los detalles, porque no quiero decirte mas cosas que puede que no sea lo que busques y te haré perder el tiempo con eso...

 
OmegaZeroFecha: Miércoles, 25 Diciembre 2013, 08:14 | Mensaje # 5
General de división
Grupo: Usuarios
Mensajes: 436
Reputación: 21
Estatus: Offline
-Editado: Resuelto, fue un estupido error mio. LOL



Mi pagina, pasense si quieren: http://faraonmugen.webs.com/

ןןıɥ ıɥɔoɹo ʇıɥs ʎɯ ʞɔıן


Mensaje editado por OmegaZero - Domingo, 29 Diciembre 2013, 02:47
 
David-AndromedaFecha: Domingo, 29 Diciembre 2013, 03:56 | Mensaje # 6
Admin
Grupo: Administradores
Mensajes: 2026
Reputación: 135
Estatus: Offline
Sabes que siempre estoy para los colegas y amigos como tu, feliz navidad a ti también ^^

(disculpa la tardanza en responder, mientras escribía este mensaje se me cortó la luz cuando lo estaba por terminar y me enojé tanto que no entré a la pagina hasta ahora, pero no se como, es un milagro navideño, hoy, cuando abrí para responder en este tema, automáticamente apareció el mensaje escrito nuevamente!!!! así que no tuve que hacerlo otra vez)

Primero que nada me gustaría decirte que los helpers son mucho mejor que los proyectiles, con un solo helper puedes hacer todos los ataques, así que escribiré el comando como para que tu personaje haga el ataque con la menor cantidad de statedef posible, solo debes copiar y pegar lo que te doy en tu personaje. Un dato importante es que esto que voy a escribir no está testeado, por lo tanto puede que haya uno que otro bug, si ese es el caso por favor dime y lo solucionamos.

Bueno, Me ayudaste mucho diciendo que se trataba de bass los ataques que querías hacer, pero aun así no terminé del todo entender cuando me dijiste que también era con la fusion de treble, otra cosa que no se es si el personaje debe caer mientras dispara en el aire, debe caer lentamente o debe frenarse de golpe y caer... Por lo tanto escribiré el código para imitar tal cual es el ataque de bass en el juego de Megaman & Bass:

Las animaciones necesarias son las siguientes:

Personaje disparando hacia adelante (en el aire) -> 13302

Personaje disparando hacia abajo (en el aire) -> 13303

Personaje disparando hacia arriba (en el aire) -> 13304

Personaje disparando hacia diagonal arriba (en el aire) -> 13305

Personaje disparando hacia diagonal abajo (en el aire) -> 13306

Proyectil -> 900    ¡¡¡RECUERDA SOLO PONERLE COLISIONES ROJAS O AMARILLAS AL PROYECTIL!!!! 

Proyectil  explota -> 905 (no ponerle ninguna colisión a esta animación)

Primero en el cmd, el único comando que tienes que agregar es el siguiente:

[State -1, disparando]
type = ChangeState
trigger1 = command = "hold_x"
trigger1 = ctrl          
trigger1 = statetype = A ; durante el salto
value = 602
ctrl = 0


Luego en el CNS, agregas los siguientes statedef:

;---Disparo rápido normal en el aire---------------------------------------------------------
[Statedef 602]
type    = A
physics = A
anim = 13302 ; animación disparando hacia adelante
ctrl = 0

[State 191]  ; explod del disparo
type = Explod
trigger1 = time = 0
ID = 4000
anim = 4000
removetime = 48
bindtime = -1
sprpriority = 100
postype = p1
pos = 0, 0
ownpal = 1
removeongethit = 1

[State 0, ChangeAnim]  ;animación disparando hacia adelante
type = ChangeAnim
triggerall = anim != 13302 ;este numero debe coincidir con el value
trigger1 = command = "holdfwd"
trigger1 = command != "holdup"
trigger1 = command != "holddown"
value = 13302   ;debe coincidir con el triggerall dicho arriba

[State 0, ChangeAnim]  ;animación disparando hacia abajo
type = ChangeAnim
triggerall = anim != 13303 ;este numero debe coincidir con el value
trigger1 = command = "holddown"
trigger1 = command != "holdfwd"
trigger1 = command != "holdup"
value = 13303   ;debe coincidir con el triggerall dicho arriba

[State 0, ChangeAnim]  ;animación disparando hacia arriba
type = ChangeAnim
triggerall = anim != 13304 ;este numero debe coincidir con el value
trigger1 = command = "holdup"
trigger1 = command != "holdfwd"
trigger1 = command != "holddown"
value = 13304   ;debe coincidir con el triggerall dicho arriba

[State 0, ChangeAnim]  ;animación disparando diagonal hacia arriba
type = ChangeAnim
triggerall = anim != 13305 ;este numero debe coincidir con el value
trigger1 = command = "holdup"
trigger1 = command = "holdfwd"
trigger1 = command != "holddown"
value = 13305   ;debe coincidir con el triggerall dicho arriba

[State 0, ChangeAnim]  ;animación disparando diagonal hacia abajo
type = ChangeAnim
triggerall = anim != 13306 ;este numero debe coincidir con el value
trigger1 = command = "holddown"
trigger1 = command = "holdfwd"
trigger1 = command != "holdup"
value = 13306   ;debe coincidir con el triggerall dicho arriba

[State 0, Helper]  ; helper que reemplaza al proyectil
type = Helper
trigger1 = time <= 48
trigger1 = timemod = 16,5
trigger1 = command = "hold_x"
helpertype = normal
name = "disparo"
ID = 60555
stateno = 60555
pos = 35, -25  ; posición de donde sale el disparo
postype = p1
facing = 1
ownpal = 1

[State 0, ChangeState] ; termina el ataque
type = ChangeState
trigger1 = time >= 60
value = 50
ctrl = 1

;Bola de energia   (proyectil)
[Statedef 60555]
type = A
movetype = A
physics = N
anim = 900 ; animación del proyectil
velset = 6,0 ; velocidad por defecto
ctrl = 0
sprpriority  = 100

[State 10002, som]   ;sonido que se escucha al salir el proyectil
type = playsnd
trigger1 = time = 0
value = 333,0

[State 0, VelSet] ; velocidad del disparo hacia adelante
type = VelSet
trigger1 = time = 0
trigger1 = root,anim = 13302
x = 6
y = 0
ignorehitpause =  1

[State 0, VelSet] ; velocidad del disparo hacia abajo
type = VelSet
trigger1 = time = 0
trigger1 = root,anim = 13303
x = 0
y = 6
ignorehitpause =  1

[State 0, VelSet] ; velocidad del disparo hacia arriba
type = VelSet
trigger1 = time = 0
trigger1 = root,anim = 13304
x = 0
y = -6
ignorehitpause =  1

[State 0, VelSet] ; velocidad del disparo diagonal arriba
type = VelSet
trigger1 = time = 0
trigger1 = root,anim = 13305
x = 6
y = 6
ignorehitpause =  1

[State 0, VelSet] ; velocidad del disparo diagonal abajo
type = VelSet
trigger1 = time = 0
trigger1 = root,anim = 13306
x = 6
y = -6
ignorehitpause =  1

[State 0, HitDef]
type = HitDef
trigger1 = 1
attr = S,NA
hitflag = MAF
guardflag = MA
animtype = light
air.animtype = light
damage = 1   ; cantidad de daño que causa al oponente
pausetime = 0 ,0
sparkno = -1
guard.sparkno = -1
sparkxy = 0,0
hitsound = S30,0
guardsound = 6,0
ground.type = High
ground.slidetime = 6
ground.hittime = 6
air.hittime = 10
ground.velocity = -0.1,0
air.velocity = -0.1,0
fall = 0
sprpriority  = 100

[State 0, ChangeState]
type = ChangeState
trigger1 =  movecontact
value = 60556
ctrl = 0
ignorehitpause =  1

[state 1072] ; desaparece cuando está fuera de la pantalla
type = destroyself
trigger1 = time >= 120
trigger2 = frontedgedist <= -50
trigger3 = backedgedist <= -50
trigger4 = ScreenPos y != [-40,450]

;Bola de energia estalla (proyectil)
[Statedef 60556]
type = A
physics = N
anim = 905 ; animación del proyectil explotando o impactando con el enemigo
velset = 0,0
ctrl = 0
sprpriority  = 100

[State 0, VelSet]
type = VelSet
trigger1 = 1
x = 0
y = 0

[State 0, DestroySelf]  ; desaparece al terminar la animación estallando
type = DestroySelf
trigger1 = animtime = 0
ignorehitpause = 1


Bueno, eso es todo, espero que haya sido de ayuda y que era lo que buscabas, ademas, de esta forma puedes ves que no es necesario taaaantos statedef para un ataque como este.

Saludos y cuéntame como te fue con esto!


 
David-AndromedaFecha: Domingo, 29 Diciembre 2013, 03:58 | Mensaje # 7
Admin
Grupo: Administradores
Mensajes: 2026
Reputación: 135
Estatus: Offline
Cita OmegaZero ()
-Editado: Resuelto, fue un estupido error mio. LOL

Me quiero volver chango!


 
OmegaZeroFecha: Lunes, 30 Diciembre 2013, 23:02 | Mensaje # 8
General de división
Grupo: Usuarios
Mensajes: 436
Reputación: 21
Estatus: Offline
Cita David-Andromeda ()
Me quiero volver chango!

XD, en parte tenias razon, pero me di cuenta que uno de los errores que tenia el codigo era que yo tenia el state 90 para volar, verdad?
Uno de los changestates forzaba que tuviera presionado "a" para flotar, al tener mas de un boton presionado, Bass solo disparaba para determinadas direcciones (traduccion, tenia changestates en conflicto, y mugen solo soporta 3 botones presionados al mismo tiempo)
Muchas gracias por la ayuda, Emiliano.
Y te pido disculpas por hacerte perder tiempo con esos codigos. Realmente me siento mal. :/




Mi pagina, pasense si quieren: http://faraonmugen.webs.com/

ןןıɥ ıɥɔoɹo ʇıɥs ʎɯ ʞɔıן
 
David-AndromedaFecha: Lunes, 30 Diciembre 2013, 23:52 | Mensaje # 9
Admin
Grupo: Administradores
Mensajes: 2026
Reputación: 135
Estatus: Offline
no te preocupes, para mi no es tiempo perdido el ayudar.

 
Foro » Sección M.U.G.E.N. » Preguntas y dudas M.U.G.E.N. » Comando sale mal (Un error simple pero molesto)
Página 1 de 11
Búscar:


Copyright Producciones Andrómeda © 2017