So in my project, you’re supposed to activate 3 gen in order to activate a door but it keeps saying “Object reference not set to an instance of an object”
Script:
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;
public class Door_Script: MonoBehaviour
{
public GameObject GeneratorObject3;
public GameObject GeneratorObjectll;
public GameObject GeneratorObject;
public GameObject VaultDoor;
public GameObject Door;
public bool Open = false;
public bool Startit;
public Text Condition;
string Gen1 = “1/3 Generator Activated”;
string Gen2 = “2/3 Generator Activated”;
string GenActive = “ALL THE GENERATORS ARE ACTIVE!”;
string Exit = “THE DOOR IS OPEN! LEAVE NOW!!!”;
int AddIn = 0;
private GeneratorCastTrigger generatorcasttrigger;
private GeneratorCastTrigger1 generatorcasttrigger1;
private GeneratorCastTrigger2 generatorcasttrigger2;
/this is how you grab a script Component/
void Start()
{
Condition.enabled = false;
Open = false;
}
void Awake()
{
generatorcasttrigger = GeneratorObject.GetComponent();
generatorcasttrigger1 = GeneratorObjectll.GetComponent();
generatorcasttrigger2 = GeneratorObject3.GetComponent();
/*this is basically how you make a Variable = Script */
}
// Update is called once per frame
void Update()
{
int AddItNow = generatorcasttrigger1.ButtonOn + generatorcasttrigger.Variable2 + generatorcasttrigger2.Variable1;
if (Startit)
{
AddIn++;
}
else
{
AddIn = 0;
}
if (AddItNow == 1)
{
Condition.text = Gen1;
}
if (AddItNow == 2)
{
Condition.text = Gen2;
}
if (AddItNow == 3)
{
if(AddIn == 50)
{
Condition.text = GenActive;
}
if (AddIn == 100)
{
Condition.text = Exit;
Open = true;
}
if (Open == true)
{
VaultDoor.transform.Translate(Vector3.up * Time.deltaTime * 800);
}
if (VaultDoor.transform.position.y > 30f)
{
Open = false;
}
}
}
}
[/code]