waitfortrigger()
{
turret1 = getent("autoturret1","targetname");
turret2 = getent("autoturret2","targetname");
killtrig = getent("autoturret_killtrig","targetname"); // The trig that can't be touched. If a player touches it the turrets will get angry.
while(1)
{
killtrig waittill("trigger", player);
turret1.playertarget = player;
rotateAngles_turret1 = vectortoangles(turret1.origin - player.origin) + (0,180,0);
rotateAngles_turret2 = vectortoangles(turret2.origin - player.origin) + (0,180,0);
turret1 rotateTo((0,rotateAngles_turret1[1],0),0.5);
turret2 rotateTo((0,rotateAngles_turret2[1],0),0.5);
wait 0.5;
thread shoot();
while(1)
{
turret1_angles = vectortoangles(turret1.origin - player.origin) + (0,180,0);
turret2_angles = vectortoangles(turret2.origin - player.origin) + (0,180,0);
turret1.angles = (0,turret1_angles[1],0);
turret2.angles = (0,turret2_angles[1],0);
if(player.health <= 0)
{
turret1 notify("player death");
player iprintln("^6Try finding an alternative route");
break;
}
wait 0.05;
}
turret1.playertarget = undefined;
}
}
shoot()
{
turret1 = getent("autoturret1","targetname");
turret2 = getent("autoturret2","targetname");
barrel = "left";
turret1 endon("player death");
while(1)
{
if(isDefined(turret1.playertarget))
{
switch(barrel)
{
case "left":
{
barrel = "right";
break;
}
case "right":
{
barrel = "left";
break;
}
}
if(barrel == "left")
{
turret1 playsound("autoturret_fire");
playfxontag(level.fx_turret_muzzle,turret1,"tag_flash_left");
playfx(level.fx_turret_impact, turret1.playertarget.origin + (0,0,30));
}
else if(barrel == "right")
{
turret1 playsound("autoturret_fire");
playfxontag(level.fx_turret_muzzle,turret1,"tag_flash_right");
playfx(level.fx_turret_impact, turret1.playertarget.origin + (0,0,30));
}
dir = vectortoangles(turret1.origin - turret1.playertarget.origin);
dir = ((dir[0] / 360), (dir[1] / 360), (dir[2] / 360));
turret1.playertarget finishPlayerDamage(turret1, turret1, 20, 1, "MOD_PROJECTILE", "binoculars_mp", turret1.origin, dir, "none");
wait .25;
if(barrel == "left")
{
turret2 playsound("autoturret_fire");
playfxontag(level.fx_turret_muzzle,turret2,"tag_flash_left");
playfx(level.fx_turret_impact, turret1.playertarget.origin + (0,0,30));
}
else if(barrel == "right")
{
turret2 playsound("autoturret_fire");
playfxontag(level.fx_turret_muzzle,turret2,"tag_flash_right");
playfx(level.fx_turret_impact, turret1.playertarget.origin + (0,0,30));
}
dir = vectortoangles(turret1.origin - turret1.playertarget.origin); // Yes i'm still using turret1
dir = ((dir[0] / 360), (dir[1] / 360), (dir[2] / 360));
turret1.playertarget finishPlayerDamage(turret1, turret1, 20, 1, "MOD_PROJECTILE", "binoculars_mp", turret1.origin, dir, "none");
wait .25;
}
else
wait .1;
}
}