Forum MUGENATION: Problema hitdef - Forum MUGENATION

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Problema hitdef

#1 L   demongorne 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 533
  • Iscritto: 07-November 06

Inviato 07 January 2009 - 15:29

sto programmando una special (in pratica una variante del dragon punch) in cui mr.karate ripete x 2 volte i primi 2 colpi e poi fiisce l'attacco con dragon punch il problema è ke nella versione originale svc colpisce le prime 2 volte mettendo a segno 4 colpi invece a me colpisce solo 2 volte...
posto il codice

[StateDef 13000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1130
poweradd = 20
sprpriority = 2

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem= 3
value = 851,0
volume = 90
channel = -1



[State 12395, 1]
type = HitDef
trigger1 = AnimElem= 5
attr = S, NA
damage = 50
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 34,35
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 0
ground.hittime = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 1200, 4]
type = ChangeState
trigger1 = MoveHit
value = 13001

[State 12395, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
-----------------------------------------------------------------
[StateDef 13001]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1130
poweradd = 20
sprpriority = 2

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem= 3
value = 851,0
volume = 90
channel = -1


[State 12395, 1]
type = HitDef
trigger1 = AnimElem= 5
attr = S, NA
damage = 50
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 34,35
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
sparkno = S8210+(random%8)
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 0
ground.hittime = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12


[State 1200, 4]
type = ChangeState
trigger1 = MoveHit
value = 13002

[State 12396, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
------------------------------------------------------------------------
[StateDef 13002]
type = S
movetype= A
physics = S
juggle = 1
ctrl = 0
anim = 1130
poweradd = 20
sprpriority = 2



[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 7
x = 8.5
y = -6.5

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 7
value = 851,0
volume = 90
channel = -1

[State 52, Effect]
type = PlaySnd
trigger1 = AnimElem = 7
value = 40, 0
channel = 20




[State 0, VelMul]
type = VelMul
trigger1 = animelem = 10
x = -1
y = -1.5


[State 1000, Spark]
type = Explod
trigger1 = AnimElem = 7
Anim = 2015
pos = -15,-1
postype = p1
ownpal = 1
bindtime = -1
pausemovetime = -1
supermove = 1
ignorehitpause = 1
sprpriority = 3
persistent = 0

[State 1100, HitDef]
type = HitDef
trigger1 = AnimElem = 5
attr = A, HA
animtype = Heavy
air.animtype = back
damage=50
priority = 7, Hit
hitflag = MAF
guardflag = MA
pausetime = 24,25
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -78
hitsound = S6,1
guardsound = S1,0
ground.type = Low
ground.slidetime = 0
ground.hittime = 20
guard.ctrltime = 20
ground.velocity = -2.5,-11
guard.velocity = -8
air.velocity = -2.5,-11
airguard.velocity = -6.67,-1
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -11.2
air.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5
persistent = 0
getpower = ifelse(var(17),70,143)*(1000+var(24))/1000*ifelse((var(15)||var(16)),0,1),35*(1000+var(24))/1000*ifelse((var(15)||var(16)), 0,1)
givepower = 35, 35
palfx.time = 12*var(41)
palfx.add = 255,255,255
palfx.mul = 128,128,128
forcestand = 1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0



[State 1120, HitDef]
type = HitDef
trigger1 = AnimElemTime(7) = 0 || AnimElemTime(7) = 2 || AnimElemTime(7) = 4 || AnimElemTime(7) = 6 || AnimElemTime(7) = 8 || AnimElemTime(7) = 9 || AnimElemTime(7) = 10
attr = A, SA
animtype = hard
air.animtype = back
damage = 50
priority = 5,Hit
getpower = 40,40
givepower = 0,0
hitflag = MAF
guardflag = M
pausetime = 0,0
guard.pausetime = 9,9
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
guardsound = S1,0
ground.type = high
ground.slidetime = 13
ground.hittime = 10
guard.hittime = 15
guard.slidetime = 13
guard.ctrltime = 15
ground.velocity = -5, -11
guard.velocity = -5.0
air.type = low
air.velocity = -3.0,-11.0
fall = 1
fall.recover = 0
fall.envshake.time = 12
fall.envshake.freq = 80
fall.envshake.ampl = 6
down.bounce = 1
air.fall = 1
air.recover = 0
yaccel = .60
envshake.time = 5
envshake.freq = 60
envshake.ampl = 2
;envshake.phase =
P2facing = 1
;palfx.color = 0
;palfx.mul = 0,0,0
palfx.add = 150,50,150
palfx.sinadd = -150,-50,-150,50
palfx.time = var(22)*50
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0


[State 12397, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 1105
ctrl = 1

ho già provato ad ggiungere nell'hitdef il trigger2 con il frame del secondo colpo(ke ha il clsn rosso) oppure scrivndo il trigger1 in questa forma trigger1 = AnimElem = 3,= 5 o ancora semplicemente aggiungendo un altro hitdef negli statedef 13000 e 13001 ma colpisce sempre 2 volte
0

#2 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 07 January 2009 - 20:07

Visualizza Messaggidemongorne, su Jan 7 2009, 17:29, detto:

ho già provato ad ggiungere nell'hitdef il trigger2 con il frame del secondo colpo(ke ha il clsn rosso) oppure scrivndo il trigger1 in questa forma trigger1 = AnimElem = 3,= 5

Prima di tutto questa forma non esiste (tra l'altro AnimElem NON SUPPORTA le espressioni). quindi, per ottenere il risultato desiderato avresti dovuto scrivere

trigger1 = AnimElem = 3
trigger2 = AnimElem = 5

----

in ogni caso il "doppio colpo" su singolo Hitdef, nel tuo codice, non può funzionare, per il semplice fatto che ogni state preso in considerazione ha sempre un comando

[State x, y]
type = ChangeState
value = ...
trigger1 = MoveHit

questo fa sì che, una volta colpito si passi al trigger successivo, quindi "il secondo colpo" che dovrebbe fare l'HitDef non può essere eseguito perché è già stato cambiato lo state in questione.

ecco cosa suggerisco (presumendo che gli hitdef debbano essere eseguiti al frame 3 e 5 dell'animazione

1) Modificare i trigger di Hitdef in questo modo

trigger1 = animelem = 3
trigger2 = animelem = 5

2) supponendo che si debba cambiare state se si è andati a segno e aspettando il secondo colpo modificherei i changestate che si avvalgono di MoveHit in questo modo

[State x, y]
type = ChangeState
value = ....
ctrl = 0
triggerall = MoveHit != 0
trigger1 = animelem = 5
trigger2 = animelem = 6

Lo state sarebbe programmato ancora meglio se si utilizzasse il trigger time

[State x, y]
type = ChangeState
value = ....
ctrl = 0
triggerall = MoveHit != 0
trigger1 = time > ...

per calcolare il valore di time basta sommare il tempo di durata di tutti i frame precedenti rispetto all'ultimo frame "di attacco" (nel senso... l'ultimo frame che ha un clsn2).
0

#3 L   demongorne 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 533
  • Iscritto: 07-November 06

Inviato 07 January 2009 - 22:05

Funziona! Grazie Snsei :birra:

ho aggiunto il trigger1 = time>11(la sommatoria dei gametick precedenti al colpo)
0

#4 L   demongorne 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 533
  • Iscritto: 07-November 06

Inviato 11 January 2009 - 20:44

sto programmando una special in cui mr.karate esegue una combo con il dragon punch il problema è ke quando il p2 si trova nell'angolo dello skermo e viene colpito dalla combo il p1 si muove come spinto all'indietro perdendo allungando la distanza e alcuni colpi vanno a vuoto.Come posso fare x bloccare il p1 in modo ke quando esegue la combo mantenga la sua posizione?


[StateDef 13000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1100
poweradd = 20
sprpriority = 2

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 3
value = 851,0
volume = 90
channel = -1



[State 12395, 1]
type = HitDef
trigger1 = AnimElem = 3
trigger2 = Animelem = 5
attr = S, NA
damage = 50
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 24,25
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 0
ground.hittime = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12


[State 1200, 4]
type = ChangeState
trigger1 = MoveHit
value = 13001
ctrl = 0
trigger1 = time > 11


[State 13000, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
-----------------------------------------------------------------
[StateDef 13001]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1100
poweradd = 20
sprpriority = 2

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 3
value = 851,0
volume = 90
channel = -1


[State 12395, 1]
type = HitDef
trigger1 = AnimElem = 3
trigger2 = AnimElem = 5
attr = S, NA
damage = 50
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 24,25
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 0
ground.hittime = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12



[State 1200, 4]
type = ChangeState
trigger1 = MoveHit
value = 13002
trigger1 = time > 11

[State 13001, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
------------------------------------------------------------------------
[StateDef 13002]
type = S
movetype= A
physics = S
juggle = 1
ctrl = 0
anim = 1100
poweradd = 20
sprpriority = 2



[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 7
x = 8.5
y = -6.5

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 7
value = 851,0
volume = 90
channel = -1

[State 1100, Velocity]
type = VelSet
trigger1 = AnimElem = 7
x = 0
y = -8



[State 1100, Velocity]
type = VelMul
trigger1 = AnimElem = 11
x = -1
y = -1


[State 12397, 1]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
damage = 50
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 24,25
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 0
ground.hittime = 12
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12

[State 1100, HitDef]
type = HitDef
trigger1 = AnimElem = 5
attr = A, NA
animtype = Heavy
air.animtype = back
damage=50
priority = 7, Hit
hitflag = MAF
guardflag = MA
pausetime = 24,25
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -78
hitsound = S6,1
guardsound = S1,0
ground.type = Low
ground.slidetime = 0
ground.hittime = 20
guard.ctrltime = 20
ground.velocity = -2.5,-11
guard.velocity = -8
air.velocity = -2.5,-11
airguard.velocity = -6.67,-1
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -11.2
air.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
envshake.time = 10
envshake.ampl = 3
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5
persistent = 0
getpower = ifelse(var(17),70,143)*(1000+var(24))/1000*ifelse((var(15)||var(16)),0,1),35*(1000+var(24))/1000*ifelse((var(15)||var(16)), 0,1)
givepower = 35, 35
palfx.time = 12*var(41)
palfx.add = 255,255,255
palfx.mul = 128,128,128
forcestand = 1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0



[State 1120, HitDef]
type = HitDef
trigger1 = AnimElem = 7
attr = A, SA
animtype = hard
air.animtype = back
damage = 50
priority = 5,Hit
getpower = 40,40
givepower = 0,0
hitflag = MAF
guardflag = M
pausetime = 24,25
guard.pausetime = 9,9
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S6,1
guardsound = S1,0
ground.type = high
ground.slidetime = 13
ground.hittime = 10
guard.hittime = 15
guard.slidetime = 13
guard.ctrltime = 15
ground.velocity = -5, -11
guard.velocity = -5.0
air.type = low
air.velocity = -3.0,-11.0
fall = 1
fall.recover = 0
fall.envshake.time = 12
fall.envshake.freq = 80
fall.envshake.ampl = 6
down.bounce = 1
air.fall = 1
air.recover = 0
yaccel = .60
envshake.time = 5
envshake.freq = 60
envshake.ampl = 2
;envshake.phase =
P2facing = 1
;palfx.color = 0
;palfx.mul = 0,0,0
palfx.add = 150,50,150
palfx.sinadd = -150,-50,-150,50
palfx.time = var(22)*50
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0


[State 12397, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 1105
ctrl = 1
0

Condividi questa discussione:


Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi