I’ve been stuck with this for a while, I was working for a while. I stopped working after I created a script that shouldn’t have affected this one, then it wasn’t until the next day that I got the error.
NullReferenceException: Object reference not set to an instance of an object
LevelText.LevelUp (System.Int32 CurrentLevel) (at Assets/Scripts/LevelText.cs:10)
expPlace.Start () (at Assets/Scripts/expPlace.cs:34)
public class expPlace : MonoBehaviour
{
public int ExpNeedToLevelUp;
int baseExp = 100;
public int CurrentExp;
public static int CurrentLevel = 1;
public ExpBar expBar;
public static int LPIN; // Level Player Is On
public static int EPH; // Exp Player Has
public static int ENTLU; // Exp Needed To Level Up
public LevelText levelText;
int Exp = 100;
void Start()
{
if (PlayerPrefs.HasKey("CurrentLevel"))
{
LPIN = PlayerPrefs.GetInt("CurrentLevel", CurrentLevel);
CurrentLevel = LPIN;
}
if (PlayerPrefs.HasKey("CurrentExp"))
{
EPH = PlayerPrefs.GetInt("CurrentExp", CurrentExp);
CurrentExp = EPH;
}
if (PlayerPrefs.HasKey("ExpNeedTolvlUp"))
{
ENTLU = PlayerPrefs.GetInt("ExpNeedTolvlUp", ExpNeedToLevelUp);
ExpNeedToLevelUp = ENTLU;
}
levelText.LevelUp(CurrentLevel);
expBar.SetMinExp();
expBar.SetMaxExp(ExpNeedToLevelUp);
expBar.SetExp(CurrentExp);
}
public void GainExp()
{
{
CurrentExp += Exp;
expBar.SetExp(CurrentExp);
if (CurrentExp >= ExpNeedToLevelUp)
{
CurrentLevel++;
nextLevel();
expBar.LevelUppy();
}
}
}
void nextLevel()
{
ExpNeedToLevelUp = baseExp * CurrentLevel;
CurrentExp = 0;
expBar.SetMaxExp(ExpNeedToLevelUp);
levelText.LevelUp(CurrentLevel);
}
void OnDisable()
{
PlayerPrefs.SetInt("CurrentLevel", CurrentLevel);
PlayerPrefs.SetInt("CurrentExp", CurrentExp);
PlayerPrefs.SetInt("ExpNeedTolvlUp", ExpNeedToLevelUp);
}
}