Zombie Survival zombie fix?!?

Is there a fix for the zombiesurvival(jetboom) animation for the zombies or soemting. they seem to be not attacking with the animation. Well they are attacking just without the animation or walking…

Nope.

Make a fix?

Make a fix?

Well I need a fix lol

Then learn Lua and fix it.

I only got the walking animation fix.

There IS a server that has fixed animations, so that means there is a fix.

My server (KZS) , Greens, NoX (Obviously), Random, DDLFr, Terminal Shell all have fixed animations. It’s not that hard, if you do your homework.

Although it took me ages to figure out how the new animation hooks worked and how to apply them to all the zombie NPC animations. This was just after the update came out, before there was any kind of documentation. Dunno how helpful the wiki is now about it.

Yea, DDLFr, thats the one.
It was always fucking annoying when you got hit from nowhere.
Maybe just ask them folks over there :smiley:

It doesn’t look like the OP speaks French. Plus, in my opinion if you can’t do it yourself, or don’t have someone in your community who can, you don’t deserve to have animations.

I don’t know how to do it, and it’s not because I’m not an incompetent scripter - I think pretty much everyone here knows that’s not the case.

I simply don’t fuck with animations (except for my ragdoll animator project :v:) because they’re not an issue for me. The only reason I’m currently looking for a fix for it at the moment is because people in our new ZS server bitch about it - I honestly couldn’t care either way.

So while I’m going to just now start looking into the animation system to find a fix, it would save me a lot of time and effort I could be spending working on the server, my new gamemode project, my contest entry, or my ragdoll animator if someone stopped being an asshole with a stick lodged in their anus and simply shared the fix - obviously it’s a pretty god-damn easy one if people who can’t “figure it out” don’t deserve it.

Yes, definitely the best way to get help. You’ll manage if you try, and if you can’t be bothered to try then just tell your community to write the code for you if they want it fixed that badly. Never know, one of them might know how.

You seemed like the person who would just scoff and ignore me if I was polite. The “if you can’t figure it out, you don’t deserve it” attitude is generally a good indication of people like that.

At any rate, I’ve gotten it figured out for the most part, with some help from Kogitsune, using the animation method his Mr. Grundley uses.

However, I’m having some hitches with the headcraps.

Here’s how I do (psst, OP, you can take this if you want).

[lua]function HookedCalcMainActivity(pl, vel)
if pl:Team() == TEAM_UNDEAD then
local cls = pl:GetDTInt(1) or 1
local ctbl = GAMEMODE.ZombieClasses[cls]

	local seq,over = SpecialAnims[cls](pl, vel)
	if seq==nil then seq=ACT_IDLE end
	if over==nil then over=ACT_IDLE end
	
	if (string.lower(pl:GetModel())==string.lower(ctbl.Model)) and (pl:Alive()) and (pl:Health()>0) then
		
		if pl:GetDTBool(0) then -- DT 0 = special animation
			seq = pl:GetDTInt(0)
		end
		
		return seq,over
	end
end

end
hook.Add( “CalcMainActivity” , “CCGM CalcMainActivity” , HookedCalcMainActivity )

function HookedUpdateAnimation( pl, vel, maxspeed ) – Should control zombie turning
if pl:Team()==TEAM_UNDEAD then
local cls = pl:GetDTInt(1) or 1
local ctbl = GAMEMODE.ZombieClasses[cls]

	local ang, eyaw, myaw
	
	ang = pl:EyeAngles( )
	
	pl:SetLocalAngles( ang )
	
	if CLIENT then
		pl:SetRenderAngles( ang )
	end
	
	eyaw = math.Clamp( math.deg( math.atan2( vel.y, vel.x ) ), -180, 180 )
	myaw = math.NormalizeAngle( math.NormalizeAngle( ang.y ) - eyaw )
	
	pl:SetPoseParameter( "move_yaw", myaw )
	
	if vel:Length()>0 then -- moving
		pl:SetPlaybackRate( ctbl.WalkPlayback )
	elseif pl:GetDTBool(0) then -- special
		pl:SetPlaybackRate( pl:GetDTFloat(0) )
	else -- idle
		pl:SetPlaybackRate( 1 )
	end

	return true
end

end
hook.Add( “UpdateAnimation” , “CCGM UpdateAnimation” , HookedUpdateAnimation )[/lua]

Here’s the headcrab’s animation snippet:

[lua]local function HeadcrabAnim(pl, vel)
local seq
if pl:OnGround() then
if 0 < vel:Length() then
seq = ACT_RUN
else
seq = 1
end
else
seq = pl:LookupSequence(“Drown”)
end

return seq,-1

end[/lua]

And here’s the problem:

If I just walk forward with the headcrab, no special code, it freezes on the first frame of the run animation until I release walk, where it goes back to idle.

If I force the animation, via my SpecialAnimation() function I made (which works fine), manually in the console, it plays perfectly.

If I do this in the headcrab SWEP think’s function:

[lua] if (self.Owner:OnGround()) and (self:GetVelocity():Length()>0) then
if not self.NextRunAnim then self.NextRunAnim = 0 end
if CurTime() > self.NextRunAnim then
self.NextRunAnim = CurTime() + 0.5

		self.Owner:SpecialAnimation(ACT_RUN,0.5)
	end
end[/lua]

Then the animation will freeze on the first frame UNTIL I let go of the forward key - then it’ll play whatever is left of that half-second of animation time that SpecialAnimation() is saying.

Any ideas on what the problem is?