Forum MUGENATION: sektor - Forum MUGENATION

Salta al contenuto

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

sektor da mkproject al mugen normale

#1 L   williamwilson 

  • EvilMugen
  • Gruppo: Moderatore
  • Messaggi: 1374
  • Iscritto: 30-September 06

Inviato 20 May 2009 - 22:44

http://img39.imageshack.us/img39/6841/33790213.gif



sto cercando di portare sektor nei mugen normali, completandolo e rendendolo funzionante al 100%.
però non essendo un programmatore, ho alcune difficoltà, quindi chiedo aiuto a voi programmatori.
Devo prendere delle cose dal file fightfx e metterli nel char, e per quanto riguarda l'animazione finish him, è andato tutto liscio, il codice nel char si presentava in questo modo: anim = Fnumeroanimazione, quindi ho copiato il tutto nell'air e nell'sff cambiato anim = numeroanimazione nel cns e funziona.




problema
la stessa cosa non succede con l'animazione "fatality", ho visto che sono presenti sia l'animazione che gli sprites nei file fightfx, ma proprio non trovo qualcosa nel codice del char che le richiama, con una cosa del tipo anim = Fnumeroanimazionefatality . C'è da dire anche che Fnumeroanimazionefatality non è presente in nessuna parte nel codice del char. Allora come viene richiamata nel gioco? :o
Preciso che l'animazione è: [Begin Action 201] e i vari fram vanno da 100,0 a 100,14

questo pezzo di codice mi sembra sospetto:

; WIN
[Statedef 180]
type = S

[State 200, 7];por la fatal
type = screenbound
trigger1 = Var(4) = 1
value = 0

[State 180, 1]
type = ChangeState
trigger1 = Time = 1
value = 181

; WIN1
[Statedef 181]
type = S
movetype= A
ctrl = 0
anim = 180
velset = 0,0

[State 200, 7];por la fatal
type = screenbound
trigger1 = Var(4) = 1
value = 0
0

#2 L   Nobun 

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

Inviato 20 May 2009 - 23:33

Per un effetto del genere credo ci voglia una programmazione nello state -2 oppure nella gestione delle cadute... quasi sicuramente il codice CNS si trova nel file common1.cns del MK project (il file common1.cns si trova nella cartella "data" del Mugen).
0

#3 L   williamwilson 

  • EvilMugen
  • Gruppo: Moderatore
  • Messaggi: 1374
  • Iscritto: 30-September 06

Inviato 21 May 2009 - 10:52

ciao nobun grazie per l'intervento, quello che vorrei almeno capire è come quale sia il pezzo di codice che richiami l'animazione dal file fightfx. poi una domanda cosa sono queste variabili? la loro funziona è specificata da qualche parte che ne so varx= ad una certa cosa, oppure hanno una funzione intrinseca?
;
;
ho trovato non nel common1 ma nel cns del char il codice dello state -2 (e anche -3)

Quote

;======================================================================
; FATALITY RELATED

[Statedef -3]

;tututunnnn!
[State 210, 1]
type = Playsnd
trigger1 = (((stateno%100 = 0) || (stateno = 3997) || (stateno = 3503)) && stateno = [3000, 4999])
triggerall = time = 2
value = 5,11
volume = 60
channel = 1

[State 8000, sad]
type = BGPalFX
triggerall = (time%5 = 0) && (time < 31)
trigger1 = (((stateno%100 = 0) || (stateno = 3997) || (stateno = 3503)) && stateno = [3000, 3999])
time = 9999
add = -(time + 10),-(time + 10),-(time + 10)

[State -2, adasa]
type = assertspecial
trigger1 = roundstate = 3
trigger2 = roundstate = 4
trigger3= stateno = [3000, 4999]
trigger4= p2stateno = [9000, 9999]
flag = nomusic

;fuera sonidos en fatales o mercy
[State -2, fgnd]
type = Stopsnd
trigger1 = (((stateno%100 = 0) || (stateno = 3997) || (stateno = 3503)) && stateno = [3000, 4999])
triggerall = time = 1
channel = -1

;arregla el bug del tiempo
[State -2, 1]
type = AssertSpecial
trigger1 = stateno = [3000,4999]
trigger2 = stateno = [9000,9999]
flag = timerfreeze

[State -2,99]
type = Changestate
trigger1 = numexplod(7050)= 1
value = 9010

