My goal is to make Client based Combat system with Swing animations going from 1 to 4.
Pretty much you start at #1 then you go to #2 etc. If you are on #2 or higher in the combo and after say 1 second goes by after you swing then it will revert back to the First combo.
1 Like
Here is one way to do combo reset, by using a timer module to time and execute code after the timer runs out.
1 Like
local timeSinceLastHit = 0 --records time since last hit 0 is initial value
local combo = 0 --records combo 0 is initial value
task.spawn(function()
while task.wait(1) do
if tick() - timeSinceLastHit >= 3 then --check if 3 seconds have elapsed since last hit
combo = 0 --reset combo back to 0
else
--if another hit occurs do some other code
if combo >= 3 then
--do extra damage for example
end
end
end
end)
if hit then --hit is a made up variable which is just set to true whenever the player hits another player
combo += 1 --increment combo by 1
timeSinceLastHit = tick() --get time when hit occurred
end
Here’s a fairly primitive way of going about this, hopefully everything makes sense to you. I’ve added comments to guide the process.
3 Likes
used the TweenService idea found in reading this and it works very well
2 Likes
this isnt the “best” way but its a way
What would the best way be, if this isn’t it?
1 Like
I put this above any thing else, for a WeaponAttack function.
have the lastAttack
function Attack()
local newAttack = tick()
if (newAttack - lastAttack > 1.5) or (combo > 4) then
combo = 1
end lastAttack = newAttack
-- put the rest of your code below hehe :D
end
you can change the “1.5” to whatever time you want to check for a reset.
edit: sorry for the late response
1 Like
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.