I have change a little the script to see if works better.
Try like this:
main:
thread mg42_gun
local.master= spawn ScriptMaster
local.switch = spawn script_model model models/animate/alarmswitch.tik origin ( 2620 2860 75 ) angle ( -90 )
local.trigger = spawn trigger_use origin local.switch.origin
end
mg42_gun:
local.switch = spawn script_model model models/animate/alarmswitch.tik origin ( -1170.43 1644.34 143.87 ) angle ( 0 ) //( 1610.54 -383.13 426.13 ) angle ( 0 0 0 )
local.trigger = spawn trigger_use origin local.switch.origin
local.switch anim turnoff
while(1)
{
local.trigger waittill trigger
local.trigger nottriggerable
// animates trigger switch
local.switch anim turnon
local.switch playsound alarm_switch
local.switch playsound alarm_siren
wait 1
//Spawn mg
waitthread turret
/// Wait 30 seconds before able to release again
wait 60
//resets trigger
local.switch anim turnoff
local.switch playsound alarm_switch
local.trigger triggerable
}
end
turret:
// Set Up for turret shooting at players
local.turret = spawn "models/statweapons/mg42_gun.tik" "targetname" "turret"
local.turret.origin = ( -1060.04 1346.04 106.47 )
local.turret.angles = ( 0 -95 0 )
//local.turret yawCenter 25
//local.turret maxyawoffset 25
$turret setPlayerUsable 0
$turret turnspeed 150
$turret burstFireSettings 0 .13 0 0
thread detect_player_close
end
detect_player_close:
while($turret != NULL)
{
for (local.i = 1; local.i <= $player.size; local.i++)
{
local.player = $player[local.i]
if(local.player == NULL)
end
wait .1
if (($turret cansee local.player 50 2928) && (isAlive local.player) && local.player.dmteam != "spectator")
{
$turret setaimtarget local.player
if ($turret cansee local.player 50 2928)
{
wait 2
$turret startfiring
wait 3
$turret stopfiring
$turret setaimtarget NULL
$turret stopfiring
wait 1
$turret remove
}
}
}
wait .1
}
end