Advertisement
MeepDarknessMeep

Even more Perfect BHop

Oct 24th, 2014
1,487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.10 KB | None | 0 0
  1. local rdm = {};
  2. local FW = true;
  3. local BW = false;
  4. local NONE = nil;
  5.  
  6. function rdm.AddHook(hk, name, fn)
  7.     hook.Add(hk, name, fn);
  8. end
  9.  
  10. local function FWorBW(vel, ang)
  11.     local a = vel;
  12.     a:Rotate(-ang)
  13.     if(a.x > 0) then
  14.         return FW;
  15.     elseif(a.x < 0) then
  16.         return BW;
  17.     end
  18.     return NONE
  19. end
  20.  
  21. local cd = 6;
  22. local ccd = 0;
  23. local lastc = 0;
  24. local lp = LocalPlayer();
  25.  
  26. rdm.AddHook("CreateMove", "BHop", function(cmd)
  27.     if (cmd:KeyDown(IN_JUMP)) then
  28.         local mul = FWorBW(lp:GetVelocity(), lp:EyeAngles()) == BW and -1 or 1;
  29.         if(cmd:GetMouseX() < 0) then
  30.             cmd:SetSideMove(-10000 * mul);
  31.             ccd = -cd;
  32.         elseif(cmd:GetMouseX() > 0) then
  33.             cmd:SetSideMove(10000 * mul);
  34.             ccd = cd;
  35.         elseif(ccd < 0) then
  36.             cmd:SetSideMove(-10000 * mul);
  37.             ccd = ccd + 1;
  38.         elseif(ccd > 0) then
  39.             cmd:SetSideMove(10000 * mul);
  40.             ccd = ccd - 1;
  41.         end
  42.         if (lp:IsOnGround() and cmd:CommandNumber() ~= lastc + 1) then
  43.             cmd:SetButtons(bit.bor(cmd:GetButtons(), IN_JUMP));
  44.             if(cmd:CommandNumber() ~= 0) then lastc = cmd:CommandNumber(); end
  45.             return;
  46.         end
  47.     end
  48.     cmd:RemoveKey(IN_JUMP);
  49. end);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement