C# Steamworks GetSteamID AccessViolationException 异常
C# Steamworks GetSteamID AccessViolationException
所以我目前正在尝试在基于 C# 的 mod 中使用 Steamworks API 来制作游戏。
到目前为止一切顺利,但是由于游戏没有内置功能,我正在尝试使用 SteamWorks API(游戏中包含的 DLL)来获取玩家的 Steam ID供以后在另一个过程中使用。
为了开始这个,我尝试在一个字符串中定义它并调用 SteamUser.GetSteamID 来获取所需的信息:
public static string playerSteamID
{
get
{
return SteamUser.GetSteamID().ToString();
}
}
这在 VS 中没有出现错误,但是当 mod 调用此函数时它会抛出 System.AccessViolationException“尝试读取或写入受保护的内存。”
我已经尝试适应 ulogn 版本 SteamUser.GetSteamID()。m_SteamID 但仍然导致相同的结果。
目前我 mod 想做的是:
InformationManager.DisplayMessage(new InformationMessage($"Steam ID is: {genStrings.playerSteamID}", Color.White));
注意,第一部分是正在使用的游戏代码方面,我不会尝试再次编写字符串,只是阅读它。
错误截图:
如果您想使用 TaleWorlds,您首先需要调用 Steamworks.SteamAPI.Init
或 TaleWorlds.PlatformService.PlatformServices.Initialize
API。
所以我目前正在尝试在基于 C# 的 mod 中使用 Steamworks API 来制作游戏。
到目前为止一切顺利,但是由于游戏没有内置功能,我正在尝试使用 SteamWorks API(游戏中包含的 DLL)来获取玩家的 Steam ID供以后在另一个过程中使用。
为了开始这个,我尝试在一个字符串中定义它并调用 SteamUser.GetSteamID 来获取所需的信息:
public static string playerSteamID
{
get
{
return SteamUser.GetSteamID().ToString();
}
}
这在 VS 中没有出现错误,但是当 mod 调用此函数时它会抛出 System.AccessViolationException“尝试读取或写入受保护的内存。”
我已经尝试适应 ulogn 版本 SteamUser.GetSteamID()。m_SteamID 但仍然导致相同的结果。
目前我 mod 想做的是:
InformationManager.DisplayMessage(new InformationMessage($"Steam ID is: {genStrings.playerSteamID}", Color.White));
注意,第一部分是正在使用的游戏代码方面,我不会尝试再次编写字符串,只是阅读它。
错误截图:
如果您想使用 TaleWorlds,您首先需要调用 Steamworks.SteamAPI.Init
或 TaleWorlds.PlatformService.PlatformServices.Initialize
API。