So i used MissionScript to implement this. The idea is changing properties of laserbeams directly.
The functions are used in Timer();
You can get location of any Actor from the editor:
Code: Select all
function MakeLasersQuiet()
{
Local LaserEmitter L;
Local LaserTrigger T;
// Log("Searching laser beams by location...");
foreach AllActors(class'LaserEmitter',L)
{
If (L.Location.X < -2000.0 && L.Location.X > -2800.0)
{
// Log("Beams were found! Making them quiet...");
// Log("Location of the beams: "@ L.Location.X);
L.SoundVolume=4;
L.SoundRadius=8;
}
}
}
Here i needed to hide bots presence
Code: Select all
function ManageSecBots()
{
local securityBot4 bot;
foreach allactors(class'securitybot4', bot) //, 'SilentSecurityBots')
{
if (bot.location.Z < 30.424997)
// If (bot.Location.Z < -2000.0 && bot.Location.Z > -2800.0)
{
// Player.ClientMessage("SecurityBots are silent!");
bot.TransientSoundVolume=0;
bot.SoundRadius=0;
}
else
{
// Player.ClientMessage("Bots are looking for YOU! Run away!");
bot.TransientSoundVolume=bot.default.TransientSoundVolume;
bot.SoundRadius=bot.default.SoundRadius;
}
}
}