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

#1 L   demongorne 

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

Inviato 21 August 2008 - 11:21

vorrei creare la presa shouren kyaku di mr. karate(finalmente ho risolto il problema con le sprites)ma nn so come si programmano le prese kiedo aiuto ai veterani esperti in programmazione
0

#2 L   Nobun 

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

Inviato 21 August 2008 - 11:24

Demon Demon Demon... questa da te non me la aspettavo! :moglie: :moglie: :moglie:

Questa è la dimostrazione che la sezione tutorial manco la guardate. :moglie: :moglie: :moglie:

Nella sezione tutorials del forum c'è un mio tutorial (circa 20 pagine) in formato PDF che spiega in maniera abbastanza analitica come si programma una presa :moglie: :moglie: :moglie:
0

#3 L   demongorne 

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

Inviato 21 August 2008 - 12:08

in realtà l'ho scaricata gia da tempo ma nn mi è molto chiara
0

#4 L   Squall LionHeart™ 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 21 August 2008 - 12:28

Allora, proverò a spiegare in modo sintetico:

c'è bisogno di vari statedef:

PRIMO STATEDEF:
qui avverrà il contatto (hitdef) fra il p1 che fa la presa e il p2 "preso". l'animazione deve naturalmente avere un cnsl rosso.
L'hitdef, avrà fra le sue stringhe le seguenti:

p1stateno = n°
p2stateno = N°

In pratica queste stringhe portano, se l'hitdef va a segno, il p1 nello statedef n° e il p2 nello statedef N° (entrambi PROGRAMMATI NEL P1).

il tutto finisce con un changestate (che viene utilizzato in pratica solo se la presa non va a buon fine).

STATEDEF 2 (n°)

questo è quello del p1. cioè cosa farà il p1, se la presa è andata a segno.
qui puoi usare i "bindtarget", per spostare l'avversario. è abbastanza complesso farlo in maniera precisa, ma ti basti sapere che il bindtarget mette l'avversario in una posizione da te detta (tramite le cordinate). con un pò di pazienza riuscirai a fare il movimento abbastanza fluido.

poi programma le altre cose che vuoi, e chiudi tutto con un changestate. questo porterà il char in Stand, a meno che tu non abbia intenzione di continuare al tecnica, ma io mi fermo qui, xkè non lo so XD


STATEDEF 3 (N°)

questo è quello che farà il p2.
creando un'animazione nell'air del p1 (metti un numero strambo, tipo 42345), se il p2 non ha quell'animazione, utilizzerà quella del p1. naturalmente, questa animazione dovrà utilizzare solo ed esclusivamente i frames common (quelli da 5000 in su, x capirci), in modo tale da evitare che l'avversario possa scomparire, xkè non possiede i frames.
alla fine, metti un SELFSTATE (non changestate), che in pratica porterà il p2 ad uno state da te detto (funziona come ilchangestate) solo che nel SUO cns...in pratica gli ridà il controllo.

avevo un pò fretta e ho scritto abbastanza sintetico, ma credo di non aver dimenticato nulla ;)

spero sia utile

Saluti

Squall
0

#5 L   demongorne 

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

Inviato 21 August 2008 - 13:01

ecco cosa ho scritto
nelle costanti

[Statedef 800]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
ctrl = 0
anim = 1800

