void OnSprintPressed(){ Sprinting = true; } void OnSprintReleased(){ Sprinting = false; } bool IsSprinting() { if (!CharacterMovement) { return false; } if (Role < ROLE_Authority) { FString Status; if (Sprinting) Status = "sprinting"; else Status = "not sprinting"; if (this->GetVelocity().Size() > 0.f) GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString("Client, ") + Status); } else if (Role == ROLE_Authority) { FString Status; if (Sprinting) Status = "sprinting"; else Status = "not sprinting"; if (this->GetVelocity().Size() > 0.f) GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString("Server, ") + Status); } return Sprinting; } UPROPERTY(Replicated) bool Sprinting;