|
Counter Hit
Esse tutorial é pra fazer um Counter Hit tipo oq tem no SFA3, sei lá se vai ser util pra alguem mas o código tá ai coloque isso no Statedef -3 Quote [State -3, VarSet] type = VarSet trigger1 = (EnemyNear,MoveType = A && EnemyNear,HitDefAttr = SCA,NA,SA,HA) var(7) = 2 Explicando: VarSet vai setar uma var, no caso Var(7), quando o inimigo estiver atacando. O 2 na var (var(7) = 2) vai ser o "contador" enquanto o inimigo está num estado de ataque e tambem é quantos ticks (tempo) vc vai ter pra contra atacar. EnemyNear,MoveType = A vai verificar se o inimigo mais proximo está atacando. EnemyNear,HitDefAttr vai ver se o ataque do inimigo é um ataque fisico, SCA - em pé (S), abaixado ©, aéreo (A), NA - ataque normal, SA - super ataque, HA - hiper ataque. É melhor não colocar pra contra atacar projeteis e throws, pode causar alguns erros dependendo do inimigo (throws) e contra atacar projeteis é meio estranho. :P Quote [State -3, VarAdd] type = VarAdd triggerall = Var(7) > 0 trigger1 = (EnemyNear,MoveType != A || Win || Lose) var(7) = -1 Explicando: VarAdd no caso vai diminuir o valor da var (var(7) = -1) até chegar a zero. Var(7) > 0 o VarAdd só vai começar a subtrair se a var ser maior que zero (var(7) > 0). EnemyNear,MoveType != A o VarAdd só vai começar a subtrair se o inimigo não estiver em um estado de ataque. Opcional Quote [State -3, EnvColor] type = EnvColor trigger1 = (MoveHit && Var(7) > 0) add = 255,255,255 time = 1 under = 1 ignorehitpause = 1 Explicando: EnvColor vai fazer a tela piscar MoveHit && Var(7) > 0 vai fazer a tela piscar apenas se vc acertar o inimigo e a var for maior que zero add = 255,255,255 vai fazer piscar a tela na cor branca time = 1 vai fazer piscar a tela por 1 tick under = 1 faz a tela vai piscar atras dos personagens ignorehitpause = 1 vai fazer ignorar o hitpause dos golpes agora no HitDef do seu char faça isso (linhas com negrito, opcional) Quote [State 200, HitDef] type = HitDef trigger1 = Time = 0 attr = S,NA animtype = Light damage = ifelse(Var(7) > 0,30,20) getpower = ifelse(Var(7) > 0,24,12) givepower = ifelse(Var(7) > 0,0,10) guardflag = MA hitflag = MAFD ID = 200 sparkno = S10000+Var(16) sparkxy = 0,-85 hitsound = Sifelse(Random%2,1,2),0 pausetime = 10,17 guard.sparkno = -1 ground.type = High ground.slidetime = 20 ground.hittime = 20 ground.velocity =-3,0 air.velocity = -2,0 air.animtype = Back Explicando: damage = ifelse(Var(7) > 0,30,20), se quando vc acertar o inimigo e a var for maior que zero, vc vai utilizar counter que vai tirar mais vida do inimigo. getpower = ifelse(Var(7) > 0,24,12), vc vai receber mais power quando acertar o counter. givepower = ifelse(Var(7) > 0,0,10) vai fazer o inimigo não receber power quando apanha no counter. o código acaba ai, se alguem tiver sugestões ou achar algum erro no código pode falar
|
|