[State 800, 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 = 810
p2stateno = 820
fall = 1

[State 800, 2]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1

;----------------------------------------------------------------------
[Statedef 810]
type = S
movetype= A
physics = N
anim = 900
poweradd = 60

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 1
pos = 50, 0

[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 2
pos = 67, 0

[State 810, Hurt]
type = TargetLifeAdd
trigger1 = AnimElem = 2
value = -78

[State 810, Throw]
type = TargetState
trigger1 = AnimElem = 2
value = 821

[State 810, State End]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;----------------------------------------------------------------------
[Statedef 820]
type = A
movetype = H
physics = N
velset = 0,0

[State 820, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 5010

;----------------------------------------------------------------------
[Statedef 821]
type = A
movetype = H
physics = N
velset = 0,0
poweradd = 40

[State 821, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .4

[State 821, 2] ; Recover near ground (use ChangeState)
type = ChangeState
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 821, 3] ; Recover in mid air (use SelfState)
type = SelfState
triggerall = Vel Y > 0
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 821, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground

nei comandi

negli state dei comandi ho aggiunto

;shouren_kyaku
[State -1, shouren_kyaku]
type = ChangeState
value = 800
triggerall = command = "shouren_kyaku"

mentre come comando ho aggiunto

[command]
name = "shouren_kyaku"
command = ~B, DB, D, DF, F, z
time = 25
inoltre nell'air ho scritto lil codice delle sprites della presa

;shouren
[Begin Action 1800]
Clsn1: 1
Clsn1[0] = -13, -104, 34, -14
Clsn2: 1
Clsn2[0] = -11, -103, 31, -16
1800,0, 0,0, 5
Clsn1: 1
Clsn1[0] = -4, -105, 41, -28
Clsn2: 1
Clsn2[0] = -1, -102, 38, -32
1800,1, 0,0, 5
Clsn1: 1
Clsn1[0] = -20, -102, 39, -11
Clsn2: 1
Clsn2[0] = -18, -100, 36, -13
1800,2, 0,0, 5

ma quando uso mr.karate l'anim della presa compare al posto dello standing image :unsure:

trigger1 = (statetype = s) && ctrl
0

#6 L   demongorne 

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

Inviato 21 August 2008 - 20:59

io nn ho capito cosa bisogna modificare nell'AIR delle animazioni :unsure:
0

#7 L   Manic 

  • Art is deader than dead
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 749
  • Iscritto: 16-February 08

Inviato 21 August 2008 - 21:10

Qui purtroppo non ti posso aiutare in quanto di prese per ora preferisco non occuparmene cmq credo che tu abbia sbagliato qualche cosa nell'air ma non ne sono molto sicuro quindi meglio aspettare il parere di uno più esperto. Cmq cerca di evitare i doppi post.
0

#8 L   Squall LionHeart™ 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 21 August 2008 - 22:18

l'air deve contenere le animazioni suddette

Prima anim, di contatto, in cui il pg tocca l'altro x iniziare la presa (cnsl rosso di contatto)
seconda anim, la presa vera e propria
terza anim, l'animazione che assumerà il p2 (tu falla con i frames del p1, ma il mugen farà usare al p2 i suoi)

queste sono ;)

Saluti

Squall
0

#9 L   demongorne 

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

Inviato 21 August 2008 - 22:40

eco cosa ho scritto nell'air

;shouren
[Begin Action 1800]
Clsn1: 1
Clsn1[0] = -13, -104, 34, -14
Clsn2: 1
Clsn2[0] = -11, -103, 31, -16
1800,0, 0,0, 5
Clsn1: 1
Clsn1[0] = -4, -105, 41, -28
Clsn2: 1
Clsn2[0] = -1, -102, 38, -32
1800,1, 0,0, 5
Clsn1: 1
Clsn1[0] = -20, -102, 39, -11
Clsn2: 1
Clsn2[0] = -18, -100, 36, -13
1800,2, 0,0, 5
5010,10,0,0,5
900,1,0,0,5
0

#10 L   Nobun 

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

Inviato 22 August 2008 - 09:28

Hai provato, come d'altronde consigliavo, a fare le cose che scrivo in guida passo-passo?

Se tu leggi la guida e basta può risultare ostica... programmare una presa non è infatti facile. Se però, oltre a leggere provi anche a mettere in pratica i consigli, vedrai che il tutto ti apparirà molto più chiaro.

(infatti ricordo che prima di tutto si spiega un metodo di lavoro e la struttura di una presa).

Comunque, come giustamente detto da Squall, le animazioni per la presa minime necessarie sono 3

1) Animazione di tentativo di presa... l'animazione con il "colpo" che poi "lancerà" la presa

2) Animazione della presa vera e propria (i movimenti del tuo char)

3) Animazione presa subita (i movimenti del char avversario che subisce la presa)
0

#11 L   demongorne 

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

Inviato 22 August 2008 - 17:27

io ho fatto in questo modo ho aggiunto le sprites della presa e ne ho definito i box di collisione poi tramite l'editor prese di ff ho scelto le animazioni(900,1 per il tentativo di presa, 5010,30 x il p2 ke subisce la presa e 1800 x le ginokkiate al volto dello shouren kyaku di m r.karate)
quindi ho aggiunto le ultime due stringhe all'anim della presa

