Estatísticas | Total Online: 1 Visitantes: 1 Usuários: 0 |
|
Esse tutorial vai ensinar a vcs como bloquear as teclas F1, F2 e infelizmente o Espaço
Primeiramente você precisa ter o StateDef -2 no seu char, caso não tenha, apenas adicione a seguinte linha no seu char: Agora vou explicar mais ou menos como funciona o code. Iremos criar um helper, esse helper vai ser idêntico ao char e será controlado pelo jogador, enquanto mandamos o char pra um State com animação invisível, ou seja, o Player irá controlar o helper ao invés do char. Usaremos também variáveis para controlar a vida do char para ficar igual a vida do helper, e é ai q fica o segredo! Como F1, F2 e Espaço não afetam helpers, essas teclas não conseguiram mexer na vida do char, q será igual a do helper ^^ Vamos então chamar nosso helper: Code [State -2, Helper] Type = Helper ;<-- Chama o Helper TriggerAll = NumHelper(9000) = 0 ;<-- Se não tiver nenhum outro helper igual a esse Trigger1 = RoundState = 1 ;<-- E também se estiver na introdução da luta Trigger1 = Var(43) = 0 ;<-- Pequena correção de bug xD HelperType = Player ;<-- Vai ser um helper considerado como Jogador Name = "Char" ;<-- Nome do helper ID = 9000 ;<-- ID do helper StateNo = 191 ;<-- O Helper vai para a introdução do char Pos = 0,0 ;<-- Posição do helper PosType = P1 ;<-- Posição em relação ao P1 Facing = 1 ;<-- Olhando pra mesma direção do char KeyCtrl = 1 ;<-- O Player poderá controlar o helper OwnPal = 1 ;<-- O helper terá paleta própria
[State -2, Helper 2] Type = Helper TriggerAll = NumHelper(9000) = 0 Trigger1 = RoundState = 2 ;<-- Se o player tiver pulado a intro, vai chamar o helper também Trigger1 = Var(43) = 0 ;<-- Pequena correção de bug xD HelperType = Player Name = "Char" ID = 9000 StateNo = 0 ;<-- Mas direto na stand Pos = 0,0 PosType = P1 Facing = 1 KeyCtrl = 1 OwnPal = 1 Agora vamos usar alguns controles no Helper para ele não bugar: Code [State -2, Turn] Type = Turn ;<-- Isso fará o helper virar Trigger1 = IsHelper(9000) ;<-- Se for o helper Trigger1 = StateNo = 0 ;<-- E ele estiver na Stand Trigger1 = P2Dist X < 0 ;<-- E o P2 tiver passado por ele
[State -2, LifeSet] Type = LifeSet ;<-- Isso vai definir a quantidade de vida do Helper Trigger1 = IsHelper(9000) Trigger1 = Life > 1000 ;<-- Se o helper tiver mais do que 1000 de vida (obs: Helpers entram em cena com muuuuuuuita vida) Value = 1000 ;<-- Vida do helper
[State -2, CtrlSet] Type = CtrlSet ;<-- Irá definir o controle do Helper Trigger1 = IsHelper(9000) Trigger1 = RoundState = 2 ;<-- Quando estiver no momento da luta Trigger1 = PrevStateNo = 191 ;<-- E se o state anterior for a Intro Value = 1 ;<-- Controle
[State -2, StopSnd] Type = StopSnd ;<-- Para o som TriggerAll = IsHelper(9000) Trigger1 = Life = 0 ;<-- Quando o helper morrer Trigger2 = Win ;<-- Ou vencer Trigger3 = Lose ;<-- Ou perder Trigger4 = DrawGame ;<-- Ou empatar Channel = 0 ;<-- Canal do som
[State -2, DestroySelf] Type = DestroySelf ;<-- Irá fazer o helper sumir TriggerAll = IsHelper(9000) Trigger1 = Life = 0 Trigger2 = Win Trigger3 = Lose Trigger4 = DrawGame Agora usaremos Variáveis para definir guardar a posição do helper e fazer o char seguir o helper: Code [State -2, ParentVarSet] Type = ParentVarSet ;<-- Seta uma var do "Pai" do helper Trigger1 = IsHelper(9000) Trigger1 = Root,Var(40) != Floor(Pos X) ;<-- Quando a var(40) do char for diferente da posição X arredondada do helper (obs: Posição tem valores arredondados) V = 40 ;<-- Vai usar a var 40 Value = Floor(Pos X) ;<-- A var 40 vai valer a posição X arredondada do helper
[State -2, ParentVarSet 2] Type = ParentVarSet ;<-- Mesma coisa do de cima Trigger1 = IsHelper(9000) Trigger1 = Root,Var(41) != Floor(Pos Y) ;<-- Mas com a posição Y V = 41 ;<-- E usando a var 41 Value = Floor(Pos Y) Agora vamos usar mais duas variáveis, uma para ativar quando o Helper estiver com 1000 de vida e outra para guardar a vida do Helper: Code [State -2, ParentVarSet 3] Type = ParentVarSet Trigger1 = IsHelper(9000) V = 42 ;<-- Vamos usar a Var 42 Value = Life ;<-- Para armazenar a vida do helper
[State -2, ParentVarSet 4] Type = ParentVarSet Trigger1 = IsHelper(9000) Trigger1 = Life = 1000 ;<-- Quando o helper estiver com 1000 de vida V = 43 ;<-- A var 43 Value = 1 ;<-- Será "ativada" Agora vamos mandar o char para um State com animação invisível: Code [State -2, ChangeState] Type = ChangeState ;<-- Vai mandar para outro state Trigger1 = !IsHelper(9000) ;<-- Se não for o helper (ou seja, se for o char) Trigger1 = NumHelper(9000) = 1 ;<-- E se o helper já estiver na tela Trigger1 = StateNo != 7000 ;<-- E também se o char já não estiver no state Trigger1 = Life > 0 ;<-- E somente se o char estiver vivo Value = 7000 ;<-- Valor do state Ctrl = 0 ;<-- O Player não poderá controlar o char, só o helper Agora vamos criar uma animação invisível, eu vou usar a animação 7000, é só criar uma Begin Action e usar a Imagem -1 do grupo -1 q fica invisível, caso saiba mexer no air pelo bloco de notas, é só adicionar esse code: Code ; Char invisível [Begin Action 7000] -1,-1, 0,0, 1, Agora vamos criar o State 7000 e programa-lo: Code [StateDef 7000] MoveType = I ;<-- O Char não está atacando e nem levando Hit Physics = N ;<-- Física nula Anim = 7000 ;<-- Animação invisível Ctrl = 0 ;<-- Sem controle do char
[State 7000, StateTypeSet] Type = StateTypeSet ;<-- Muda o Tipo do state Trigger1 = Pos Y < 0 ;<-- Se o char estiver acima do chão Trigger1 = StateType != A ;<-- E já não estiver no Tipo "Air" StateType = A ;<-- Muda para "Air"
[State 7000, StateTypeSet 2] Type = StateTypeSet Trigger1 = Pos Y >= 0 ;<-- Se char estiver no chão Trigger1 = StateType != S ;<-- E já não estiver no Tipo "Stand" StateType = S ;<-- Muda para "Stand"
[State 7000, NotHitBy] Type = NotHitBy ;<-- Impede que o char seja atingido Trigger1 = 1 ;<-- O tempo todo Value = SCA ;<-- Por qualquer golpe Time = 1 ;<-- Duração (obs: como o code será ativado o tempo todo, a duração pode ser 1 mesmo)
[State 7000, AssertSpecial] Type = AssertSpecial ;<-- Define uma utilidade especial para o char Trigger1 = 1 Flag = Invisible ;<-- O char ficará Invisível
[State 7000, PosSet] Type = PosSet ;<-- Define a posição do char Trigger1 = Var(40) != Floor(Pos X) ;<-- Caso a posição X seja diferente da Var 40 X = Var(40) ;<-- A posição X será a var 40 q o helper definiu no char
[State 7000, PosSet 2] Type = PosSet ;<-- Mesma coisa do de cima Trigger1 = Var(41) != Floor(Pos Y) ;<-- Mas com a posição Y Y = Var(41) ;<-- E var 41
[State 7000, LifeSet] Type = LifeSet ;<-- Irá definir a vida do char Trigger1 = RoundState = 2 ;<-- Se já estiver no período de luta Trigger1 = Var(43) = 1 ;<-- Caso a var 43 já esteja ativada Trigger1 = Life != Var(42) ;<-- E a vida do char for diferente da Var 42 Value = Var(42) ;<-- A vida do char terá o mesmo valor da Var 42 definida pelo helper
[State 7000, LifeSet 2] Type = LifeSet ;<-- Code para corrigir um pequeno Bug xD Trigger1 = NumHelper(9000) = 0 Value = 0
[State 7000, ChangeState] Type = ChangeState ;<-- Muda o state do char Trigger1 = Win ;<-- Caso o char vença a partida Trigger2 = Lose ;<-- Ou perca a partida Trigger3 = DrawGame ;<-- Ou Empate a partida Value = 0 ;<-- O char volta para o stand Ctrl = 1 ;<-- E o Player reganha o controle do char E é isso! O State 7000 pode ser outro de sua preferência, assim como a animação e as variáveis ^^ Espero que vocês entendam e gostem do tuto o/ Flws ^^
|
Hospedagem | Deseja ter seu trabalho hospedado aqui? Clique aqui. |
Calendário | « Maio 2024 » | S | T | Q | Q | S | S | D | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
Link Us |
Clique na imagem para ver o código.
|
|