tModLoader Rewards - Receive (non-transferable) spendable points for game progress

I can't have more than 21 bosses that give PP and when I try to add more, it throws me an error that is too small to read. Other than that it does nothing.
I can't make anything of that log file other than some mod (Calamity?) with a lot of textures doesn't seem to be able to load them all.

Can you attempt to screenshot the error when you get it?
 
It is very hard to read.
 

Attachments

  • 20190914212949_1.jpg
    20190914212949_1.jpg
    321.1 KB · Views: 246
This seems to be the error.

[09:44:49] [1/WARN] [tML]: Silently Caught Exception:
System.InvalidCastException: Unable to cast object of type 'Rewards.Configs.NPCKillRewardValue' to type 'Terraria.ModLoader.Config.NPCDefinition'.
at System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.Add(Object key, Object value)
at Terraria.ModLoader.Config.UI.DictionaryElement.AddItem()
at Terraria.ModLoader.Config.UI.CollectionElement.<OnBind>b__12_1(UIMouseEvent a, UIElement b)
at Terraria.UI.UIElement.Click(UIMouseEvent evt)
at Terraria.UI.UserInterface.Update(GameTime time)
at Terraria.Main.DoUpdate(GameTime gameTime)
at Terraria.Main.Update(GameTime gameTime)
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_()
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.WindowsLaunch.Main(String[] args)
[09:44:49] [1/WARN] [tML]: Silently Caught Exception:
System.ArgumentException: The value "Rewards.Configs.NPCKillRewardValue" is not of type "Terraria.ModLoader.Config.NPCDefinition" and cannot be used in this generic collection.
Parameter name: key
at System.ThrowHelper.ThrowWrongKeyTypeArgumentException(Object key, Type targetType)
at System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.Add(Object key, Object value)
at Terraria.ModLoader.Config.UI.DictionaryElement.AddItem()
at Terraria.ModLoader.Config.UI.CollectionElement.<OnBind>b__12_1(UIMouseEvent a, UIElement b)
at Terraria.UI.UIElement.Click(UIMouseEvent evt)
at Terraria.UI.UserInterface.Update(GameTime time)
at Terraria.Main.DoUpdate(GameTime gameTime)
at Terraria.Main.Update(GameTime gameTime)
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_()
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.WindowsLaunch.Main(String[] args)
 
This seems to be the error.

[09:44:49] [1/WARN] [tML]: Silently Caught Exception:
System.InvalidCastException: Unable to cast object of type 'Rewards.Configs.NPCKillRewardValue' to type 'Terraria.ModLoader.Config.NPCDefinition'.
at System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.Add(Object key, Object value)
at Terraria.ModLoader.Config.UI.DictionaryElement.AddItem()
at Terraria.ModLoader.Config.UI.CollectionElement.<OnBind>b__12_1(UIMouseEvent a, UIElement b)
at Terraria.UI.UIElement.Click(UIMouseEvent evt)
at Terraria.UI.UserInterface.Update(GameTime time)
at Terraria.Main.DoUpdate(GameTime gameTime)
at Terraria.Main.Update(GameTime gameTime)
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_()
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.WindowsLaunch.Main(String[] args)
[09:44:49] [1/WARN] [tML]: Silently Caught Exception:
System.ArgumentException: The value "Rewards.Configs.NPCKillRewardValue" is not of type "Terraria.ModLoader.Config.NPCDefinition" and cannot be used in this generic collection.
Parameter name: key
at System.ThrowHelper.ThrowWrongKeyTypeArgumentException(Object key, Type targetType)
at System.Collections.Generic.Dictionary`2.System.Collections.IDictionary.Add(Object key, Object value)
at Terraria.ModLoader.Config.UI.DictionaryElement.AddItem()
at Terraria.ModLoader.Config.UI.CollectionElement.<OnBind>b__12_1(UIMouseEvent a, UIElement b)
at Terraria.UI.UIElement.Click(UIMouseEvent evt)
at Terraria.UI.UserInterface.Update(GameTime time)
at Terraria.Main.DoUpdate(GameTime gameTime)
at Terraria.Main.Update(GameTime gameTime)
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_()
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.WindowsLaunch.Main(String[] args)
Alright, bad news, good news. Bad news first: The error is with the current TML version (v0.11.4), and we'll have to wait until the next version to see it fixed. Good news is you can still edit your config files freely, but you'll need to do so in a text editor. The file you want to edit is in the Mod Configs folder, called Rewards_RewardsPointsConfig.json. Make sure you use proper JSON format. You can check for errors using JSON Editor Online - view, edit and format JSON online
 
Bro, how did i make custom bags for rewards in the newest version? (I didn't have a rewards config.json)
There'll be several new config json files, but you'll want to use the mods menu config editor option (a button on the mod in the list), unless your adding lots of shop options.
 
There'll be several new config json files, but you'll want to use the mods menu config editor option (a button on the mod in the list), unless your adding lots of shop options.
I have an question. If The point multiplier are: 0.1, all the points given will be the ammout that i writed, right? But, how did they work, if i increase to 0.2, 0.25, 0.5, 1 and more?
 
Back
Top Bottom