[State -3, Landing Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 ;Jump land
value = 20, 1

[State -2, Check Fatal]
type = VarSet
trigger1 = p2Name != "Shao Kahn"
trigger1 = p2life <= 1
trigger1 = p2MoveType = H
trigger1 = p2stateno != 1020
trigger1 = stateno != 1020
trigger1 = p2stateno != 1021
trigger1 = stateno != 1021
trigger1 = Var(9) = 1
triggerall = p2stateno != [3500,3599]
v = 3
value = 1

[State -2, 7.644]
type = Varset
trigger1 = p2stateno = 9010
v = 19
value = 1

[State -2, 0]
type = varset
triggerall = Win = 1
triggerall = NumHelper(9010) = 0
trigger1 = teammode = single
trigger2 = teammode = simul
trigger3 = teammode = turns
;trigger4 = Var(12) != 1
;trigger4 = Win = 1
;trigger4 = NumHelper(9010) = 0
v = 59
value = 1

[State -2, 1]
type = varset
trigger1 = Win = 1
trigger1 = NumHelper(9010) = 1
trigger1 = p2life != 0
trigger2 = teammode = simul
trigger3 = NumEnemy = 2
;trigger4 = Var(12) = 1
v = 59
value = 0

[State -2,9459]
type = Lifeset
trigger1 = life <= 1
trigger1 = p2life <= 1
trigger1 = MoveType = H
trigger1 = p2MoveType = H
value = 2

[state -2, 1]
type = Helper
trigger1 = p2Name != "Shao Kahn"
trigger1 = NumHelper(9010) = 1 ; invisible one ought to be ON the screen
trigger1 = NumHelper(9011) = 0 ; this one shouldn't be ON the screen
trigger1 = enemy(0), stateno = 9010 ; enemy have to be in this state
trigger1 = Var(4) = 0
trigger1 = Var(19) = 0
ID = 9011 ; IMPORTANT!
pos = 160, -140
postype = left
stateno = 9000
helpertype = normal
name = "Finish Him!! MSG"
keyctrl = 0
ownpal = 1

[State -2, adasa]
type = assertspecial
trigger1 = roundstate = 3
trigger2 = roundstate = 4
trigger3 = var(43) != 0
flag = nomusic

[State -2, fgnd]
type = Stopsnd
trigger1 = time = 1
trigger1 = p2stateno = [5000,5200]
trigger1 = life <= 1
trigger2 = RoundState = 4
channel = 1

;FINISH SOUND SAMPLE
[State -2, 5.999]
type = Playsnd
trigger1 = P2Name != "jade"
trigger1 = P2Name != "sheeva"
trigger1 = P2Name != "kitana"
trigger1 = P2Name != "sindel"
trigger1 = P2Name != "sonya"
trigger1 = P2Name != "mileena"
triggerall = Var(3) = 1
triggerall = Var(19) = 0
triggerall = Var(13) = 0
triggerall = p2life = 1
triggerall = p2life != 0
triggerall = p2stateno != 5050
triggerall = p2stateno != 5150
triggerall = p2stateno != 5090
triggerall = Var(59) = 1
value = 5, 7
Channel = 4
persistent = 3
volume = 110

;FINISH SOUND SAMPLE
[State -2, 599]
type = Playsnd
trigger1 = P2Name = "jade"
trigger2 = P2Name = "kitana"
trigger3 = P2Name = "sheeva"
trigger4 = P2Name = "sindel"
trigger5 = P2Name = "sonya"
trigger6 = P2Name = "mileena"
triggerall = Var(3) = 1
triggerall = Var(19) = 0
triggerall = Var(13) = 0
triggerall = p2life = 1
triggerall = p2life != 0
triggerall = p2stateno != 5050
triggerall = p2stateno != 5150
triggerall = p2stateno != 5090
triggerall = Var(59) = 1
value = 5, 25
Channel = 4
persistent = 3
volume = 110

[State 181, FinishHim]
type = Explod
trigger1 = P2Name != "jade"
trigger1 = P2Name != "sheeva"
trigger1 = P2Name != "kitana"
trigger1 = P2Name != "sindel"
trigger1 = P2Name != "sonya"
trigger1 = P2Name != "mileena"
triggerall = Var(3) = 1
triggerall = Var(19) = 0
triggerall = Var(13) = 0
triggerall = p2life = 1
triggerall = p2life != 0
triggerall = p2stateno != 5050
triggerall = p2stateno != 5150
triggerall = p2stateno != 5090
anim = 1115
pos = 156*const(size.xscale),80*const(size.xscale)
postype = left
bindtime = -1
facing = 1
sprpriority = 2
ontop = 1
ownpal = 1

[State 181, FinishHer]
type = Explod
trigger1 = P2Name = "jade"
trigger2 = P2Name = "kitana"
trigger3 = P2Name = "sheeva"
trigger4 = P2Name = "sindel"
trigger5 = P2Name = "sonya"
trigger6 = P2Name = "mileena"
triggerall = Var(3) = 1
triggerall = Var(19) = 0
triggerall = Var(13) = 0
triggerall = p2life = 1
triggerall = p2life != 0
triggerall = p2stateno != 5050
triggerall = p2stateno != 5150
triggerall = p2stateno != 5090
anim = F8
pos = 156*const(size.xscale),80*const(size.xscale)
postype = left
bindtime = -1
facing = 1
sprpriority = 2
ontop = 1
ownpal = 1

[State -2, 6]
type = Helper
trigger1 = Var(3) = 1
trigger1 = p2Name != "Shao Kahn"
trigger1 = p2life != 0
trigger1 = Var(19) = 0
trigger1 = p2life = 1
trigger1 = p2stateno != 5090
trigger1 = p2stateno != 5050
trigger1 = p2stateno != 5150
trigger1 = Var(4) = 0
trigger1 = Var(59) = 1
stateno = 9000
name = "Fatality"
id = 9000
pos = 0, 0
helpertype = normal
sprpriority = 1
keyctrl = 0
ownpal = 1
under = 1

[State -2, 7.6]
type = Varset
trigger1 = Var(59) = 1
v = 9
value = 1

[State -2, 7.7]
type = Varset
trigger1 = Var(59) = 0
v = 9
value = 0

[State -2, 7.9]
type = Varadd
trigger1 = Var(13) != 0
V = 13
value = -1

;THIS IS THE END OF FATALITY TIME
[State -2,8]
type = Helper
trigger1 = p2Name != "Shao Kahn"
triggerall = p2Life != 0
triggerall = win != 1
triggerall = lose != 1
trigger1 = Var(13) = 1
trigger1 = Var(59) = 0
trigger1 = p2stateno = 9010
stateno = 9020
name = "Doesn't hit person"
id = 9020
pos = 0, 0
helpertype = normal
sprpriority = 1
keyctrl = 0
ownpal = 1
under = 1

[State -2, 7.9]
type = Varset
trigger1 = p2stateno = 9010
v = 9
value = 0


[State -2, NoBGM]
type = AssertSpecial
trigger1 = Var(26) = 1
flag = nomusic
flag2 = globalnoshadow

[State -2, Tripped]
type = VarSet
trigger1 = anim = 5070
v = 15
value = 1000

[State -2, notTripped]
type = VarSet
trigger1 = anim = [5000, 5040]
trigger2 = anim = 5120
trigger3 = anim = 5200
trigger4 = anim = 5210
v = 15
value = 0


[State -2, 100]
type = VarSet
triggerall = var(13) = 1
trigger1 = Time >= 6
trigger1 = (stateno = 0) || (stateno = 11)
v = 13
value = 0

[State -2, hit]
type = VarSet
triggerall = var(17) = 1
trigger1 = movetype = H
var(17) = 0

[State -2, 100]
type = VarSet
triggerall = var(2) > 0
trigger1 = (stateno != [200,204]) && (stateno != [220,224])
v = 2
value = 0

[State -2, hit];friendship/babality si esta en cero se puede hacer
type = VarSet
trigger1 = roundstate = 2
trigger1 = command = "blok"
v = 54
value = 1

; Cosas de Danger

[State -3, variable danger]
type = varset
trigger1 = life > 90
trigger1 = var(44) = 1
v = 44
value = 0

[State -3, sonido danger]
type = PlaySnd
trigger1 = life <= 90
trigger1 = alive = 1
trigger1 = var(44) = 0
value = 5, 44

[State -3]
type = Explod
trigger1 = teamside = 1
trigger1 = life <= 90
trigger1 = alive = 1
trigger1 = var(44) = 0
anim = F27
Postype = left
pos = 130,32
bindtime = -1
scale = .8,.8
removetime = 100

[State -3]
type = Explod
trigger1 = teamside = 2
trigger1 = life <= 90
trigger1 = alive = 1
trigger1 = var(44) = 0
anim = F27
Postype = right
pos = -134,32
bindtime = -1
scale = .8,.8
removetime = 100

[State -3, variable danger]
type = varset
trigger1 = life <= 90
trigger1 = alive = 1
trigger1 = var(44) = 0
v = 44
value = 1
;-- fin de cosas de danger

[Statedef -3]

[State -3, Shake on Ground hit]
type = EnvShake
trigger1 = stateno = 5100
freq = 110
time = 10
ampl = -5

0

#4 L   williamwilson 

  • EvilMugen
  • Gruppo: Moderatore
  • Messaggi: 1374
  • Iscritto: 30-September 06

Inviato 21 May 2009 - 10:57

e questo è il codice del file fatality.st che è collegato con lo state -2

Quote

[Statedef 9000]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
anim = 9000
ctrl = 0

[State 9000, 5]
type = HitDef
trigger1 = p2life < 2
trigger1 = p2movetype != H
attr = A, HT
numhits = -1
guardflag = A
hitflag = LAMF
;priority = 7,Hit
sparkno = -1
p2stateno = 9001;9010
damage = 99999,9999
kill = 0
ground.velocity = 0,50
air.velocity = 0,50
air.recovery = 0
recovery = 0

[State 9000, 5.5]
type = ParentVarset
trigger1 = time = 0
V = 13
value = 400

[State 9000, 6d]
type = TargetState
trigger1 = 1
value = 9001;9010

[State 9000, 6]
type = Destroyself
trigger1 = time >= 1
trigger2 = p2stateno = 9001;9010
trigger3 = roundstate = 3
trigger4 = roundstate = 4

;---------------------------------------------------------------------------
;Fatality time
[Statedef 9001]
type = S
movetype= H
physics = S
velset = 0,0
ctrl = 0

;
[State 987123, 1]
type = SelfState
trigger1 = time = 1
value = 9010

;-----------------------

;Fatality time
;[Statedef 9010]
type = S
movetype= H
physics = S
velset = 0,0
ctrl = 0

;FINISH SOUND music
[State 2, 5.999]
type = Playsnd
trigger1 = time = 0
value = 5, 22
Channel = 1
persistent = 3
volume = 50

; hara kiri humano/cpu
[State 987123, 1]
type = changestate
triggerall= p2stateno != [3000, 3999]
trigger1 = command = "harakiri"
trigger2 = var(50) = 1
trigger2 = time = 1
trigger2 = random%5 = 1
triggerall = animexist(3500)
value = 3500

[State 9873, 1]
type = LifeSet
trigger1 = Animelem = 1
value = 1

[State 9873, 1]
type = PosSet
trigger1 = 1
Y = 0

[State 9873, 1324]
type = LifeSet
trigger1 = time = 1
value = 1


[State 9873, 13234]
type = NotHitBy
value = , AP
trigger1 = 1

[State 987123, 1]
type = LifeAdd
triggerall = Time = 350
trigger1 = p2stateno != [3000,3999]
value = -500

; After 600 ticks and with no fatality, p2 falls down
[State 987123, 1]
type = changestate;SelfState
triggerall = Time = 350
trigger1 = p2stateno != [3000,3999]
value = 5050
ctrl = 0

[State 9010, 0.1]
type = Changeanim
trigger1 = statetype != A
trigger1 = animexist(5300)
trigger1 = anim != 5300
value = 5300

[State 9010, 1]
type = Changeanim2
trigger1 = !animexist(5300)
trigger1 = anim != 9010
trigger1 = statetype != A
value = 9010

[State 9010, 034.1]
type = PosSet
trigger1 = p2stateno =[0,9999]
Y = 0

;-------------------------------------------------------------------------------


[Statedef 9011]
type = S
movetype= H
physics = S
juggle = -10
ctrl = 0
velset = 0,0,0

[State 987123, 1]
type = LifesET
trigger1 = 1
value = 4

; Dizzying animation
[State 987124, 2]
type = ChangeAnim
trigger1 = AnimExist(5300)
trigger1 = Anim != 5300
value = 5300

;-------------------------------------------------------------------------------
;Shows Mercy bastardo!
[Statedef 3997]
type = S
movetype= I
physics = S
anim = 0
ctrl = 0

;sonido de shows mercy
[State 210, 1]
type = Playsnd
trigger1 = time = 60
value = 6,2
volume = 60

;cartel de mercy
[State 181, cartel]
type = Explod
trigger1 = time = 60
ID = 200
anim = F200
pos = 156,0
postype = left
bindtime = -1
facing = 1
sprpriority = 2
ontop = 1
ownpal = 1
removetime = -2

;explod invisible, para que no se pueda hacer 2 veces la mercy
[State 181, cartel]
type = Explod
trigger1 = time = 0
ID = 3800
anim = 888
removetime = -1

;manda a custom sin control
[State 430, 31sdaa]
type = helper
trigger1 = time = 0
stateno = 3998
postype = p1

;previene fallo si tenemos poca energia
[State 9130, SetFatal]
type = lifeset
trigger1 = life < 2
value = 2

;variables de finish
[State 9130, SetFatal]
type = Varset
trigger1 = time = 0
V = 3
value = 0

[State 9130, SetFatal]
type = Varset
trigger1 = time = 0
V = 13
value = 0

[State 9130, SetFatal]
type = Varset
trigger1 = time = 0
V = 9
value = 0

[State 9130, SetFatal]
type = Varset
trigger1 = time = 0
V = 19
value = 0

[State 9130, SetFatal]
type = Varset
trigger1 = time = 0
V = 4
value = 0
;fin de cosas lokas de finish

[State 8000, sadsd]
type = BGPalFX
trigger1 = numexplod(200)=1
time = 9999
add = 0, 0, 0

;cuando termina la anim de mercy vuelve a tener control
[State 430, 31sdaa]
type = changestate
trigger1 = time > 60
trigger1 = numexplod(200)=0
value = 0
ctrl = 1

;helper que golpea a pl2
[Statedef 3998]
type = S
movetype= A
physics = S
anim = 9000
ctrl = 0

;manda a custom (si no fallaba)
[State 1200, BoltFat]
type = HitDef
trigger1 = time = 0
attr = S, NT
hitflag = MAFD
guardflag = A
damage = -60
sparkno = -1
p2stateno = 3999

[State 430, 31sdaa]
type = destroyself
trigger1 = movehit

;custom state
[Statedef 3999]
type = S
movetype= H
physics = S
ctrl = 0

;vuelve a tener control
[State 430, 31sdaa]
type = selfstate
trigger1 = time = 138
value = 0
ctrl = 1

; -----------------

[Statedef 3500]
type = S
movetype= A
physics = S
;anim = 0
ctrl = 0

;arregla el bug del tiempo
[State 9873, 1]
type = AssertSpecial
trigger1 = 1
flag = timerfreeze

[State 430, 31sdaa]
type = helper
trigger1 = time = 0
stateno = 3501
postype = p1

[State 430, 31sdaa]
type = changestate
trigger1 = Time = 0;60
value = 3503

[State 430, 31sdaa]
type = NotHitBy
trigger1 = 1
value = SCA

; Golpeamos al oponente y lo mandamos al custom state sin control...
[Statedef 3501]
type = S
movetype= A
physics = S
anim = 9000
ctrl = 0

[State 1200, BoltFat]
type = HitDef
trigger1 = p2statetype = S
attr = S, NT
hitflag = MAFD
guardflag = A
sparkno = -1
p2stateno = 3502

[State 200, 7]
type = destroyself
trigger1 = movehit

; El oponente queda sin control, la variable se pone en valor "hara kiri" y espera a que muera el otro para festejar.
[Statedef 3502]
movetype= H
ctrl = 0

[State 9130, SetFatal]
type = Varset
trigger1 = time = 0
V = 4
value = 6

[State 3105, end]
type = changeanim
trigger1 = time = 0
value = 0

[State 430, 31sdaa]
type = selfstate
trigger1 = p2life <=0
value = 0
ctrl = 1

;--- Cosas de Fatales ---

;- Para fatal de jade, classic sub-zero... -
[Statedef 6001]
type = S
movetype= I
physics = N
velset = 0, 0
ctrl = 0

[State 3105, queda clavado]
type = Explod
trigger1 = time = 0
anim = 6001
pos = 0,0
postype = p1
sprpriority = 1

[State 2, sangre y mas sangre]
type = explod
trigger1 = time = 0
trigger2 = time = 10
trigger3 = time = 20
trigger4 = time = 30
trigger5 = time = 40
pos = -4, -51
postype = p1
anim = F80; arreglar anim de sangre
ontop = 1

[State 200, grito]
type = playsnd
trigger1 = Time = 0
value = 4,1

[State 200, 7]
type = lifeadd
trigger1 = Time = 41
value = -9999

[State 200, 7]
type = selfstate
trigger1 = Time = 41
value = 5150

;--- Para Friendship --- (queda mareandose)

[Statedef 6002]
type = S
movetype= I
physics = N
velset = 0, 0
ctrl = 0

[State 3100, asigna anim]
type = varset
trigger1 = time = 1
v = 45
value = 5300

[State 9399, 3]
type = Lifeadd
trigger1 = Time > 150
trigger1 = animtime = 0
Value = -9999

[State 9399, 2]
type = selfstate
trigger1 = time > 150
trigger1 = animtime = 0
value = 5150

;--- Para fatales de decapitación tipo la de cage ---

[Statedef 6003];661
type = S
movetype= H
physics = S
ctrl = 0
velset = 0,0,0
anim = 661

[State 9399, 2]
type = varset
trigger1 = time = 0
v = 45
value = 6611

[State 1200, 2at]
type = Explod
trigger1 = time = 1
trigger1 = FrontEdgeDist > 130
anim = 662
pos = 0,0
postype = p1
facing = -1
ID = 662
sprpriority >= 2

[State 1200, 2at]
type = Explod
trigger1 = time = 1
trigger1 = FrontEdgeDist < 131
anim = 662
pos = 0,0
postype = p1
facing = 1
ID = 662
sprpriority >= 2

[State 1200, 2at]
type = Explod
trigger1 = time = 0
anim = F16
pos = 10,-118
postype = p1
sprpriority >= 4

[State 1200, at]
type = Explod
trigger1 = time = 5
trigger2 = time = 12
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
anim = F1
pos = 0,-105
postype = p1
;facing = 1
sprpriority >= 3

[State 1200, at]
type = Explod
trigger1 = time = 8
trigger2 = time = 14
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
anim = F1
pos = 0,-105
postype = p1
facing = -1
sprpriority >= 3

[State 22, round hit]
type = EnvShake
trigger1 = time = 45
trigger2 = time = 55
freq = 48
time = 10
ampl = 4

[State 1200, ound]
type = PlaySnd
trigger1 = time = 44
trigger2 = time = 55
value = 5, 17
channel = 4

[State 1200, 45ound]
type = PlaySnd
trigger1 = time = 8
trigger2 = time = 14
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
value = 5, 19

[State 9010, 0.1]
type = Sprpriority
trigger1 = time = 50
value >= 4

[State 9399, 2]
type = Selfstate
trigger1 = Animtime = 0
value = 5150

[State 9399, 3]
type = Lifeadd
trigger1 = Time = 30
Value = -9999

[State 5150, 8]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1
ctrl = 1

; --- Para fatales de decapitación tipo martillazo de Shao Kahn ---

[Statedef 6004];6612
type = S
movetype= H
physics = S
ctrl = 0
velset = 0,0,0
anim = 661

[State 9399, 2]
type = varset
trigger1 = time = 0
v = 45
value = 6611

[State 1200, 2at]
type = Explod
trigger1 = time = 0
anim = F16
pos = 10,-117
postype = p1
sprpriority >= 4

[State 1200, at]
type = Explod
trigger1 = time = 5
trigger2 = time = 12
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
anim = F1
pos = 0,-105
postype = p1
sprpriority >= 3

[State 1200, at]
type = Explod
trigger1 = time = 8
trigger2 = time = 14
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
anim = F1
pos = 0,-105
postype = p1
facing = -1
sprpriority >= 3

[State 1200, 45ound]
type = PlaySnd
trigger1 = time = 8
trigger2 = time = 14
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
value = 5, 19

[State 9010, 0.1]
type = Sprpriority
trigger1 = time = 50
value >= 4

[State 9399, 2]
type = Selfstate
trigger1 = Animtime = 0
value = 5150

[State 9399, 3]
type = Lifeadd
trigger1 = Time = 30
Value = -9999

[State 5150, 8]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1
ctrl = 1

;--- Cabeza ?
[Statedef 6005];6613
type = S
movetype= H
physics = S
ctrl = 0
velset = 0,0,0
anim = 661

[State 9399, 2]
type = varset
trigger1 = time = 0
v = 45
value = 6611

[State 1200, 2at]
type = Explod
trigger1 = time = 0
anim = F16
pos = 10,-118
postype = p1
sprpriority >= 4

[State 1200, at]
type = Explod
trigger1 = time = 5
trigger2 = time = 12
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
anim = F1
pos = 0,-105
postype = p1
;facing = 1
sprpriority >= 3

[State 1200, at]
type = Explod
trigger1 = time = 8
trigger2 = time = 14
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
anim = F1
pos = 0,-105
postype = p1
facing = -1
sprpriority >= 3

[State 22, round hit]
type = EnvShake
trigger1 = time = 45
trigger2 = time = 55
freq = 48
time = 10
ampl = 4

[State 1200, ound]
type = PlaySnd
trigger1 = time = 44
trigger2 = time = 55
value = 5, 17
channel = 4

[State 1200, 45ound]
type = PlaySnd
trigger1 = time = 8
trigger2 = time = 14
trigger3 = time = 22
trigger4 = time = 28
trigger5 = time = 34
trigger6 = time = 40
trigger7 = time = 45
trigger8 = time = 50
trigger9 = time = 55
value = 5, 19

[State 9010, 0.1]
type = Sprpriority
trigger1 = time = 50
value >= 4

[State 9399, 2]
type = Selfstate
trigger1 = Animtime = 0
value = 5150

[State 9399, 3]
type = Lifeadd
trigger1 = Time = 30
Value = -9999

[State 5150, 8]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1
ctrl = 1

[State 1200, er2at]
type = Explod
trigger1 = time = 1
anim = 6612
ID = 6612
pos = 0,-115
postype = p1
sprpriority = 4
removetime = 5

[State 1200, er2at]
type = Explod
trigger1 = time = 3
anim = 6612
ID = 6612
pos = 0,-117
postype = p1
sprpriority = 5
scale = 1.5,1.5
removetime = 2

[State 1200, er2at]
type = Explod
trigger1 = time = 5
anim = 6612
ID = 6612
pos = 2,-119
postype = p1
sprpriority = 5
scale = 2,2
removetime = 2

[State 1200, er2at]
type = Explod
trigger1 = time = 7
anim = 6612
ID = 6612
pos = 4,-121
postype = p1
sprpriority = 5
scale = 2.5,2.5
removetime = 2

[State 1200, er2at]
type = Explod
trigger1 = time = 9
anim = 6612
ID = 6612
pos = 6,-123
postype = p1
sprpriority = 5
scale = 3,3
removetime = 3

[State 1200, er2at]
type = Explod
trigger1 = time = 12
anim = 6612
ID = 6612
pos = 8,-125
postype = p1
sprpriority = 5
scale = 3.5,3.5
removetime = 6

[State 1200, er2at]
type = Explod
trigger1 = time = 15
anim = 6612
ID = 6612
pos = 10,-128
postype = p1
sprpriority = 5
scale = 4,4
removetime = 3

[State 1200, er2at]
type = Explod
trigger1 = time = 18
anim = 6612
ID = 6612
pos = 12,-130
postype = p1
sprpriority = 5
scale = 4.8,4.8
removetime = 50

[State 1200, er2at]
type = Explod
trigger1 = time = 68
anim = 6612
ID = 6612
Vel = 0,7
pos = 12,-130
postype = p1
sprpriority = 5
scale = 4.8,4.8
removetime = 60

[State 1200, er2at]
type = Explod
trigger1 = time = 16
anim = F17
pos = 12,-150
postype = p1
sprpriority = 5
;removetime = -1

[State 1200, er2at]
type = Explod
trigger1 = time = 16
anim = F17
pos = 12,-110
postype = p1
sprpriority = 5
;removetime = -1

[State 1200, er2at]
type = Explod
trigger1 = time = 18
anim = F10
pos = 12,-150
postype = p1
ontop = 1
removetime = -1


[State 22, roundt]
type = EnvShake
trigger1 = time = 18
freq = 88
time = 10
ampl = 7

[State 22, rndt]
type = Playsnd
trigger1 = time = 18
value = 5,21
;volume = 100

[State 22, 245t]
type = Playsnd
trigger1 = time = 18
value = 5,31
volume = 100

;--- Para quedar decapitado en el suelo ---

[Statedef 6006];6614
type = S
movetype= H
physics = S
ctrl = 0

[State 9399, 2]
type = varset
trigger1 = time = 0
v = 45
value = 6611

[State 9399, 2]
type = Selfstate
trigger1 = time = 0
value = 5150

; Invisible al final :P
[Statedef 6007]
type = S
movetype= H
physics = S
ctrl = 0
velset = 0,0,0

[State 9399, 2]
type = varset
trigger1 = time = 0
v = 45
value = 888

[State 9399, 2]
type = Selfstate
trigger1 = time = 0
value = 5150

;--- Para quedar decapitado en el suelo en fatal de goro ---

[Statedef 6008];6614
type = S
movetype= H
physics = S
ctrl = 0

[State 9399, 2]
type = varset
trigger1 = time = 0
v = 45
value = 6008

[State 9399, 2]
type = Selfstate
trigger1 = time = 0
value = 5150

0

#5 L   Nobun 

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

Inviato 24 May 2009 - 13:29

Uhm.... non è facile racapezzarsi. Come dico sempre analizzare il codice fatto da altri è parecchio più difficile che scriverselo da soli anche perché bisogna riuscire ad intuire lo schema di base logico che sta dietro a determinate scelte e funzionamenti.

Da quello che mi è parso di capire (anche perché è un codice parecchio lungo) qui l'effetto finish him è un effetto combinato. Per effetto combinato intendo dire che è un effetto che dipende dal verificarsi di alcune condizioni che devono essere contemporaneamente presenti SIA sul char che SUBISCE la fatality sia sul char che la ESEGUE.

Da una occhiata veloce al codice ho capito che l'effetto fatality, oltre che essere legato al momento finale del round, è anche legato alla presenza di determinati state nel char avversario che permettono l'attivazione della mossa.

E se ci pensi è abbastanza logico: il char che sta per andare KO (che in realtà hai già steso a terra) deve o "sopravvivere" o comunque impedire in qualche modo la fine del round per permettere a chi esegue la fatality di avere il tempo di farlo. Allo stesso tempo deve morire da solo entro un limite di tempo massimo.

Il char che invece sta per ESEGUIRE la fatality deve sapere che l'avversario si trova in un certo state (attesa fatality), e deve ESEGUIRE anche le seguenti fasi (sempre il char che ESEGUE la mossa):

1) Far dire FINISH HIM!
2) Ridare il controllo per eseguire la combinazione
3) Eseguire la fatality e quindi:
4) Avere lo state della propria fatality ed eseguire la propria mossa
5) l'avversario deve POSSEDERE lo state di "subita fatality" relativa a quella data fatality (es. quando Sub-Zero stacca la testa ci deve essere lo state in cui c'è il char senza testa a cui schizza il sangue prima di cadere a terra)
6) far dire la frase FATALITY

