Forum MUGENATION: aumentare il range di un hyper - Forum MUGENATION

Salta al contenuto

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

aumentare il range di un hyper

#1 L   demongorne 

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

Inviato 12 July 2008 - 15:09

ho aggiunto delle nuove hyper al mio personaggio ma queste vengono eseguito molto di rado infatti il cpu usa sempre le hyper predefinite vorrei sapere come si fa x aumentare la frequanza delle hyper usate dalla cpu posto qui sotto il changestate di una delle hyper da me aggiunta

[State 0, ChangeState]
type = ChangeState
TriggerAll = roundstate = 2
value = 3010
triggerall = (var(59)=1)&&(statetype= S)&&(ctrl)&&(random=[0,81])
trigger1 = (P2bodydist X>=100)&& (power>=1000)
0

#2 L   Nobun 

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

Inviato 13 July 2008 - 10:54

Normale che non funzioni... il random è settato male (strano che il Mugen non ti abbia segnalato l'errore e non si sia bloccato)...

triggerall = (var(59) = 1) && (statetype = S) && ctrl
triggerall = (random%82) = 0 ;Se vuoi una probabilità su 82 come sarebbe da 0 a 81

di solito però si sfrutta il fatto che random produce un valore tra 0 e 999 (quindi una percentuale in millesimi in pratica)... di solito si fa (random < x) OPPURE (random > x) dove x è il numero scelto (considerando i valori disponibili... da 0 a 999)...

E' poi importante anche la "posizione" della tua aggiunta... il Mugen esegue le istruzioni [statedef -1] nell'ordine in cui sono scritte... è sempre buona regola mettere le Hyper (con probabilità basse) ai primi posti...
0

#3 L   demongorne 

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

Inviato 13 July 2008 - 14:38

Visualizza MessaggiNobun, su Jul 13 2008, 11:54, detto:

Normale che non funzioni... il random è settato male (strano che il Mugen non ti abbia segnalato l'errore e non si sia bloccato)...

triggerall = (var(59) = 1) && (statetype = S) && ctrl
triggerall = (random%82) = 0 ;Se vuoi una probabilità su 82 come sarebbe da 0 a 81

di solito però si sfrutta il fatto che random produce un valore tra 0 e 999 (quindi una percentuale in millesimi in pratica)... di solito si fa (random < x) OPPURE (random > x) dove x è il numero scelto (considerando i valori disponibili... da 0 a 999)...

E' poi importante anche la "posizione" della tua aggiunta... il Mugen esegue le istruzioni [statedef -1] nell'ordine in cui sono scritte... è sempre buona regola mettere le Hyper (con probabilità basse) ai primi posti...


sostituendo quei valori con quelli ke mi suggerito nello statdef -2 mi da messaggio d'errore
0

#4 L   Nobun 

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

Inviato 13 July 2008 - 14:47

strano... che messaggio di errore ti appare?

EDIT: comunque ho visto che anche la tua istruzione era corretta... non avevo visto il segno di uguaglianza, per questo avevo pensato ad un errore nello scrittura del trigger random...
scrivere

random = [0,81]

equivale a scrivere

random < 82

quindi è correttissimo.
0

#5 L   demongorne 

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

Inviato 13 July 2008 - 15:17

Visualizza MessaggiNobun, su Jul 13 2008, 15:47, detto:

strano... che messaggio di errore ti appare?

EDIT: comunque ho visto che anche la tua istruzione era corretta... non avevo visto il segno di uguaglianza, per questo avevo pensato ad un errore nello scrittura del trigger random...
scrivere

random = [0,81]

equivale a scrivere

random < 82

quindi è correttissimo.


ma se voglio aumentare la frequenza con cui il cpu usa l'hyper cosa devo scrivere?
0

#6 L   Nobun 

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

Inviato 13 July 2008 - 17:15

basta aumentare il valore di 82... non esagerare però...
0

#7 L   demongorne 

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

Inviato 13 July 2008 - 17:35

ho messo random = [0,91] ma qual' è il limite massimo x aumentare la frequenza di un hyper?
0

#8 L   Nobun 

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

Inviato 13 July 2008 - 23:23

bhe il limite massimo è random < 1000...

(da 0 a 999 (100% di probabilità espresso in millesimi) )...

Però io consiglio una percentuale non troppo alta, anche perché le Hyper devono essere, secondo me, eseguite non in maniera maniacale...
0

#9 L   SlayerGatsu 

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

Inviato 14 July 2008 - 09:41

si ma in questo caso...

1) il trigger control fa si che questo NON succeda durante le mosse... quando il char ce lo ha la CPU in pratica fa solo mosse... quindi... magari prevstateno=0 aiuta di + di ctrl

2) var(59)=1 -- chi te la setta sta' variabile? perche se non e' attiva non parte l'attacco, quindi dipende anche da quale e' la "percentuale" che la variabile sia attiva...

