Modding Help NullReferenceException help?

Discussion in 'Mods' started by AlisterAzimuth, Oct 15, 2016.

  1. AlisterAzimuth

    AlisterAzimuth Scruffy Nerf-Herder

    Code:
    using StardewModdingAPI;
    using StardewValley;
    using System;
    
    namespace FriendlierNPCs
    {
        public class FriendlierNPCs : Mod
        {
            private Event currentEvent;
            private string name = "Mine";
            public override void Entry(params object[] objects)
            {
                StardewModdingAPI.Events.GameEvents.UpdateTick += GameEvents_UpdateTick;
               
            }
    
            private void GameEvents_UpdateTick(object sender, EventArgs e)
            {
                if (!Game1.hasLoadedGame)
                    return;
                if (Game1.killScreen && !Game1.eventUp)
                {
    
                    if (Game1.currentLocation.Equals("Mine"))
                    {
                        string text = string.Empty;
                        string text2 = string.Empty;
                        switch (Game1.random.Next(14))
                        {
                            case 0:
                                text = "Robin";
                                text2 = "Data\\ExtraDialogue:Mines_PlayerKilled_Robin";
                                goto IL_B8;
                            case 1:
                                text = "Clint";
                                text2 = "Data\\ExtraDialogue:Mines_PlayerKilled_Clint";
                                goto IL_B8;
                            case 2:
                                text = "Abigail";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Abigail")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Abigail_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Abigail_NotSpouse");
                                goto IL_B8;
                            case 3:
                                text = "Alex";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Alex")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Alex_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Alex_NotSpouse");
                                goto IL_B8;
                            case 4:
                                text = "Elliot";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Elliot")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Elliott_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Elliott_NotSpouse");
                                goto IL_B8;
                            case 5:
                                text = "Emily";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Emily")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Emily_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Emily_NotSpouse");
                                goto IL_B8;
                            case 6:
                                text = "Haley";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Haley")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Haley_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Haley_NotSpouse");
                                goto IL_B8;
                            case 7:
                                text = "Harvey";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Harvey")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Harvey_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Harvey_NotSpouse");
                                goto IL_B8;
                            case 8:
                                text = "Leah";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Leah")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Leah_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Leah_NotSpouse");
                                goto IL_B8;
                            case 9:
                                text = "Maru";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Maru")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Maru_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Maru_NotSpouse");
                                goto IL_B8;
                            case 10:
                                text = "Penny";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Penny")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Penny_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Penny_NotSpouse");
                                goto IL_B8;
                            case 11:
                                text = "Sam";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Sam")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Sam_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Sam_NotSpouse");
                                goto IL_B8;
                            case 12:
                                text = "Sebastian";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Sebastian")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Sebastian_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Sebastian_NotSpouse");
                                goto IL_B8;
                            case 13:
                                text = "Shane";
                                text2 = ((Game1.player.spouse != null && Game1.player.spouse.Equals("Shane")) ? "Data\\ExtraDialogue:Mines_PlayerKilled_Shane_Spouse" : "Data\\ExtraDialogue:Mines_PlayerKilled_Shane_NotSpouse");
                                goto IL_B8;
                        }
                        text = "Linus";
                        text2 = "Data\\ExtraDialogue:Mines_PlayerKilled_Linus";
                    IL_B8:
                        if (Game1.random.NextDouble() < 0.1 && Game1.player.spouse != null && !Game1.player.spouse.Contains("engaged") && Game1.player.spouse.Length > 1)
                        {
                            text = Game1.player.spouse;
                            text2 = (Game1.player.isMale ? "Data\\ExtraDialogue:Mines_PlayerKilled_Spouse_PlayerMale" : "Data\\ExtraDialogue:Mines_PlayerKilled_Spouse_PlayerFemale");
                        }
                        var killedString = Game1.content.LoadString(Game1.content.LoadString("Data\\Events\\Mine:playerKilled", new object[]
                        {
                        text,
                        text2,
                        Game1.player.name
                             }));
                        if (killedString != null)
                        {
                            this.currentEvent = new
                            Event(killedString, -1);
                        }
                    }
                    else if (this.name.Equals("Hospital"))
                    {
                        this.currentEvent = new Event(Game1.content.LoadString("Data\\Events\\Hospital:playerKilled", new object[]
                        {
                            Game1.player.name
                        }), -1);
                    }
                }
            }
    
        }
    }
    
    
     
    • VIspReaderUS

      VIspReaderUS Void-Bound Voyager

      did you check if killedString has the string you wanted it to have? do a log for killedString

      and don't you need to trigger the event itself? like currentEvent.start(); ?
       

      Share This Page