Why do NPCs fire their SWEPs ignoring "delay"

Im experimenting with different npc sweps. I found out that it doesnt matter if the delay is 1.00 or 0.50 or 0.1 because they fire as if delay was always 0.1. im using CSS base. how to fix this?

self:SetNextPrimaryFire(CurTime() + delay) ?

where do I put that?

To function SWEP:PrimaryFire().

Hurr.

[lua]
self.Weapon:SetNextSecondaryFire( CurTime() + self.Primary.Delay )
self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
[/lua]

Directly taken from the CSS weapon base.
NPCs seem to ignore it for some reason, thought I don’t really know how to fix it.

Add this somewhere in SWEP.Initialize:
[lua]
self.Weapon:SetNPCFireRate(flDelay)
[/LUA]

what is swep.initialize? because i dont know. im using CSS base if I hadnt said it before.

You don’t seem to know any Lua.