YouTube Transcript:
PRIMEIROS PASSOS - COMBATE COM ESPADAS NO ROBLOX
Skip watching entire videos - get the full transcript, search for keywords, and copy with one click.
Share:
Video Transcript
View:
seja muito bem-vindo a mais um vídeo no
canal e nesse vídeo aqui eu vou te
transformar em um ninja no mago da
catana então aqui nós vamos ter as
animações zinhas e também a animação de
ataque não esquece de deixar o seu like
porque senão o seu jogo não vai
funcionar e eu não vou te ajudar hein
então deixa o like aí bora pro vídeo
então agora aqui de volta no Roblox
Studio já deixei um projeto criado e o
que eu vou fazer vai ser clicar em game
settings vamos salvar o nosso projeto e
eu vou chamar ele de tutorial vou chamar
de
vídeo su
Combat beleza sem o team Create vou dar
um save e assim que ele voltar eu volto
Beleza já voltei aqui e uma outra
configuração que eu quero fazer também é
vir aqui em game settings Avatar e eu
vou trocar pro R6 vou dar um save Yes e
agora a gente já pode começar primeira
coisa que eu vou fazer é importar as
animações que vou precisar de algumas
Então vou vir aqui na minha View tobox e
eu vou procurar por catana animations
Então já tenho aqui ess modelinho aqui
aqui que eu quero usar que ele é bem
legal então eu vou deixar ele aí o link
do modelo também para você mas é esse
cara aqui ó o primeiro que aparece desse
Jordan alguma coisa então é esse cara
que eu vou utilizar e agora eu posso vir
aqui em Avatar Animation editor e agora
eu vou começar a pegar as animações que
eu preciso Então a primeira animação que
eu quero é a de Idol que é quando ele
segura a espadinha então vou clicar aqui
vamos importar todas as animações e essa
daqui ó ela vai ficar segurando a
espadinha assim bem legal então vou vir
aqui agora nos três pontinhos vou setar
a prioridade dela como Action Então vou
colocar aqui ó Action e agora eu vou
publicar publish to
Roblox vou deixar o nome de S de Sword
Combat SC tracinho Sword Idol dessa
forma aqui vou salvar minha animação vou
copiar o ID dela e eu vou criar um
script aqui só para guardar essas
informações Então vamos vir aqui ó
script vou chamar ele de
Idol eu vou passar aqui a minha animação
e agora eu vou pegar a próxima animação
que é a dele andando Então vamos pegar
aqui ó SW Walk que é essa daqui vamos lá
três pontinhos Action e agora eu vou
publicar ela no Roblox também SC
tracinho Sword Vamos dar um save copiar
o id e jogar ele aqui dentro então vamos
pegar aqui ó Walk vou colocar ele aqui e
agora eu vou começar os ataques então
para esse projeto eu vou fazer uns
ataques Bem Simples então aqui ele tem o
rev também né que seria um ataque pesado
mas no caso eu vou utilizar só esses
normais mesmo então vou pegar aqui ó O
Ataque um ó esse ataque aqui e aí eu já
quero deixar pronto o evento também que
eu quero usar então no caso eu vou
escolher o frame que eu quero colocar
por exemplo no 09 aqui ó eu acho que já
fica legal então vai ser nesse cara aqui
ó o 09 vamos clicar aqui com o botão
direito e eu vou colocar o add Animation
event here e eu vou clicar nele
adicionar um novo evento e o meu evento
vai se chamar Hit vou dar um save você
você vai entender para que que a gente
vai utilizar esse evento depois e agora
eu vou vir aqui em Action ó tá como
Action já vamos publicar no
Roblox e eu vou colocar aqui um SC na
frente SC dessa forma Vamos dar um save
E aí eu vou fazer isso para todas as
animações então aqui no caso eu tenho
quatro ataques então tenho aqui ó o Cadê
o primeiro 1 2 3 4 e 5 na verdade mas
acho que eu vou fazer só quatro deixa eu
ver esse aqui ah vamos fazer o cinco e
eu vou fazer a mesma configuração vou
selecionar o frame que eu quero aonde eu
vou criar a minha Hit Box E aí eu vou
colocar o od Animation here quando eu
voltar com todas as animações eu mostro
para vocês depois de fazer a
configuração de todos os ataques nós
vamos precisar configurar a nossa arma
que no caso vou usar essa catana mesmo
então vou vir aqui ó dentro do modelo
ela já está como uma ferramenta então
isso aqui já ajuda pra gente vou copiar
ela vou dar um copy vou jogar ela dentro
do meu Starter pack Então vamos colocar
ela aqui dentro e aqui eu vou fazer uma
configuração que é o seguinte vou
colocar uma pasta Então vou pegar um
folder Vou Chamar esse folder de
animations Então vamos pegar aqui ó
animations e aqui dentro eu vou colocar
todas as animações por que que eu vou
colocara aqui dentro porque se eu quiser
ter outras espadas com outras animações
diferentes eu posso utilizar essa mesma
estrutura e vai funcionar do mesmo jeito
Beleza então vamos lá eu já tenho as
animações criadas Então vou só copiar e
colar para você criar suas animações
Você vai clicar aqui com o botão direito
com com no maizinho quer dizer vai
selecionar o Animation e aqui você vai
dar o nome para ela por exemplo Idol E
aí você vai passar o seu Animation ID no
caso eu tenho aqui ó o Animation ID que
eu deixei guardado você vai copiar esse
valorzinho vai colocar ele aqui dentro ó
Animation ID dessa forma aqui que ele
vai ficar Beleza então você faz isso
para todas as suas animações então eu
vou fazer o seguinte aqui ó vou deletar
esse idle que eu já tenho uma pronta
aqui deixa eu pegar minha colinha e eu
vou mostrar para vocês ó copy
vou deletar essa pasta que eu já tenho
uma paste into E aí ela ficou dessa
forma aqui ó eu tenho o idle e o WK fora
né dessa pasta de ataques dentro da
pastilha de animations e dentro de
ataques Eu tenho meus quatro ataques e é
muito importante que os ataques que as
animações de ataqu sejam nomeadas assim
ó 1 2 3 4 pra gente conseguir pegar e
saber qual que é a próxima animação que
tem que ser tocada Beleza então agora se
eu vier aqui dar um play no jogo vamos
ver o que vai acontecer ó meu personagem
já tá aqui a catana tá aqui embaixo se
eu equipo ela ela já fica aqui só que
ela tá com animação errada né e a gente
ainda não fez também os ataques Então
vamos fazer isso primeira coisa que eu
quero fazer é criar um local script aqui
dentro dentro da minha catana então vou
vir aqui local script e eu vou chamar
ele de handler Então vamos chamar aqui ó
handler e ele vai ser responsável por
lidar com tudo que eu tenho dentro da
minha arma e aí eu vou fazer o seguinte
eu preciso de dois serviços Então vou
pegar o serviço do players game get
players e eu também vou precisar do user
input service porque eu quero fazer de
uma forma um pouquinho diferente para
mostrar esse serviço PR você também
então vamos pegar aqui ó user input
service Beleza já temos esses dois e eu
também preciso pegar a referência da
minha Tool Então vamos pegar ela aqui ó
local Tool que vai ser o script.on
parent que a seria no caso a referência
da minha ferramenta que é a minha catana
E aí depois disso eu preciso pegar minha
pastinha de animações Então vamos pegar
aqui ó local animations to. animations
Então já tenho ela aqui também e agora
eu vou pegar uma pastinha com todas as
animações de ataques Então vou colocar
aqui ó Attack animations que ela tá
dentro de animations p
Attack e eu vou fazer um get Children
para ele pegar todos os valores que eu
tenho aqui dentro né 1 2 trê e o quatro
e aí o que eu vou fazer agora eu preciso
escutar alguns eventos os primeiros
eventos que eu quero escutar são da
própria ferramenta que é quando o
jogador equipar a minha ferramenta e
quando ele tirar ela então eu vou vir
aqui embaixo vou fazer um Tool ponto
equip equip equip esse carinha aqui
Connect vou me conectar ele e eu também
preciso do unequipped que é quando ele
remove a arma ali que ele para de
utilizar ela então vou precisar criar
essas duas funções Então vou criar elas
aqui em cima para ficar mais organizado
fazer um local function on equipage
assim vou passar ela
aqui e eu também vou
precisar do unequipped que é esse cara
aqui vou copiar e colar ele aqui então
agora nós já temos essas duas funções E
aí o que eu quero fazer a primeira coisa
é tocar minha animação de idle né quando
ele equipar nossa arma Então vou vir
aqui e eu vou carregar minha animação de
Idol e eu vou carregar ela fora das
funções por quê Porque eu vou precisar
da referência dela em outros scripts em
outros métodos também então não posso
fazer ela aqui dentro eu vou vir aqui e
vou fazer o seguinte local idle
Animation track que é a nossa track de
animação E aí eu vou precisar pegar
também o nosso humanoide Então vamos
pegar o humanoide aqui do Play a aqui
embaixo eu vou fazer um local Player
igual players P local play então já
tenho aqui o meu personagem vamos pegar
o Carter desse personagem desse jogador
né na verdade então Carter ou player.on
Carter assim por que que eu fiz assim
porque se eu tentar acessar a
propriedade do carter e ele ainda não
for carregado ele vai esperar ele ser
adicionado para poder pegar o Carter
assim eu não corro o risco do meu Carter
T New quando eu tentar utilizar ele e
agora eu vou pegar o meu humanoid Então
vamos pegar aqui ó humanoid e aí eu vou
fazer um Car dois pontos é find first
child humanoid então ele vai pegar aqui
o meu humanoid e eu também preciso do
meu animator que fica dentro do humanoid
Então vou pegar aqui ó animator e aí eu
vou fazer humanoid find first Child of
class então eu vou pegar um filho
específico de uma classe que eu passar
aqui que no caso é o animator por que
que eu fiz dessa forma para ele
completar o código para mim para ele
entender que esse cara aqui é um
animator Beleza então eu fiz desse jeito
para ele completar aqui pra gente o
código e eu vou fazer animator dois
pontos load Animation E aí eu vou passar
o meu animations pidl dessa forma a
animação ela já está carregada ela só
não vai tocar e eu vou fazer a mesma
coisa pro Walk então vou fazer Walk
Animation assim animator load Animation
E aí eu vou fazer
animations PW dessa forma aqui e aí
quanto que eu vou tocar essas animações
a primeira animação que a gente vai
tocar vai ser o idle que é quando ele
equipar nossa arma eu quero já tocar o
Idol então vou fazer Idol Animation dois
pontos Play dessa forma aqui e agora
olha só o que vai acontecer vou dar um
play no nosso
jogo ele tá aqui beleza Ó tá certinho
vou selecionar e ele não tocou por Eu
acho que eu esqueci de trocar para R6
vamos ver ó Security Avatar R6 Não ele
tá com R6 não sei porque que ele
carregou o meu personagem como R15 Ah
agora foi ó Então agora ele tá com mais
seis vou selecionar ela e ele já equipou
só que agora se eu tento andar ele fica
voando né porque eu ainda não tô tocando
o idle Então vamos fazer isso a primeira
coisa que eu quero fazer é definir
quando eu preciso tocar essa animação e
quando eu vou tocar animação de Idol
quando o jogador Começar a andar então
eu vou precisar também pegar uma um
evento escutar um evento dentro do
humanoide que é para saber quando ele tá
correndo especificamente para pegar a
velocidade dele pra gente fazer isso é
bem tranquilo o que eu vou fazer
Human Run assim run ah el não
completando PR gente então vamos fazer
diferente aqui ou utilizar o mesmo off
aqui e agora sim ele vai entender que
aquilo éo eu tenho esse evento de Run e
esse evento de Run ele vai passar pra
gente a velocidade atual do jogador
Então dessa forma eu sei se ele andando
ou não eu V criar uma função aqui emima
que vai ser local
function
Run passando Speed colocar Number aqui E
aí eu vou escutar esse evento ó Então
vamos vir aqui ó on Running vou colocar
ele aqui ó e vou dar um print print on
na verdade no Speed E aí eu vou e vou
mostrar o meu output aqui ó vamos dar um
Play e aqui ele esqueci de conectar
alguma função vamos ver deixa eu voltar
Ah tá esqueci de equipar aqui esqueci de
passar o meu unequipped e agora ele deve
funcionar perfeitamente Então vou
equipar minha arma ó ele tá com 15 zer
12 então agora já sei quando ele tá
andando e quando ele não está andando é
exatamente isso que eu preciso para
entender quando eu preciso tocar minha
animação de Running ou não E aqui uma
coisa é eu quero guardar a referência
dessa conexão porque eu vou desconectar
ele depois que ele for
desequipar que vai ser
Running Connection pode ser e eu vou
chamar ela de rbx script Connection E aí
eu vou colocar ele aqui igual eu vou
guardar esse valor aqui pra gente usar
daqui a pouco então agora o que que eu
vou fazer lá no meu on Running eu vou
fazer o seguinte se o jogador estiver
com a velocidade então se a Speed for
maior do que zero e a animação de Walk
não estiver tocando eu preciso tocar ela
eu preciso parar de Idol e tocar a de
Walk então vou fazer o seguinte ó se o
Speed for maior do que
zero se o Walk Animation ponl ou seja se
a velocidade de ele é maior do que zero
e o Walk já está tocando cara não faz
nada retorna e eu não preciso fazer nada
mas se ele não estiver tocando que é o
que vai acontecer aqui embaixo eu vou
precisar fazer um
Idol Stop Então vou parar minha animação
de Idol e vou tocar minha animação de
Play e vocês me desculpem tá Se tiver
uma buzina aí do lado é porque eu
comecei a gravar e apareceu um carro
aqui com com o alarme disparado mas eu
acho que vai ficar legal os o áudio do
vídeo e agora aqui ó o que eu vou fazer
se a animação tiver o Speed igual ou
menor do que zero né menor não dá certo
mas igual aqui ela pode ficar igual a
zero que é quando o jogador tá parado eu
vou colocar um else E aí eu vou fazer o
seguinte se o meu Idol estiver tocando
então tá certo eu não preciso fazer mais
nada vou dar um return E agora se ele
não estiver tocando o que eu vou fazer é
parar o meu Walk Então vou parar aqui ó
o stop parar o Walk e eu vou dar play no
Idol dessa forma aqui vamos ver se isso
aqui vai funcionar então agora meu
personagem tá aqui beleza ó consigo
andar consigo pular as animações Estão
tocando vou equipar minha catana tá no
idle Beleza E agora começo a andar ele
funciona perfeitamente parei ele volta ó
tá vendo ele até agacha um pouquinho
quando ele tá no idle E aí se eu tiro a
minha arma não acontece nada né ele
continua dessa mesma forma então a gente
precisa resolver esse problema também E
aí eu vou fazer o seguinte vamos vir
aqui no une equipage e aí o que eu quero
fazer é só parar de ouvir o meu Idol
então vou fazer o Idol Stop vou parar o
o o Idol
vou parar também o meu Walk porque eu
não quero mais tocar essa animação e eu
também vou me desconectar desse evento
do Running porque eu não preciso mais
ficar escutando ele então vou fazer aqui
um desconect por enquanto é isso e agora
vou dar um play no jogo aqui pra gente
ver ó tô andando equipei a minha arma
ele anda beleza certinho também no no no
Idol e agora vou tirar a arma ele volta
ao normal então aqui nós já conseguimos
configurar as animações e agora a gente
já pode partir pro ataque então vamos
fazer o controle aqui do ataque a
primeira coisa que eu vou fazer é
começar a usar o meu user input service
Então vou pegar ele aqui vamos fazer
aqui embaixo a conexão desse evento e o
evento que eu vou fazer é o user input
service P input begin que é quando o
jogador clica não quando ele solta e eu
vou me conectar a esse evento e aqui eu
vou precisar de uma função e também ele
vai receber alguns parâmetros Então
vamos vir aqui embaixo eu vou criar um
local function on input begin assim eu
vou precisar eu vou ele recebe dois
argumentos ol ele até completou aqui
para mim que é o seguinte o input é
relacionado a tecla que o jogador
digitou né que ele pressionou na verdade
então se foi o mouse foi o teclado se
foi o gamepad e aqui esse game process é
um valor de controle que eu consigo
saber se essa se esse controle foi por
exemplo na ui Porque se o jogador clicar
um botão eu não quero fazer com que ele
ataque porque ele tá tentando fazer uma
outra coisa ele não tá tentando atacar
Então se o game process for verdadeiro
eu vou retornar porque a Ele clicou foi
na ui não foi dentro do jogo ali em si e
aí agora o que eu quero fazer também é
verificar qual que foi o input que ele
digitou porque isso aqui ele vai pegar
todos os inputs então se eu vier aqui
agora e der um print ó ataque por
exemplo Então vamos fazer aqui ó ataque
se eu fizer dessa forma Tudo que eu
pressionar vai ser ataque Então não é
isso que eu quero Então vou vir aqui
agora e eu vou fazer o seguinte vamos
pegar esse carinha eu vou fazer um se o
meu input pon user input type for igual
deu vontade de espirrar tive que pausar
o vídeo foi mal e agora aqui o inam e
user input Type Mouse Button One no caso
eu vou escolher apenas o clique do mouse
esquerdo para poder atacar aí o que eu
vou fazer é chamar uma função ataque
aqui então basicamente é isso que a
gente precisa e agora vou vir aqui ó no
meu ataque Vamos colocar ele pode ser
aqui então fazer local function ataque e
aí eu vou dar um print aqui ó ataque
dessa forma Então vamos ver o que que
vai acontecer agora tô andando beleza e
eu vou pressionar o botão ele vai atacar
então isso aqui não pode acontecer a
gente precisa resolver também mas se eu
tô com a catana equipada ó ele faz
também e agora se eu clico por exemplo
aqui ó vamos ver ó tá vendo se eu clico
aqui ele não mostra porque o game
process tá verdadeiro porque eu estou
clicando na ui então ele não vai jogar
aquele input para mim como se fosse um
ataque Então vamos resolver esse
problema de quando a catana não tá
equipada eu vou vir aqui e vou criar uma
variável de controle Cadê Vamos criar
ela aqui em cima que vai ser um can
ataque ele vai começar como falso e aí o
que eu vou fazer
se o can Attack for falso Então vou
colocar aqui not can Attack ele retorna
e ele não vai poder mostrar isso e
quando o meu k Attack vai se tornar
verdadeiro quando eu equipar minha arma
Então vou vir aqui e vou fazer o
seguinte can Attack iG e ele vai ficar
falso quando eu desequipar minha arma
Então vou vir aqui ó ataque igual falso
dessa forma aqui então vou dar um play
no jogo ó beleza Agora consigo clicar e
não acontece nada mas eu t com a catana
equipada Aí sim ele vai mostrar o atque
então agora a gente já pode partir pra
parte das animações Então vamos começar
as animações a primeira coisa que eu vou
fazer é quando ele começar um ataque eu
preciso transformar o Ken ataque em
falso para ele não poder atacar de novo
enquanto a minha animação tiver tocando
e aqui eu também preciso parar o meu
Idol e eu também preciso parar o Walk
não sei qual que tá tocando então vou
parar as duas aqui para ser mais seguro
e aí o que eu vou fazer é carregar a
animação que eu quero então ataque
Animation track que eu vou chamar aqui
pro nome não ficar muito grande eu vou
colocar só loaded Animation que é
animação que foi carregada eu vou chamar
meu animator dois pontos load Animation
e eu tenho o meu Attack animations aqui
E lembra que eu falei para você colocar
aqui ó o Attacks como 1 2 3 e 4 porque
nós vamos precisar desses valores aqui
para poder buscar e saber qual ataque o
jogador tá então eu vou vir aqui em cima
e vou fazer o seguinte local current
ataque e ele sempre vai começar do um
então agora o que eu vou fazer é vir
aqui ó em Attack animations abrir cochet
e eu vou chamar o meu corrente ataque
dessa forma aqui ele vai sempre carregar
esse valor no caso como ele tá assim ó
load Animation Play vou esperar minha
animação terminar então loaded Animation
Stop vou escutar esse evento Vou esperar
até esse evento ser executado E aí sim
eu vou transformar o meu Ken ataque em
verdadeiro de novo Então olha só o que
vai acontecer vou dar um play vamos
equipar nossa arma e agora ele ataca ó
tá vendo ele tá atacando só que aqui tem
um problema que é o seguinte ele não
voltou pra minha animação de Idol por
quê Porque eu não estou escutando o
evento eu não t como eu não tô andando ó
se eu volto a andar ele toca mas se eu
paro ele não não faz a animação Por que
que isso tá acontecendo porque o Running
não foi alterado Então eu preciso chamar
o meu método Run de novo para saber qual
que é o Speed dele para ele ver se ele
precisa ir pro Idol ou se ele precisa ir
pro Walk Então vamos fazer isso vou vir
aqui embaixo e aí eu vou pegar a
velocidade atual do jogador então vou
fazer o seguinte local Speed é igual
humanoid P MOV Direction dessa forma e
eu vou pegar o magnitude que ele vai
pegar pra gente a direção que o jogador
tá indo se ele se tem algum movimento
dentro daquele jogador a eu vou passar
aqui ó on Running com este Speed aqui
então agora se eu voltar no meu jogo vou
dar um play vamos pegar ó ataquei ele
volta pro Idol então se eu ataquei ele
volta pro alk se eu tô parado ele volta
pro Idol então aqui a gente já resolveu
mais um problema o último problema que
eu quero resolver nesse vídeo é as
animações então quero continuar somando
aqui para ele fazer os outros ataques
então quando ele terminar aqui ó o Ken
na ataque eu vou fazer o corrente ataque
mais um Então se tá um vai para 2 3 4 5
6 até a quantidade de ataques que você
tiver no caso aqui eu tenho só quatro
Então como que eu vou resolver esse
problema eu vou fazer o seguinte se o
meu corrente ataque for maior do que o
número de animações que eu tenho no caso
essa hashtag aqui ela vai pegar o
tamanho dessa tabela eu vou voltar ele
pro um então que ele vai fazer 1 2 3 4 1
2 3 4 1 2 3 4 isso aqui é muito bom
porque você pode colocar quantas
animações você quiser aqui então se você
tiver só uma animação ela vai funcionar
Mas se você tiver 10 animações ele
também vai funcionar então isso aqui é
bem legal vai te ajudar bastante aí no
seu jogo então agora vou dar um play de
novo e vamos ver se o nosso combo tá
funcionando ó 1 2 3 4 e aí ele volta ele
vai ficar fazendo isso aqui
infinitamente porque agora o nosso jogo
não vai quebrar porque ele não vai
tentar acessar um valor que não existe
lá dentro do nosso anim esse vídeo era
is isso espero que vocês tenham gostado
no próximo vídeo nós vamos falar sobre
hitbox para fazer com que os nossos
ataques é ataquem outros jogadores de
verdade né possam tirar a vida dele ali
estamo junto e até o próximo vídeo
Click on any text or timestamp to jump to that moment in the video
Share:
Most transcripts ready in under 5 seconds
One-Click Copy125+ LanguagesSearch ContentJump to Timestamps
Paste YouTube URL
Enter any YouTube video link to get the full transcript
Transcript Extraction Form
Most transcripts ready in under 5 seconds
Get Our Chrome Extension
Get transcripts instantly without leaving YouTube. Install our Chrome extension for one-click access to any video's transcript directly on the watch page.
Works with YouTube, Coursera, Udemy and more educational platforms
Get Instant Transcripts: Just Edit the Domain in Your Address Bar!
YouTube
←
→
↻
https://www.youtube.com/watch?v=UF8uR6Z6KLc
YoutubeToText
←
→
↻
https://youtubetotext.net/watch?v=UF8uR6Z6KLc