Hello, i need some help with C++.
Im trying to make a weapon for character.
Code:
FVector AEvilRogues_Weapon::GetAdjustedAim() const
{
APlayerController* const PlayerController = Instigator ? Cast<APlayerController>(Instigator->Controller) : NULL;
FVector FinalAim = FVector::ZeroVector;
// If we have a player controller use it for the aim
if (PlayerController)
{
FVector CamLoc;
FRotator CamRot;
PlayerController->GetPlayerViewPoint(CamLoc, CamRot);
FinalAim = CamRot.Vector();
}
return FinalAim;
}
void AEvilRogues_Weapon::SetOwningPawn(AEvilRoguesCharacter* NewOwner)
{
if (NewOwner)
{
if (MyPawn != NewOwner)
{
Instigator = NewOwner;
MyPawn = NewOwner;
// net owner for RPC calls
//SetOwner(NewOwner);
}
}
}
void AEvilRogues_Weapon::FireWeapon()
{
if (MyPawn)
{
FVector CameraLoc;
FRotator CameraRot;
FVector_NetQuantizeNormal ShootDir = GetAdjustedAim();
FVector Origin = Instigator->GetActorLocation() + FVector(0, 1, 0);
FTransform SpawnTM(ShootDir.Rotation(), Origin);
UWorld* const World = GetWorld();
FActorSpawnParameters SpawnParams;
SpawnParams.Owner = this;
SpawnParams.Instigator = Instigator;
AEvilRogues_Projectile* Projectile = World->SpawnActor<AEvilRogues_Projectile>(ProjectileClass, MyPawn->GetActorLocation(), MyPawn->GetActorRotation(), SpawnParams);
if (Projectile)
{
FVector const LaunchDir = MyPawn->GetViewRotation().Vector();
Projectile->InitVelocity(LaunchDir);
}
}
}
But i had a error:
Unhandled exception at 0x000007FF6F00BB43 (UE4Editor-EvilRogues.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0x0000000000000320.
How can i fix it?