What's on line 12 of UTWeap_zOmRifle.uc?  You have an expression in your if statement that UT3 can't make a value of.  Probably a variable that doesn't exist.

Is it if(bStillAccuracy)?  In the dFb rifle it allows the moving/still accuracy to be configurable.  This is what you want if you want to have it always accurate when you are still/crouching and inaccurate if you are moving:

[code:1:e042b4c550]simulated function rotator AddSpread&#40;rotator BaseAim&#41; 
&#123; 
   local vector X, Y, Z; 
   local float RandY, RandZ; 

   if&#40;&#40;Owner.Physics != PHYS_Falling &amp;&amp; Owner.Physics != PHYS_Swimming &amp;&amp; Pawn&#40;Owner&#41;.bIsCrouched&#41; || Owner.Velocity == 0 * Owner.Velocity&#41; 
   &#123; 
         return BaseAim; 
   &#125; 
   else 
   &#123; 
         GetAxes&#40;BaseAim, X, Y, Z&#41;; 
         RandY = FRand&#40;&#41; - 0.5; 
         RandZ = Sqrt&#40;0.5 - Square&#40;RandY&#41;&#41; * &#40;FRand&#40;&#41; - 0.5&#41;; 
         return rotator&#40;X + RandY * 0.1 * Y + RandZ * 0.1 * Z&#41;; 
   &#125; 
&#125;[/code:1:e042b4c550]