Solved Array index is out of range

DFM Москва 101.2

Member
Member
Aug 23, 2016
66
-2
6
28
Parts Unknown
[12/26/2016 9:44:33 AM] [Error] PlayerHurtEvent Error: System.IndexOutOfRangeException: Array index is out of range.
at ClassLibrary1.test.OnPlayerHurt (Fougerite.Events.HurtEvent ivint) [0x00000] in <filename unknown>:0
at (wrapper delegate-invoke) Fougerite.Hooks/HurtHandlerDelegate:invoke_void__this___HurtEvent (Fougerite.Events.HurtEvent)
at Fougerite.Hooks.PlayerHurt (.DamageEvent& e) [0x00000] in <filename unknown>:0

[12/26/2016 9:42:54 AM] [Error] PlayerHurtEvent Error: System.InvalidCastException: Cannot cast from source type to destination type.
at ClassLibrary1.test.OnPlayerHurt (Fougerite.Events.HurtEvent ivint) [0x00000] in <filename unknown>:0
at (wrapper delegate-invoke) Fougerite.Hooks/HurtHandlerDelegate:invoke_void__this___HurtEvent (Fougerite.Events.HurtEvent)
at Fougerite.Hooks.PlayerHurt (.DamageEvent& e) [0x00000] in <filename unknown>:0

C#:
public void OnPlayerHurt(HurtEvent ivint)
{
//There's a secret code )
            int te = hitArray.Count();
            if (attacker.Name == victim.Name)
            {
                return;
            }
            if (te == 0)
            {
                ivint.DamageAmount = 0;
                attacker.Disconnect();
            }
 

DreTaX

Probably knows the answer...
Administrator
Jun 29, 2014
4,093
4,784
113
At your house.
github.com
[12/26/2016 9:44:33 AM] [Error] PlayerHurtEvent Error: System.IndexOutOfRangeException: Array index is out of range.
at ClassLibrary1.test.OnPlayerHurt (Fougerite.Events.HurtEvent ivint) [0x00000] in <filename unknown>:0
at (wrapper delegate-invoke) Fougerite.Hooks/HurtHandlerDelegate:invoke_void__this___HurtEvent (Fougerite.Events.HurtEvent)
at Fougerite.Hooks.PlayerHurt (.DamageEvent& e) [0x00000] in <filename unknown>:0

[12/26/2016 9:42:54 AM] [Error] PlayerHurtEvent Error: System.InvalidCastException: Cannot cast from source type to destination type.
at ClassLibrary1.test.OnPlayerHurt (Fougerite.Events.HurtEvent ivint) [0x00000] in <filename unknown>:0
at (wrapper delegate-invoke) Fougerite.Hooks/HurtHandlerDelegate:invoke_void__this___HurtEvent (Fougerite.Events.HurtEvent)
at Fougerite.Hooks.PlayerHurt (.DamageEvent& e) [0x00000] in <filename unknown>:0

C#:
public void OnPlayerHurt(HurtEvent ivint)
{
//There's a secret code )
            int te = hitArray.Count();
            if (attacker.Name == victim.Name)
            {
                return;
            }
            if (te == 0)
            {
                ivint.DamageAmount = 0;
                attacker.Disconnect();
            }
"//There's a secret code )"
.....

Obviously you are trying to index out of an array. Can't help without the code sorry.

---

"attacker.Disconnect();"

How about checking if the attacker really is a player, and not an NPC or World?

if (ivint.AttackerIsPlayer)
{
...