[ create a new paste ] login | about

Link: http://codepad.org/GlmV4fKd    [ raw code | fork ]

hurracane - C, pasted on Jul 6:
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;
	}
}


Create a new paste based on this one


Comments: