Thanks for that, I tried it but I still got a little problem.. :/
I just decompile the smg model and then, recompile it with the new .qc, as you can see, the muzzle flash is far away.
I rename the muzzle bone, "ValveBiped.muzzle" as in 3d max. In the model viewer, the bones is correct but in game, it's like on the picture and the muzzle flash stay in the same direction
Edit : I fixed this problem, it was the name of the muzzle, I renamed it, here the line : $attachment ( it' was just "muzzle" before ) "ValveBiped.muzzle" "ValveBiped.muzzle" -0.00 -0.00 0.00 rotate 0.00 0.00 0.00
Now it works fine, here is my .qc if it cans help :
$modelname "weapons/v_smg1.mdl"
$model "studio" "Smg1_reference.smd"
$cdmaterials "models\Weapons\V_hand\"
$cdmaterials "models\Weapons\V_smg1\"
// Model uses material "v_hand_sheet.vmt"
// Model uses material "texture5.vmt"
// Model uses material "texture4.vmt"
// Model uses material "v_smg1_sheet.vmt"
$attachment "ValveBiped.muzzle" "ValveBiped.muzzle" -0.00 -0.00 0.00 rotate 0.00 0.00 0.00
$attachment "1" "ValveBiped.eject" -0.00 -0.00 0.00 rotate 0.00 0.00 0.00
$surfaceprop "default"
$illumposition 17.271 -1.154 -16.696
// NEW MUZZLES USING OB PARTICLE SYSTEM
// How it works? - We changing old "event AE_MUZZLEFLASH" to new OB Thing "event AE_CL_CREATE_PARTICLE_EFFECT"
// "muzzle_smg1" - The Name Of Muzzle ( NOT .pcf file! the name of particle inside .pcf file )
// "follow_attachment" - moving to bone
// "ValveBiped.muzzle" - bone name, where particle dispatching
$sequence fire01 "Fire01" rotate -90 fps 30 snap activity ACT_VM_PRIMARYATTACK 1 node Fire { event AE_CL_CREATE_PARTICLE_EFFECT 0 "muzzle_smg1 follow_attachment ValveBiped.muzzle" }
$sequence fire02 "Fire02" rotate -90 snap fps 30 activity ACT_VM_RECOIL1 1 node Fire { event AE_CL_CREATE_PARTICLE_EFFECT 0 "muzzle_smg1 follow_attachment ValveBiped.muzzle" }
$sequence fire03 "Fire03" rotate -90 snap fps 30 activity ACT_VM_RECOIL2 1 node Fire { event AE_CL_CREATE_PARTICLE_EFFECT 0 "muzzle_smg1 follow_attachment ValveBiped.muzzle" }
$sequence fire04 "Fire04" rotate -90 snap fps 30 activity ACT_VM_RECOIL3 1 node Fire { event AE_CL_CREATE_PARTICLE_EFFECT 0 "muzzle_smg1 follow_attachment ValveBiped.muzzle" }
// TEH END OF NEW CODE
$sequence altfire "altfire" rotate -90 ACT_VM_SECONDARYATTACK 1 fps 30.00 node Fire
$sequence draw "draw" ACT_VM_DRAW 1 rotate -90 fps 30.00 node Ready
$sequence reload "reload" ACT_VM_RELOAD 1 rotate -90 fps 30.00 node Ready
$sequence dryfire "dryfire" ACT_VM_DRYFIRE 1 rotate -90 fps 30.00 node Fire
$sequence idletolow "idletolow" ACT_VM_LOWERED_TO_IDLE 1 rotate -90 fps 30.00 transition Ready Low
$sequence lowtoidle "lowtoidle" ACT_VM_IDLE_TO_LOWERED 1 rotate -90 fps 30.00 transition Low Ready
$sequence lowidle "lowidle" loop ACT_VM_IDLE_LOWERED 1 rotate -90 fps 30.00 node Low
Great thanks to you guyz =)