I guess one way to do it would be to make two variables
MouseYdeviation
MouseXdeviation
Every tick set mouseYdeviation : MouseYdeviation+choose(-3,-2,-1,1,2,3)
Every tick set mouseXdeviation : MouseXdeviation+choose(-3,-2,-1,1,2,3)
And set the crosshair to mouse.x+MouseXdeviation , mouse.y+MouseYdeviation
Maybe using clamp to prevent it from deviating too much..
Improvisation from this, if you use lerp, you'll get realistic unsteady hold of a rifle/gun.
[condition: Every tick][action: set crosshair position to lerp(mouse.x, mouse.x+choose(-3,-2,-1,1,2,3), steadinessParameter)][action: set crosshair position to lerp(mouse.y, mouse.y+choose(-3,-2,-1,1,2,3), steadinessParameter)]variable steadinessParameter = 0.75 <--- responsive but unsteady control
variable steadinessParameter = 0.25 <--- unresponsive but steadier control[/code:334wjsa1]
The idea is the bigger the number (0<steadinessParameter<1) the better the feel of controlling the rifle. Using carp and cubic will give the desired effect but different movement pattern.