簡體   English   中英

C# Steamworks GetSteamID AccessViolationException

[英]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));

注意,第一部分是正在使用的游戲代碼的各個方面,我不想再次編寫字符串,只是閱讀它。

錯誤截圖:

https://i.gyazo.com/09ea950b91abb4a6e4fc0a9ac577a253.png

如果您想使用 TaleWorlds API,您首先需要調用Steamworks.SteamAPI.InitTaleWorlds.PlatformService.PlatformServices.Initialize

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM