Forum MUGENATION: problema CPU - Forum MUGENATION

Salta al contenuto

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

problema CPU

#1 L   demongorne 

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

  Inviato 27 October 2008 - 15:53

ho inserito il caricamento a un hyper in cui viene lancia0t.o un wall energy ma mi sono accorto ke quando in modalità CPU(cioè quando il char viene manovrato dal computer) avvolte salta l'animazione del caricamento io ho controllato ma mi sembra tutto a posto da cosa può dipendere il malfunzionamento?
0

#2 L   williamwilson 

  • EvilMugen
  • Gruppo: Moderatore
  • Messaggi: 1374
  • Iscritto: 30-September 06

Inviato 27 October 2008 - 16:45

forse dal fatto che scrivi "avvolte" invece di "a volte" :P
0

#3 L   demongorne 

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

Inviato 27 October 2008 - 17:04

ho scritto velocemente quindi nn badate all'ortografia
0

#4 L   Nobun 

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

Inviato 27 October 2008 - 18:46

Semplicemente perché con la AI devi predisporre comandi appositi per una cosa del genere. In poche parole ci devi aggiungere un comando specifico.

Quindi:

Nel comando ChangeState che dal caricamento passa al lancio devi aggiungere, nei trigger, PRIMA di tutti i trigger1, etc, questo trigger

triggerall = var(xx) = 0 ;al posto di xx devi mettere l'indice della var che inizializza la AI... lo state funziona quando la AI NON è attiva (perché vale per il giocatore umano).

Per il PC invece devi ricopiare il changestate, ma usare altri trigger... es:

triggerall = var(xx) = 1
trigger1 = time = 150
trigger2 = enemy, statetype = A ;Se l'avversario comincia un attacco, lancia subito il colpo
trigger3 = enemy, stateno = [0, 20] && p2BodyDist X < ... ; Se l'avversario è in standing, cammina, si gira, etc...
trigger4 = enemy, statetype = H && enemy, movetype != L ;se l'avversario è stato colpito ma non è sdraiato
0

#5 L   demongorne 

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

Inviato 27 October 2008 - 19:07

Visualizza MessaggiNobun, su Oct 27 2008, 19:46, detto:

Semplicemente perché con la AI devi predisporre comandi appositi per una cosa del genere. In poche parole ci devi aggiungere un comando specifico.

Quindi:

Nel comando ChangeState che dal caricamento passa al lancio devi aggiungere, nei trigger, PRIMA di tutti i trigger1, etc, questo trigger

triggerall = var(xx) = 0 ;al posto di xx devi mettere l'indice della var che inizializza la AI... lo state funziona quando la AI NON è attiva (perché vale per il giocatore umano).

Per il PC invece devi ricopiare il changestate, ma usare altri trigger... es:

triggerall = var(xx) = 1
trigger1 = time = 150
trigger2 = enemy, statetype = A ;Se l'avversario comincia un attacco, lancia subito il colpo
trigger3 = enemy, stateno = [0, 20] && p2BodyDist X < ... ; Se l'avversario è in standing, cammina, si gira, etc...
trigger4 = enemy, statetype = H && enemy, movetype != L ;se l'avversario è stato colpito ma non è sdraiato


Ma questi trigger vanno messi nel cmd o nello statedef -2 del cns?
0

#6 L   demongorne 

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

Inviato 27 October 2008 - 20:03

Ma questi trigger vanno messi nel cmd o nello statedef -2 del cns?

Poi nn miè kiara una cosa : ho creato uno statedef 3002 del carficamento ke precedesse lo statedef della mossa vera e propria(3003)
[Statedef 3002]
type = S
ctrl = 0
anim = 2990
velset = 0,0,0

[State 3000, Super A]
type = SuperPause
trigger1 = AnimElem = 2
pos = 8, -57
sound = 20, 0
poweradd = -1000
time = 50
darken = 0
anim = -1

[State 3001, Super]
type = Helper
trigger1 = time = 2
id = 8000
name = "Super"
pos = -4,-69
postype = P1
stateno = ifelse((var(20)=[3,5]),8010,8000)
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
;pausemovetime = 999999
supermovetime = 999999
size.xscale = 1
size.yscale = 1

