Making a weapon

How can I make a prop delete on the impact of a surface/player. etc.

You could use this. Just set the function up on the entity creation(as long as it’s a prop_physics). This would need to be serverside since you’ll be removing the entity.