i tried this once for a rail gun effect and it didnt work. you can do this with scripting. just increment the Orientation.b value every frame. would be something like:
for i=1, #mn.Weapons do
if mn.Weapons[i].Name == "spinningmissilethingie" then
ori = mn.Weapon[i].Orientation
ori.b = ori.b + 5*ba.getFrametime();
mn.Weapon[i].Orientation = ori
end
end
im not sure you might need to do some matrix math, im not sure if applied rotations are local or if this is for its world space transform. if that doesnty work you can just borrow my matrix multiply function (i think its called matx), from my guided missile script then you can substitute:
ori = mn.Weapon.Orientation
with
ori = ba.createVector(0,0,0):getOrientation()
this essentially creates a blank orientation, rather than copying the original then replace:
mn.Weapon.Orientation = ori
with
mn.Weapon.Orientation = matx(ori, mn.Weapon.Orientation)
that should work