;shouren
[Begin Action 1800]
Clsn1: 1
Clsn1[0] = -13, -104, 34, -14
Clsn2: 1
Clsn2[0] = -11, -103, 31, -16
1800,0, 0,0, 5
Clsn1: 1
Clsn1[0] = -4, -105, 41, -28
Clsn2: 1
Clsn2[0] = -1, -102, 38, -32
1800,1, 0,0, 5
Clsn1: 1
Clsn1[0] = -20, -102, 39, -11
Clsn2: 1
Clsn2[0] = -18, -100, 36, -13
1800,2, 0,0, 5
5010,10,0,0,5
900,1,0,0,5
ma nn succede nulla :unsure:
0

#12 L   Nobun 

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

Inviato 23 August 2008 - 10:31

Scusami, sarò insistente... ma prova a fare come dico io lasciando perdere l'editor delle prese...

Non nego che l'editor delle prese sia uno strumento comodo (sembra anche fatto abbastanza bene), ma prima ti consiglio di cercare di capire come funziona il meccanismo... se passi subito ad usare l'editor di prese senza averne mai fatto una da solo, rischi di non capire cosa stai facendo.

A costo di apparire presuntuoso, ti consiglio di seguire passo passo il mio metodo... ti consiglio proprio di rifare esattamente quella presa che io mostro, seguendo le indicazioni e cercando di capire i passaggi.
0

#13 L   demongorne 

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

Inviato 23 August 2008 - 18:42

questo è l'air della presa ke voglio effettuare del personaggio di Byakko CvS2Ryo

[Begin Action 1803]
2000,6, 0,0, 8
1800,0, 0,-21, 5
1800,1, 0,-21, 3
1800,2, 0,-21, 5
1800,1, 0,-21, 3
1800,0, 0,-21, 5
1800,1, 0,-21, 3
1800,2, 0,-21, 5
1800,1, 0,-21, 3
1800,0, 0,-21, 5
1800,1, 0,-21, 3
1800,2, 0,-21, 5
1800,1, 0,-21, 3
1050,5, 0,-21, 2
640,0, 0,-21, 2
640,1, 0,-21, 2
Clsn1: 1
Clsn1[0] = -9, -57, 59, -27
640,2, 0,0, 2
Clsn1: 1
Clsn1[0] = -9, -57, 59, -27
Clsn2: 2
Clsn2[0] = -24, -107, 18, -47
Clsn2[1] = 19, -56, 57, -29
640,3, 0,0, 6
Clsn2: 1
Clsn2[0] = -24, -107, 24, -44
640,4, 0,0, 5
Clsn2: 1
Clsn2[0] = -24, -107, 24, -44
640,5, 0,0, 4
Clsn2: 1
Clsn2[0] = -24, -107, 24, -44
41,6, 0,0, -1


nella prima stringa ci dovrebbe essere il frame del p2 ke subisce la presa in mezzo l'animazioni della presa e alla fine finisce la presa con un calcio forte(anim 640)

ecCo cosa succede quaNDO RIKIAMO IL COMANDO DELLA PRESA LINK

HO RIFATTO L'AIR DELLA PRESA -

