Can't set bodygroup on client in multiplayer

I have a viewmodel with bodygroups and I’m using AE_CL_BODYGROUP_SET_VALUE in animation event, which works perfectly in singleplayer, but does nothing in MP because runs on client. Is this a bug or something? How do I set a bodygroup then?

Well obviously it would run on client in multiplayer, your view model is clientside, the realm has nothing to do with your problem.

I’d say post a sample model.

Maybe you should use CallOnClient wherever you run that animation event, but check if you are in multiplayer, otherwise you would run this twice

It doesn’t work even if I do :SetBodygroup in clientside hooks (or with lua_run_cl) on model.

Here’s the model:
All sequence events are done in qc

$bodygroup bomb
	studio "bomb.smd"
	studio "bomb_broken.smd"

$bodygroup fire
	studio "fire.smd"

$sequence fire "v_seriousbomb_fire.smd" fps 30 activity ACT_VM_PRIMARYATTACK 1 node Fire {
	event 5004 0 "Weapon_SSHD_SeriousBomb.Lighter"
	event 5004 35 "Weapon_SSHD_SeriousBomb.Lighter"
	event AE_CL_BODYGROUP_SET_VALUE 4 "fire 1"
	event AE_CL_BODYGROUP_SET_VALUE 37 "fire 0"
	event AE_CL_BODYGROUP_SET_VALUE 60 "bomb 1"
$sequence draw "v_seriousbomb_draw.smd" fps 35 activity ACT_VM_DRAW 1 node Ready {
	event AE_CL_BODYGROUP_SET_VALUE 0 "fire 0"
$sequence holster "v_seriousbomb_holster.smd" fps 35 activity ACT_VM_HOLSTER 1 node Ready
$sequence reload "v_seriousbomb_reload.smd" fps 24 activity ACT_VM_RELOAD 1 node Ready {
	event AE_CL_BODYGROUP_SET_VALUE 15 "bomb 0"
$sequence idle1 "v_seriousbomb_idle.smd" loop fps 15 activity ACT_VM_IDLE 1
$sequence idle2 "v_seriousbomb_fidget.smd" fps 30 activity ACT_VM_FIDGET 1 {
	event 5004 10 "Weapon_SSHD_SeriousBomb.Lighter"
	event 5004 50 "Weapon_SSHD_SeriousBomb.Lighter"
	event AE_CL_BODYGROUP_SET_VALUE 16 "fire 1"
	event AE_CL_BODYGROUP_SET_VALUE 56 "fire 0"

The issue is that bodygroups don’t change clientside on viewmodel in multiplayer. I’m sure this is a Source Engine bug that should be fixed.

[editline]20th August 2016[/editline]

Just found out that bodygroups actually change for one frame, then back to serverside value.

Well I have tested it and I can confirm it, but I don’t have a solution yet.

[editline]20th August 2016[/editline]

I don’t know whether this is intended or not either.

[editline]20th August 2016[/editline]

The HL2 weapons ( Shotguns ) use SetBodygroup serverside.

So, what’s the workaround? Like getting specific animation frame and send a net message to server to change bodygroups?
Also, if you google AE_CL_BODYGROUP_SET_VALUE, you can find a TF2 update changelog from 2015 where it says they fixed something about it.