Assign a GameObject to a prefab?

I currently have a script attached to a prefab for a bullet. The script work by looking at the collision with the target which is “Player 2”. However the bullet is a prefab and my Game Object is in the scene. I can not drag and drop the GameObject onto the prefab so i am unable to complete the script.

Anyone can you help?

Bellow is my script:

using UnityEngine;
using System.Collections;

public class BulletDestroyer : MonoBehaviour {
	
	public int damage_amount;
	public GameObject Player2;

	// Update is called once per frame
	void Update () 
	{
		Attack();
		//if the AutoDestruct() method isn't already being invoked
		if(!IsInvoking("AutoDestruct"))
		{
			//schedule the execution of the AutoDestruct() method to happen in the next 3 seconds
			Invoke("AutoDestruct",3);
		}
	
	}
	
	//destroys the game object
	void AutoDestruct()
	{
		Destroy(gameObject);
	}
	
	private void Attack() {
	float distance = Vector3.Distance(Player2.transform.position, transform.position); 
	
	//To fix .. looking if the charecter is infront or binde of you.
	Vector3 dir = (Player2.transform.position - transform.position).normalized;
	float direction = Vector3.Dot(dir, transform.forward);
	//debug for above ...
	Debug.Log(direction);
	
	if(distance < 1.2f){
	Player2Health eh = (Player2Health)Player2.GetComponent("Player2Health");
	eh.addjustcurrenthealth(-damage_amount);
		}
	}
}

I don´t understand what kind of problem you are experiencing, but you can assign a gameobject into a prefab. Just declare a public gameobject variable in the prefab script and you will get the slot to drag and drop your gameobject there.
Or you can tag your gameobject and use

GameObject.FindGameObjectWithTag("mytag");

In your prefab script whenever you need to reference that gameobject.

Will you always know which object is the Player2 when the bullet gets instantiated? Keep a reference to the correct gameObject in the script which manages bullet instantiation, and then after you spawn the bullet add a line in that goes like this-

newBullet.GetComponent<BulletDestroyer>().Player2 = myPlayer2;

If the gun that spawns the bullets has the same problem, pass the value forwards from whatever it is that spawns the gun- and so on backwards until you have something you can just assign in the scene.

Alternatively, if both Player1 and Player2 get instantiated at runtime, get them to exchange references when you do, so that they always know how to contact each other.