https://gyazo.com/4d403c4026f2cb0de830026cd5a4be69.gif
As you can see this is a dash system where you press WASD (any key) and it replicated your character and moves it in the direction you’re going and that wind line.
Im trying to make a system like this but I need ideas, any help?
You can get the MoveDirection of the player, or you can get the keys the player is pressing, which you would transfer to the server via a RemoteEvent. You could then use BodyMovers to move the character some distance away from the original point, with the player’s MoveDirection (or lookvector depending on method).
No. There is a function called GetKeysPressed() in UserInputService, which (of course) gets the keys the player is holding down, meaning you could see if the player is holding down W, A, S or D.
Something like this.
local KeysPressed = UserInputService:GetKeysPressed()
local MoveDir = Vector3.new()
for _,v in pairs(KeysPressed) do
if v == Enum.KeyCode.W then
MoveDir = MoveDir + Vector3.new(0, 0, 1)
elseif v == Enum.KeyCode.A then
MoveDir = MoveDir - Vector3.new(1)
elseif v == Enum.KeyCode.S then
MoveDir = MoveDir - Vector3.new(0, 0, -1)
elseif v == Enum.KeyCode.D then
MoveDir = MoveDir + Vector3.new(1)
end
end
You would have to make the player’s Character archivable or create a completely new character that applies your character’s description, which I wouldn’t recommend. I would just use trails.
I can see that they used, either bodyforce or tweening, cloning, trails, and animations. So try utilizing these things:
You would have to make the animations and trails yourself, put this script into starter GUI
local UIS = game:GetService("UserInputService")
local TS = game:GetService("TweenService")
local AnimationLeft = --AnimationId(leftAnimation)
local AnimationRight = --AnimationId(rightAnimation)
local Character = game.Players.LocalPlayer.Character
UIS.InputBegan:Connect(function(Input)
if Input. KeyCode == Enum.KeyCode.Q then
-- Tween the player
--
-- Set the trail enabled to true
-- Play the Animation
for i = 1, 5 do
for i, v in pairs(Character:GetChildren) do
if v:IsA("Mesh") or v:IsA("Accessory") then
v:Clone()
for i = 1,10 do
v.Transparency = v.Transparency + 0.1
wait(0.02)
end
v:Destroy()
--ends
For the animation you must make it yourself and add an animation events into the animation,
then you can use GetKeyFrameReachedSignal to add an event to those animation events you just make in the animation editor,
then you want to make a R15 Rig and put it into ReplicatedStorage, then when the event fires.
you want to clone that R15 Rig into the workspace and set its CFrame using SetPrimaryPartCFrame functions, and you also want to load the animation into the R15 Rig using LoadAnimation functions, then you will also use TimePosition and Length and AdjustSpeed.
and you also want to use Trails and parent it into the Character RightHand,LeftHand,RightFoot and LeftFoot.
and now you already got the Effects. and to move the Character you can use UserInputService and RemoteEvent.
after that make a script in ServerScriptService or any place you want that can execute a script, and now you can use TweenService or Lerp to make the player go up DON'T FORGET TO ANCHOR THE CHARACTER! , then after the character go up you can use BodyVelocity and set the velocity depending on the CFrame of the Character and there you go! now you have that dash system!