Setup sprint and random decoration

Co-authored-by: Yowoshi246 <Yowoshi246@users.noreply.github.com>
This commit is contained in:
2025-10-15 21:45:59 +02:00
commit da615efafa
19 changed files with 2906 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
import { Players } from "@rbxts/services";
import Gameplay_Remotes from "shared/gameplay";
const sprint = Gameplay_Remotes.Server.Get("Sprint");
const RunAnim = new Instance("Animation");
RunAnim.AnimationId = "rbxassetid://88297455683117";
const base_sprint_speed = 16;
const sprint_speed = 1.5;
const runanim = new Map<number, AnimationTrack>();
const isrunning = new Map<number, boolean>();
Players.PlayerAdded.Connect((player) => {
let runningConn: RBXScriptConnection;
player.CharacterAdded.Connect((character) => {
const humanoid = character.FindFirstChildWhichIsA("Humanoid");
if (humanoid) {
const animator = humanoid.FindFirstChildOfClass("Animator");
const anim = animator!.LoadAnimation(RunAnim);
anim.Priority = Enum.AnimationPriority.Action;
runanim.set(player.UserId, anim);
runningConn = humanoid.Running.Connect((speed) => {
if (isrunning.get(player.UserId)) {
if (speed > 2) {
if (!anim.IsPlaying) anim.Play(0.2);
} else {
if (anim.IsPlaying) anim?.Stop(0.2);
}
} else if (anim?.IsPlaying) {
anim?.Stop(1);
}
});
}
});
player.CharacterRemoving.Once(() => runningConn.Disconnect());
});
sprint.Connect((player, enabled) => {
const character = player.Character;
isrunning.set(player.UserId, enabled);
if (character) {
const humanoid = character.FindFirstChildOfClass("Humanoid");
if (humanoid) {
if (enabled) {
humanoid.WalkSpeed = base_sprint_speed * sprint_speed;
// if (humanoid.GetStateEnabled(Enum.HumanoidStateType.Running)) {
// const anim = runanim.get(player.UserId);
// anim?.Play(0.2);
// }
} else {
humanoid.WalkSpeed = base_sprint_speed;
// if (humanoid.GetStateEnabled(Enum.HumanoidStateType.Running)) {
// const anim = runanim.get(player.UserId);
// anim?.Stop(1);
// }
}
}
}
});