Forum MUGENATION: Una domanda - Forum MUGENATION

Salta al contenuto

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

Una domanda

#1 L   demongorne 

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

  Inviato 14 January 2008 - 17:16

vorrei sapere come fare x far comparire le sprites del fulmine del dragon punch solo x l'hard punch
0

#2 L   Xebalon 

  • Chan
  • Punto
  • Gruppo: Membro
  • Messaggi: 87
  • Iscritto: 11-December 07

Inviato 14 January 2008 - 18:23

dipende dal file CNS credo. devi programmare in modo che appaia solo nel punch che vuoi tu.
come l'hai programmato? un explod? se trovi la programmazione degli sprites dei fulmini in tutti i punch, toglili e lasciali solo nell'hard punch al contrario se non c'è da nessuna parte la programmazione dei fulmini, aggiungila solo negli state controller dell'hard punch.
mi sembrava avessi detot che eri riuscito a metterli no?
0

#3 L   demongorne 

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

Inviato 14 January 2008 - 18:35

Si infatti ci sono riuscito solo ke cosi applica l'explod a tutti e 3 i pugni
il problema è ke nn riesco atrovare gli statedef del medium e dell'hard punch perkè il debug segna gli come action ID gli state 1110 e 1120 ma nel cns nn ci sono state con questi valori
0

#4 L   Nobun 

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

Inviato 14 January 2008 - 20:47

Il debug indica sia il numero di animazione che il numero di state. Devi guardare sul numero di state, ovviamente, per sapere gli statedef interessati.
0

#5 L   demongorne 

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

Inviato 14 January 2008 - 21:17

Visualizza MessaggiNobun, su Jan 14 2008, 20:47, detto:

Il debug indica sia il numero di animazione che il numero di state. Devi guardare sul numero di state, ovviamente, per sapere gli statedef interessati.

Ah giusto è lo state 1100 ma è quello a cui avevo già aggiunto l'explod cioè c'è solo quello state riferito al dragon punch
0

#6 L   demongorne 

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

Inviato 15 January 2008 - 11:11

questo è lo statedef del dragon punch cosa devo modificare?

[Statedef 1100]
type = S
movetype = A
physics = S
juggle = 8
ctrl = 0
poweradd= 70*(1000+var(24))/1000*ifelse((var(15)||var(16)),0,1)
velset = 0,0

[State 1016: fulmini]
type = explod
trigger1 = time =0
postype = P1
pos = 0,0
bindtime = 22
anim = 1016
sprpriority = 3
ID = 1017
removeongethit = 1

[State 3001, Width]
type = Width
trigger1 = 1
edge = 1,0

[State 1100, VarSet]
type = VarSet
triggerall = !var(59)
trigger1 = Time = 0
var(5) = ifelse(Command = "kohou1", 0, ifelse(Command = "kohou2", 1, 2))

[State 1000, VarSet]
type = VarSet
triggerall = var(59)
trigger1 = Time = 0
var(5) = ifelse(enemynear,movetype=A||numtarget,2,random%2)

[State 902, 1]
type = ChangeAnim
Trigger1 = Time = 0
value = ifelse(!var(5), 1100, ifelse(var(5) = 1, 1110, 1120))

[State 105, 1]
type = statetypeset
trigger1 = AnimElem = 6
movetype = I

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 170, 1]
type = NotHitBy
trigger1 = time = 0
value = SCA
time = ifelse(var(5),7,5)

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1100,0
channel = 0

[State 1100, Effect]
type = PlaySnd
trigger1 = AnimElem = 4
value = 3,2
channel = 2

[State 52, Effect]
type = PlaySnd
trigger1 = AnimElem = 4
value = 40, 0
channel = 20

[State 1100, StateType]
type = StateTypeSet
trigger1 = AnimElem = 4
StateType = A
physics = N

[State 1100, Velocity]
type = VelSet
trigger1 = AnimElem = 4
x = (2+var(5))*.5
y = ifelse(!var(5), -6, ifelse(var(5) = 1, -8, -10))

