programmare un hadouken
#1
Inviato 10 November 2008 - 17:17
cns;
[Statedef 1000]
type = S
movetype = A
physics = S
poweradd= 70*(1000+var(24))/1000*ifelse((var(15)||var(16)),0,1)
velset = 0,0
ctrl = 0
[State 1000, Position]
type = PosSet
trigger1 = AnimElem = 1
y = 0
[State 1000, VarSet]
type = VarSet
triggerall = !var(59)
trigger1 = Time = 0
var(5) = ifelse(Command = "koou1", 0, ifelse(Command = "koou2", 1, 2))
[State 1000, VarSet]
type = VarSet
triggerall = var(59)
trigger1 = Time = 0
var(5) = ifelse(numtarget,2,random%3)
[State 1000, ChangeAnim]
type = ChangeAnim
Trigger1 = Time = 0
value = ifelse(!var(5), 1000, ifelse(var(5) = 1, 1010, 1020))
[State 1000, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1000, 0
channel = 0
[State 1000, Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 1000, 1
[State 1000,Super]
type = Helper
trigger1 = time = 1
id = 7001
name = "koouken_effect"
pos = 0,0
postype = P1
stateno = 7001
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
[State 1000,Super]
type = Helper
trigger1 = AnimElemTime(4) = 1
id = 7000
name = "koouken"
pos = 70,-65
postype = P1
stateno = 7000
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
[State 1000, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
;虎煌拳(飛び道具)
[Statedef 7000]
type = S
movetype = I
physics = N
ctrl = 0
velset = 0,0
anim = 7000
sprpriority = 4
[State 9000, Assert]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
[State 3001, VarSet]
type = VarSet
trigger1 = time = 0
ignorehitpause = 1
var(5) = parent,var(5)
[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
var(15) = parent,var(15)
[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
var(16) = parent,var(16)
[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
var(17) = parent,var(17)
[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
var(24) = parent,var(24)
[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
var(41) = parent,var(41)
[State 3001, VarSet]
type = VarSet
trigger1 = 1
ignorehitpause = 1
fvar(10) = parent,fvar(10)
[State 1100, Velocity]
type = VelSet
trigger1 = time = 1
x = 3.375 + (var(5)*1.6875)
[State -3, Blocking5]
type = ParentVarAdd
trigger1 = root,projhittime(1005) = 1
fvar(26) = 1
persistent = 0
[State -3, Blocking5]
type = VarSet
trigger1 = root,projhittime(1005) = 1
var(4) = 1
persistent = 0
[State 1000, Proj]
type = Projectile
trigger1 = time = 1
projanim = 7050
Projhitanim = -1
Projremanim = -1
projcancelanim = -1
offset = 0, 0
projpriority = 1
projsprpriority = 4
velocity = vel X, vel Y
attr = S, SP
damage=ceil(ifelse(((56+(var(5)*7))*fvar(10))<7,7,((56+(var(5)*7))*fvar(10)))),ceil(ifelse(((56+(var(5)*7))*fvar(10)/ 8)<7,7,((56+(var(5)*7))*fvar(10)/8)))
animtype = Heavy
hitflag = MAF
guardflag = MA
pausetime = 4,ceil(9*(2-(var(16)>0))/2)
sparkno = S8210+(random%8)
guard.sparkno = S8105
sparkxy = 0, 0
hitsound = S2,15
guardsound = S1,1
ground.type = Low
ground.slidetime = 18
ground.hittime = 18
air.hittime = 18
guard.ctrltime = 18
ground.velocity = -8,0
guard.velocity = -8
air.velocity = -4.5, -6
airguard.velocity = -5.33,-1
fall = 0
air.juggle = ifelse(parent,fvar(4)||parent,fvar(27)>0||parent,fvar(35)=-1,0,8)
air.fall = 1
air.recover = !var(16)
envshake.time = 8
envshake.ampl = 2
ProjID = 1005
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 = 12*var(41)
palfx.add = 255,255,255
palfx.mul = 128,128,128
forcestand = 1
yaccel = .5
[State 3001, VarSet]
type = VarSet
trigger1 = var(1) = 4
ignorehitpause = 1
var(1) = 0
[State 3001, VarSet]
type = VarSet
trigger1 = root,ProjContactTime(1005) = 1
ignorehitpause = 1
var(1) = 1
[State 3001, VarSet]
type = VarAdd
trigger1 = var(1)
ignorehitpause = 1
var(1) = 1
[State 1000, 0]
type = PosFreeze
trigger1 = var(1)
value = 1
ignorehitpause = 1
persistent = 1
[State -3, Blocking5]
type = helper
triggerall = root,fvar(15)
trigger1 = root,projhittime(1005) = 1
id = 8130
name = "COUNTER HIT EFFECT"
pos = 0,0
postype = P1
stateno = 8130
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 99999
supermovetime = 99999
size.xscale = 1
size.yscale = 1
[State 4110, DestroySelf]
type = DestroySelf
triggerall = time > 1
trigger1 = FrontEdgeDist <= -40 && !var(1)
[State 900, 4]
type = ChangeState
triggerall = time > 1
trigger1 = !root,NumProjID(1005)
value = 7005
;---------------------------------------------------------------------------
;虎煌拳(飛び道具)(消滅)
[Statedef 7005]
type = S
movetype = I
physics = N
ctrl = 0
velset = 0,0
anim = 7005
[State -3, Blocking5]
type = helper
triggerall = !NumHelper(8130)
triggerall = root,fvar(15)
trigger1 = root,projhittime(1005) = 1
id = 8130
name = "COUNTER HIT EFFECT"
pos = 0,0
postype = P1
stateno = 8130
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
pausemovetime = 99999
supermovetime = 99999
size.xscale = 1
size.yscale = 1
[State 9000, Assert]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
[State 1100, Voice]
type = PlaySnd
triggerall = !parent,var(36)
trigger1 = time = 1
value = 1, 1
[State 4110, DestroySelf]
type = DestroySelf
trigger1 = animtime = 0
;---------------------------------------------------------------------------
;虎煌拳(エフェクト)1
[Statedef 7001]
type = A
movetype = I
physics = N
ctrl = 0
anim = 6900
velset = 0,0
ownpal = 1
sprpriority = 3
[State 1505,0]
type = Bindtoparent
trigger1 = 1
pos = 0,0
postype = p1
[State 9000, Assert]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
[State 0]
type = changeanim
trigger1 = time = 0
trigger2 = anim = 7001 && animelem = 3
trigger2 = parent,stateno = 1000 && parent,animelemtime(2) < 0
value = 7001
elem = 1
persistent = 1
[State 0]
type = changeanim
trigger1 = parent,stateno = 1000 && parent,animelemtime(2) >= 0
trigger1 = parent,stateno = 1000 && parent,animelemtime(3) < 0
value = 7001
elem = 3
persistent = 1
[State 0]
type = changeanim
trigger1 = parent,stateno = 1000 && parent,animelemtime(3) >= 0
trigger1 = parent,stateno = 1000 && parent,animelemtime(4) < 0
value = 7001
elem = 4
persistent = 1
[State 0]
type = changeanim
trigger1 = parent,stateno = 1000 && parent,animelemtime(4) = 0
value = 7001
elem = 5
persistent = 1
[State 4110, DestroySelf]
type = DestroySelf
trigger1 = anim = 7001 && animtime = 0
trigger2 = parent,stateno != 1000
trigger3 = parent,stateno = 1000 && parent,time = 1
cmd;
[State -1, hadouken]
type = ChangeState
value = 1000
triggerall = var(59) = 1
triggerall = roundstate = 2
triggerall = !NumProjID(1005) && !NumProjID(1055) && !NumProjID(3005)
triggerall = statetype != A
trigger1 = abs(enemynear,Pos X - Pos X) > 140 && (Random = [850,900]) && enemynear,MoveType != H
trigger1 = ctrl || stateno = 21 || (stateno = 100 && animelemtime(2) >1) || stateno = 101 || stateno = 40 || (stateno = 52 && anim = 57 && time >= 2)
trigger2 = (StateNo = 410 || StateNo = 420 || StateNo = 440) && var(36) = 1 && (abs(enemynear,Pos X - Pos X)= [60,90]) && Random <= 800
trigger3 = (StateNo = 410 || StateNo = 420 || StateNo = 440) && var(36) = 2 && (abs(enemynear,Pos X - Pos X)= [60,110]) && Random <= 800
trigger4 = StateNo = 211 && var(36) = 2 && (abs(enemynear,Pos X - Pos X)= [60,100]) && Random <= 800
ignorehitpause = 0
[State -1, hadouken]
type = ChangeState
value = 1000
triggerall = !var(59)
triggerall = roundstate = 2
triggerall = !NumProjID(1005) && !NumProjID(1055) && !NumProjID(3005)
triggerall = Command = "koou1" || Command = "koou2" || Command = "koou3"
triggerall = statetype != A
trigger1 = ctrl || (stateno = 100 && animelemtime(2) >1) || stateno = 101 || stateno = 40 || (stateno = 52 && anim = 57 && time >= 2)
trigger2 = StateNo = 200
trigger3 = StateNo = 201
trigger4 = StateNo = 210 && (var(16) || animelemtime(4) < 1 || (var(36) = 1||var(36) = 2))
trigger5 = StateNo = 211 && (var(16) || animelemtime(3) < 1 || (var(36) = 1||var(36) = 2))
trigger6 = StateNo = 220 && (var(16) || animelemtime(3) < 0)
trigger7 = StateNo = 230 && (var(16) || animelemtime(2) < 0)
trigger8 = StateNo = 231
trigger9 = StateNo = 240 && (var(16) || animelemtime(4) < 0)
trigger10 = StateNo = 241 && (var(16) || animelemtime(5) < 0)
trigger11 = StateNo = 250 && (var(16) || animelemtime(4) < 0)
trigger12 = StateNo = 400
trigger13 = StateNo = 410 && (var(16) || animelemtime(3) < 0 || (var(36) = 1||var(36) = 2))
trigger14 = StateNo = 420 && (var(16) || animelemtime(3) < 0 || ((var(36) = 1||var(36) = 2) && animelemtime(3) < 0))
trigger15 = StateNo = 430 && (var(16) || animelemtime(3) < 0 || (var(36) = 1||var(36) = 2))
trigger16 = StateNo = 440 && (var(16) || animelemtime(4) < 0 || (var(36) = 1||var(36) = 2))
trigger17 = StateNo = 450 && (var(16) |
#2
Inviato 10 November 2008 - 18:18
#3
Inviato 10 November 2008 - 19:18
[StateDef 1000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1000
poweradd = 20
sprpriority = 2
[State 1000,Super]
type = Helper
trigger1 = time = 1
id = 7001
name = "kooken_effect"
pos = 0,0
postype = P1
stateno = 7001
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
[State 1000,Super]
type = Helper
trigger1 = AnimElemTime(4) = 1
id = 7000
name = "kooken"
pos = 70,-65
postype = P1
stateno = 7000
helpertype = normal
keyctrl = 0
ownpal = 1
ignorehitpause = 1
[State 1000, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
--------------------------------------------------------------------------------------
[StateDef 7000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 7000
poweradd = 20
[State 1001, 1]
type = Projectile
trigger1 = AnimElem = 4
projanim = 7000
projhitanim = 7001
projpriority = 1
projheightbound = -240, 100
projedgebound = 100
projscreenbound = 100
projshadow = -1
offset = 47,-41
velocity = 3
attr = S, SP
damage = 52
animtype = heavy
guardflag = MA
hitflag = MAFDP
pausetime = 10,10
hitsound = 5,2
sparkxy = 500,500
guardsound = S6,0
ground.type = Low
ground.slidetime = 25
ground.hittime = 25
ground.velocity = -6
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = -4,-6
down.hittime = 30
down.bounce = 0
[State 1001, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
-------------------------------------------------------------------------------------
[Statedef 7001]
type = A
movetype = I
physics = N
ctrl = 0
anim = 6900
velset = 0,0
ownpal = 1
sprpriority = 3
[State 1505,0]
type = Bindtoparent
trigger1 = 1
pos = 0,0
postype = p1
[State 9000, Assert]
type = AssertSpecial
trigger1 = 1
flag = noshadow
ignorehitpause = 1
[State 0]
type = changeanim
trigger1 = time = 0
trigger2 = anim = 7001 && animelem = 3
trigger2 = parent,stateno = 1000 && parent,animelemtime(2) < 0
value = 7001
elem = 1
persistent = 1
[State 0]
type = changeanim
trigger1 = parent,stateno = 1000 && parent,animelemtime(2) >= 0
trigger1 = parent,stateno = 1000 && parent,animelemtime(3) < 0
value = 7001
elem = 3
persistent = 1
[State 0]
type = changeanim
trigger1 = parent,stateno = 1000 && parent,animelemtime(3) >= 0
trigger1 = parent,stateno = 1000 && parent,animelemtime(4) < 0
value = 7001
elem = 4
persistent = 1
[State 0]
type = changeanim
trigger1 = parent,stateno = 1000 && parent,animelemtime(4) = 0
value = 7001
elem = 5
persistent = 1
[State 4110, DestroySelf]
type = DestroySelf
trigger1 = anim = 7001 && animtime = 0
trigger2 = parent,stateno != 1000
trigger3 = parent,stateno = 1000 && parent,time = 1
cmd;
;kooken
[State -1, kooken]
type = ChangeState
value = 1000
triggerall = (command = "kooken" || command = "kooken1"|| command = "kooken2")
trigger1 = (statetype = s) && ctrl
#4
Inviato 10 November 2008 - 19:46
Io per fare il projectile di Vash ho scritto solo questo:
;sparo singolo stand
[Statedef 1000]
Type = S
Movetype = A
Physics = S
Ctrl = 0
Poweradd = 50
Anim = 1000
velset = 0,0,0
Sprpriority = 1
[State 1000, Explod]
Type = Explod
trigger1 = animelem = 5
Anim = 6200
Pos = 57,-88
Sprpriority = 5
Scale = 0.5,0.5
removetime = -2
[State 1000, Playsnd]
Type = Playsnd
trigger1 = Animelem = 5
Value = 1000,1
volume = 255
[State 1000, proj]
type = Projectile
trigger1 = animelem = 5
projremovetime = 1
projanim = 1001
;projhitanim = 6001
projpriority = 1
projheightbound = -240, 100
projedgebound = 100
projscreenbound = 100
projscale = 1,1
offset = 57,-88
velocity = 0
attr = S, SP
damage = 30,5
animtype = light
guardflag = MA
hitflag = MAFDP
pausetime = 0,5
;hitsound = S15,2
sparkxy = 80,-30
sparkno = -1
guardsound = S1000,5
ground.type = Low
ground.slidetime = 25
ground.hittime = 25
ground.velocity = -3,0
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = -4,-6
down.hittime = 30
down.bounce = 0
[State 1000, Explod]
Type = Explod
trigger1 = Projhit = 1
triggerall = Numexplod(6001100) != 1
Anim = 6001
Pos = 20,-88
Postype = p2
Sprpriority = 5
Scale = 0.4,0.4
removetime = -2
Id = 6001100
[State 1000, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
Ctrl = 1
Perch tu hai tutta quella roba in pi?
Per me il problema che copi i codici senza sapere a cosa servono e quindi non riesci a programmare le mosse.
#5
Inviato 10 November 2008 - 20:29
#7
Inviato 10 November 2008 - 21:02
#8
Inviato 10 November 2008 - 21:30
[StateDef 320] type = C movetype= A physics = C juggle = 1 velset = 0,0 ctrl = 0 anim = 320; animazione del gesto del char quando lancia il proiettile poweradd = 20 [State 320, 1] type = Projectile; dice al mugen che un proiettile trigger1 = AnimElem = 1; dice al mugen che il proiettile colpisce quando viene effetuato il primo sprite dell'animazione projanim = 325;l'animazione del proiettile projhitanim = 325; L'animazione dell'esplosione del proiettile projpriority = 1; la priorit del proietile projheightbound = -150, 100 projedgebound = 100 projscreenbound = 100 projshadow = -1 offset = 20, -30;questo dice al mugen da qualle altezza il proiettile parte velocity = 2;la velocit del proiettile attr = S, SP damage = 15;il danno animtype = heavy guardflag = MA hitflag = MAFDP pausetime = 50,10 hitsound = 5,2 sparkxy = 500,250 guardsound = S6,0 ground.type = Low ground.slidetime = 25 ground.hittime = 25 ground.velocity = -6 air.animtype = Back air.velocity = -4,-6 air.juggle = 3 air.fall = 1 down.velocity = -4,-6 down.hittime = 15 down.bounce = 0 [State 320, end] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1
Dopo i parametri pi importanti ti ho messo una descrizione, questo codice lo avevo trovato tempo fa su mugenation...
#9
Inviato 10 November 2008 - 21:33
#10
Inviato 10 November 2008 - 22:53
[StateDef 1000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1000
poweradd = 20
sprpriority = 2
[State 1000, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
--------------------------------------------------------------------------------------
[StateDef 7000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 7000
poweradd = 20
[State 1001, 1]
type = Projectile
trigger1 = AnimElem = 4
projanim = 7000
projhitanim = 7001
projpriority = 1
projheightbound = -240, 100
projedgebound = 100
projscreenbound = 100
projshadow = -1
offset = 47,-41
velocity = 4
attr = S, SP
damage = 52
animtype = heavy
guardflag = MA
hitflag = MAFDP
pausetime = 10,10
hitsound = 5,2
sparkxy = 500,500
guardsound = S6,0
ground.type = Low
ground.slidetime = 25
ground.hittime = 25
ground.velocity = -6
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = -4,-6
down.hittime = 30
down.bounce = 0
[State 1001, end]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
in questo modo esegue solo il movimento del braccio ( ecco xk secondo me sono necessari gli helper x l'animazione della palla di fuoco) senza l'anim della palla di fuoco
#11
Inviato 10 November 2008 - 23:16
#12
Inviato 10 November 2008 - 23:46
cancella quanto hai fatto. se si copia, non si capisce, e se c' un bug non si sa come risolverlo... quindi meglio fare da se.
Per il tuo projectile bastano questi states qui:
STATEDEF
PROJECTILE
CHANGESTATE.
I valori particolari che devi settare:
STATEDEF: anim = Numero di animazione del char che lancia l'hadoken.
PROJECTILE:
Projanim = l'animazione dell'hadoken
Projhitanim = l'animazione dell'hadoken quando colpisce (esplosioni o cazzate varie).
Offset = le coordinate rispetto agli assi del p1 dove parte il projectile (X,Y)
questo, poi ti basta anche copiare x il resto, o prendere il codice di manic.
Saluti
Squall
#13
Inviato 11 November 2008 - 13:47
Manic, su Nov 10 2008, 23:16, detto:
l'anim del movimento delle braccia ke lanciano il proj 1000 quella del proj 7000 e quella dell'esplosione del proj 7001
#14
Inviato 11 November 2008 - 18:20
demongorne, su Nov 11 2008, 13:47, detto:
Allora dovrebbe essere sufficente che tu scriva questo nel cns:
[StateDef 7000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1000
poweradd = 20
[State 7000, 1]
type = Projectile
trigger1 = AnimElem = 4
projanim = 7000
projhitanim = 7001
projpriority = 1
projheightbound = -150, 100
projedgebound = 100
projscreenbound = 100
projshadow = -1
offset = 47, -41;questo dice al mugen da qualle altezza il proiettile parte
velocity = 4;la velocit del proiettile
attr = S, SP
damage = 52;il danno
animtype = heavy
guardflag = MA
hitflag = MAFDP
pausetime = 10,10
hitsound = 5,2 ; Il suono dell'esplosione
sparkxy = 80,-30
guardsound = S1000,5
ground.type = Low
ground.slidetime = 25
ground.hittime = 25
ground.velocity = -3,0
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = -4,-6
down.hittime = 15
down.bounce = 0
[State 7000, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
Io ho seguito i dati che mi hai dato, tu dopo aver provato il codice controlla questi parametri per vedere se vanno modificati:
"offset": per il punto in cui parte il projectile
"velocity": la velocit
"hitsound" il suono dell'esplosione.
#16
Inviato 11 November 2008 - 20:01
dicci cosa non va, xk il codice postato da manic sembra corretto.
Saluti
Squall
#17
Inviato 11 November 2008 - 20:41
cns
[StateDef 1000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1000
poweradd = 20
[State 7000, 1]
type = Projectile
trigger1 = AnimElem = 4
projanim = 7000
projhitanim = 7001
projpriority = 1
projheightbound = -150, 100
projedgebound = 100
projscreenbound = 100
projshadow = -1
offset = 47, -41;questo dice al mugen da qualle altezza il proiettile parte
velocity = 4;la velocit del proiettile
attr = S, SP
damage = 52;il danno
animtype = heavy
guardflag = MA
hitflag = MAFDP
pausetime = 10,10
hitsound = 5,2 ; Il suono dell'esplosione
sparkxy = 80,-30
guardsound = S1000,5
ground.type = Low
ground.slidetime = 25
ground.hittime = 25
ground.velocity = -3,0
air.animtype = Back
air.velocity = -4,-6
air.juggle = 3
air.fall = 1
down.velocity = -4,-6
down.hittime = 15
down.bounce = 0
[State 7000, 2]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
#18
Inviato 11 November 2008 - 21:19
#19
Inviato 11 November 2008 - 21:33
#20
Inviato 11 November 2008 - 21:35
dunque, da quanto ho capito:
hai 2 problemi:
1) l'hadoken non colpisce l'avversario, ma lo attraversa.
2) l'esplosione (e non l'hadoken) viene disegnata troppo in alto.
problema 1:
essendo corretto il projectile, controlla di aver messo CLSN ROSSI a TUTTI i frames dell'animazione 7000. il problema credo sia questo.
Problema 2:
qui, devi aggiustare necessariamente gli assi dell'esplosione nell'air o nell'sff.
Altrimenti, poni l'animazione 7001 come sparkno (aggiungi la stringa al projectile).
sparkno = 7001
e modifichi la posizione dell'esplosione con il parametro "sparkxy".
Saluti
Squall

Aiuto










