Forum MUGENATION: Bug con il p2stateno aereo ò.o - Forum MUGENATION

Salta al contenuto

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

Bug con il p2stateno aereo ò.o Strano... X.x

#1 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 26 February 2008 - 20:49

Riassumo la questione:

Sto programmando la mossa finale di Cell (fatta questa credo che rilascio la V1, vedrò). Ora ho un problemino con quest'ultima. Ho usato un p2stateno nell'hitdef, per far si che il char avversario diventi invisibile dopo il colpo. Però quando colpisco l'oppo, esso comincia a scendere sotto terra (???) e il Debug mi da un errore sul char avversario.

Ecco il p2stateno che ho usato:

Quote

[Statedef 248293]
Type = S
Movetype = A
Physics = S
Poweradd = 0
Velset = 0
Ctrl = 0
Anim = 1799999

[State 0, Change]
Type = Changestate
Trigger1 = Time = 500
Value = 51



1799999 è l'animazione invisibile.

Forse mi da sto errore xkè attivo il p2stateno con una mossa aerea? Se serve posto anche l'errore Debug.

PS: Esiste un Control che mi permetta di mandare il char avversario in uno state del mio Cns? Ho visto TargetState, ma non ho capito se il p2 va in uno state del suo o mio Cns..

EDIT: Scusate, ho risolto. Chiedo cortesemente di chiudere o rimuovere il topic :azz:
0

#2 L   Nobun 

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

Inviato 02 March 2008 - 13:49

Menjo... essendo una cosa che potrebbe interessare anche ad altri dovresti pure specificare la tua soluzione (anche se la immagino non sono certo che il problema fosse causato da quell'errore che io ho individuato).

Comunque per rispondere alla tua domanda... TargetState riporta ad uno state CNS dell'avversario (di chi esegue la presa per capirci).

Per riportare un char a leggere i propri dati vi sono solo due modi:

L'istruzione SelfState (funziona come ChangeState ma reindirizza al proprio personale CNS)

Essere colpiti da un HitDef qualunque che non abbia un parametro p2stateno
0

#3 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 02 March 2008 - 15:12

Semplice, essendo un colpo aereo.. dovevo scrivere diversamente nello statedef. Ecco quello funzionante:

[Statedef 12482931]
type	= A
movetype= H;Get hit
physics = N
velset = 0,0
ctrl = 0

[State 12217, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 1799999

[State 0, Change]
Type = Changestate
Trigger1 = Time = 150
Value = 0
ctrl = 0


Avevo semplicemente specificato male lì.. Ora tutto ok.
0

#4 L   Nobun 

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

Inviato 02 March 2008 - 16:04

Più o meno ci avevo preso. Comunque correggi questo

Quote

[State 0, Change]
Type = Changestate
Trigger1 = Time = 150
Value = 0
ctrl = 0


Sei in un custom state e stai leggendo i dati dell'avversario quindi devi tornare a leggere il TUO state 0 (altrimenti si possono creare problemi imprevisti con alcuni char) pertanto devi modificare la riga in questo modo

Quote

[State 0, Change]
Type = SelfState
Trigger1 = Time = 150
Value = 0
ctrl = 0


PS io consiglio a te, come avevo consigliato a Pizzaman, un maggiore ordine nel codice. Mi spiego meglio.

Quando si scrive [State X, y] consiglio sempre di mettere su X il nome dello state effettivo. Il tuo codice quindi lo scriverei in questo modo

[Statedef 2482931]
type	= A
movetype= H;Get hit
physics = N
velset = 0,0
ctrl = 0

[State 2482931, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 1799999

[State 2482931, Change]
Type = Changestate
Trigger1 = Time = 150
Value = 0
ctrl = 0


Specie sugli state lunghi è una prassi che si rivela utilissima, perché in qualunque punto ti trovi sei sempre certo di sapere a che state ti trovi senza dover andare a vedere lo statedef precedente e senza rischiare di fare confusione. Ci vuole poco tempo ed aiuta molto. Io a tale cosa faccio sempre attenzione.

PS 2482931 per identificare uno state? Non è un numero troppo grande? Io per prudenza non andrei oltre il 35000
0

#5 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 02 March 2008 - 17:07

Visualizza MessaggiNobun, su Mar 2 2008, 16:04, detto:

Più o meno ci avevo preso. Comunque correggi questo
Sei in un custom state e stai leggendo i dati dell'avversario quindi devi tornare a leggere il TUO state 0 (altrimenti si possono creare problemi imprevisti con alcuni char) pertanto devi modificare la riga in questo modo
PS io consiglio a te, come avevo consigliato a Pizzaman, un maggiore ordine nel codice. Mi spiego meglio.

Quando si scrive [State X, y] consiglio sempre di mettere su X il nome dello state effettivo. Il tuo codice quindi lo scriverei in questo modo

[Statedef 2482931]
type	= A
movetype= H;Get hit
physics = N
velset = 0,0
ctrl = 0

[State 2482931, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 1799999

[State 2482931, Change]
Type = Changestate
Trigger1 = Time = 150
Value = 0
ctrl = 0


Specie sugli state lunghi è una prassi che si rivela utilissima, perché in qualunque punto ti trovi sei sempre certo di sapere a che state ti trovi senza dover andare a vedere lo statedef precedente e senza rischiare di fare confusione. Ci vuole poco tempo ed aiuta molto. Io a tale cosa faccio sempre attenzione.

PS 2482931 per identificare uno state? Non è un numero troppo grande? Io per prudenza non andrei oltre il 35000

Ah ok, capito.

In quanto al numero enorme.. in effetti chi se ne frega, funziona! :rotfl:

Ma cmq, essendo tu il Dio, abbasserò un po :P

Come al solito, grazie dei consigli.
0

#6 L   Nobun 

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

Inviato 02 March 2008 - 18:19

Se funziona non occorre :P

Più che altro io pensavo al C (visto che il Mugen è stato scritto con quel linguaggio) che tendenzialmente assegna 2 byte per il tipo intero (con i valori che vanno da -35000 a + 35000 quindi un numero diverso potrebbe creare problemi) ma ci sono alcune versioni che il tipo intero ne usa 4 di byte.

Se non ti da problemi vuol dire che al 90% può supportare anche numeri più grandi di 35000
0

#7 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 11 March 2008 - 14:48

Ah ok, quindi finchè va lascio così :P

Ma ad ogni modo provai anche numeri maggiori, e me li supporta bene :P
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