[State 1100, Gravity]
type = Veladd
trigger1 = AnimElemTime(4) > 0
y = .6

[State 1100, Velocity]
type = VelMul
trigger1 = AnimElemTime(4) >= 0
x = .98
persistent = 1

[State 3001, Super]
type = Helper
trigger1 = AnimElem = 4
id = 8020
name = "jump Effect"
pos =0,0
postype = P1
stateno = 8020
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1

[State 1100, HitDef]
type = HitDef
trigger1 = AnimElem = 3
attr = S, SA
animtype = Heavy
air.animtype = Back
damage=ceil(ifelse(((105+(var(5)*7))*fvar(10))<7,7,((105+(var(5)*7))*fvar(10)))),ceil(ifelse(((105+(var(5)*7))*fvar(10)/ 8)<7,7,((105+(var(5)*7))*fvar(10)/8)))
priority = 7, Hit
hitflag = MAF
guardflag = MA
pausetime = ceil(13*(2-(var(16)>0))/2),ceil(14*(2-(var(16)>0))/2)
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -57
hitsound = S2,2
guardsound = S1,0
ground.type = Low
ground.slidetime = 20
ground.hittime = 20
guard.ctrltime = 20
ground.velocity = -2.5,-11
guard.velocity = -8
air.velocity = -2.5,-11
airguard.velocity = -6.67,-1
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -11.2
air.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
envshake.time = 15
envshake.ampl = 5
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5
persistent = 0
getpower = ifelse(var(17),70,143)*(1000+var(24))/1000*ifelse((var(15)||var(16)),0,1),35*(1000+var(24))/1000*ifelse((var(15)||var(16)), 0,1)
givepower = 35, 35
Palfx.time = 50
Palfx.add = -90,-90,-90
Palfx.sinadd = 90,90,90, 3
Palfx.color = 0
Palfx.invertall = 1
forcestand = 1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0

[State 1100, HitDef]
type = HitDef
trigger1 = AnimElem = 1
attr = A, SA
animtype = Heavy
air.animtype = Back
damage=ceil(ifelse(((70+(var(5)*7))*fvar(10))<7,7,((70+(var(5)*7))*fvar(10)))),ceil(ifelse(((70+(var(5)*7))*fvar(10)/ 8)<7,7,((70+(var(5)*7))*fvar(10)/8)))
priority = 7, Hit
hitflag = MAF
guardflag = MA
pausetime = ceil(13*(2-(var(16)>0))/2),ceil(14*(2-(var(16)>0))/2)
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = -10, -78
hitsound = S2,2
guardsound = S1,0
ground.type = Low
ground.slidetime = 20
ground.hittime = 20
guard.ctrltime = 20
ground.velocity = -2.5,-11
guard.velocity = -8
air.velocity = -2.5,-11
airguard.velocity = -6.67,-1
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = -11.2
air.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
envshake.time = 15
envshake.ampl = 5
fall = 1
fall.recover = 0
air.fall = 1
air.recover = 0
yaccel = .5
persistent = 0
getpower = ifelse(var(17),70,143)*(1000+var(24))/1000*ifelse((var(15)||var(16)),0,1),35*(1000+var(24))/1000*ifelse((var(15)||var(16)), 0,1)
givepower = 35, 35
Palfx.time = 50
Palfx.add = -90,-90,-90
Palfx.sinadd = 90,90,90, 3
Palfx.color = 0
Palfx.invertall = 1
forcestand = 1
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0

