[英]C# Steamworks GetSteamID AccessViolationException
因此,我目前正在尝试在基于 C# 的游戏模组中使用 Steamworks API。
到目前为止一切都很好,但是由于游戏没有内置的 function,我正在尝试使用 SteamWorks API(DLL),以便稍后在另一个游戏中使用 Steam ID。
为了开始这个,我尝试在一个字符串中定义它并调用 SteamUser.GetSteamID 来获取所需的信息:
public static string playerSteamID
{
get
{
return SteamUser.GetSteamID().ToString();
}
}
这在 VS 中没有出现错误,但是当这个 function 然后被 mod 调用时,它会抛出 System.AccessViolationException “尝试读取或写入受保护的 memory”。
我已经尝试适应 ulogn 版本 SteamUser.GetSteamID().m_SteamID 但仍然导致相同的结果。
目前我所有的 mod 试图做的是:
InformationManager.DisplayMessage(new InformationMessage($"Steam ID is: {genStrings.playerSteamID}", Color.White));
注意,第一部分是正在使用的游戏代码的各个方面,我不想再次编写字符串,只是阅读它。
错误截图:
如果您想使用 TaleWorlds API,您首先需要调用Steamworks.SteamAPI.Init
或TaleWorlds.PlatformService.PlatformServices.Initialize
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.