A few other deathmatch issues

Cheo

Active member
Hello, I checked the Deathmatch asset again this morning in a fresh project using UCC 3.1.1, and here's what I found :

-Whether the First Person checkbox is ticked in the main menu, we start the game in third person but with the weapon displayed in first person perspective :

Screenshot (729).png


Screenshot (730).png

This issue is sometimes solved on respawn, but not always, and it may require several respawns.

-I got this error when trying to start the Cover ability several times :

C#:
[Exception] ArgumentNullException: Value cannot be null.
Parameter name: key
System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry() at <51fded79cd284d4d911c5949aff4cb21>:0

System.Collections.Generic.Dictionary`2[TKey,TValue].TryGetValue() at <51fded79cd284d4d911c5949aff4cb21>:0

GameObjectExtensions.GetCachedComponents[T]() at <5be52286c54c47958ace04af73911405>:0

Cover.GetMoveTowardsLocations() at /Opsive/DeathmatchAIKit/Scripts/Character/Cover.cs:112
 110:          return m_PredeterminedMoveTowardsLocation;
 111:      }
--> 112:      return m_DetectedObject.GetCachedComponents<MoveTowardsLocation>();
 113:  }

UltimateCharacterLocomotion.TryStartAbility() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:922
 920:  // If StartMoving returns true then the MoveTowards ability has started and it will start the original
 921:  // ability after the character has arrived at the destination.
--> 922:  if (m_MoveTowardsAbility.StartMoving(ability.GetMoveTowardsLocations(), ability)) {
 923:      moveEquipStarted = true;
 924:  }

MoveTowards.AbilityStopped() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/MoveTowards.cs:483
 481:  // Start the OnArriveAbility after MoveTowards has stopped to prevent MoveTowards from affecting the arrive ability.
 482:  if (m_OnArriveAbility != null) {
--> 483:      m_CharacterLocomotion.TryStartAbility(m_OnArriveAbility, true, true);
 484:      m_OnArriveAbility = null;
 485:  }

Ability.StopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Ability.cs:731
 729:  m_ActiveIndex = -1;
--> 731:  AbilityStopped(force);
 733:  return true;

UltimateCharacterLocomotion.TryStopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1103
1101:  m_ActiveAbilities[m_ActiveAbilityCount] = null;
-->1103:  ability.StopAbility(force, true);
1105:  // Let others know that the ability has stopped.

Ability.StopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Ability.cs:726
 724:  // If the ability wasn't stopped from the character controller then call the controller's stop ability method. The controller must be aware of the stopping.
 725:  if (!fromController) {
--> 726:      return m_CharacterLocomotion.TryStopAbility(this, force);
 727:  }

Ability.StopAbility() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/Ability.cs:703
 701:  public bool StopAbility()
 702:  {
--> 703:      return StopAbility(false, false);
 704:  }

MoveTowards.Update() at /Opsive/UltimateCharacterController/Scripts/Character/Abilities/MoveTowards.cs:326
 324:  if (m_Arrived && (m_CharacterLocomotion.ItemEquipVerifierAbility == null || !m_CharacterLocomotion.ItemEquipVerifierAbility.IsActive)) {
 325:      if (!m_MoveTowardsLocation.PrecisionStart || Time.frameCount > m_PrecisionStartWaitFrame + 1) {
--> 326:          StopAbility();
 327:          return;
 328:      } else {

UltimateCharacterLocomotion.UpdateAbilities() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:662
 660:  }
 661:  if (abilities[i].IsActive) {
--> 662:      abilities[i].Update();
 663:  } else if (abilities[i].Enabled) {
 664:      abilities[i].InactiveUpdate();

UltimateCharacterLocomotion.UpdateCharacter() at /Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:579
 578:  // Start and update the abilities.
--> 579:  UpdateAbilities(m_Abilities);
 580:  UpdateAbilities(m_ItemAbilities);

CharacterLocomotion.Move() at /Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:568
 566:  EnableColliderCollisionLayer(false);
--> 568:  UpdateCharacter();
 570:  EnableColliderCollisionLayer(true);

SimulationManager+SmoothedCharacter.Move() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:169
 167:      }
--> 169:      m_Locomotion.Move(horizontalMovement, forwardMovement, deltaYaw);
 170:      AssignFixedLocation();
 171:  }

SimulationManager.MoveCharacters() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:739
 737:  for (int i = 0; i < m_Characters.Count; ++i) {
 738:      if (interpAmount == -1) {
--> 739:          m_Characters[i].Move(preMove);
 740:      } else {
 741:          if (!m_Characters[i].Locomotion.Interpolate) {

SimulationManager.FixedMove() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:679
 677:  MoveCharacters(true, -1);
 678:  RotateCameras();
--> 679:  MoveCharacters(false, -1);
 680:  MoveCameras(-1);

SimulationManager.FixedUpdate() at /Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:668
 666:  protected virtual void FixedUpdate()
 667:  {
--> 668:      FixedMove();
 669:  }

Here's a screenshot of one time that happened :

Screenshot (731).png

-The pistol is missing a muzzle flash prefab, and when in first person perspective is not even animated and not held straight :

Screenshot (732).png

Hope this can be fixed, thanks.
 
Back
Top