[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
var(38) = -10

[State 3001, VarSet]
type = VarSet
trigger1 = AnimElem = 3
ignorehitpause = 1
var(39) = -57

[State 3001, VarSet]
type = VarSet
trigger1 = AnimElem = 4
ignorehitpause = 1
var(39) = -78

[State 1100, ChangeState]
type = ChangeState
triggerall = Pos Y >= 0 && Vel Y > 0
trigger1 = AnimElemTime(4) >= 2
value = 1105;
0

#7 L   Nobun 

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

Inviato 15 January 2008 - 20:59

Come ho detto privatamente non posso analizzare un codice così elaborato. Non ne ho il tempo.
Come vi sarete accorti io ultimamente dò SOLO ED ESCLUSIVAMENTE risposte fulminee e sarà sempre così. Questo è il massimo che posso fare (e non so ancora per quanto. Ringrazio ancora Menjoso e Rock che ormai fanno egregiamente ciò che io non riesco più a fare).

In ogni caso credo sia abbastanza cervellotico mettersi ad analizzare un codice del genere. Meglio rifarsi daccapo la mossa (magari con qualche effetto in meno e in maniera più semplice).
0

#8 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 15 January 2008 - 21:02

Bravo Nobun, ottimo il consiglio. Dico per esperienza che i codici ve li dovete fare voi! Se no danno un casino di problemi spesso e volentieri.. Prima cosa, non avendoli creati, non potete capirli bene. Secondo, se te li crei li puoi maneggiare e personalizzare meglio. Terzo, si impara 25 volte di piu creandosi il codice da zero.

Ormai posso aiutare anche un pochino con il cns, quindi se un giorno non potrai piu rispondere, lo farò io. Mi dispiace del fatto che se ho un problema complicato non te lo posso esporre, proprio ora mi servivi :P
0

#9 L   demongorne 

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

Inviato 16 January 2008 - 17:49

Ho provato ad sostiture gli helper dello state 3000 con gli hitdef dello state 3000 di kung fu man ma mi lancia sempre una sola volta il wall energy :unsure:
0

#10 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 16 January 2008 - 17:54

Beh mica è così semplice.. a volte basta aumentare il tempo del changestate e aspetta che l'animazione si ripeta. Se sei fortunato e il projectile ha un Trigger1 = Animelem allora te lo rilancia pure, usando sto metodo.. Ovviamente dopo vanno risincronizzati i tempi degli states, poi dipende però..
0

#11 L   Xebalon 

  • Chan
  • Punto
  • Gruppo: Membro
  • Messaggi: 87
  • Iscritto: 11-December 07

Inviato 16 January 2008 - 18:55

wow, menjoso, ormai stai diventando un esperto! bravo!
:ehhh:
0

#12 L   demongorne 

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

Inviato 16 January 2008 - 19:25

Visualizza Messaggidemongorne, su Jan 16 2008, 17:49, detto:

Ho provato ad sostiture gli helper dello state 3000 con gli hitdef dello state 3000 di kung fu man ma mi lancia sempre una sola volta il wall energy :unsure:


Mettendo il trigger animetime maggiore di 0 nel chane state dell'hyper mi ripete l'azione di lanciare la palla di fuoco all'infinito ma senza colpire l'avversario :unsure:
0

#13 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 16 January 2008 - 19:37

Colpa dell'hitdef.. controlla che i trigger siano esatti..

Quote

wow, menjoso, ormai stai diventando un esperto! bravo!

:rulez:
0

#14 L   demongorne 

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

Inviato 16 January 2008 - 20:04

Mi da sempre lo stesso problema...questo è lo statedef x intero

[Statedef 3000]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0,0

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1100, VarSet]
type = VarSet
triggerall = !var(59)
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
trigger1 = Time = 0
var(5) = ifelse((Command = "haou2" && Power >= 2000) || (Command = "haou3" && (Power >= 2000 && Power < 3000)), 1, ifelse(Command = "haou3" && Power >= 3000, 2, 0))

[State 1100, VarSet]
type = VarSet
triggerall = var(59)
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
triggerall = !var(17)
trigger1 = Time = 0
var(5) = ifelse(power>=2000&&P2movetype=A, floor(power*.001)-1, random%(1+(power>=2000)))

