How can i achieve different achievement on killing enemies?

i am working on the fps kind of game in which i want on killing enemies player achieves different kind of achievements. till now i had achieved one achievement as player kills any enemy . but how can i get other can any one Help. and how can i make achivement unlocked. as whenever i play game again the same achievement comes again. this is the script i had done till now

public static int count;

	public GUIStyle heading;
	public int displayTime;

	private float menu_x = Screen.width;
	private float menu_x_target= Screen.width - 250;
	private float tex_left = 15;
	private float tex_top = 60;
	private float tex_offset = 45;
	private float time;
	public bool moving_in;
	private string stringName;

	public GameObject enemy1;

	void Start()
	{
		moving_in = true;
		PlayerPrefs.SetInt ("AchivementCount", count);
		count = PlayerPrefs.GetInt ("AchivementCount");

	}

	void Update()
	{
		enemy1 = GameObject.FindGameObjectWithTag("Enemy1");
		PlayerPrefs.SetInt ("AchivementCount", count);
		count = PlayerPrefs.GetInt ("AchivementCount");
		if(count >=1)
		{
		time += Time.deltaTime;

		if(menu_x > menu_x_target && moving_in)
		{
			menu_x -= Time.deltaTime * 100;
		}
		else if(menu_x < Screen.width && time > displayTime)
		{
			StartCoroutine(Pauselabel());
		}
		}
		Debug.Log (count);

		if(count ==1)
		{
			stringName = "Killed First Bone";
		}
		if(count ==5 && enemy1)
		{
			stringName ="Killed 5 max";
		}


	}

	IEnumerator Pauselabel()
	{
		yield return new WaitForSeconds (1f);
		moving_in = false;
		menu_x += Time.deltaTime * 100;
	}
 	void OnGUI()
	{
		GUI.Label (new Rect (menu_x, tex_top - 40, 280, 50),""+stringName, heading);
	}

It’s hard to tell why/what you are using PlayerPrefs for. I read this as : whenever the scene with the player is loaded, the count is set to zero. So count is reset to zero on every new player session. Your static int count is all you need for this.

If you want to save the highest all-time achievement, you would use PlayerPrefs to store that while the game is not played. So when the scene is loaded, you start with something like :

public static int count;
private int highestCount;

void Start()
{
    count = 0; // reset count for this player session
    highestCount = PlayerPrefs.GetInt( "HighestAchivement", 0 ); // zero if this is the very first time the game is played and there is no value stored
}

now you are tracking the count for this current play and the highest all-time count, you can do things like :

if ( count == 1 )
{
    stringName = "";
    if ( count > highestCount )
    {
        stringName = "New Achievement! ";
    }
    
    stringName += "Killed First Bone";
}

Then when the current play session is over, when the player is ended and the scene is ready to change, you would call a function to see if the all-time highscore has been beaten, and if so then store that :

void SetHighScore()
{
    if ( count > highestCount )
    {
        PlayerPrefs.SetInt( "HighestAchivement", count );
    }
}