;shouren
[Begin Action 1800]
Clsn1: 1
Clsn1[0] = 13, -82, 38, -36
Clsn2: 2
Clsn2[0] = -15, -104, 41, -12
Clsn2[1] = 34, -103, 47, -83
1800,0, 0,0, 10
Clsn1: 1
Clsn1[0] = 5, -83, 21, -43
Clsn2: 2
Clsn2[0] = 13, -97, 28, -76
Clsn2[1] = -22, -100, 24, -15
1800,1, 0,0, 10
Clsn1: 1
Clsn1[0] = 29, -80, 44, -47
Clsn2: 2
Clsn2[0] = -15, -104, 47, -13
Clsn2[1] = 30, -105, 44, -85
1800,2, 0,0, 10
Clsn1: 1
Clsn1[0] = 18, -71, 38, -43
Clsn2: 2
Clsn2[0] = -11, -102, 40, -13
Clsn2[1] = 25, -103, 47, -86
1800,0, 0,0, 10
Clsn1: 1
Clsn1[0] = 5, -84, 20, -38
Clsn2: 2
Clsn2[0] = 15, -99, 28, -80
Clsn2[1] = -30, -92, 24, -14
1800,1, 0,0, 10
Clsn1: 1
Clsn1[0] = 22, -88, 45, -53
Clsn2: 2
Clsn2[0] = 30, -106, 44, -90
Clsn2[1] = -18, -102, 49, -21
1800,2, 0,0, 10
Clsn2: 2
Clsn2[0] = -14, -114, 6, -94
Clsn2[1] = -23, -102, 19, -45
630,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -15, -114, 5, -94
Clsn2[1] = -22, -104, 19, -40
630,1, 0,0, 2
Clsn1: 1
Clsn1[0] = -23, -67, 61, -40
Clsn2: 3
Clsn2[0] = -11, -116, 8, -95
Clsn2[1] = -25, -104, 17, -35
Clsn2[2] = 4, -73, 66, -31
640,0, 0,0, 2
Clsn1: 1
Clsn1[0] = -22, -67, 58, -40
Clsn2: 3
Clsn2[0] = -11, -116, 8, -95
Clsn2[1] = -24, -105, 19, -37
Clsn2[2] = 4, -73, 65, -33
640,1, 0,0, 5
Clsn2: 3
Clsn2[0] = -6, -116, 13, -95
Clsn2[1] = -18, -104, 19, -59
Clsn2[2] = -22, -69, 42, -35
640,2, 0,0, 5
Clsn2: 2
Clsn2[0] = -9, -114, 10, -93
Clsn2[1] = -21, -101, 23, -35
640,3, 0,0, 5
Clsn2: 2
Clsn2[0] = -7, -117, 11, -98
Clsn2[1] = -20, -105, 21, -33
44,3, 0,0, 1

MA NN SO SE è CORRETTO :unsure:
0

#14 L   demongorne 

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

Inviato 25 August 2008 - 12:11

quando il p2 viene attaccato cade a terra senza subire la presa :unsure:
0

#15 L   Nobun 

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

Inviato 25 August 2008 - 21:47

Perché per programmare bene "l'aggancio" devi seguire certe regole... ecco perché è utile seguire il mio tutorial.

Sì, dammi pure del rompiballe insistente che ripete le stesse cose... Il problema è che devi capire come si programma e come si sincronizza una presa. Prova a rifare la presa di AKFM così come mostrato nel mio esempio.

Credo che il metodo che io ho inventato per costruire le prese abbia il pregio di far capire tutte le dinamiche che vi stanno dietro. Ovviamente, oltre al mio ce ne staranno sicuramente altri altrettanto validi, ma insisto per provare a prendere AKFM e ad "appiccicargli" quella presa.
0

#16 L   demongorne 

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

Inviato 26 August 2008 - 09:54

Visualizza MessaggiNobun, su Aug 25 2008, 22:47, detto:

Perché per programmare bene "l'aggancio" devi seguire certe regole... ecco perché è utile seguire il mio tutorial.

Sì, dammi pure del rompiballe insistente che ripete le stesse cose... Il problema è che devi capire come si programma e come si sincronizza una presa. Prova a rifare la presa di AKFM così come mostrato nel mio esempio.

Credo che il metodo che io ho inventato per costruire le prese abbia il pregio di far capire tutte le dinamiche che vi stanno dietro. Ovviamente, oltre al mio ce ne staranno sicuramente altri altrettanto validi, ma insisto per provare a prendere AKFM e ad "appiccicargli" quella presa.


proverò a seguire il tuo consiglio ma leggendo il tutorial ci sono alcune cose ke nn mi sono kiare ad es. quando parla del blocco delle animazioni e inoltre come si programma il tentativo di presa?

ho riprogrammato sia l'air ke il cns
CNS

[Statedef 1800]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
ctrl = 0
anim = 1810