[State 1100, VarSet]
type = VarSet
triggerall = var(59)
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
triggerall = var(17)
trigger1 = Time = 0
var(5) = ifelse((floor(power*.001)-(P2life<120)-(P2life<240)-1)<0,0,floor(power*.001)-(P2life<120)- (P2life<240)-1)

[State 1100, VarSet]
type = VarSet
triggerall = !var(15) && !var(16)
triggerall = var(20) = 1 || (var(20) = 3 && (100*life/const(data.life))>30) || (var(20) = 3 && (100*life/const(data.life))<=30 && !var(14)) || var(20) = 4
trigger1 = Time = 0
var(5) = 0

[State 1100, VarSet]
type = VarSet
triggerall = !var(15) && !var(16)
triggerall = var(20) = 2 || (var(20) = 3 && (100*life/const(data.life))<=30 && var(14)) || var(20) = 5
trigger1 = Time = 0
var(5) = 2

[State 1100, VarSet]
type = VarSet
triggerall = var(15)
trigger1 = Time = 0
var(5) = 2

[State 1100, VarSet]
type = VarSet
triggerall = var(16)
trigger1 = Time = 0
var(5) = 0

[State 902, 1]
type = ChangeAnim
Trigger1 = Time = 0
value = ifelse(!var(5), 3000, ifelse(var(5) = 1, 3010, 3020))

[State 170, 1]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = ifelse(!var(5), 53, ifelse(var(5) = 1, 59, 64))

