Forum MUGENATION: programmare una presa - Forum MUGENATION

Salta al contenuto

  • 2 Pagine +
  • 1
  • 2
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

programmare una presa

#21 L   demongorne 

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

  Inviato 29 August 2008 - 09:38

scusate x il doppio post ma forse ho capito dove sbaglio :quando vado ad effettuare la presa nel debug segna la stessa azione sia nell'action id sia nello stateno...a questo punto credo ke l'errore sia nell' hitdef dello state 800 + precisamente nei p1 e p2 stateno ora io ho sccritto questo

[State 1800, 1]
type = HitDef
Trigger1 = Time = 0
attr = S, NT
hitflag = M
priority = 1, Miss
sparkno = -1
sprpriority = 1
p1facing = ifelse (command = "holdfwd", -1, 1)
p2facing = 1
p1stateno = 1810 (action della presa andata a segno)
p2stateno = 1820 (action del p2 ke subisce la presa)
fall = 1

quello ke nn ho capito è quale stateno devo sostituire al posto di 1810 e 1820
0

#22 L   Nobun 

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

Inviato 29 August 2008 - 17:44

Bene... era quello che stavo cercando di dirti ;)

E' che ora non ho con me tutto quanto e prima di scrivere qualcosa volevo essere assolutamente sicuro di essere preciso.

Allora... per i due state scelti non ci sono regole. Va bene qualunque numero di state (quindi anche quelli da te detti) purché siano statedef che il tuo char non usa (infatti dovrai programmare gli statedef da te indicati). Per evitare confusioni, però, ti consiglio di "raggruppare" la mossa.

Nel senso... non è che sia proprio una regola vincolante, ma - se ad esempio la presa comincia con un tentativo di presa allo statedef 800 (come nel nostro caso) è meglio usare due state "vicini" (es. 810 per lo state di presa da eseguire ed 820 per lo state di presa da subire - quest'ultimo sarà letto dall'avversario).

Per sapere che codice inserire nello state indicato in p1stateno (es. 810) e nello state indicato in p2stateno (es. 820) prova a seguire il mio tutorial (che effettivamente dava per scontato il tentativo di presa... essendo un tutorial di livello "intermedio" ho dato per scontato quella parte, rinviando allo state 800 di kfm - come da nota - perché bastava guardare quello state di kfm per avere un esempio di tentativo di presa).

... anche perché era già abbastanza lungo così... 0:)
0

#23 L   demongorne 

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

Inviato 29 August 2008 - 18:15

come Air di tentativo di presa ho messo questo

[Begin Action 1800]
Clsn1: 1
Clsn1[0] = 19, -70, 35, -53
Clsn2: 1
Clsn2[0] = -16, -82, 29, -1
3000,8, 0,0, 9

ma rimane sempre il problema ke il p2 nn legge l'air di subire la presa(io ho messo come state di subire la presa l'820) :unsure:
nn riesco in nessun modo a far leggere al p2 ll'azione 1820

qui ci sono l'air dei tre states(800-810-820)

;Stand normal Throw - attempt
[Begin Action 1800]
Clsn1: 1
Clsn1[0] = 19, -70, 35, -53
Clsn2: 1
Clsn2[0] = -16, -82, 29, -1
3000,8, 0,0, 9


