Yup, you can do this if you want.

The dFb_SpawnProtect_GameRules.uc file is where I detect if a player shoots a spawner.

There's a function I made in there called &quot;cantHurt&quot; (function bool cantHurt(Pawn Victim, Controller InstigatedBy)).  You can use something like this to take damage from a player:

InstigatedBy.TakeDamage(AMOUNT OF DAMAGE, InstigatedBy, InstigatedBy.Location, 0, DAMAGE CLASS);

Here's the code- I've made &quot;// HERE&quot; comments showing where to put a line to take damage from InstigatedBy (the shooter).

[code:1:4c6a693f15]function bool cantHurt&#40;Pawn Victim, Controller InstigatedBy&#41;
&#123;
	local bool bCantHurt;
	
	bCantHurt = false;
	
	if&#40;Victim != None&#41;
	&#123;

		// IF player is shooting someone WITH spawn protection.
		if&#40;Victim.FindInventoryType&#40;class'dFb_MutPack1nf.dFb_SpawnProtectItem'&#41; != None&#41;
		&#123;
			if&#40;setShootSpawnerMsg != &quot;&quot; &amp;&amp; InstigatedBy != None &amp;&amp; PlayerController&#40;InstigatedBy&#41; != None&#41;
			&#123;
				// HERE - if player is shooting someone under spawn

				// Play sound and show message.
				PlayerController&#40;InstigatedBy&#41;.ClientPlaySound&#40;SoundCue'A_Gameplay.ONS.A_Gameplay_ONS_CoreImpactShieldedCue'&#41;;
				PlayerController&#40;InstigatedBy&#41;.ClientMessage&#40;setShootSpawnerMsg&#41;;
			&#125;
		
			bCantHurt = True;
		&#125;
	&#125;

	if&#40;InstigatedBy != None &amp;&amp; InstigatedBy.Pawn != None &amp;&amp; !bCantHurt&#41;
	&#123;
		// IF player is under spawn protection and shooting someone else.

		if&#40;UTBot&#40;InstigatedBy&#41; != None &amp;&amp; UTBot&#40;InstigatedBy&#41;.Pawn.FindInventoryType&#40;class'dFb_Spawn_Protection2nf.dFb_SpawnProtectItem'&#41; != None&#41;
		&#123;
			bCantHurt = True;
		&#125;
		else if&#40;PlayerController&#40;InstigatedBy&#41; != None &amp;&amp; PlayerController&#40;InstigatedBy&#41;.Pawn.FindInventoryType&#40;class'dFb_Spawn_Protection2nf.dFb_SpawnProtectItem'&#41; != None&#41;
		&#123;
			if&#40;setSpawnShooterMsg != &quot;&quot;&#41;
			&#123;
				// HERE - if player is under spawn protection and shooting someone else

				// Play sound and show message.
				PlayerController&#40;InstigatedBy&#41;.ClientPlaySound&#40;SoundCue'A_Gameplay.ONS.A_Gameplay_ONS_CoreImpactShieldedCue'&#41;;
				PlayerController&#40;InstigatedBy&#41;.ClientMessage&#40;setSpawnShooterMsg&#41;;
			&#125;

			bCantHurt = True;
		&#125;
	&#125;

	return bCantHurt;
&#125;[/code:1:4c6a693f15]


Hope this helps.  Let me know of any other issues.