mirror of
https://github.com/JonnyBro/beatrun.git
synced 2025-01-31 12:07:27 +05:00
add anims for standing close to the wall
This commit is contained in:
parent
f3dbf0b2de
commit
a1befd2ea7
18 changed files with 61 additions and 9 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -71,10 +71,10 @@ function SWEP:SetupDataTables()
|
|||
self:NetworkVar("Float", 2, "PunchReset")
|
||||
end
|
||||
|
||||
local runseq = {
|
||||
[6] = true,
|
||||
[7] = true
|
||||
}
|
||||
-- local runseq = {
|
||||
-- [6] = true,
|
||||
-- [7] = true
|
||||
-- }
|
||||
|
||||
local oddseq = {
|
||||
[8] = true,
|
||||
|
@ -124,6 +124,7 @@ local fallct = 0
|
|||
function SWEP:Think()
|
||||
local ply = self:GetOwner()
|
||||
local viewmodel = ply:GetViewModel()
|
||||
|
||||
if not IsValid(viewmodel) then return end
|
||||
|
||||
if self:GetHoldType() == "fist" and CurTime() > self:GetPunchReset() then
|
||||
|
@ -145,6 +146,38 @@ function SWEP:Think()
|
|||
local injump = curseq == 13 or curseq == 14 or curseq == 17 or curseq == -1 or curseq == 1
|
||||
infall = curseq == 19
|
||||
|
||||
-- what a piece of shit, send help
|
||||
if vel:Length() == 0 and util.QuickTrace(ply:GetShootPos(), ply:GetAimVector() * 30, ply).Hit and ply:GetMoveType() ~= MOVETYPE_NOCLIP and not ply:Crouching() and ply:WaterLevel() == 0 then
|
||||
if (math.floor(ply:LocalEyeAngles().y) <= 35 and math.floor(ply:LocalEyeAngles().y) >= 5) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= 125 and math.floor(ply:LocalEyeAngles().y) >= 95) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= -55 and math.floor(ply:LocalEyeAngles().y) >= -85) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= -145 and math.floor(ply:LocalEyeAngles().y) >= -175) then
|
||||
if CLIENT then
|
||||
return ArmInterrupt("standhandwallright")
|
||||
elseif game.SinglePlayer() then
|
||||
return ply:SendLua("ArmInterrupt('standhandwallright')")
|
||||
end
|
||||
elseif (math.floor(ply:LocalEyeAngles().y) <= 5 and math.floor(ply:LocalEyeAngles().y) >= -5) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= 95 and math.floor(ply:LocalEyeAngles().y) >= 85) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= -85 and math.floor(ply:LocalEyeAngles().y) >= -95) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= -175 or math.floor(ply:LocalEyeAngles().y) >= 175) then
|
||||
if CLIENT then
|
||||
return ArmInterrupt("standhandwallboth")
|
||||
elseif game.SinglePlayer() then
|
||||
return ply:SendLua("ArmInterrupt('standhandwallboth')")
|
||||
end
|
||||
elseif (math.floor(ply:LocalEyeAngles().y) <= 5 and math.floor(ply:LocalEyeAngles().y) >= -35) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= 85 and math.floor(ply:LocalEyeAngles().y) >= 55) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= -95 and math.floor(ply:LocalEyeAngles().y) >= -125) or
|
||||
(math.floor(ply:LocalEyeAngles().y) <= 175 and math.floor(ply:LocalEyeAngles().y) >= 145) then
|
||||
if CLIENT then
|
||||
return ArmInterrupt("standhandwallleft")
|
||||
elseif game.SinglePlayer() then
|
||||
return ply:SendLua("ArmInterrupt('standhandwallleft')")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
self:SetSideStep((curseq == 15 or curseq == 16) and GetConVar("Beatrun_SideStep"):GetBool())
|
||||
|
||||
local insidestep = self:GetSideStep()
|
||||
|
|
|
@ -329,7 +329,10 @@ local arminterrupts = {
|
|||
doorbash = true,
|
||||
punchmid = true,
|
||||
punchleft = true,
|
||||
jumpturnflypiecesign = true
|
||||
jumpturnflypiecesign = true,
|
||||
standhandwallright = true,
|
||||
standhandwallleft = true,
|
||||
standhandwallboth = true
|
||||
}
|
||||
|
||||
local transitionanims = {
|
||||
|
@ -453,7 +456,10 @@ local worldarm = {
|
|||
ladderclimbhangstart = true,
|
||||
snatchscar = true,
|
||||
jumpcoil = true,
|
||||
jumpturnlandidle = true
|
||||
jumpturnlandidle = true,
|
||||
standhandwallright = true,
|
||||
standhandwallleft = true,
|
||||
standhandwallboth = true
|
||||
}
|
||||
|
||||
local ignorezarm = {
|
||||
|
@ -1380,7 +1386,7 @@ function ArmInterrupt(anim)
|
|||
local arm = CreateBodyAnimArmCopy()
|
||||
|
||||
if IsValid(arm) then
|
||||
for k, v in ipairs(fingers) do
|
||||
for _, v in ipairs(fingers) do
|
||||
local b = BodyAnimArmCopy:LookupBone(v)
|
||||
|
||||
if b then
|
||||
|
@ -1388,7 +1394,7 @@ function ArmInterrupt(anim)
|
|||
end
|
||||
end
|
||||
|
||||
for k, v in pairs(fingerscustom) do
|
||||
for k, _ in pairs(fingerscustom) do
|
||||
local b = BodyAnimArmCopy:LookupBone(k)
|
||||
|
||||
if b then
|
||||
|
@ -1396,6 +1402,19 @@ function ArmInterrupt(anim)
|
|||
end
|
||||
end
|
||||
|
||||
--[[ TODO: make work good
|
||||
if string.match(anim, "standhandwall") then
|
||||
local ply = LocalPlayer()
|
||||
local trace = util.QuickTrace(ply:GetShootPos(), ply:GetAimVector() * 30, ply)
|
||||
local newAng = Angle(trace.Normal.x * (5 * trace.Fraction * trace.Normal.x), 0, trace.Normal.x * (10 * trace.Fraction * trace.Normal.y))
|
||||
|
||||
ply:ChatPrint("Fraction: " .. tostring(trace.Fraction))
|
||||
ply:ChatPrint("Normal: " .. tostring(trace.Normal))
|
||||
|
||||
arm:SetAngles(newAng)
|
||||
end
|
||||
--]]
|
||||
|
||||
arm:SetSequence(anim)
|
||||
arm:SetCycle(0)
|
||||
end
|
||||
|
|
|
@ -48,7 +48,7 @@ concommand.Add("blindplayer", function(ply, cmd, args)
|
|||
local mname = ""
|
||||
local mcount = 0
|
||||
|
||||
for k, v in ipairs(player.GetAll()) do
|
||||
for _, v in ipairs(player.GetAll()) do
|
||||
local name = v:Nick()
|
||||
local smatch = string.match(name, plysearch)
|
||||
|
||||
|
|
Loading…
Reference in a new issue