Seite 1 von 1

manuelle GK Anmeldung

Verfasst: Mi 16. Okt 2019, 19:59
von zaphod
Folgende Fehler (3 Versuche) schmeisst er aus wenn man manuell einen GK anmelden will.

20191016 19:54:41 Error Core Der Index war außerhalb des Arraybereichs.
Message: Der Index war außerhalb des Arraybereichs.
HResult: -2146233080
Source: BasisFightSimulation
StackTrace: bei A.GRV.I(Object I, Int32 F, Int32 V, Int32 O, Int32 C)
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.getStandardDeviation(Double rounds, Double pCrits, Double pCritModifier, Double pFoeBlockCalc) in File196:Zeile 93.
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.I(IFighter I, IFighter F, ValueTuple`2 V, ValueTuple`2 O, Boolean C) in File196:Zeile 551.
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.simulate(IGuild g1, IGuild g2, SimulationType simType) in File196:Zeile 608.
bei de.mfbot.MFBot_NG.Basisbibliothek.CachedFightSimulator.simulate(IGuild g1, IGuild g2, SimulationType simType) in File25:Zeile 132.
bei A.LTO.F(Object I, Object F)
bei A.NGO.K(Object I, DataGridViewCellEventArgs F)
bei System.Windows.Forms.DataGridView.OnCellClick(DataGridViewCellEventArgs e)
bei System.Windows.Forms.DataGridView.OnMouseClick(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
TargetSite: Double I(System.Object, Int32, Int32, Int32, Int32)

20191016 19:55:12 Error Core Der Index war außerhalb des Arraybereichs.
Message: Der Index war außerhalb des Arraybereichs.
HResult: -2146233080
Source: BasisFightSimulation
StackTrace: bei A.GRV.I(Object I, Int32 F, Int32 V, Int32 O, Int32 C)
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.getStandardDeviation(Double rounds, Double pCrits, Double pCritModifier, Double pFoeBlockCalc) in File196:Zeile 93.
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.I(IFighter I, IFighter F, ValueTuple`2 V, ValueTuple`2 O, Boolean C) in File196:Zeile 551.
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.simulate(IGuild g1, IGuild g2, SimulationType simType) in File196:Zeile 608.
bei de.mfbot.MFBot_NG.Basisbibliothek.CachedFightSimulator.simulate(IGuild g1, IGuild g2, SimulationType simType) in File25:Zeile 132.
bei A.LTO.F(Object I, Object F)
bei A.NGO.K(Object I, DataGridViewCellEventArgs F)
bei System.Windows.Forms.DataGridView.OnCellClick(DataGridViewCellEventArgs e)
bei System.Windows.Forms.DataGridView.OnMouseClick(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
TargetSite: Double I(System.Object, Int32, Int32, Int32, Int32)

20191016 19:55:21 Error Core Der Index war außerhalb des Arraybereichs.
Message: Der Index war außerhalb des Arraybereichs.
HResult: -2146233080
Source: BasisFightSimulation
StackTrace: bei A.GRV.I(Object I, Int32 F, Int32 V, Int32 O, Int32 C)
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.getStandardDeviation(Double rounds, Double pCrits, Double pCritModifier, Double pFoeBlockCalc) in File196:Zeile 93.
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.I(IFighter I, IFighter F, ValueTuple`2 V, ValueTuple`2 O, Boolean C) in File196:Zeile 551.
bei de.mfbot.MFBot_NG.Basisbibliothek.FightSimulator.simulate(IGuild g1, IGuild g2, SimulationType simType) in File196:Zeile 608.
bei de.mfbot.MFBot_NG.Basisbibliothek.CachedFightSimulator.simulate(IGuild g1, IGuild g2, SimulationType simType) in File25:Zeile 132.
bei A.LTO.F(Object I, Object F)
bei A.NGO.K(Object I, DataGridViewCellEventArgs F)
bei System.Windows.Forms.DataGridView.OnCellClick(DataGridViewCellEventArgs e)
bei System.Windows.Forms.DataGridView.OnMouseClick(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
TargetSite: Double I(System.Object, Int32, Int32, Int32, Int32)

Re: manuelle GK Anmeldung

Verfasst: Mi 16. Okt 2019, 20:27
von Brummiheld82
Habs direkt weiter gegeben ;)

Re: manuelle GK Anmeldung

Verfasst: Mi 16. Okt 2019, 20:46
von UnknownDeveloper
Hallo zaphod,

bin mir ziemlicher sicher, was der Fehler ist.
Die Gildenkampfsimulation läuft etwas anders ab, als ein Kampf 1 gegen 1, was an allen anderen Stellen benutzt wird.

In Einzelkämpfen passieren nie mehr als 150 Schläge pro Spieler, geschweige denn 100, folglich sind unsere vorberechneten Werte eben nur bis 150 Schläge, in einem Gildenkampf 40 gegen 40 wird dies aber durchaus überschritten.

Um aktuell den Fehler bei dir zu vermeiden, kannst du vorher auf die alte Simulationsmethode stellen.

Es ist also kein Fehler in der Logik der neuen Simulation, es war nur ein Aspekt den wir nicht berücksichtigt haben ;-)

VG

Re: manuelle GK Anmeldung

Verfasst: Mi 16. Okt 2019, 20:53
von zaphod
Ob es mit der alten Methode funktioniert kann ich jetzt erst morgen früh wieder testen. Ich meld mich dann wieder.

Re: manuelle GK Anmeldung

Verfasst: Do 17. Okt 2019, 08:48
von zaphod
Die alte Methode der Gegnerstärkeberechnung :D funktioniert in der Tat noch.

Re: manuelle GK Anmeldung

Verfasst: Sa 19. Okt 2019, 08:35
von UnknownDeveloper
Konnte den Fehler nicht nur beheben, du solltest ab der nächsten Version auch eine viel präzisere Aussage haben, wie der Kampf ausgehen wird ;-)

Nachtrag: Geht dann mit beiden Simulationsmethoden.