Forum MUGENATION: programmare un hadouken - Forum MUGENATION

Salta al contenuto

  • 2 Pagine +
  • 1
  • 2
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

programmare un hadouken

#1 L   demongorne 

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

  Inviato 10 November 2008 - 17:17

devo programmare mr.karate ke lancia l'hadouken( o nel suo caso il kooken) ma ricopiando come stavano il cns e il cmd di ryo nn mi funzionano bene

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) |
0

#2 L   Verza 

  • Guerriero Nero
  • Gruppo: Moderatore
  • Messaggi: 1547
  • Iscritto: 20-January 08

Inviato 10 November 2008 - 18:18

Io non sono il massimo esperto,ma secondo me c' un sacco di roba qui che non serve a niente,prendi da fighter factory le linee di comando di un projectile e completale con le animazioni ,i suoni e i valori della mossa che vuoi fare,non mi sembra che sia una cosa tanto complicata.
0

#3 L   demongorne 

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

Inviato 10 November 2008 - 19:18

ho cercato riprogrammare la mossa ma quando il char la esegue assieme alla palla di fuoco compare in mezzo allo skermo il frame 0,0 dello standing e il colpo nn va a segno

[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
0

#4 L   Verza 

  • Guerriero Nero
  • Gruppo: Moderatore
  • Messaggi: 1547
  • Iscritto: 20-January 08

Inviato 10 November 2008 - 19:46

Mi spieghi cosa sono tutte queste linee?
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.
0

#5 L   demongorne 

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

Inviato 10 November 2008 - 20:29

beh a me sembra ke hai fatto la stessa cosa con la differenza ke hai usato explod invece di helper x le animazioni
0

#6 L   Verza 

  • Guerriero Nero
  • Gruppo: Moderatore
  • Messaggi: 1547
  • Iscritto: 20-January 08

Inviato 10 November 2008 - 20:40

Si,ma io ho un solo statedef,tu perch ne hai 3?
0

#7 L   demongorne 

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

Inviato 10 November 2008 - 21:02

il primo x il movimento del char ke lancia la palla di fuoco, il secondo il proj della palla di fuoco e il terzo x l'anim della palla di fuoco ke esplode
0

#8 L   Manic 

  • Art is deader than dead
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 749
  • Iscritto: 16-February 08

Inviato 10 November 2008 - 21:30

B per l'effetto dell'esplosione c' un parametro apposito, nello state def del projectile: projhitanim quindi non occorre programmarlo basta mettere gruppo e numero... Io adesso non so bene come programmi ma concordo con Verza di satedef ne basta uno, ti posto il codice del projectile con spiegazioni cos capisci meglio come funziona:
[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...
0

#9 L   Verza 

  • Guerriero Nero
  • Gruppo: Moderatore
  • Messaggi: 1547
  • Iscritto: 20-January 08

Inviato 10 November 2008 - 21:33

Non lo so,io ho tutto quanto in un unico statedef,magari per questo che ti da problemi,per io non me ne intendo molto,sicuramente gli altri ti sapranno aiutare.
0

#10 L   demongorne 

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

Inviato 10 November 2008 - 22:53

allora ho ridotto all'osso la programmzione

[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
0

#11 L   Manic 

  • Art is deader than dead
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 749
  • Iscritto: 16-February 08

Inviato 10 November 2008 - 23:16

No, non cos, allora dimmi il numero dell'animazione in cui lancia il proiettile, quella del proiettile e quella dell'esplosione del proiettile, cos ti faccio vedere come andrebbe fatto.
0

#12 L   Squall LionHeart 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 10 November 2008 - 23:46

Demogorne segui il consiglio di Manic, che evidentemente pi esperto di te ;)

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
0

#13 L   demongorne 

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

Inviato 11 November 2008 - 13:47

Visualizza MessaggiManic, su Nov 10 2008, 23:16, detto:

No, non cos, allora dimmi il numero dell'animazione in cui lancia il proiettile, quella del proiettile e quella dell'esplosione del proiettile, cos ti faccio vedere come andrebbe fatto.



l'anim del movimento delle braccia ke lanciano il proj 1000 quella del proj 7000 e quella dell'esplosione del proj 7001
0

#14 L   Manic 

  • Art is deader than dead
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 749
  • Iscritto: 16-February 08

Inviato 11 November 2008 - 18:20

Visualizza Messaggidemongorne, su Nov 11 2008, 13:47, detto:

l'anim del movimento delle braccia ke lanciano il proj 1000 quella del proj 7000 e quella dell'esplosione del proj 7001

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.
0

#15 L   demongorne 

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

Inviato 11 November 2008 - 19:03

ho provato ma in questo modo nn va bene
0

#16 L   Squall LionHeart 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 11 November 2008 - 20:01

se non dici xk non va bene come facciamo ad aiutarti? ;)

dicci cosa non va, xk il codice postato da manic sembra corretto.

Saluti

Squall
0

#17 L   demongorne 

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

Inviato 11 November 2008 - 20:41

la palla di fuoco attraversa il p2 senza colpirlo ho provato a mattere i clsn1 attivi ad ogni frame della palla di fuoco ma l'anim dell'esplosione viene visualizzata sopra lo skermo

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
0

#18 L   Manic 

  • Art is deader than dead
  • PuntoPuntoPunto
  • Gruppo: Membro
  • Messaggi: 749
  • Iscritto: 16-February 08

Inviato 11 November 2008 - 21:19

B se intendi che viene visualizzata pi in alto rispetto ai char, controlla il parametro offset e cambia i valori il primo quello dell'asse x e il secondo quello dell'asse y. Se invece non colpisce ma attraversa il p2 pu essere a causa della mancanza di clsn rossi (se vuoi che colpisca).
0

#19 L   demongorne 

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

Inviato 11 November 2008 - 21:33

i clsn rossi li ho messi ma il problema ke offset regola gi la posizione della palla di fuoco x cui oregolo la posizione della palla di fuoco o quella dell'esplosione nello stesso projectile
0

#20 L   Squall LionHeart 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 11 November 2008 - 21:35

PREMETTO: HO POSTato in contemporanea con Domogorgone ;)

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
0

Condividi questa discussione:


  • 2 Pagine +
  • 1
  • 2
  • 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