poi

3) (P2bodydist X>=100)&& (power>=1000)
diaciamo che e' una situazione comune... pero' power > 999 funzionerebbe gia' meglio...

4)
TriggerAll = roundstate = 2
value = 3010
triggerall = (var(59)=1)&&(statetype= S)&&(ctrl)&&(random=[0,81])

son 2 triggerall... ce ne puo' esser solo uno... (ce ne dovrebbe esser)

combinali... anzi...
metti il secondo triggerall come trigger1... che e' cumulativo agli altri trigger...

secondo me il dos mugen si pianta con 2 triggerall... comunque...

per il resto va bene...
se poi proprio non succede, leva tutto e metti trigger1=1 && ctrl
e vedi se la mossa parte sempre...

se non parte allora hai messo qualcosa di strano nella mossa, magari e' una hyper combo o qualcosa del genere...
0

#10 L   demongorne 

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

  Inviato 14 July 2008 - 15:31

io nn ho capito avevo messo trigger1 = (P2bodydist X>=100)&& (power>=1000) x far si ke l'AI eseguisse l'hyper ad 1 power bar o superiore poi un' altra cosa siccome ho creato 2 hyper ke eseguono un uppercut volevo sapere se è giusto scrivere - trigger1 = (P2bodydist X>=100)
o dovrebbe essere un movecontact(ho notato ke con il p2bodydist carica la mossa sempre ad una certa distanza dall'avversario ma senza mai centrarlo)
0

#11 L   Nobun 

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

Inviato 14 July 2008 - 19:47

Andiamo con ordine...

Slay... si possono mettere quanti triggerall si vogliono (così come quanti trigger1 si vogliono, etc).
Però è indispensabile che vi sia sempre almeno un trigger1 altrimenti vi sarà un errore.

Usare (x > 999) oppure (x >= 1000) non cambia nulla, ma la seconda espressione secondo me è migliore proprio perché è più facile fare errori o fare confusione se si scrive la prima (anche se tecnicamente è correttissima).

-----

Demon...

Se la mossa è un Uppercut credo ci si aspetti che il char la esegua quando è VICINO all'avversario, non quando è LONTANO quindi cambierei il trigger

(P2bodydist X<=100)... forse 100 può essere poco (o troppo)... vai un po' ad occhio per individuare il valore giusto
0

#12 L   demongorne 

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

Inviato 14 July 2008 - 21:06

mettendo x<=100 riesce a colpirlo anke se molto di rado
0

#13 L   Nobun 

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

Inviato 14 July 2008 - 22:42

Per questo tipo di mosse ti consiglio di usare il debug mugen.

1) Metti nello statedef -2 questo comando

[State -2, Debug]
type = DisplayToClipboard
text = "p2BodyDist X is %f"
params = p2BodyDist X
trigger1 = 1

2) attiva il Mugen in modalità debug. Tra le scritte ti apparirà anche la scritta "p2BodyDist X is 63.001" o altra distanza... prova ad eseguire la mossa e a vedere a che distanza colpisce bene...

Quasi sicuramente va messo un valore minore di 100 e con il debug vedrai bene qual è la distanza massima da cui si riesce a colpire.

Prova anche a vedere se i clsn boxes sono settati bene (CTRL+C ed appaiono i box).

3) Una volta che hai ottenuto la distanza puoi modificare il comando (consiglio comunque di usare un valore intero) p2BodyDist X < 100 con un valore più indicato.

Alla fine di tutto puoi cancellare lo state -2 di debug (DisplayToClipboard funziona solo in Debug e serve solo nel mentre che devi risolvere un problema preciso. Poi dopo vanno rimossi perché inutili).
0

#14 L   demongorne 

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

Inviato 15 July 2008 - 10:44

aumentando la frequenza del range nella mossa con l'uppercut la mossa funziona adovere quindi la soluzione era appunto di mettere il p2bodydidt<100
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