;shouren
[Begin Action 1810]
Clsn1: 1
Clsn1[0] = 19, -70, 35, -53
Clsn2: 1
Clsn2[0] = -16, -82, 29, -1
3000,8, 0,0, 9
Clsn1: 1
Clsn1[0] = 25, -101, 45, -79
Clsn2: 1
Clsn2[0] = -15, -128, 32, -38
1800,0, 0,0, 8
Clsn1: 1
Clsn1[0] = 10, -91, 27, -72
Clsn2: 1
Clsn2[0] = -21, -123, 20, -37
1800,1, 0,0, 8
Clsn1: 1
Clsn1[0] = 20, -99, 45, -66
Clsn2: 1
Clsn2[0] = -16, -127, 33, -35
1800,2, 0,0, 8
Clsn1: 1
Clsn1[0] = 14, -91, 28, -69
Clsn2: 1
Clsn2[0] = -24, -117, 19, -37
1800,1, 0,0, 8
Clsn1: 1
Clsn1[0] = 28, -96, 45, -74
Clsn2: 1
Clsn2[0] = -15, -122, 36, -38
1800,0, 0,0, 8
Clsn1: 1
Clsn1[0] = 9, -91, 25, -72
Clsn2: 1
Clsn2[0] = -26, -120, 19, -37
1800,1, 0,0, 8
Clsn1: 1
Clsn1[0] = 26, -100, 48, -75
Clsn2: 1
Clsn2[0] = -15, -125, 40, -37
1800,2, 0,0, 8
Clsn2: 2
Clsn2[0] = 20, -81, 41, -52
Clsn2[1] = -12, -97, 25, -17
1050,5, 0,0, 5
Clsn1: 1
Clsn1[0] = 33, -52, 64, -29
Clsn2: 2
Clsn2[0] = 21, -62, 46, -35
Clsn2[1] = -27, -104, 30, -40
640,0, 0,0, 5
Clsn2: 2
Clsn2[0] = 17, -63, 51, -33
Clsn2[1] = -22, -104, 35, -41
640,1, 0,0, 5
Clsn2: 1
Clsn2[0] = -19, -100, 47, -19
640,2, 0,0, 5
Clsn2: 1
Clsn2[0] = -14, -98, 26, -8
640,3, 0,0, 1


;
[Begin Action 1820]
Clsn2Default: 1
Clsn2[0] = -22, -99, 23, 0
5010,10, 0,0, 8
5000,10, 0,0, 5
5000,0, 0,0, 3
5000,10, 0,0, 5
5000,0, 0,0, 3
5000,10, 0,0, 5
5000,0, 0,0, 3
5000,10, 0,0, 5
5000,0, 0,0, 3
5000,10, 0,0, 5
5000,0, 0,0, 3
5000,10, 0,0, 5
5000,0, 0,0, 3
5000,10, 0,0, 5
5000,0, 0,0, 8
5010,20, 0,0, 8
0

#24 L   demongorne 

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

Inviato 29 August 2008 - 21:10

cambiando il targetstate nello statedef 1810 da 1821 a 1820 sono riuscito a far leggere al p2 l'anim dei colpi subiti xò ora il problema è come farlo tornare a fargli leggere i propri dati(ho gia provato ad in serire un selfstate alla fine dello statedef 1820 mettendo valu=0 ma nn funziona ) tra l'altro ripete i l'anim ma senza cadere al suolo :unsure:
0

#25 L   Nobun 

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

Inviato 30 August 2008 - 21:23

Allora... con SelfState (value = 0) dovresti riportare il char a leggere il proprio CNS a partire dallo state 0 (standing pose).

Se ciò non avviene, probabilmente hai sbagliato a scrivere il trigger. Puoi riportare lo state?

Per quanto riguarda invece l'animazione che si ripete (immagino riguardi il p2) postresti scrivere anche l'animazione 1820?

Quote

sono riuscito afar leggere al p2 ora l'unico problema rimane il fatto ke il cade troppo vicino quasi addosso ai piedi del p1 come posso fare x aumentare la distanza di caduta tra il p1 e il p2?
Grazie anticipatamenmte


Ci sono vari sistemi. Di solito, nello state della presa eseguita dal tuo char (nel nostro caso 1810) ci sono i TargetBind per "vincolare il char" ma ci sono anche altre istruzioni come TargetVelAdd e TargetVelSet che servono ad impostare una eventuale velocità di caduta.

Dato il tipo di presa (se è quello che ho visto nel video) puoi semplificarti la vita facendo terminare il tutto con un HitDef nello state 1810