[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
p2stateno = 1820
fall = 1

[State 1800, 2]
type = ChangeState
Trigger1 = AnimTime = 0
value = 0
ctrl = 1

;----------------------------------------------------------------------
[Statedef 1810]
type = S
movetype= A
physics = N
anim = 180
poweradd = 60

[State 1810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 1
pos = 50, 0

[State 1810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 2
pos = 59, 0

[State 1810, Hurt]
type = TargetLifeAdd
trigger1 = AnimElem = 2
value = -78

[State 1810, Throw]
type = TargetState
trigger1 = AnimElem = 2
value = 1821

[State 1810, State End]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;----------------------------------------------------------------------
[Statedef 1820]
type = A
movetype = H
physics = N
velset = 0,0

[State 1820, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 5010

;----------------------------------------------------------------------
[Statedef 1821]
type = A
movetype = H
physics = N
velset = 0,0
poweradd = 40

[State 1821, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .4

[State 1821, 2] ; Recover near ground (use ChangeState)
type = ChangeState
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 1821, 3] ; Recover in mid air (use SelfState)
type = SelfState
triggerall = Vel Y > 0
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 1821, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground

AIR
;shouren
[Begin Action 1810]
900,1, 0,0, 4
Clsn1: 1
Clsn1[0] = -13, -104, 34, -14
Clsn2: 1
Clsn2[0] = -11, -103, 31, -16
1800,0, 0,0, 5
Clsn1: 1
Clsn1[0] = 5, -83, 21, -43
Clsn2: 2
Clsn2[0] = 13, -97, 28, -76
Clsn2[1] = -22, -100, 24, -15
1800,1, 0,0, 5
Clsn1: 1
Clsn1[0] = 29, -80, 44, -47
Clsn2: 2
Clsn2[0] = -15, -104, 47, -13
Clsn2[1] = 30, -105, 44, -85
1800,2, 0,0, 10
Clsn1: 1
Clsn1[0] = 18, -71, 38, -43
Clsn2: 2
Clsn2[0] = -11, -102, 40, -13
Clsn2[1] = 25, -103, 47, -86
1800,0, 0,0, 5
Clsn1: 1
Clsn1[0] = 5, -84, 20, -38
Clsn2: 2
Clsn2[0] = 15, -99, 28, -80
Clsn2[1] = -30, -92, 24, -14
1800,1, 0,0, 5
Clsn1: 1
Clsn1[0] = 22, -88, 45, -53
Clsn2: 2
Clsn2[0] = 30, -106, 44, -90
Clsn2[1] = -18, -102, 49, -21
1800,2, 0,0, 5
Clsn2: 2
Clsn2[0] = -14, -114, 6, -94
Clsn2[1] = -23, -102, 19, -45
630,0, 0,0, 3
Clsn2: 2
Clsn2[0] = -15, -114, 5, -94
Clsn2[1] = -22, -104, 19, -40
630,1, 0,0, 2
Clsn1: 1
Clsn1[0] = -23, -67, 61, -40
Clsn2: 3
Clsn2[0] = -11, -116, 8, -95
Clsn2[1] = -25, -104, 17, -35
Clsn2[2] = 4, -73, 66, -31
640,0, 0,0, 2
Clsn1: 1
Clsn1[0] = -22, -67, 58, -40
Clsn2: 3
Clsn2[0] = -11, -116, 8, -95
Clsn2[1] = -24, -105, 19, -37
Clsn2[2] = 4, -73, 65, -33
640,1, 0,0, 5
Clsn2: 3
Clsn2[0] = -6, -116, 13, -95
Clsn2[1] = -18, -104, 19, -59
Clsn2[2] = -22, -69, 42, -35
640,2, 0,0, 5
Clsn2: 2
Clsn2[0] = -9, -114, 10, -93
Clsn2[1] = -21, -101, 23, -35
640,3, 0,0, 5
Clsn2: 2
Clsn2[0] = -7, -117, 11, -98
Clsn2[1] = -20, -105, 21, -33
44,3, 0,0, 1

[Begin Action 1820]
5010,0,0,0,9
5072,0,0,0,12
5072,0,0,0,5
loopstart
5060,10,0,0,4
5060,10,0,0,4

quando il p1 afferra il p2 quest'ultimo subisce i colpi a vuoto dopodikè cade a terra :unsure:
0

#17 L   Nobun 

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

Inviato 27 August 2008 - 08:57

Quote

proverò a seguire il tuo consiglio ma leggendo il tutorial ci sono alcune cose ke nn mi sono kiare ad es. quando parla del blocco delle animazioni e inoltre come si programma il tentativo di presa?


Il blocco delle animazioni è una cosa che ho inventato io per controllare la realizzazione della presa passo-passo.

Banalmente ogni volta che si aggiunge l'ultimo frame, al posto della durata del frame (es. 5 tick) si mette il valore -1 per rendere la animazione infinita (ovvero che si blocca sull'ultimo frame). Una volta fatti i calcoli di binding e di comportamento avversario per quel frame si può normalmente sostituire il valore -1 con il valore di durata di frame (nel mio esempio 5) e passare ad inserire il frame successivo.

Ad Esempio questa è la animazione DEFINITIVA della presa

;animazione esecuzione della presa
[Begin Action 801]
801,1, 0,0, 3
801,2, 0,0, 3
801,3, 0,0, 5
801,4, 0,0, 2


Ma devi calcolarti ancora tutto... quindi prima cominci a calcolarti i posizionamenti per il primo frame. Per agevolarti inserisci il primo frame e lo blocchi

;animazione esecuzione della presa
[Begin Action 801]
801,1, 0,0, -1


Una volta che vedi il char avversario ben posizionato (che sembra afferrato) passi al secondo frame, bloccandolo.

;animazione esecuzione della presa
[Begin Action 801]
801,1, 0,0, 3
801,2, 0,0, -1


...e così via fino alla fine.

-----------------------

Il tentativo di presa è banalmente lo state iniziale della presa composto da un HitDef (l'animazione deve avere un clsn1 attivo) che presenti i parametri

p1stateno = numero_state_in_cui_il_tuo_char_esegue_la_presa
p2stateno = numero_state_che_verrà_letto_dall'_avversario.

(l'avversario abbandonerà il proprio CNS e passerò a leggere il tuo file CNS andando proprio nello state indicato da p2stateno).

Nel tutorial parlo anche del tentativo di presa (se non ricordo male)... altrimenti prendi uno qualsiasi dei miei personaggi (magari evita Nobunaga che a volte presenta difficoltà ulteriori) e guardati lo state 800 che di solito è lo state che uso per il tentativo di presa normale (se non ricordo male).

Lì trovi anche il "modello-tipo" dell'hitdef da tentativo di presa.

---------------

PS Demon: non continuare ad inserire codici... non serve a nulla. Una presa va testata "concretamente" ed il codice da solo non è sufficiente per individuare eventuali errori. Prova a chiedere se qualcuno può darti una mano a capire dove sbagli (come sai io non posso).
0

#18 L   demongorne 

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

Inviato 27 August 2008 - 18:18

Visualizza Messaggidemongorne, su Aug 27 2008, 11:14, detto:

grazie nobun ma dove posso scricare questi chars?

ho messo un videoi dimostrazione della presa guardate cosa succede quando il p1 cerca di afferrare il p2 presa errore


scusate il doppio post ma mi serve davvero una mano ora ho anke rifatto i box di collisione ma il p2 continua a nn reagire ai colpi e cade aterra dopo il primo tentativo di presa :unsure:
0

#19 L   Nobun 

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

Inviato 27 August 2008 - 19:43

I miei chars (Nobunaga, KingLion e Ranmaru) stanno qui in mugenation (nella sezione staff della pagina principale del sito).

Comunque, da quello che posso vedere, il giocatore 1, con il tentativo di presa, non porta il p2 a leggere un custom state (lo si vede perché la presa, quando viene eseguita dal p2 non fa trasformare le scritte in giallo). Inoltre l'animazione della presa subita pare la stessa della presa eseguita, il che è un errore.

Come ti ho detto ci deve essere uno state (con una animazione, ed un hitdef) di tentativo di presa (più o meno come un colpo normale), solo che - a differenza del solito - l'hitdef deve contenere i parametri p1stateno e p2stateno.

Bisogna poi definire un secondo state (quello chiamato in p1stateno) dove sono programmate le mosse del tuo personaggio (più altra animazione AIR)

Bisogna infine definire un terzo state (quello chiamato in p2stateno), sempre nel tuo personaggio, che contiene codice che sarà letto dal char avversario che subisce la presa.

Come ti ho detto è molto difficile spiegare come si fa una presa in poche parole. Dal tuo video immagino che ancora tu non abbia capito come "strutturare" la presa. Cerca di seguire il tutorial andando MOLTO piano. Quando non capisci un passaggio, chiedi. Ma prima di chiedere prova a farlo.
0

#20 L   demongorne 

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

Inviato 27 August 2008 - 20:32

d'accordo grazie Nobun è ke ci sto da settimane ormai su questa benedetta presa ma x ora nn riesco a sbloccare la situazione cmnq x quanto riguarda il cns io ho usato l'editor prese di ff ke programma la automaticamente

scusa Nobun ma come debbo programmare l'air dell'azione 800 (mi sembra ke nel tutorial nn viene spiegato)?
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