aumentare il range di un hyper
#1
Inviato 12 July 2008 - 15:09
[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)
#2
Inviato 13 July 2008 - 10:54
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...
#3
Inviato 13 July 2008 - 14:38
Nobun, su Jul 13 2008, 11:54, detto:
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
#4
Inviato 13 July 2008 - 14:47
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.
#5
Inviato 13 July 2008 - 15:17
Nobun, su Jul 13 2008, 15:47, detto:
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?
#7
Inviato 13 July 2008 - 17:35
#8
Inviato 13 July 2008 - 23:23
(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...
#9
Inviato 14 July 2008 - 09:41
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...
#10
Inviato 14 July 2008 - 15:31
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)
#11
Inviato 14 July 2008 - 19:47
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
#13
Inviato 14 July 2008 - 22:42
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).
#14
Inviato 15 July 2008 - 10:44

Aiuto










