How to see if another gameobject is active in a different script and if it is not active i want my current script to switch to active

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Pic1 : MonoBehaviour {

public bool pic = false;

void Start () {
    gameObject.SetActive (false);

}

void Awake()
{

    
    pic = GameObject.FindGameObjectWithTag("Pic").GetComponent<NewBehaviourScript>(); 
}

void Update()
{
    if (pic.picture = true)
    {
        gameObject.SetActive(true);
    }

}

}

As @UnityCoach mentioned, a GameObject is either active or inactive. It won’t be inactive in one script and Active in another.

Please notice that

pic = GameObject.FindGameObjectWithTag("Pic").GetComponent<NewBehaviourScript>();

Won’t return a bool. It will return a NewBehaviourScript.
If I understand your Code correctly it should be:

pic = GameObject.FindGameObjectWithTag("Pic").GetComponent<NewBehaviourScript>().picture;

Can you go into more detail what you want to do?