una domanda sugli stages
#1
Inviato 09 May 2009 - 14:10
mi servirebbe questa funziona per usare quelle versioni di stages che alternano il giorno e la notte.
#2
Inviato 09 May 2009 - 18:41
williamwilson, su May 9 2009, 15:10, detto:
mi servirebbe questa funziona per usare quelle versioni di stages che alternano il giorno e la notte.
Probabilmente è possibile unendo i due stages in uno, programmando lo stage in maniera che nel secondo round le sprite "diurne" vengano sostituite con quelle "notturne".
Il problema è che a parte questo non so cos'altro dirti perchè di programmazione non so nulla >_>
#3
Inviato 09 May 2009 - 23:13
Naturalmente, qualcuno più esperto di me nel settore è liberissimo di contraddirmi :P
Saluti
Squall
#4
Inviato 09 May 2009 - 23:24
Quello che hai detto tu è tutto sbagliato! :rotfl:
No davvero...comunque non penso che su mugenation ci sia qualche esperto sulla programmmazioni di stages,no?
#5
Inviato 10 May 2009 - 08:20
williamwilson, su May 9 2009, 15:10, detto:
avevo uno stage capcom che cambiava scenario dopo un tot di tempo:era un ambiente urbano, il pavimento crollava e si combatteva nelle fogne però tutto nello stesso round
se non è possibile fare quello che dici nel 2# round puoi fare che cambia scenario a metà dello stesso round
#6
Inviato 10 May 2009 - 09:51
Tipo nightmare Broly(mi pare)che quando si trasforma distrugge tutto e viene visualizzato uno scenario apocalittico dietro.
Chiaramente bisogna programmare che avvenga all'inizio del secondo round.
#7
Inviato 10 May 2009 - 10:13
Squall LionHeart™, su May 10 2009, 00:13, detto:
Naturalmente, qualcuno più esperto di me nel settore è liberissimo di contraddirmi :P
Saluti
Squall
Però ci sono alcuni personaggi che hanno mosse che si attivano solo se perdi il primo round quindi credo che ci sia un coding che permetta di far distinguere il primo dal secondo round.
Per farti un esempio (nel caso tu sia interessato a leggere il coding):
Isabeau (Ex-Inferis) --- perso il primo round si attiva una modalità speciale che le ricopre il corpo di piccole esplosioni
Shiki Nanaya (credo la versione di Toma & Raien Makoto) --- perso il primo round (ed entrando in blood heat mode) è possibile attivare una OHKO (One Hit K.O.)
White (Rin&Bat) --- perso il primo round, quando arriva a fine vita, gli si attiva una OHKO.
Non so se questo sia trasferibile a stages, lascio questa affermazione ai programmatori di questo forum ^_^
#8
Inviato 10 May 2009 - 10:38
se vuoi ti spiego come si fa.
ciò che ha detto Verza è verissimo, lo fa anche il cancer di ElRosso quando lancia gli strati di spirito. però, in questo modo, dovresti programmarlo in tutti i chars. io avevo capito che volevi che questa cosa accadesse sempre per qualunque char, quindi sarebbe un lavoro un pò mastodontico (considerato il tuo mega-ultra-stra pieno mugen XD).
Infine, come dice OttomenoPaip, è certamente programmabile una cosa simile nei chars (utilizzando il trigger "Roundno = n"), però vi è lo stesso problema di quanto detto da verza :)
Saluti
Squall
#9
Inviato 10 May 2009 - 15:35
1) Se si è in un gioco completo si può anche "far cambiare lo stage" tra un round e l'altro, ma lo si programma in un char. Ciò è però poco pratico, appesantisce un char abbastanza inutilmente, inoltre non è possibile associare l'effetto solo ad un dato stage perché non esiste un trigger per riconoscere gli stages. Pertanto NON è possibile cambiare gli stages a seconda dei round.
2) Quello che si può fare, invece, è cambiare gli stage a scansioni di tempo predeterminate. Per far questo si devono sfruttare i BgCtrl ed in particolare il controller "enable". Una tecnica del genere è presente nel mio stage di King Lion, ma lì è solo limitato allo sfondo delle nubi che si abilita e si disabilita a seconda se il tuono sia caduto (lo stage diventa scuro) o meno.
Per fare l'effetto che tu vuoi, invece, bisogna prima di tutto programmare stage autonomi - uno per ogni condizione di tempo. Nel far questo bisogna avere la cautela di usare UN SOLO sff per tutti gli stage in questione, NON utilizzare MAI gli stessi numeri di animazione (in caso di layers animati) e avere la cautela di inserire il parametro ID in tutti i layer di tutti gli stages, in questo modo:
stage 1 - tutti i layers: ID = 1
stage 2 - tutti i layers: ID = 2
stage 3 - tutti i layers: ID = 3
dopo aver fatto i tuoi tre stages provvisori (aver posizionato tutti i layer, controllato che non ci siano "buchi", controllato che siano esattamente uguali tra di loro come dimensioni) ora li possiamo unire per fare un unico stage.
Se hai avuto l'accortezza di usare un SFF unico per tutti gli stages provvisori (contenente quindi tutte le immagini dello stage definitivo) ti dovrai preoccupare solo dell'aspetto def ed utilizzare l'SFF che hai costruito.
Per quanto riguarda il def, basta fare una copia del def dello stage 1. A questo aggiungere i layers (copia-incolla) dello stage 2 e dello stage 3.
A questo punto inserire i BgCtrl.
Devi ricordarti, che ad ogni ciclo devi abilitare-disabilitare tutte le serie di layers nella maniera corretta.
Ciclo 1 (inizio): abilita i layer ID 1, disabilita i layer ID 2 e ID 3 (totale: 3 comandi BgCtrl)
Ciclo 2 (intermedio): abilita i layer ID 2, disabilita i layer ID 1 e ID 3 (totale: 3 comandi BgCtrl)
Ciclo 3 (fine): abilita i layer ID 3, disabilita i layer ID 1 e ID 2 (totale: 3 comandi BgCtrl)
(totale comandi BgCtrl presenti nello stage: 9)
Guarda bene come funzionano i BgCtrl dando una occhiata al tutorial "bgs" nella cartella "docs" del Mugen.
In linea di massima devi prefigurarti quando dura ogni ciclo (1 tick = 1/60 di secondo).
Quindi, se ad esempio vuoi che - considerando una serie di 3 cicli - ogni ciclo duri 1 minuto (60 secondi) saprai che ogni singolo ciclo deve durare 3600 ticks
e il tempo totale del loop dei cicli sarà 3600 * 3 = 10800 ticks
Quindi:
nel BgCtrlDef dovrai stabilire un periodo di time pari a 10800
nei singoli BgCtrl (in TUTTI e 9) devi considerare un periodo di durata pari a 3600 e devi considerare quando partono
(i 3 BgCtrl per abilitare i layer Id 1 -> partono da 0)
(i 3 BgCtrl per abilitare i layer Id 2 -> partono da 3600)
(i 3 BgCtrl per abilitare i layer Id 3 -> partono da 7200)
#10
Inviato 10 May 2009 - 21:36
Nobun, su May 10 2009, 16:35, detto:
1) Se si è in un gioco completo si può anche "far cambiare lo stage" tra un round e l'altro, ma lo si programma in un char. Ciò è però poco pratico, appesantisce un char abbastanza inutilmente, inoltre non è possibile associare l'effetto solo ad un dato stage perché non esiste un trigger per riconoscere gli stages. Pertanto NON è possibile cambiare gli stages a seconda dei round.
2) Quello che si può fare, invece, è cambiare gli stage a scansioni di tempo predeterminate. Per far questo si devono sfruttare i BgCtrl ed in particolare il controller "enable". Una tecnica del genere è presente nel mio stage di King Lion, ma lì è solo limitato allo sfondo delle nubi che si abilita e si disabilita a seconda se il tuono sia caduto (lo stage diventa scuro) o meno.
Per fare l'effetto che tu vuoi, invece, bisogna prima di tutto programmare stage autonomi - uno per ogni condizione di tempo. Nel far questo bisogna avere la cautela di usare UN SOLO sff per tutti gli stage in questione, NON utilizzare MAI gli stessi numeri di animazione (in caso di layers animati) e avere la cautela di inserire il parametro ID in tutti i layer di tutti gli stages, in questo modo:
stage 1 - tutti i layers: ID = 1
stage 2 - tutti i layers: ID = 2
stage 3 - tutti i layers: ID = 3
dopo aver fatto i tuoi tre stages provvisori (aver posizionato tutti i layer, controllato che non ci siano "buchi", controllato che siano esattamente uguali tra di loro come dimensioni) ora li possiamo unire per fare un unico stage.
Se hai avuto l'accortezza di usare un SFF unico per tutti gli stages provvisori (contenente quindi tutte le immagini dello stage definitivo) ti dovrai preoccupare solo dell'aspetto def ed utilizzare l'SFF che hai costruito.
Per quanto riguarda il def, basta fare una copia del def dello stage 1. A questo aggiungere i layers (copia-incolla) dello stage 2 e dello stage 3.
A questo punto inserire i BgCtrl.
Devi ricordarti, che ad ogni ciclo devi abilitare-disabilitare tutte le serie di layers nella maniera corretta.
Ciclo 1 (inizio): abilita i layer ID 1, disabilita i layer ID 2 e ID 3 (totale: 3 comandi BgCtrl)
Ciclo 2 (intermedio): abilita i layer ID 2, disabilita i layer ID 1 e ID 3 (totale: 3 comandi BgCtrl)
Ciclo 3 (fine): abilita i layer ID 3, disabilita i layer ID 1 e ID 2 (totale: 3 comandi BgCtrl)
(totale comandi BgCtrl presenti nello stage: 9)
Guarda bene come funzionano i BgCtrl dando una occhiata al tutorial "bgs" nella cartella "docs" del Mugen.
In linea di massima devi prefigurarti quando dura ogni ciclo (1 tick = 1/60 di secondo).
Quindi, se ad esempio vuoi che - considerando una serie di 3 cicli - ogni ciclo duri 1 minuto (60 secondi) saprai che ogni singolo ciclo deve durare 3600 ticks
e il tempo totale del loop dei cicli sarà 3600 * 3 = 10800 ticks
Quindi:
nel BgCtrlDef dovrai stabilire un periodo di time pari a 10800
nei singoli BgCtrl (in TUTTI e 9) devi considerare un periodo di durata pari a 3600 e devi considerare quando partono
(i 3 BgCtrl per abilitare i layer Id 1 -> partono da 0)
(i 3 BgCtrl per abilitare i layer Id 2 -> partono da 3600)
(i 3 BgCtrl per abilitare i layer Id 3 -> partono da 7200)
quindi se non ho capito male, gli stages possono cambiare solo impostando un parametro temporale.
assemblando uno stages che ne contiene 3, e impostando il parametro a 60 secondi e
fissando il tempo per ogni round a 60 secondi quindi, otterei l'effetto che voglio, non male...
ma se finisco un round in 10 secondi....
non ottengo niente :( -_-
#11
Inviato 11 May 2009 - 01:46
Se hai avuto cura di mettere il parametro resetbg = 0 (quindi non resettare le animazioni dello stage) succede che, rimanendo nell'esempio da me fatto, che il passaggio al "secondo stage" avviene, nel secondo round, non più dopo 60 secondi ma dopo 50... (in realtà meno di 50 ora spiego perché).
Questo perché lo stage ha un proprio timing indipendente che (se resetbg = 0) continua il suo corso imperterrito fino a che non viene caricato un altro stage.
Se ad esempio giochi al meglio dei 7 round (vinci con 4 round vinti) ed ogni round lo termini in 30 secondi capiterà che verso la fine del secondo round vedrai cambiare lo stage perché sono passati i 60 secondi (30+30).
Devi considerare inoltre tutti quei secondi che vengono "rubati" dalla intro e dalle scritte "round - fight". In quei momenti tu non stai combattendo, ma lo stage è già in funzione e conseguentemente anche i suoi timing.
Ovviamente il mio è un esempio di massima, poi si possono ricalibrare le linee di codice a seconda delle necessità (es. anziché aspettare un minuto tra un passaggio e l'altro, aspettare 30 secondi).
PS: stanotte non prendevo sonno :lol:

Aiuto