[State 1810, Colpo finale]
type = HitDef
attr = S, NT
....


importantissimo l'attr (nel mio caso ho messo presa normale, se è speciale metti "ST" al posto di "NT").
Perché ora dobbiamo vincolare la vulnerabilità del p2 inserendo nello state 1820

[State 1820, HitBy]
type = HitBy

value = S, NT;lo stesso identico valore dell'attr dell'HitDef. In tal modo si impedisce che altri colpi interferiscano con la presa.

time = 1; NON RICORDO COME SI CHIAMA IL PARAMETRO. FORSE NON E' TIME. Devi impostare la durata ad 1 tick

trigger1 = 1


Nell'animazione 1820 dobbiamo poi inserire i clsn2 in maniera che il char avversario sia colpibile dall'hitdef finale.
0

#26 L   demongorne 

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

Inviato 30 August 2008 - 21:52

ho aggiunto questo hitdef nello statedef 1810

[State 801, HitDef]
type = HitDef
trigger1 = 1
chainid = 1820
numhits = 0
time = 1
damage = 90, 13
attr = S, ST (ho provato anke con NT)
hitflag = MAFD
guardflag = MA
animtype = up
pausetime = 0,12
;ground.type = High (default)
ground.hittime = 12
getpower = 20,5
givepower = 12,6
sparkno = 40
sparkxy = 0,-60
hitsound = 5,2
;added from kfm for moving enemy
ground.slidetime = 52
ground.hittime = 52
ground.velocity = -2.6,-24
;guard.velocity = -11
air.velocity = -2.6,-24
;airguard.velocity = -4.5,-5
p2facing = 1
fall = 1
fall.recover = 0
fall.envshake.ampl = 6
fall.envshake.freq = 178
fall.envshake.time = 15
fall.damage = 40
mindist = 50,-100
maxdist = 100,-10
yaccel = 1

ho rifatto l'air della presa subiti con i clsn 2

;0
[Begin Action 1820]
Clsn2Default: 1
Clsn2[0] = -22, -99, 23, 0
Clsn2: 1
Clsn2[0] = -34, -73, 3, -3
5010,10, 0,0, 8
Clsn2: 1
Clsn2[0] = -26, -78, 17, -8
5000,10, 0,0, 5
Clsn2: 1
Clsn2[0] = -23, -80, 23, -1
5000,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -29, -83, 15, -7
Clsn2[1] = -28, -94, -10, -82
5000,10, 0,0, 5
Clsn2: 1
Clsn2[0] = -23, -77, 21, -7
5000,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -28, -78, 24, -2
Clsn2[1] = -29, -96, -11, -80
5000,10, 0,0, 5
Clsn2: 1
Clsn2[0] = -25, -80, 20, -2
5000,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -28, -94, -8, -82
Clsn2[1] = -29, -77, 22, -5
5000,10, 0,0, 5
Clsn2: 1
Clsn2[0] = -20, -81, 19, -2
5000,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -24, -95, -10, -78
Clsn2[1] = -28, -82, 13, -5
5000,10, 0,0, 5
Clsn2: 1
Clsn2[0] = -20, -82, 20, 2
5000,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -29, -96, -10, -84
Clsn2[1] = -27, -80, 23, -1
5000,10, 0,0, 3
Clsn2: 1
Clsn2[0] = -18, -82, 22, -1
5000,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -25, -94, -14, -84
Clsn2[1] = -27, -80, 21, -8
5000,10, 0,0, 3
Clsn2: 1
Clsn2[0] = -22, -83, 24, -2
5000,0, 0,0, 4
Clsn2: 1
Clsn2[0] = -34, -71, 11, -4
5010,20, 0,0, 5

ma la distanza della caduta è rimasta invariata :unsure:
0

Condividi questa discussione:


  • 2 Pagine +
  • 1
  • 2
  • 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