[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 4
time = 50+(var(5)*2)
movetime = 50+(var(5)*2)
anim = -1
sound = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = 0
unhittable = 0

[State 3000, VarSet]
type = VarSet
triggerall = Time = 4
trigger1 = enemynear,stateno != [120,155]
trigger2 = enemynear,authorname = "warusaki3" && enemynear,fvar(39) = 1 && ((enemynear,stateno != [120,155]) && (enemynear,stateno != [4100,4120]))
trigger3 = enemynear,authorname = "mouser" && enemynear,name = "Hibiki Takane" && ((enemynear,stateno != [120,155]) && (enemynear,stateno != [4100,4120]))
fvar(36) = 50+(var(5)*2)

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
trigger1 = time = 0
value = ifelse(!var(5), -1000, ifelse(var(5) = 1, -2000, -3000))

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = var(20) = 4
trigger1 = time = 0
value = -1000

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = var(20) = 1
trigger1 = time = 0
value = -1500

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = var(20) = 2 || (var(20) = 3 && (100*life/const(data.life))>30) || (var(20) = 3 && (100*life/const(data.life))<=30 && var(14)) || var(20) = 5
trigger1 = time = 0
value = -3000

[State 860, 4]
type = PowerAdd
triggerall = var(16)
trigger1 = time = 0
value = -3000

[State 860, 4]
type = PowerAdd
triggerall = var(15)
trigger1 = time = 0
value = -1000

[State 860, 5]
type = Varset
trigger1 = time = 0
fvar(13) = 0

[State 860, 5]
type = Varset
trigger1 = time = 0
var(14) = 0

[State 860, 5]
type = Varset
trigger1 = time = 0
var(15) = 0

[State 860, 5]
type = Varset
trigger1 = time = 0
var(16) = 0

[State 3000, AfterImage]
type = AfterImage
triggerall = !var(18) && prevstateno != [3000,3999]
trigger1 = time = 4
time = 999
TimeGap = 3
FrameGap = 4
length = 10
PalBright = 1,1,1
PalContrast = ifelse(!var(5), 128, ifelse(var(5) = 1, 50, 150)),ifelse(!var(5), 128, ifelse(var(5) = 1, 50, 50)),ifelse(!var(5), 128, ifelse(var(5) = 1, 150, 50))
PalAdd = 0,0,0
PalMul = .5,.5,.5
trans = add1

[State 3001, Super]
type = Helper
trigger1 = Time = 2
id = 8000
name = "Super"
pos = 0,-75
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 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 1
value = 3000,0
channel = 0

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 19
value = 3000,1
channel = 0

[State 1000, Effect]
type = PlaySnd
trigger1 = AnimElem = 19
value = 3000, 2

[State 3000, 5]
type = HitDef
trigger1 = AnimElem = 5
trigger2 = AnimElem = 13
attr = S, HA
animtype = Hard
damage = 72,4
getpower = 0
priority = 6
guardflag = MA
pausetime = 15,15
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 30
ground.hittime = 30
ground.velocity = -6
air.velocity = -3,-2.8
air.fall = 1
fall.animtype = Hard
fall.recover = 0

[State 3000, 6]
type = HitDef
trigger1 = AnimElem = 21
attr = S, HA
animtype = Hard
damage = 75,4
getpower = 0
priority = 5
guardflag = MA
pausetime = 15,15
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 30
ground.hittime = 30
ground.velocity = -5, -4
guard.velocity = -12
air.velocity = -5,-4
airguard.velocity = -3,-3
fall.animtype = Hard
fall = 1
fall.recover = 0


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

#15 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 16 January 2008 - 20:37

Ci sarebbe un modo veloce e facile per ripetere la mossa, ma un po sporco..

Copia 3 volte lo statedef ma con numero di state diverso. Ora non devi fare altro che cambiare i valori dei changestate e loro porteranno all'attacco successivo, uguale insomma. Poi ricorda di mettere l'ultimo changestate che riporta allo standing.

:rulez:
0

#16 L   Nobun 

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

Inviato 16 January 2008 - 20:46

Visualizza Messaggidemongorne, su Jan 16 2008, 21:25, detto:

Mettendo il trigger animetime maggiore di 0 nel chane state dell'hyper mi ripete l'azione di lanciare la palla di fuoco all'infinito ma senza colpire l'avversario :unsure:


Per forza... animtime NON PUò MAI ASSUMERE valore maggiore di 0. anitime ritorna sempre un valore negativo (il tempo rimanente alla fine della animazione) oppure 0 (l'animazione è finita).

Per sincronizzare gli eventi su temporizzazione, io consiglio di usare il trigger time e non il trigger animtime.

Tra l'altro con un trucchetto semplice si può calcolare in maniera pressoché esatta che valore dare al trigger time

Se ad esempio ho una animazione tipo

[Begin Action 600]
600,1, 0,0, 3
600,2, 0,0, 3
600,3, 0,0, 3
600,4, 0,0, 4
600,5, 0,0, -1


io non posso usare il trigger animtime (l'animazione è infinita terminando con l'ultimo frame a -1).
Se voglio far sì che un evento capiti fin da subito metto

triggerX = time = 0

Se voglio far sì che un evento capiti appena arrivato ad un frame specifico basta sommare i valori di tempo dei frame precedenti. Quindi, se voglio che un dato evento capiti appena si mostra il quinto ed ultimo frame il trigger sarà

triggerX = time = 10

(10 = 3+3+3+4)

... quindi il mio consiglio è abituarsi ad usare anche il trigger time, che tra l'altro permette una grande padronanza delle sincronizzazioni basate sul tempo di uno state.

-----

Per mejo... tu comunque prova a chiedere... magari, anche se non posso dedicare parecchio tempo, forse riesco a darti almeno qualche dritta

-----

Per demongorne... la risposta è sempre quella che ti ho detto prima, mi spiace :azz:

EDIT: la soluzione di menjo sarà anche un po' "arrangiata" ma, se ci si accontenta, può essere un metodo semplice per realizzare l'effetto.
0

#17 L   demongorne 

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

  Inviato 16 January 2008 - 21:16

Visualizza Messaggidemongorne, su Jan 16 2008, 20:04, detto:

Mi da sempre lo stesso problema...questo è lo statedef x intero

[Statedef 3000]
type = S
movetype = A
physics = S
ctrl = 0
velset = 0,0

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0

[State 1100, VarSet]
type = VarSet
triggerall = !var(59)
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
trigger1 = Time = 0
var(5) = ifelse((Command = "haou2" && Power >= 2000) || (Command = "haou3" && (Power >= 2000 && Power < 3000)), 1, ifelse(Command = "haou3" && Power >= 3000, 2, 0))

[State 1100, VarSet]
type = VarSet
triggerall = var(59)
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
triggerall = !var(17)
trigger1 = Time = 0
var(5) = ifelse(power>=2000&&P2movetype=A, floor(power*.001)-1, random%(1+(power>=2000)))

[State 1100, VarSet]
type = VarSet
triggerall = var(59)
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
triggerall = var(17)
trigger1 = Time = 0
var(5) = ifelse((floor(power*.001)-(P2life<120)-(P2life<240)-1)<0,0,floor(power*.001)-(P2life<120)- (P2life<240)-1)

[State 1100, VarSet]
type = VarSet
triggerall = !var(15) && !var(16)
triggerall = var(20) = 1 || (var(20) = 3 && (100*life/const(data.life))>30) || (var(20) = 3 && (100*life/const(data.life))<=30 && !var(14)) || var(20) = 4
trigger1 = Time = 0
var(5) = 0

[State 1100, VarSet]
type = VarSet
triggerall = !var(15) && !var(16)
triggerall = var(20) = 2 || (var(20) = 3 && (100*life/const(data.life))<=30 && var(14)) || var(20) = 5
trigger1 = Time = 0
var(5) = 2

[State 1100, VarSet]
type = VarSet
triggerall = var(15)
trigger1 = Time = 0
var(5) = 2

[State 1100, VarSet]
type = VarSet
triggerall = var(16)
trigger1 = Time = 0
var(5) = 0

[State 902, 1]
type = ChangeAnim
Trigger1 = Time = 0
value = ifelse(!var(5), 3000, ifelse(var(5) = 1, 3010, 3020))

[State 170, 1]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = ifelse(!var(5), 53, ifelse(var(5) = 1, 59, 64))

[State 3000, Superpause]
type = SuperPause
trigger1 = Time = 4
time = 50+(var(5)*2)
movetime = 50+(var(5)*2)
anim = -1
sound = -1
pos = 0,0
darken = 0
p2defmul = 1
poweradd = 0
unhittable = 0

[State 3000, VarSet]
type = VarSet
triggerall = Time = 4
trigger1 = enemynear,stateno != [120,155]
trigger2 = enemynear,authorname = "warusaki3" && enemynear,fvar(39) = 1 && ((enemynear,stateno != [120,155]) && (enemynear,stateno != [4100,4120]))
trigger3 = enemynear,authorname = "mouser" && enemynear,name = "Hibiki Takane" && ((enemynear,stateno != [120,155]) && (enemynear,stateno != [4100,4120]))
fvar(36) = 50+(var(5)*2)

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = !var(20) || var(20) = 6
trigger1 = time = 0
value = ifelse(!var(5), -1000, ifelse(var(5) = 1, -2000, -3000))

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = var(20) = 4
trigger1 = time = 0
value = -1000

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = var(20) = 1
trigger1 = time = 0
value = -1500

[State 860, 4]
type = PowerAdd
triggerall = !var(15) && !var(16)
triggerall = var(20) = 2 || (var(20) = 3 && (100*life/const(data.life))>30) || (var(20) = 3 && (100*life/const(data.life))<=30 && var(14)) || var(20) = 5
trigger1 = time = 0
value = -3000

[State 860, 4]
type = PowerAdd
triggerall = var(16)
trigger1 = time = 0
value = -3000

[State 860, 4]
type = PowerAdd
triggerall = var(15)
trigger1 = time = 0
value = -1000

[State 860, 5]
type = Varset
trigger1 = time = 0
fvar(13) = 0

[State 860, 5]
type = Varset
trigger1 = time = 0
var(14) = 0

[State 860, 5]
type = Varset
trigger1 = time = 0
var(15) = 0

[State 860, 5]
type = Varset
trigger1 = time = 0
var(16) = 0

[State 3000, AfterImage]
type = AfterImage
triggerall = !var(18) && prevstateno != [3000,3999]
trigger1 = time = 4
time = 999
TimeGap = 3
FrameGap = 4
length = 10
PalBright = 1,1,1
PalContrast = ifelse(!var(5), 128, ifelse(var(5) = 1, 50, 150)),ifelse(!var(5), 128, ifelse(var(5) = 1, 50, 50)),ifelse(!var(5), 128, ifelse(var(5) = 1, 150, 50))
PalAdd = 0,0,0
PalMul = .5,.5,.5
trans = add1

[State 3001, Super]
type = Helper
trigger1 = Time = 2
id = 8000
name = "Super"
pos = 0,-75
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 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 1
value = 3000,0
channel = 0

[State 1100, Voice]
type = PlaySnd
trigger1 = AnimElem = 19
value = 3000,1
channel = 0

[State 1000, Effect]
type = PlaySnd
trigger1 = AnimElem = 19
value = 3000, 2

[State 3000, 5]
type = HitDef
trigger1 = AnimElem = 5
trigger2 = AnimElem = 13
attr = S, HA
animtype = Hard
damage = 72,4
getpower = 0
priority = 6
guardflag = MA
pausetime = 15,15
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 30
ground.hittime = 30
ground.velocity = -6
air.velocity = -3,-2.8
air.fall = 1
fall.animtype = Hard
fall.recover = 0

[State 3000, 6]
type = HitDef
trigger1 = AnimElem = 21
attr = S, HA
animtype = Hard
damage = 75,4
getpower = 0
priority = 5
guardflag = MA
pausetime = 15,15
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = Low
ground.slidetime = 30
ground.hittime = 30
ground.velocity = -5, -4
guard.velocity = -12
air.velocity = -5,-4
airguard.velocity = -3,-3
fall.animtype = Hard
fall = 1
fall.recover = 0
[State 1000, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



in questo funziona ma se voglio regolare meglio il tempo e la velocita come posso fare?
0

#18 L   Nobun 

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

Inviato 18 January 2008 - 22:02

Si bilanciano meglio le durate dei frames dell'animazione e si ricalibra la programmazione bilanciando bene i trigger time.

Comunque demongorne... posso permettermi un suggerimento, visto che ti vedo parecchio interessato a programmare sul serio?

Prova a programmarti da solo un personaggio. Concentrati a studiare i tutorials del Mugen.

AIR

air.txt -> Struttura file AIR ed elenco delle enumerazioni consigliabili per gli states/animazioni

CNS

cns.htm -> Struttura CNS e spiegazione dei parametri dell'intestazione StateDef
sctls.htm -> I singoli comandi CNS disponibili. Tradotto anche in Italiano qui nella sezione Tutorial del forum
trigger.htm -> Cosa valutano i trigger (le condizioni di verià)

e quando sarai abbastanza esperto...

exp.htm -> tutorial sulle espressioni complesse

--------

Io tutto quello che so (o quasi) l'ho imparato qui.

Il concetto complesso di Custom States (in parte te l'ho spiegato in un'altra risposta che ti ho dato oggi) viene anche meglio spiegato e contestualizzato nel mio tutorial sulla realizzazione delle prese.
0

#19 L   demongorne 

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

  Inviato 18 January 2008 - 22:51

Proverò a seguire i tuo consiglio...Quale sarebbe il custom state?
0

#20 L   Nobun 

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

Inviato 18 January 2008 - 23:27

Si chiamano "Custom States" gli state che sono destinati ad essere letti dal char avversario (come ad es. lo state di "presa subita").

Il nome "Custom States" è utilizzato nella documentazione ufficiale Elecbyte. Darne una traduzione rischierebbe di essere fuorviante. Meglio capire il concetto ed il funzionamento.
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