Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Причина краша:
Ошибка IndexOutOfRangeException:
Возникла в методе JoJoStands.Projectiles.JoJoGlobalProjectile.OnSpawn при попытке получить данные игрока (Player.GetModPlayer).
Это произошло, когда мод GTA создавал снаряд (NewProjectile) в методе MissionCompleteConfig.OnChanged().
Конфликт модов:
GTA пытается создать снаряд до полной инициализации игрока (вероятно, на этапе загрузки меню).
JoJoStands в этот момент пытается обработать создание снаряда, но данные игрока ещё недоступны (индекс выходит за границы массива).
Триггер ошибки:
Метод ConfigManager.OnChangedAll() (вызывается при изменении конфигов) запустил MissionCompleteConfig.OnChanged() из GTA.
Это произошло во время подготовки к одиночной игре (Main.PrepareLoadedModsAndConfigsForSingleplayer).
Кусок лога с момента получения ошибок(возможно поможет что-то понять):
[09:58:43.564] [Main Thread/WARN] [tML]: Бесшумно пойманное исключение:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Terraria.Player.GetModPlayer[T](T baseInstance) in tModLoader\Terraria\Player.TML.cs:line 114
at JoJoStands.Projectiles.JoJoGlobalProjectile.OnSpawn(Projectile projectile, IEntitySource source) in JoJoStands\Projectiles\GlobalProjectile.cs:line 60
at Terraria.ModLoader.ProjectileLoader.OnSpawn(Projectile projectile, IEntitySource source) in tModLoader\Terraria\ModLoader\ProjectileLoader.cs:line 136
at Terraria.Projectile.NewProjectile(IEntitySource spawnSource, Single X, Single Y, Single SpeedX, Single SpeedY, Int32 Type, Int32 Damage, Single KnockBack, Int32 Owner, Single ai0, Single ai1, Single ai2) in tModLoader\Terraria\Projectile.cs:line 9359
at GTA.Configs.MissionCompleteConfig.OnChanged() in GTA\Configs\MissionCompleteConfig.cs:line 53
at Terraria.ModLoader.Config.ConfigManager.OnChangedAll() in tModLoader\Terraria\ModLoader\Config\ConfigManager.cs:line 187
at Terraria.Main.PrepareLoadedModsAndConfigsForSingleplayer() in tModLoader\Terraria\Main.TML.cs:line 666
at DMD<System.Void Terraria.Main:DrawMenu(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at TerrariaAmbience.Core.MethodDetours.Main_DrawMenu(orig_DrawMenu orig, Main self, GameTime gameTime)
at Hook<System.Void TerrariaAmbience.Core.MethodDetours::Main_DrawMenu(Terraria.On_Main+orig_DrawMenu,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:DrawMenu(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at DMD<DMD<>?65250612::Terraria.Main::DoDraw>(Main this, GameTime gameTime)
at MapWorldVIew.MapWorldVIew.On_Main_DoDraw(orig_DoDraw orig, Main self, GameTime gameTime)
at Hook<System.Void MapWorldVIew.MapWorldVIew::On_Main_DoDraw(Terraria.On_Main+orig_DoDraw,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Terraria.Main.Draw_Inner(GameTime gameTime)
at DMD<System.Void Terraria.Main:Draw(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at Macrocosm.Common.Debugging.DebugDrawing.Draw(orig_Draw orig, Main self, GameTime gameTime)
at Hook<System.Void Macrocosm.Common.Debugging.DebugDrawing::Draw(Terraria.On_Main+orig_Draw,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:Draw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.RunLoop()
at Microsoft.Xna.Framework.Game.Run()
at Terraria.Program.RunGame()
at Terraria.Program.LaunchGame_(Boolean isServer)
at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs)
at Terraria.MonoLaunch.Main_End(String[] args)
at Terraria.MonoLaunch.<>c__DisplayClass1_0.<Main>b__1()
[09:58:43.568] [Main Thread/ERROR] [Terraria]: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Terraria.Player.GetModPlayer[T](T baseInstance) in tModLoader\Terraria\Player.TML.cs:line 114
at JoJoStands.Projectiles.JoJoGlobalProjectile.OnSpawn(Projectile projectile, IEntitySource source) in JoJoStands\Projectiles\GlobalProjectile.cs:line 60
at Terraria.ModLoader.ProjectileLoader.OnSpawn(Projectile projectile, IEntitySource source) in tModLoader\Terraria\ModLoader\ProjectileLoader.cs:line 136
at Terraria.Projectile.NewProjectile(IEntitySource spawnSource, Single X, Single Y, Single SpeedX, Single SpeedY, Int32 Type, Int32 Damage, Single KnockBack, Int32 Owner, Single ai0, Single ai1, Single ai2) in tModLoader\Terraria\Projectile.cs:line 9359
at GTA.Configs.MissionCompleteConfig.OnChanged() in GTA\Configs\MissionCompleteConfig.cs:line 53
at Terraria.ModLoader.Config.ConfigManager.OnChangedAll() in tModLoader\Terraria\ModLoader\Config\ConfigManager.cs:line 187
at Terraria.Main.PrepareLoadedModsAndConfigsForSingleplayer() in tModLoader\Terraria\Main.TML.cs:line 666
at DMD<System.Void Terraria.Main:DrawMenu(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at TerrariaAmbience.Core.MethodDetours.Main_DrawMenu(orig_DrawMenu orig, Main self, GameTime gameTime)
at Hook<System.Void TerrariaAmbience.Core.MethodDetours::Main_DrawMenu(Terraria.On_Main+orig_DrawMenu,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:DrawMenu(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at DMD<DMD<>?65250612::Terraria.Main::DoDraw>(Main this, GameTime gameTime)
at MapWorldVIew.MapWorldVIew.On_Main_DoDraw(orig_DoDraw orig, Main self, GameTime gameTime)
at Hook<System.Void MapWorldVIew.MapWorldVIew::On_Main_DoDraw(Terraria.On_Main+orig_DoDraw,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Terraria.Main.Draw_Inner(GameTime gameTime)
at DMD<System.Void Terraria.Main:Draw(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
[09:58:43.692] [Main Thread/FATAL] [tML]: Main engine crash
Совет: Скорее всего, проблема вызвана модом (модами). Попробуйте отключать моды поочерёдно и проверять, сохраняется ли проблема.
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Terraria.Player.GetModPlayer[T](T baseInstance) in tModLoader\Terraria\Player.TML.cs:line 114
at JoJoStands.Projectiles.JoJoGlobalProjectile.OnSpawn(Projectile projectile, IEntitySource source) in JoJoStands\Projectiles\GlobalProjectile.cs:line 60
at Terraria.ModLoader.ProjectileLoader.OnSpawn(Projectile projectile, IEntitySource source) in tModLoader\Terraria\ModLoader\ProjectileLoader.cs:line 136
at Terraria.Projectile.NewProjectile(IEntitySource spawnSource, Single X, Single Y, Single SpeedX, Single SpeedY, Int32 Type, Int32 Damage, Single KnockBack, Int32 Owner, Single ai0, Single ai1, Single ai2) in tModLoader\Terraria\Projectile.cs:line 9359
at GTA.Configs.MissionCompleteConfig.OnChanged() in GTA\Configs\MissionCompleteConfig.cs:line 53
at Terraria.ModLoader.Config.ConfigManager.OnChangedAll() in tModLoader\Terraria\ModLoader\Config\ConfigManager.cs:line 187
at Terraria.Main.PrepareLoadedModsAndConfigsForSingleplayer() in tModLoader\Terraria\Main.TML.cs:line 666
at DMD<System.Void Terraria.Main:DrawMenu(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at TerrariaAmbience.Core.MethodDetours.Main_DrawMenu(orig_DrawMenu orig, Main self, GameTime gameTime)
at Hook<System.Void TerrariaAmbience.Core.MethodDetours::Main_DrawMenu(Terraria.On_Main+orig_DrawMenu,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:DrawMenu(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at DMD<DMD<>?65250612::Terraria.Main::DoDraw>(Main this, GameTime gameTime)
at MapWorldVIew.MapWorldVIew.On_Main_DoDraw(orig_DoDraw orig, Main self, GameTime gameTime)
at Hook<System.Void MapWorldVIew.MapWorldVIew::On_Main_DoDraw(Terraria.On_Main+orig_DoDraw,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:DoDraw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Terraria.Main.Draw_Inner(GameTime gameTime)
at DMD<System.Void Terraria.Main:Draw(Microsoft.Xna.Framework.GameTime)>(Main this, GameTime gameTime)
at Macrocosm.Common.Debugging.DebugDrawing.Draw(orig_Draw orig, Main self, GameTime gameTime)
at Hook<System.Void Macrocosm.Common.Debugging.DebugDrawing::Draw(Terraria.On_Main+orig_Draw,Terraria.Main,Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at SyncProxy<System.Void Terraria.Main:Draw(Microsoft.Xna.Framework.GameTime)>(Main , GameTime )
at Microsoft.Xna.Framework.Game.Tick()
at Microsoft.Xna.Framework.Game.RunLoop()
at Microsoft.Xna.Framework.Game.Run()
at Terraria.Program.RunGame()
[09:58:43.706] [Main Thread/DEBUG] [TerrariaSteamClient]: Send: shutdown