This is my script. I used it for ZU-23, not Shilka, but I looking for the gun of Shilka and write it for you as comment. This script use the gun and the gunner separately. So you have to put an empty shilka and a Russian guy, who moveinGunnaer into the shilka. Name both! Then put a GameLogic somewhere near to the shilka, this will be the target, but 1000m high. So if you put it very close, the Shilka will fire straight up, if you put it a bit far, the shilka will fire on sloop... You can replace the target by script in the mission - if you want - and then, the shilka will turn for it...
permanentAA.sqs:
;permanent AA fire script by bardosy
;
;parameters:
; 1., the AA gun itself (without handler man)
; 2., the gunner (man)
; 3., the target, it's a GameLogic near the gun (if you put in ON the gun, gun will fire up 90 degree)
; example: [zu, eastman, GL1] exec "permanentAA.sqs"
_gun = _this select 0;
_gunner = _this select 1;
_tar = _this select 2;
_zudb = 0;
_gun doWatch [(getPos _tar)select 0,(getPos _tar)select 1,1000]
#loop
?(not alive _gunner) : exit
if (_zudb>10) then {_gun setVehicleAmmo 1;_zudb=0;}
;this fires the gun, but you need the proper gun type.
;"2A14" is for ZU-23 and "AZP85" is for ZSU
_gun fire "2A14"
_zudb = _zudb + 1;
~0.5+(Random 1)
_gun doWatch [(getPos _tar)select 0,(getPos _tar)select 1,1000]
goto "loop"