Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum CSlideSettings
- {
- CrouchDelay = 1.0,
- Radius = 0.8,
- Interval = 16,
- MaximumDuration = 2400
- }
- SqPlayer.newmember("LastAction", [SqPlayerAction.None, SqPlayerAction.None]);
- SqPlayer.newmember("LastCrouchTime", 0.0);
- SqPlayer.newmember("CrouchDelay", 1e+6);
- SqPlayer.newmember("Sliding", false);
- SqPlayer.newmember("SlideTerminateTask", null);
- SqPlayer.newmember("SlideCreated", 0);
- SqCore.On().PlayerAction.Connect(function (player, oldaction, newaction)
- {
- if (player.Sliding == false)
- {
- if
- (
- oldaction == SqPlayerAction.Shooting &&
- newaction == SqPlayerAction.Normal &&
- player.Crouched == true &&
- player.CrouchDelay < CSlideSettings.CrouchDelay &&
- player.LastAction[0] == SqPlayerAction.Normal &&
- player.LastAction[1] == SqPlayerAction.Shooting
- )
- {
- player.SetAnimation(206, 15);
- player.SlideTerminateTask = player.MakeTask(function ()
- {
- player.SlideTerminateTask.Terminate();
- player.SlideTerminateTask = null;
- player.Sliding = false;
- }, CSlideSettings.MaximumDuration, 1);
- player.Sliding = true;
- }
- }
- player.LastAction = [oldaction, newaction];
- });
- SqCore.On().PlayerCrouching.Connect(function (player, iscrouching)
- {
- player.CrouchDelay = clock() - player.LastCrouchTime;
- player.LastCrouchTime = clock();
- });
- SqCore.On().PlayerGameKeys.Connect(function (player, lastkeys, newkeys)
- {
- if (player.Sliding == true)
- {
- if (!(newkeys & 32768))
- {
- player.SlideTerminateTask.Terminate();
- player.SlideTerminateTask = null;
- player.Sliding = false;
- }
- }
- });
- SqCore.On().ScriptLoaded.Connect(function ()
- {
- SqRoutine(this, function ()
- {
- SqForeach.Player.Active(this, function (player)
- {
- if (player.Sliding == true)
- {
- player.SetAnimation(206, 15);
- local trueangle = player.Angle + (PI * 0.5);
- player.Position = Vector3(CSlideSettings.Radius * cos(trueangle) + player.Position.X, CSlideSettings.Radius * sin(trueangle) + player.Position.Y, player.Position.Z);
- }
- });
- }, CSlideSettings.Interval, 0);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement