Standalone [1.3] tModLoader - A Modding API

how do I fix this?
8/21/2016 1:50:23 PM
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'RenderTarget2D'.
at Microsoft.Xna.Framework.Helpers.CheckDisposed(Object obj, IntPtr pComPtr)
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.SetRenderTargets(RenderTargetBinding* pBindings, Int32 renderTargetCount)
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.SetRenderTarget(RenderTarget2D renderTarget)
at Terraria.Main.woodColorCheck(Int32 t, Int32 c)
at Terraria.Main.lookForColorTiles()
at Terraria.Main.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame(String[] args)

9/19/2016 4:25:57 PM
System.NullReferenceException: Object reference not set to an instance of an object.
at Terraria.ModLoader.ItemLoader.SetMatch(Int32 armorSlot, Int32 type, Boolean male, Int32& equipSlot, Boolean& robes)
at Terraria.Player.SetMatch(Int32 armorslot, Int32 type, Boolean male, Boolean& somethingSpecial)
at Terraria.Player.PlayerFrame()
at Terraria.Main.DrawMenu(GameTime gameTime)
at Terraria.Main.do_Draw(GameTime gameTime)
at Terraria.Main.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame(String[] args)

10/2/2016 8:41:19 PM
 
Looks like you simply need to replace 'base' with 'npc'.

The vanilla code was originally from the NPC calss (I assume) so 'base.' will refer to that NPC. When you have that code into your ModNPC class, 'base.' refers to that ModNPC class instead which is why you need to replace 'base' with 'npc'.
It worked, thanks a ton!
 
I'm not sure if the next tmodloader update will fix this problem, but currently, every time I open tmodloader, it crashes upon reaching the end of initializing mods. No clue why, I got this error only after updating my mods, and it remains after deleting them. I'm not alone in this either, I found a user in the thread for the Wireless mod who is experiencing the same issue. If anyone knows what's causing this, or if it is addressed and fixed with the tmodloader update please reply, because I'd like to play some of these great new mods.
 
So, can i make an item have multiple item set bonuses?
For instance, there's a helmet i have that i want to have a set bonus when you equip one of the armor sets it'll be for, And i want the two armor set bonuses to be different.
Is there any way to do this?
 
So, can i make an item have multiple item set bonuses?
For instance, there's a helmet i have that i want to have a set bonus when you equip one of the armor sets it'll be for, And i want the two armor set bonuses to be different.
Is there any way to do this?
So there's one helmet for two armor sets? If that's the case, put the 'IsArmorSet' check on either the body or the leg parts of both armor sets.
 
This is code for an npc to spawn and it works, but whenever I leave the world and come back he's gone again. soooo any ideas

Code:
public override bool CanTownNPCSpawn(int numTownNPCs, int money)
        {
            for (int k = 0; k < 255; k++)
            {
                Player player = Main.player[k];
                if (player.active)
                {
                    for (int j = 0; j < player.inventory.Length; j++)
                    {
                        if (player.inventory[j].type == mod.ItemType("woodtoken"))
                        {
                            return true;
                        }
                    }
                }
            }
            return false;
        }
 
I can't update my mod onto the mod browser, the game just freezes for a bit and then I get this error:
The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at Terraria.ModLoader.IO.UploadFile.UploadFiles(String address, IEnumerable`1 files, NameValueCollection values)
at Terraria.ModLoader.UI.UIModSourceItem.Publish(UIMouseEvent evt, UIElement listeningElement)
Someone please help... :(
 
This is code for an npc to spawn and it works, but whenever I leave the world and come back he's gone again. soooo any ideas

Code:
public override bool CanTownNPCSpawn(int numTownNPCs, int money)
        {
            for (int k = 0; k < 255; k++)
            {
                Player player = Main.player[k];
                if (player.active)
                {
                    for (int j = 0; j < player.inventory.Length; j++)
                    {
                        if (player.inventory[j].type == mod.ItemType("woodtoken"))
                        {
                            return true;
                        }
                    }
                }
            }
            return false;
        }
Make sure the autoload name and npc.name are the same. See example person.
 
how do I fix this?
8/21/2016 1:50:23 PM
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'RenderTarget2D'.
at Microsoft.Xna.Framework.Helpers.CheckDisposed(Object obj, IntPtr pComPtr)
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.SetRenderTargets(RenderTargetBinding* pBindings, Int32 renderTargetCount)
at Microsoft.Xna.Framework.Graphics.GraphicsDevice.SetRenderTarget(RenderTarget2D renderTarget)
at Terraria.Main.woodColorCheck(Int32 t, Int32 c)
at Terraria.Main.lookForColorTiles()
at Terraria.Main.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame(String[] args)

9/19/2016 4:25:57 PM
System.NullReferenceException: Object reference not set to an instance of an object.
at Terraria.ModLoader.ItemLoader.SetMatch(Int32 armorSlot, Int32 type, Boolean male, Int32& equipSlot, Boolean& robes)
at Terraria.Player.SetMatch(Int32 armorslot, Int32 type, Boolean male, Boolean& somethingSpecial)
at Terraria.Player.PlayerFrame()
at Terraria.Main.DrawMenu(GameTime gameTime)
at Terraria.Main.do_Draw(GameTime gameTime)
at Terraria.Main.Draw(GameTime gameTime)
at Microsoft.Xna.Framework.Game.DrawFrame()
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.HostIdle(Object sender, EventArgs e)
at Microsoft.Xna.Framework.GameHost.OnIdle()
at Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame()
at Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object sender, EventArgs e)
at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.Xna.Framework.WindowsGameHost.Run()
at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun)
at Terraria.Program.LaunchGame(String[] args)

10/2/2016 8:41:19 PM
Remove the vanilla Terraria and extract the tMod Terraria and it should work and fix the XNA Framework so it can now fix
 
Ummmm, I did that thing to bypass the vanilla update (reinstalling tmodloader and reverting it back to 1.3.2) and now I'm not sure if vanilla will revert back. Anybody know how?
 
Ummmm, I did that thing to bypass the vanilla update (reinstalling tmodloader and reverting it back to 1.3.2) and now I'm not sure if vanilla will revert back. Anybody know how?
Simple Solution: Convince Bluemagic123 to update tmodloader to 1.3.3.3
 
Back
Top Bottom