How To Make A Combat System In Roblox Studio [TUTORIAL]
Вставка
- Опубліковано 8 вер 2024
- JOIN OUR ACADEMY HERE: 🌟⬇️
www.whop.com/v...
OUR STORE (60% OFF): 📦
www.vuukstudio...
This free combat system package is designed for novice and entry-level game developers embarking on their journey in Roblox. It aims to enhance their proficiency in scripting combat mechanics through a straightforward and effective tutorial video on Creating Combat Systems for Roblox Studio.
RESELLING THIS IS NOT ALLOWED! You can use it in your own games.
DM US ON DISCORD FOR COMMISSIONS ⬇️⬇️ [DO NOT DM FOR A LINK, IT IS IN THE DESCRIPTION]
- Our Discord For Commissions:
Vuuk#5099 [ADD ME AND DM ME FOR A REQUEST]
- Our Virtual Store:
www.vuukstudio...
- Our Twitter:
/ vuukstudios
- Doing Roblox Studio Commissions for PayPal / Stripe USD and Robux on Discord
#Roblox #RobloxStudio
Roblox is an online platform and storefront where users go to play games. Roblox is not a game, it is a place where people play games made by other developers.
---
combat system,roblox combat system,combat,roblox,roblox combat,roblox sword combat,creating a combat system,combat system roblox,creating a combat system in unity,how to make a combat system | howtoroblox,combat system roblox studio,how to make a combat system in roblox,roblox combat tutorial,unity combat system tutorial,advanced locomotion system,roblox scripting tutorial advanced,combat system engineer,rafael advanced defense system
JOIN OUR ACADEMY HERE: 🌟⬇
www.whop.com/vuukstudios-academy
It didn't work again, he says there is an animation problem. Let's make games together in the studio. Send me a friend request. My name is Muhammed_YTBR44.❤❤
bruh animation doesnt work :/ i spent long to do it now aint working u know how?
Because just he wants to advertise so that we pay him 20 subscription to have the third 1 on his old discord and he made this video and to make views because it does a lot of cut + we have absolutely nothing and that he has except the basics of the script but that everyone little do it and so there it is.@@yusufkouba2449
@@yusufkouba2449If you are having trouble getting the animation to play on a character, it could be that you chose r6 animation, but dont have a r6 avatar, or chose r15 animation but dont have a r15 avatar. This is easily fixed by changing it in build. It is possible that you messed up the animation code.
Moi sa ne marche pdt au moment de la deuxième animation
For M1's ;)
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local count = 0
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if Input.UserInputType==Enum.UserInputType.MouseButton1 then
if debounce == true then return end
if count == 0 then
spawn(function()
wait(0.1)
count = count + 1
end)
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
wait(0.2)
game.ReplicatedStorage.CombatHit:FireServer()
print ("E key is pressed")
end
if count == 1 then
count = 0
if debounce == true then return end
debounce = true
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation2)
animation:Play()
wait(0.2)
game.ReplicatedStorage.CombatHit:FireServer()
print ("E key is pressed")
wait(0.3)
debounce = false
end
end
end)
Like this so other people can see this
where do i put these 💀
@@TPZZ fr
/copy
@@TPZZ common sense dawg
/copy
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if Input.KeyCode == Enum.KeyCode.E then
if debounce == true then return end
debounce = true
game.ReplicatedStorage.CombatHit:FireServer()
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
print ("E key is pressed")
wait(3)
debounce = false
end
end)
Like so people can see this
tysm, i couldn’t find what was wrong with my code but this helped me significantly 😭
ive tried everything even copied this but it still doest work anyone know why maybe
@@Ryan1491 did you insert animation id?
thank you idk how to do the quotation marks
bro thanks
If you're having problems with the animation not working, make sure you have your game set to R6 under game settings in the home tab. If you modeled the animation in R6, your character will need to be in R6 for it to work
Thank you. You are a real fucking G and i really appreciate it. You just saved me like 3 hours.
@@willgotmontin6331 Np homie, took me a while to figure out what the problem was myself
Bro you just saved my life!
THANK U THANK U THANK U!!!!
Thanks bro! i appreaciate it
You’re the goat I love you
the 9th line of combat skill can be replaced with
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
to make it activate on left click
ty man
fr
@@isymbol
*MouseButton1Down or MouseButton1Up
i was finding this only
@@Fresh_TheOne just MouseButton1 is enough
I'm very passionate about scripting/programming and I just started, hopefully I could reach the same level as you. Cool script
Thanks brother, supporting you on the journey
I just started thanks@@vuukstudios7635
@@vuukstudios7635I subbed
2:06 how did i type that simbol
@@Nerobzi i think that is debounce = false
game.ReplicatedStorage.CombatHit.OnServerEvent:Connect(function(plr)
print(plr)
local hitbox = Instance.new("Part")
hitbox.Parent = workspace
hitbox.Anchored = true
hitbox.CanCollide = false
hitbox.Transparency = 1
hitbox.Size = Vector3.new(5,5,5)
hitbox.CFrame = plr.Character.HumanoidRootPart.CFrame *CFrame.new(0,0,-5)
game.Debris:AddItem(hitbox,2)
local Hits = {}
hitbox.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name ~=plr.Name then
if not hit.Parent.Humanoid:FindFirstChild(plr.Name) then
if Hits[hit.Parent.Name] then
return
end
Hits[hit.Parent.Name] = true
hit.Parent:FindFirstChild("Humanoid"):TakeDamage(10)
wait(4)
Hits[hit.Parent.Name] = false
end
end
end)
end)
pls like after i had to write this down
got you
Lifesaver🔥
man thanks alot my code it wasn't working for some reason i check everything no idea what i do wrong
@@guzz263 no problem
@@Ribrail still doesnt work
after the second line of combat server you can add task.wait(time u want to delay) to add windup to attacks
thank you
2:06 how did i type that simbol
@@Nerobzi its an equal sign, the video got corrupted
So how do i add a wind up i dont know how to script.
@@noelbot6545 make an animation and put wait(number) before the hitbox creation
FYI for everyone, figured out that if u made the animation in R6, that animation can only work on an R6 Player Avatar. Probably vice versa with R15 but I'm not sure. I used Moon Animator.
@@willywelly6480
Yes, or you could do what other battleground games do and whenever players spawn in, they automatically become R6.
Bro tysm i didnt why my animation wasn't playing now it works ty
yo can you tell me what did he do at 6:17 to make the animation smoother it dosen't appear in the video
thank you
2:06 how did i type that simbol
My paralysis demon woke me to watch this video
notification system is rigged 💀💀💀
Babe wakeup vuuk dropped a new video!
Fr bro
relatable
bros demon said “wake up and get your racks up”
Im late, but heres one with 3 moves and a slight cooldown before reseting and if you dont finish the combo (stop by punch 1 or 2) then it resets after a second!:
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local debounce = false
local animationCount = 0
local resetTime = 2
local lastInputTime = 0
-- Function to play the animation
local function playAnimation(animation)
local anim = plr.Character.Humanoid:LoadAnimation(animation)
anim:Play()
wait(0.2)
game.ReplicatedStorage.CombatHit:FireServer(animationCount)
end
-- Function to check if the player is holding a tool
local function isHoldingTool()
local tool = plr.Character:FindFirstChildOfClass("Tool")
return tool ~= nil
end
UIS.InputBegan:Connect(function(Input, IS)
if IS then return end
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
if debounce or isHoldingTool() then return end
debounce = true
lastInputTime = tick()
if animationCount == 0 then
playAnimation(script.Animation)
print("M1 key is pressed - Animation 1")
animationCount = 1
elseif animationCount == 1 then
playAnimation(script.Animation2)
print("M1 key is pressed - Animation 2")
animationCount = 2
elseif animationCount == 2 then
playAnimation(script.Animation3)
print("M1 key is pressed - Animation 3")
animationCount = 0
wait(1.5) -- Cooldown before the first animation can be triggered again
end
if animationCount ~= 0 then
wait(0.3) -- Time between animations
end
debounce = false
end
end)
-- Coroutine to check for reset condition
coroutine.wrap(function()
while true do
if animationCount ~= 0 and tick() - lastInputTime > resetTime then
animationCount = 0
print("Combo reset due to inactivity")
end
wait(0.1)
end
end)()
please give credit!
AYOOO, THX SO MUCH MAN, i was searching how to change the "E" to "Click", BUT WHEN U HERE, I DONT NEED TO SEARCH IT AGAIN, I WILL PUT U ON CREDIT
thanks bro, it helped very much. i will give credit
@@ItsDarknessmaster No problem dude
how do i put my own animations in?
how do i remove the cooldown
the tutorial is good, but you could probably color up your steps a little more without saying "then do this, then this, then like this" but overall its very informative.
👍
@@vuukstudios7635 yo why cant i do dmg to the rig i copied 1-1 everything and still i couldnt dmg him
@@Trayer-X ye me to
@@vuukstudios7635 its not working for me when i press e can you please help
if you want the attack to be something else like instead of "e" you want it to be left mouse button, then just replace it with this
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
Or we can just get the mouse from the player?
Thx it is a great help, i wanted it to be m1.
Handsome profile pic
what about mobile?
@@jannatunnayeem3631 its more simple but that works you do you
To everyone wondering how to change the animation from Rotate to Move :
Press R On your keyboard, it will change the axis or something idk the name
I saw it changing and thought "ain't no way how he do that"
@@rimspee at first, same, till i saw someone comment it, and i wanna spread the message
for the poeple that are complaining about the animation beeing on loop. then just type
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation.Looped = false
animation:Play()
so your animation isint looping whenever you click "E key"
ty
@@erasmobelt np
@@Klaris530 it still looped for me why?
@@NewbieShineYT you probably pasted it in the wrong place
Under the "local animation =plr.character.humanoid:LoadAnim action(script.animation)
Type "animation.looped = false"
And then "animation:Play()"
tysm i had to make a game for a project and you made it 10x easier to understand all of theese codes, everyone makes it super complicated and you explain it using your own voice wich helped me a lot since others use robot voices making it harder to understand.
same good luck
how do you understand this, I need help 😭
@@cirkit-oneI think you might have a learning disability bro
@@cirkit-onethis isn't for beginners
Maybe you should do simple things before moving to complicated stuff like this
@@tipeanimates837 alright .
one of the most helpful tutorials ive watched yet ngl
real
Just checked your store and damn, I am probably buying some assets there for my own game! :) great stuff my dude
the scrip for ServerScrip I had a problem with my hitting but now it works...
game.ReplicatedStorage.CombatHit.OnServerEvent:Connect(function(plr)
print(plr)
local hitbox = Instance.new("Part")
hitbox.Parent = workspace
hitbox.Anchored = true
hitbox.CanCollide = false
hitbox.Transparency = 0.4
hitbox.Size = Vector3.new(5,5,5)
hitbox.CFrame = plr.Character.HumanoidRootPart.CFrame *CFrame.new(0,0,-5)
game.Debris:AddItem(hitbox,2)
local Hits = {}
hitbox.Touched:Connect(function(hit)
if hit.Parent :FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name then
if not hit.Parent .Humanoid:FindFirstChild(plr.Name) then
if Hits[hit.Parent.Name] then
return
end
Hits[hit.Parent .name] = true
hit.Parent:FindFirstChild("Humanoid"):TakeDamage(20)
wait (4)
Hits[hit.Parent.Name] = false
end
end
end)
end)
no problem
thanks pookie!!
UR THE GOAT BRO
The hero I needed you literally ARE the star man
i did it but it just won't stop like i press 1 time and then it does the m1 multiple time can you find the way
i have a big project but im Brazilian and dont have many videos in Portuguese about roblox studios, i use captions and ur channel help me so much! thx
i think i know u ur thug right?
eu também mano
@@Enig_yt huh?
Im thinking of buying your course. Ive been looking for classes to learn how to animate, script, etc. glad I found you
your such an amazing developer! i wish to see more eye appealing tutorials and paid assets in the future!
🙏 appreciate it
You're*🤓
@@bardzofajnyziemniakI caught that too 😂
@@bardzofajnyziemniakno
@@vuukstudios7635 how can i get my hands on the ragdoll module?
I figured out a common problem when making this is that your animation wont play. To fix this make sure ur game is published to roblox, then click game settings in the home tab, and then set your avatars to r6 or whatever model type you are using
You're a life saver
does it have to be public
@@Peanut0933did u make it public it for it to work
@@Vapixed no it doesn't👍
what is missing here:
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if Input.KeyCode == Enum.KeyCode.E then
if debounce == true then return end
debounce = true
game.ReplicatedStorage.CombatHit:FireServer()
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
print ("E key is pressed")
wait(3)
debounce = false
end
end)
There is nothing wrong and nothing is missing. Are there any errors in the output?
r6 game setting
if you made the animation in r6 you need to make the game r6 only and turn ur avatar into r6
Can u do a left click mouse one
Tip: instead of doing `if value == true then` just do `if value then`.
> Follows tutorial
> "Oh right time to add the ragdoll"
> Goes to link to get the asset
> 20$/month requirement to join the discord
lmfaorn
my animation wont play when i press E key but i did exactly as u said...
Exactly gotta find a newer version or smth
same
Did you make the game r6 or r15 only?
@@daiu3d596 nah it does work trust u prob missed typed something
U did it wrong
1st script for local script:
Local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if Input.KeyCode == Enum.KeyCode.E then
if debounce == true then return end
debounce = true
game.ReplicatedStorage.CombatHit:FireServer()
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
print ("E key is pressed")
wait(3)
debounce = false
end
end
2nd one for scripts:
game.ReplicatedStorage.CombatHit.OnServerEvent : Connect(Function(plr)
print(plr)
end)
I have been having some issues with the hitbox position not really being consistent, like, there’s time it will spawn inside the player, or if the player presses E and turns away quickly the hitbox will be behind the player
Edit: Fixed! It was just the small delay between the animation playing and fireing the server, really shows how even small time amounts can make a huge difference!
how did you fix the delay? I have a problem where if your walking and punch the hitbox is always behind
@@jeleppe6164 oh, I did it by adding that delay he mentions, between the animation and fireing the Remoteevent
this was my first time coding ever and this tutorial made it so much easier thanks man
At this point i dont even know what i wanna be, a couple days ago i was just watching how to make manga tutorials now im watching how to script and code stuff
i feel the same way i suddenly am on a sugar fueled coding rampage then im grinding box fruits then im beating my skull into a wall because damage no damage then im drawing stuff and now im looking into the stock marke- ooh now i am a conputer technicia- wait those books look nice
@@ilovecats2767fr
thats adhd my guy, try knowing more about adhd.....
😈
@@sipiersx5948 as someone who has adhd that's not what it is at all, he just has a low attention span.
BRO I DID THE EXACT SAME STUFF!!!! fisrt manga tutorial then scripting punching games
your store is damn expensive
Edit: nah who the hell liking my comment tell me
EDIT2:OMG IM FAMOUS THX GUYS
I did 7w7
Idk
Me
Lol
Ehehe
bro was going th speed of light ngl
-- Define players
local player1 = game.Players.LocalPlayer
local player2 = nil -- Set player2 to another player, for example, from another device or NPC controlled by the computer
-- Define player stats
local player1Health = 100
local player2Health = 100
local player1Damage = 10
local player2Damage = 10
-- Function to handle player1 attacking player2
local function player1Attack()
player2Health = player2Health - player1Damage
print("Player 1 attacked! Player 2's health is now: " .. player2Health)
end
-- Function to handle player2 attacking player1
local function player2Attack()
player1Health = player1Health - player2Damage
print("Player 2 attacked! Player 1's health is now: " .. player1Health)
end
-- Connect player1's attack function to a key press (for example, "F" key)
game:GetService("UserInputService").InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.F then
player1Attack()
end
end)
-- Connect player2's attack function to a key press (for example, "J" key)
-- Note: Player2's controls should be handled similarly, but this script assumes a single-player scenario
--[[
game:GetService("UserInputService").InputBegan:Connect(function(input)
if input.KeyCode == Enum.KeyCode.J then
player2Attack()
end
end)
--]]
-- Check players' health and end game if one player's health reaches zero
game:GetService("RunService").Heartbeat:Connect(function()
if player1Health
this video made me realize that I will not be able to make the game I wanted to
Underrated UA-camr!! You can explain well and make others understand the concept easily, keep going dude! 🔥🔥
Thank you for the kind words!
@@vuukstudios7635how do you open the output thing?
Yea!
So to make a combat system like the strongest battle grounds i need to continue the combo until 4 and using knockback effects for the first 3 combo then the ragdoll effect for the 4th, but for the 4th combo system I would need to somehow make the hot key to go in order like for example "space then e" but how am I able to make the 4th combo different based off which hot key you choose, for example one 4th combo does a uppercut while the other 4th combo does a down slam? Also how to I make the hotkey click instead of "e" do I just substitute "e" for "click" in the script? Sorry if it's a long read I have no prior knowledge of scripting and I'm extremely curious. Please make a part 2
Tldr: how do I make the 4th combo do different set of combo based on the hot key I chose? How do I make the hot key so you click instead? Please make a part 2
for the E part, to make it m1s instead of e to punch, just uh replace e with MouseButton1, when its mousebutton1 then it translates it for mobile too, so for mobile just click the screen.
@@tazurajulianseditor7389 thanks bro
@@tazurajulianseditor7389thxxx
doesn't work.@@tazurajulianseditor7389
I... I.. my brain hurts.
bro tysm this vid helped so much
Keep up the good work!!!
Someone else's print("E key is pressed") doesn't print when pressed E?
How to add 2 audio effect? 1 when hitting a hitbox and 1 for hitting nothing (air)
OMG THIS VIDEO IS REALLY REALLY HELPFULL THANKS MAN
Anyone struggling at 8:18 on line 11 try replacing CFrame.new with Vector3.new
The rewritten line is something like this
hitbox.CFrame = plyr.Character.HumanoidRootPart.CFrame +Vector3.new(0,0,-5)
ur the goat bro
im currently learning how to code for roblox so tysm! ur tutorial really helped!
How make instance
@@Darklikethevoid Instance.new()
My laptop got off thank god I save it and my hearth was beating fast 😂
Hello, a question: How do you switch between rotating and moving modes while creating an animation??
click r
@@theblueguy9403 thanks so much
The studio buttons
Help! I am at 6:00, and it is working but the animation is like, its sloppy, the animation I made is amazing, but whenever I click e my character just goes "eh" and barely throws the punch and I don't know why!
Wait I fixed it, if someone has this error, make sure your animation is set to Action, then it works!
You are actually a lifesaver tysm
Love your videos man you help me so much with my game thank you
Thank you brother that motivates me 🥳
2:06 how did i type that simbol
YBA devs needs to watch this video fr
animation won't play even though i'm using r6 models for both my animations and character
and i've pretty much copied this guy's instructions throughout the whole video...
but the animations still don't load. the 'e key is pressed' notif still pops up but the animation doesn't play. can anyone explain?
Same
Is your animation priority on action4? If not then set it on action4 and then publish it to roblox again.
Is it normal that when i press "E" only one time it does the two M1's?
I wanted to like, click one time, then click again to do first animation and then second
same problem
try this script
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local count = 0
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if debounce == true then return end
if Input.UserInputType == Enum.UserInputType.MouseButton1 then
if count == 0 then
count = count + 1
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
game.ReplicatedStorage.CombatHit:FireServer()
wait(0.2)
print("MouseButton1 is Pressed")
wait(0.6)
debounce = false
elseif count == 1 then
count = 0
debounce = true
game.ReplicatedStorage.CombatHit:FireServer()
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation2)
animation:Play()
wait(0.2)
print("MouseButton1 is Pressed")
wait(0.2)
debounce = false
end
end
end)
it worked for me
You know an m1 means left mouse click right?
I found out the problem after line 22 of combat skill. Press enter and type "wait(0.5)" then press enter and put this "debounce = false" idk how to make it you click once. It does one animation. Click again it does the other animation.
How do you make a script where you can equip and unequip a sword? And how do you add it to the animation?
To equip a sword put it in the starter pack
I don't know how to animate
The animation didn t play for me
same
Sometime it doesn't work try publishing the game and playing it like someone and see if it works that's how I got it to work
change ur avatar to r6 if you made the animation an r6 animation
@@BraydenDoes_Stuffwhere do you get the r6 avatar?
@@fluffypeat2191you don't need to do that maybe you typed. Instead of : or misspelled animation
Me and my friend like making games together, he’s the coder and I’m the animator/builder, but he refuses to make combat games so I sent this to him and said “here dum dum”
He called me a racial slur but that’s ok
Bro types too fast
Cuz he professional
I KNOW RIGHT!!
Assuming you have a basic understanding of lua
I think it's because that he never touches grass and he's always on his computer typing
Bro types to slow (you)
Got a question, why when i always click E i get an error that says that "Animation is not a valid member of LocalScript" how can i fix it?
Same
@@Wise_Phoenix i actually just fixed it, i had to redo the script and put the animation with the local script with its id again, not too hard
@@8553animations so in on ther word I have to redo it bruhh
@@Wise_Phoenix dont worry bro, if you keep going you will start typing faster
@@8553animations can you explain it simpler? Happened to me, like what the code should be like 😢
how do you press on the EKD?????
just press e
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local count = 0
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if Input.UserInputType==Enum.UserInputType.MouseButton1 then
if debounce == true then return end
if count == 0 then
spawn(function()
wait(0.1)
count = count + 1
end)
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
wait(0.2)
game.ReplicatedStorage.CombatHit:FireServer()
print ("E key is pressed")
end
if count == 1 then
count = 0
if debounce == true then return end
debounce = true
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation2)
animation:Play()
wait(0.2)
game.ReplicatedStorage.CombatHit:FireServer()
print ("E key is pressed")
wait(0.3)
debounce = false
end
end
end
if yall get an error on line 9 at the beginning write input with a small i not a big like in the video that fixed it for me
Why didn't the code for the animation work
Does not work for me either
@SkepticSage_ posted a comment a bit below and it fixed it, but for summary in game settings you have to make the characters R6
My games in r6 and it still didn’t work
@@pumpkin1997 where the part to make ur game r6
Maybe actually understand the code instead of copy and pasting
it didn't work for me🙁
Did do everything right ?
You need to be r6
why cant you just paste everything you wrote in the description?
@MusicMaster320 cus you will not learn anything and copy paste it
@@SayouPlaI don’t think you ever will by just watching a video
@@SayouPla This isn't school, buddy
lazy ahh why dont you just watch the video try learning the script not just copy and pasting
@@Leo44256you will though depending on the video if he just shows the code ofc not but if he actually explains what everything does you can learn from it.
local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS == true then return end
if Input.KeyCode == Enum.KeyCode.E then
if debounce == true then return end
game.ReplicatedStorage.CombatHit:FireServer()
local animation = plr.Character.Humanoid:LoadAnimation(script.animation)
animation:Play()
print("E key is pressed")
wait(3)
debounce = false
end
end)
This helped me make combos! Nice video.
1:00 couldnt we do local UIS = game.UserInputService instead?
Probably
Getservice will wait for the service to load. Using game.service will have a possibility of returning an error when trying to utilize it because the service hasn't loaded yet.
scriptd=local plr = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local debounce = false
UIS.InputBegan:Connect(function(Input, IS)
if IS== true then return end
if Input.KeyCode == Enum.KeyCode.E then
if debounce == true then return end
debounce = true
game.ReplicatedStorage.CombatHit:FireServer()
local animation = plr.Character.Humanoid:LoadAnimation(script.Animation)
animation:Play()
print("E key is pressed")
wait(3)
debounce = false
end
end)
can you make a video showing how to make gui that shows the buttons to press for each attack, with a cool down counter. and maybe show us how to apply this code so you can use a controller to attack as well.
BRO IM NEW TO SCRIPTING PLS SHOW ME HOW TO PUBLISH AND COPY ID BC I CANT, IT DOESNT EVEN SHOW ANYTHING WHEN I CLICK PUBLISH TO ROBLOX, PLS HELP
click file in the top left
My animation wont appear when i press E and i have all the coding right, what could be my problem?
you have to set your game on r6
everything is perfect but i can't rotate the torso of r6 rig
On my opinion This is probably the second best script video😊
sorry this actually helped me make another two part attack so sorry bout my other comment
Man i was so excited to join the discord for the Academy until i found out it cost money but i still respect that since he gotta make money some how
The discord for the assets is free
@@vuukstudios7635 But the discord link itself isnt in description is it? Maybe im blind
Bro, do we need to lean coding in order to make games, even outside roblox?
yes, of course! coding is 90% of game making. making a sucsessful game inside of non-coding game makers is nearly impossible, programmign is telling a computer what to do.
I know Lua and this is a little bit hard but you make it look easy
The animation part for me still didn't work, i pasted the animation code and also checked the code, nothing's wrong, idk why is it not working
Your player should be r6
For new people who found this your animation has to be publish to your group if the game your making is made with your group
Thank you so much! i didn't know this and was wondering what was happening
Thanks for this bro, Now I can start creating this game!!
Your coding might disappointed me but those people aren't following you for no reason, they like supporting u. so keep doing what u doing.
for the viewers: he was using bad practices, when u get pro u will realize tho bad practices so no worries as a beginner focus on fun and learning
When I'm working on the animation, I can't press the bada on the character, how come???
hey so nice tutorial its all good but the hitbox wont actually go where the player is, it goes where you spawn and halfway in the ground
problly bc u wrote hitbox.canTouch while u should hitbox.canColide i ahd the same problem
you didn't do it right then
@@osryr very helpful..?
Ye same problem. When i click and have delay with my charge up for the punch, the hitbox appears in the spot where i clicked instead of where the character is when it spawns
at 9:09 you didn't explain this very well and it left me quite confused with what any of these parts do such as the [] brackets
i cant get the sound to work for some reason nooooooo
I have an error saying expected ')'(to close'(' at line 11 got 'print'
if this helps anyone a common mistake i kept making is misspelling humanoid! so make sure to always check spelling 💕
no help
Tysm but how do i make some more animation like when i first press its the first anim andwhen i press agian to play the next anim
The script on 11:11 doesn't damage the Humanoid. It makes the sound but doesn't damage anyone. Can you please tell me what is causing this? Here is my script:
game.ReplicatedStorage.CombatHit.OnServerEvent:Connect(function(plr)
print(plr)
local hitbox = Instance.new("Part")
hitbox.Parent = workspace
hitbox.Anchored = true
hitbox.CanCollide = false
hitbox.Transparency = 0.5
hitbox.Size = Vector3.new(5,5,5)
hitbox.CFrame = plr.Character.HumanoidRootPart.CFrame *CFrame.new(0,0,-3)
game.Debris:AddItem(hitbox,2)
local Hits = {}
hitbox.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name then
if not hit.Parent.Humanoid:FindFirstChild(plr.Name) then
if Hits[hit.Parent.Name] then
return
end
Hits[hit.Parent.Name] = true
local snd = script.PunchSound:Clone()
snd .Parent = hit.Parent:FindFirstChild("Humanoid")
snd:Play()
game.Debris.AddItem(snd,2)
hit.Parent:FindFirstChild("Humanoid"):TakeDamage(10)
wait(4)
Hits[hit.Parent.Name] = false
end
end
end)
end)
game.ReplicatedStorage.CombatHit.OnServerEvent:Connect(function(plr)
print(plr)
local hitbox = Instance.new("Part")
hitbox.Parent = workspace
hitbox.Anchored = true
hitbox.CanCollide = false
hitbox.Transparency = 0.4
hitbox.Size = Vector3.new(5,5,5)
hitbox.CFrame = plr.Character.HumanoidRootPart.CFrame *CFrame.new(0,0,-5)
game.Debris:AddItem(hitbox,2)
local Hits = {}
hitbox.Touched:Connect(function(hit)
if hit.Parent :FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name then
if not hit.Parent .Humanoid:FindFirstChild(plr.Name) then
if Hits[hit.Parent.Name] then
return
end
Hits[hit.Parent .name] = true
hit.Parent:FindFirstChild("Humanoid"):TakeDamage(10)
wait (4)
Hits[hit.Parent.Name] = false
end
end
end)
end)
if the code doesnt work: you need to click on the combat skill script and in the properties window set the RunContext variable to Client
I can't make a new rig for the animation part.
w video, needed to know how hitboxes work so that i could make my own combat game, very cool.
Thank you😀
Guys help i had a bug , when i click 1 time all m1 is activating but it should be alternately , pls help
same here im still looking
I dont know how to code,im here for the keyboard sound
The animation punch didnt work😢😢
I know nobody will see this, but I will at least try. Whenever I press E, it does the animation and shows the hitbox. The only problem being, it does no damage. I will paste the script. please tell me if i messed up plsplsplsplsplsplsplsplsplsplspls (yes i want the dmg to be 20)
game.ReplicatedStorage.CombatHit.OnServerEvent:Connect(function(plr)
print(plr)
local hitbox = Instance.new("Part")
hitbox.Parent = workspace
hitbox.Anchored = true
hitbox.CanCollide = false
hitbox.Transparency = 0.4
hitbox.Size = Vector3.new(5,5,5)
hitbox.CFrame = plr.Character.HumanoidRootPart.CFrame *CFrame.new(0,0,-5)
game.Debris:AddItem(hitbox,2)
local Hits = {}
hitbox.Touched:Connect(function(hit)
if hit.Parnet:FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name then
if not hit.Parent.Humanoid:FindFirstChild(plr.Name) then
if Hits[hit.Parent.Name] then
return
end
Hits[hit.Parent.name] = true
hit.parent:FindFirstChild("Humanoid"):TakeDamage(20)
wait (4)
Hits[hit.Parent.Name] = false
end
end
end)
end)
You have the line "if hit.Parnet:FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name then", you mispelled Parent and instead put Parnet. Hope this helps :)
same
holy shit thank you so much
@@purplepop413 If your thanking me, your welcome! If not, I hope you have a great day!
@@Builder_Beast_YT thanking you
Can't wait to make some complicated shit for no reason
yo the animation doesn't play but the output says
17:38:08.490 E key is pressed - Client - Combat Skill:15
17:38:08.506 GamingLegend_renren - Server - CombatServer:2
its must named THE exact same of the ANIMATION name OR you DID not own the animation
copy this if anyone taking damage from your own attack: if humanoid and hit.Parent ~= plr.Character
Can u send CombatServer script? Idk what am doing wrong.
I made a game Called Aujto Battlegrounds with this and earned tons thanks alot for the tutorial
Please help!!! I followed everything perfectly fine, and have rewatched the whole video 5 times restarting, no matter what i do when i play and click E it does nothing. whats up??
Same here