------

Quindi l'effetto, così come è strutturato, è possibile (sempre ammesso che ho capito giusto perché la mia è una lettura a grandi lineee) solo quando ENTRAMBI i char in combattimanto sono predisposti per eseguire quel dato effetto ed hanno TUTTI gli state necessari.

Temo quindi che, anche inserendo tutti i comandi state -2 e state -3 da te menzionati in un altro char (es. KFM) ed anche inserendo la programmazione aggiuntiva (quel file .sf che mi hai quotato) non è detto che ciò basti per far funzionare correttamente la fatality anche sul/dal altro char (es. KFM).

In ogni caso, per come è stata programmata, è IMPOSSIBILE generalizzare l'effetto a tutti gli eventuali char che non sono stati pensati per eseguire quello stesso identico effetto.

Questa è la mia impressione, ovviamente posso essere smentito.

In ogni caso non escludo si possa RIPROGRAMMARE DACCAPO l'effetto in modo da permettere a Sektor, quantomeno, di poter SUBIRE una fatality di default (con un colpo normale) da parte dei giocatori e di creare una fatality di default contro di essi (ciò però aggiungendo solo sangue oppure rimpiazzando gli avversari con un explod - quest'ultimo caso possibile per una fatality tipo quella di scorpio che incenerisce l'avversario facendo apparire uno scheletro).
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