Forum MUGENATION: bug di ryuzito nel dettaglio - Forum MUGENATION

Salta al contenuto

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

bug di ryuzito nel dettaglio winmugen!!

#1 L   EMILIUX 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 820
  • Iscritto: 09-September 06

Inviato 11 May 2007 - 20:17

Ciao!! Forse ho già scritto da qualche parte ma non importa!!

Ho un char ryuzito!! che sarebbe un pocket ryu che quando lancia l'hadoken appena colpisc l'avversario và in crash il mugen!! Non sò da cosa possa dipendere ve lo posso postare!?
0

#2 L   Nobun 

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

Inviato 12 May 2007 - 11:20

Non nel forum.

Mandamelo via mail a nobun@mugenation.com che ci do un occhio.
(oggetto mail: [Emiliux Mugen] Ryuzito).

Importante l'oggetto mail perché visto che ricevo molta spam, con l'oggetto da me suggerito sono sicuro che la mail non è spam e quindi non rischi che per sbaglio la cancelli.
0

#3 L   EMILIUX 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 820
  • Iscritto: 09-September 06

Inviato 12 May 2007 - 13:32

ryuzito inviato!!:lol:
0

#4 L   Nobun 

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

Inviato 12 May 2007 - 15:21

Allora... pur essendo l'errore in sè una banalità non era affatto banale trovarlo...
Sono dovuto andare a tentativi (non ne ho fatti molti ho avuto un po' di :chiappe: )

Allora... devo dire che se non avessi avuto il char, con il solo codice probabilmente non sarei riuscito a trovare il problema... così invece ho avuto la possibilità di testarlo e andare a tentoni... premetto che ti ho fatto spedire il personaggio perché ho visto che avevi provato (correttamente) a chiedere in forum prima ma senza successo... effettivamente, lo ripeto. avere il char sotto mano era indispensabile...

Il problema stava nell'helper posizionato allo [statedef 1001]. Questo Helper viene creato contemporaneamente al proiettile.

questo è il punto in cui devi fare la modifica (codice originale)

[state 1001, 9]
type = destroyself
trigger1 = parent,numprojID(1003) = 0 && parent,numprojID(1020) = 0
trigger2 = screenpos X > 380 || screenpos X < -60
trigger3 = parent,var(59)=3 && animtime = 0

[state 1001, 10]
type = explod
trigger1 = parent,var(59) != 3
trigger1 = parent,numprojID(1003) = 0 && parent,numprojID(1020) = 0
pos = 0,0
postype = p1
anim = 1002
ignorehitpause = 1
scale = .5,.5
sprpriority = 2


ed il problema si risolve semplicemente invertendo l'ordine delle due istruzioni

[state 1001, 10]
type = explod
trigger1 = parent,var(59) != 3
trigger1 = parent,numprojID(1003) = 0 && parent,numprojID(1020) = 0
pos = 0,0
postype = p1
anim = 1002
ignorehitpause = 1
scale = .5,.5
sprpriority = 2

[state 1001, 9]
type = destroyself
trigger1 = parent,numprojID(1003) = 0 && parent,numprojID(1020) = 0
trigger2 = screenpos X > 380 || screenpos X < -60
trigger3 = parent,var(59)=3 && animtime = 0


Ora per rendere solo esteticamente più ordinato il codice ho cambiato la label da "10" a "8bis" (così la numerazione delle istruzioni rimane in ordine: 1,2,3,4,5,6,7,8,8 bis, 9)

[state 1001, 8 bis]
type = explod
...


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

Questo problema è interessante da analizzare.
A quanto pare, non solo è CONSIGLIABILE mettere l'istruzione DestroySelf di un Helper come ultima istruzione dello state, ma è pure FONDAMENTALE (se non lo si fa, quando l'helper si deve distruggere il Mugen crasha).

Probabilmente il Mugen continua a leggere l'istruzione, ma impazzisce perché all'atto di verificare l'istruzione che si trova dopo il DestroySelf il Mugen si impalla perché non riece a trovare più l'oggetto di riferimento che nel frattempo è stato distrutto... insomma una istruzione che fa riferimento ad un oggetto inesistente e per questo il Mugen va in errore fatale e si chiude... questa è la mia interpretazione del problema, non so se corretta (puro intuito).

Non ho visto se ci sono altri states con problemi simili però questo è risolto ;)
0

#5 L   EMILIUX 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 820
  • Iscritto: 09-September 06

Inviato 12 May 2007 - 20:15

Grosso Nobun!! Allora basta che copi il testo nel cns del char!? Copio quello con il 10 o con l'8 bis!?

Problema risolto!! :wow:

un ultima domanda!! Cos'è il Destroyself!? :unsure:
0

#6 L   Nobun 

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

Inviato 14 May 2007 - 14:32

Il DestroySelf è il comando che viene programmato all'interno di un helper per distruggerlo.

Ad esempio... io creo il mio helper che è uno striker. Creando un helper io creo un oggetto nuovo ed aggiunto (es. uno striker) che è indipendente rispetto al personaggio genitore e quindi mi "ciuccia" memoria.

Quindi quando l'helper ha finito il suo compito (ad es. lo striker esce di scena) l'helper stesso va distrutto in modo da non sprecare inutilmente memoria (non è questo l'unico motivo, ma sto cercando di semplificare).

Ed un helper si distrugge con il comando DestroySelf (= distruggi te stesso)

PS. Nel codice di ryuzuto ci sono un altro po' di errori simili dove il destroyself non è messo come ultima istruzione (quindi devi spostare il destroyself all'ultima posizione nello state con funzione taglia-incolla). Quindi devi trovare pure quelli. Se hai difficoltà entro fine settimana ti mando via PM il cns totalmente riparato.
0

#7 L   EMILIUX 

  • Senpai
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 820
  • Iscritto: 09-September 06

Inviato 15 May 2007 - 16:46

mah!! io apparte l'haduken che crashava non mi dava nessun'altro problema!! :wacko:

cmq, se si ricrasha te lo farò sapere!! :ehhh:
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