[State 0, PlaySnd_voice]
type = PlaySnd
trigger1 = time = 1
value = 180,2
;volume = 100
channel = -1

[State 192, 2]
type = ChangeState
trigger1 = Command!= "holdc"
trigger2 = Time = 150
value = 3003
---------------------------------------------------------------------------------------
[StateDef 3003]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 3003
poweradd = 20

[State -3,Super]
type = Helper
trigger1 = AnimElem = 4
id = 7201
name = "haou"
pos = 70,-65
postype = P1
stateno = 7201
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
persistent = 0

[State -3,Super]
type = Helper
trigger1 = AnimElem = 13
id = 7202
name = "haou"
pos = 70,-65
postype = P1
stateno = 7202
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
persistent = 0

[State -3,Super]
type = Helper
trigger1 = AnimElem = 22
id = 7203
name = "haou"
pos = 70,-65
postype = P1
stateno = 7203
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
persistent = 0



[State 0, PlaySnd_voice]
type = PlaySnd
trigger1 = time = 1
value = 3500,1
;volume = 0
channel = -1


[State 3003, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

ma nel changestate de cmd ho messo questo
cmd
;max haoh
[State -1, max haoh]
type = ChangeState
value = 3002
triggerall = var(59) = 0
triggerall = power>= 2000
triggerall = life<=450
triggerall = command! = "max haoh"
trigger1 = (statetype = s) && ctrl

ora il mio dubbio è questo -devo creare un'altro cmd a parte solo x il caricamento o va bene cosi come l'ho scritto (cioè ke inizia a leggere il 3002 e poi subito dopo il 3003 della mossa vera e propria)?
0

#7 L   Nobun 

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

Inviato 27 October 2008 - 22:50

Come sai non ho tempo di spiegare meglio... prova a dare una occhiata al codice di Ranmaru Mori, ed in particolare la mossa "power charge".
Come noterai Ranmaru, usandolo da giocatore, carica la power premendo z+c e tenendo premuti tali tasti. Se i tasti vengono tolti, o il limite energetico raggiunto, il caricamento finisce.
l'AI invece usa un proprio caricamento personalizzato, per cui rimane a caricarsi finché l'avversario non va all'attacco o finché non raggiunge il limite energetico.

Dovrebbe essere lo state 1070 di Ranmaru... la logica è la stessa.
0

#8 L   demongorne 

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

Inviato 28 October 2008 - 10:31

ho scritto questo
nel cns
statedef -2

[State 0, ChangeState]
type = ChangeState
triggerall = Var(59) = 1
TriggerAll = roundstate = 2 ------------(comando x la CPU)
value = 3002
triggerall = (var(59)=1)&&(statetype= S)&&(ctrl)&&(random=[0,251])
trigger1 = (P2bodydist X>=100)&& (power>=2000)

nel cmd

;max haoh
[State -1, max haoh]
type = ChangeState
value = 3002
triggerall = Var(59) = 0
triggerall = power>= 2000 ------- comando unico x il caricamento e x la mossa vera e propria
triggerall = life<=450
triggerall = command! = "max haoh"
trigger1 = (statetype = s) && ctrl

xò nn so se è fatto bene anke xkè tu prima parlavi di un changestate specifico x il caricamento) :unsure:
0

#9 L   SlayerGatsu 

  • Sensei. Squadra dei Falchi
  • PuntoPuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 5545
  • Iscritto: 26-December 04

Inviato 28 October 2008 - 21:00

tu carichi l'energia, o carichi una "kamehameha" per modo di dire... e quindi intendi dire solo che l'animazione del "caricamento", quando le mani da davanti passano dietro ed esce la sfera, non si vede e passa diretto a lanciare la sfera ?

se cosi' e' probabilemnte


[State 192, 2]
type = ChangeState
trigger1 = Command!= "holdc"
trigger2 = Time = 150
value = 3003

la CPU nn tiene premuti i tasti :P
0

#10 L   demongorne 

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

Inviato 28 October 2008 - 21:58

intendo un colpo stile shinkuu hadoken dove la palla di fuoco viene trttenuta alcuni secondi
tra le mani prima diessere lanciata (il mio problema è appunto nell'esecuzione della mossa della cpu ke salta l'anim del caricamento)
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