Итак, я начал реализовывать функции Steamworks для своей игры, и все прошло отлично. Мне удалось синхронизироваться с Steam API (я могу делать достижения и вижу, что играю в игру на своем Steam acc). Однако когда я хотел начать использовать некоторые функции, которые они предоставили, мой движок сказал:
error LNK2019: unresolved external symbol
Кто-нибудь может помочь мне решить эту проблему? Я нацелен на чтение и сохранение результатов в таблицах лидеров. Есть какие-нибудь полезные советы для меня? : D
Пример кода, который дает мне ошибку:
int MyCodeLibrary::TryGetScore()
{
if (SteamAPI_Init())
{
CSteamLeaderboards obj();
obj().FindLeaderboard("test");
obj().DownloadScores();
return 0;
}
else
{
return 0;
}
}
Также пробовал попасть в Steam с OnlineSubsystem вот так:
void MyCodeLibrary::UpdateScoreInt(int score, FName board, APlayerController* PlayerController)
{
OutputDebugStringA("Funkcja jest wywoływana");
if (SteamAPI_Init())
{
OutputDebugStringA("Steam API działa");
ULocalPlayer* LocalPlayer = Cast<ULocalPlayer>(PlayerController->Player);
IOnlineSubsystem* ion = IOnlineSubsystem::Get(FName("Steam"));
TSharedPtr<const FUniqueNetId> UserId = ion->GetIdentityInterface()->GetUniquePlayerId(LocalPlayer->GetControllerId());
ion->GetLeaderboardsInterface();
FOnlineLeaderboardWrite wrt;
wrt.LeaderboardNames.Add(board);
wrt.SetIntStat(TEXT("Score"), score);
if (UserId.IsValid())
{
OutputDebugStringA("Mam UserID");
ion->GetLeaderboardsInterface()->WriteLeaderboards(board, *UserId, wrt);
printf("Odpalony score");
}
}
}