Forum MUGENATION: Help caricamento Hyper - Forum MUGENATION

Salta al contenuto

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

Help caricamento Hyper

#21 L   Nobun 

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

Inviato 08 December 2008 - 14:00

Sbagli perché nello [State -2] prevedi dei changestate che portano SIA al caricamento che al colpo diretto. Ma se vuoi che venga eseguito il solo caricamento e, a seguito di questo, venga eseguito il colpo diretto, nello [State -2] devi prevedere solo changestate che portino al 2999.

Infatti tu dallo state -2 decidi il passaggio a 2999, ma sarà nel 2999 che deciderai come passare al 3000.

Se invece prevedi anche changestate a 3000 già nello stesso [State -2] è possibile arrivare allo state 3000 senza passare per il 2999

---

Mi sono spiegato un po' male, spero che tu abbia capito comunque

---

In secondo luogo, (questo non è un errore, ma è un consiglio) secondo me andrebbe abbassato il valore di random. 951 credo sia un valore troppo alto (random arriva al massimo a 999), soprattutto considerando che sono colpi che si attivano quando la power >= 1000 (quindi immagino consumino energia).

#########

Un chiarimento. Quando si parla di AI NON vuol dire PER FORZA che si parli di [StateDef -2].

L'AI è semplicemente una serie di istruzioni che vengono eseguite dal computer quando è lui a giocare. Ma tali istruzioni possono essere tanto negli state negativi (-3, -2, -1) quanto negli state positivi (i "normali" state).

La differenza tra state positivi e negativi riguarda il modo con cui vengono letti.

GLi state positivi vengono letti uno alla volta. In particolare vengono letti SOLO i dati dello state positivo attuale (quello in cui attualmente ti trovi). Ovviamente l'istruzione ChangeState influisce sul valore dello state positivo attuale, cambiandolo. Quindi, con il cambio di state, si abbandona uno state positivo per passare ad altro state positivo.
Avrai quindi accesso SOLO ai dati dell'attuale state positivo.

Gli state negativi invece sono degli state particolari. Questi vengono infatti continuamente valutati ed hanno precedenza rispetto allo state positivo attualmente attivo. Quindi, a prescindere dallo state in cui ti trovi, gli state negativi (-3, -2, -1) vengono continuamente letti e valutati (con due eccezioni che spiego dopo).

Negli state negativi quindi devi scrivere SOLO quelle istruzioni che vanno lette SEMPRE e COMUNQUE, a prescindere dallo state attuale. (ecco perché ad esempio l'Attivazione dell'AI si scrive in uno state negativo... bisogna attivarla in qualunque momento sia possibile).

----

Ordine di lettura degli state.

-----

Ad ogni tick di tempo il mugen rilegge tutti i dati degli state negativi e dello stat positivo attuale. L'ordine di lettura è il seguente

State -3
State -2
State -1
State POSITIVO_ATTUALE (es. State 0)

-----

Eccezioni:

1) Gli Helper NON SONO in grado di vedere le istruzioni degli state negativi. Gli Helper possono vedere SOLO le istruzioni dello Statedef -1, MA SOLO ED ESCLUSIVAMENTE nel caso che, in sede di definizione dell'helper, venga specificato che l'Helper sia in grado di leggere lo state -1 (nel 90% dei casi NON DEVE essere in grado di leggere lo statedef -1, ed infatti, di default, non può).

2) Lo statedef -2 E' L'UNICO statedef che può essere letto dal giocatore quando si trova a leggere un custom state (quando è stato portato dall'avversario a leggere il contenuto dei propri dati).
0

#22 L   demongorne 

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

Inviato 08 December 2008 - 15:35

Quindi x risolvere il problema basta tenere nello state -2 solo il changestate del caricamento(2999) o ho capito male?....ho messo il random a 951 x testare se il caricamento fuzionasse correttamente xkè mi capita ad es. ke in nel 1 round nn lo carica e nel 2 si (il ke è al quanto starno cioè è come se avvolte leggesse lo state 2999 ed altre volte andasse a leggere direttanmente il 3000)....poi volevo kiederti (visto ke ho notato ke nn tutti i programmatori lo usano) se sia necessario avere un changestateAI sia nel cns positivo ke in quelli negativi o se basta specificare il changestate in uno SOLO dei 2 (io ad es. l'ho messo sia nel positivo sia allo state -2)
0

#23 L   Nobun 

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

Inviato 08 December 2008 - 16:52

Dipende da quello che vuoi fare. Nella maggior parte dei casi non ti serve distinguere, quando arrivi al changestate interno di una mossa, specificare tra AI e Human.

Se però il changestate deve avvenire in un momento non conoscibile (come in questo caso un tempo di rilascio variabile tra un massimo di 120 tick ed un evento anticipato deciso dall'AI) secondo me è conveniente programmare tale changestate all'interno della mossa, anziché nello statedef -2.

Per la risposta alla tua domanda... credo di sì, ma potrebbero essere necessarie anche altre modifiche.
0

#24 L   demongorne 

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

Inviato 09 December 2008 - 15:38

Mi è venuto forse nn c'entra niente con il malfunzionameto ma potrbbe dipendere dal fatto ke nel cmd nn ho tolto i comandi dell'AI(xkè potrebbe leggere 2 comandi divers i x la stessa mossa)
0

#25 L   Nobun 

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

Inviato 09 December 2008 - 20:06

Quello è un errore. I comandi AI vanno inseriti una sola volta, O nello state -1 o nello state -2 (io di solito preferisco lo state -1 del CMD ma va benissimo anche lo state -2).

Più che altro perché possono andare in contrasto tra loro (comunque i comandi del -2 dovrebbero prevalere rispetto a quelli del -1)
0

#26 L   demongorne 

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

Inviato 09 December 2008 - 20:22

Visualizza MessaggiNobun, su Dec 9 2008, 20:06, detto:

Quello è un errore. I comandi AI vanno inseriti una sola volta, O nello state -1 o nello state -2 (io di solito preferisco lo state -1 del CMD ma va benissimo anche lo state -2).

Più che altro perché possono andare in contrasto tra loro (comunque i comandi del -2 dovrebbero prevalere rispetto a quelli del -1)


Beh io il cmd dell'AI l'ho messo nei comandi prendendo come esempio i chars di warusaki3 ke hanno l'AI nel cmd.... io cmnq ora ho cancellato tutto quello riguardante l'AI sia i changestate dello state -2 sia l'Ai nel cmd tenendo solo il changestate da te consigliato nel cns dello statedef 2999 ossia

[State 2999, Human]
type = ChangeState
triggerall = var(59) = 0
trigger1 = Command != "hold x"
trigger1 = Command != "hold y"
trigger2 = Time = 120
value = 3000

[State 2999, AI ChangeState]
type = ChangeState
triggerall = var(59) != 0
trigger1 = enemy, movetype = A
trigger2 = enemy, stateno = 20
trigger3 = time = 120
value = 3000

xò nn so se devo aggiungere dei caomandi specifici x l'AI(ho pnsato ke in questo modo debba leggere x forza l'hyper partendo dallo statedef 2999 nn avendo altre opzioni a disposizione)

eh no purtroppo niente da fare l'ho appena testato ma nn va
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