Una domanda
#1
Inviato 14 January 2008 - 17:16
#2
Inviato 14 January 2008 - 18:23
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?
#3
Inviato 14 January 2008 - 18:35
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
#4
Inviato 14 January 2008 - 20:47
#5
Inviato 14 January 2008 - 21:17
Nobun, su Jan 14 2008, 20:47, detto:
Ah giusto è lo state 1100 ma è quello a cui avevo già aggiunto l'explod cioè c'è solo quello state riferito al dragon punch
#6
Inviato 15 January 2008 - 11:11
[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;
#7
Inviato 15 January 2008 - 20:59
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).
#8
Inviato 15 January 2008 - 21:02
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
#9
Inviato 16 January 2008 - 17:49
#10
Inviato 16 January 2008 - 17:54
#12
Inviato 16 January 2008 - 19:25
demongorne, su Jan 16 2008, 17:49, 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:
#13
Inviato 16 January 2008 - 19:37
Quote
:rulez:
#14
Inviato 16 January 2008 - 20:04
[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
#15
Inviato 16 January 2008 - 20:37
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:
#16
Inviato 16 January 2008 - 20:46
demongorne, su Jan 16 2008, 21:25, detto:
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.
#17
Inviato 16 January 2008 - 21:16
demongorne, su Jan 16 2008, 20:04, detto:
[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?
#18
Inviato 18 January 2008 - 22:02
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.
#19
Inviato 18 January 2008 - 22:51
#20
Inviato 18 January 2008 - 23:27
Il nome "Custom States" è utilizzato nella documentazione ufficiale Elecbyte. Darne una traduzione rischierebbe di essere fuorviante. Meglio capire il concetto ed il funzionamento.

Aiuto










