成就 link

成就(Achievement)模組允許開發者讓用戶解鎖成就,清除成就,以及判斷某個成就是否已經解鎖。也允許根據根據進度獲得成就。

默認情況下,成就在持久化文件中存儲訊息。如果Steam平台支持可用並且被啟用,成就訊息會自動與Steam同步。

achievement.Sync() link

調用achievement.sync()函數的行為。只有當成就未同步的情況下才可用。

achievement.clear(name) link

清除名為 name 的成就。

achievement.clear_all() link

清除所有成就。

achievement.grant(name) link

解鎖名為 name 的成就,前提是該成就尚未解鎖。

achievement.has(name) link

如果用戶已經解鎖成就 name 就返回True。

achievement.progress(name, complete) link

報告成就 name 的完成進度,前提是該成就未解鎖。成就 name 必須先定義各完成度。

name
成就名,而不是成就的stat。
complete
一個整數,給定了達成成就的單元數量。
achievement.register(name, **kwargs) link

註冊一個成就。成就並不強制需要註冊,但這樣做可以將成就訊息傳給後端。

name
註冊的成就名。

下列關鍵字參數是可選的。

steam
在Steam上使用的成就名。如果沒有指定,默認與 name 相同。
stat_max
解鎖成就的stat整數值。
stat_modulo
如果使用 stat_max 對進度取模結果為0,就向用戶顯示進度。例如,如果stat_modula是10,當進度為10、20、30時分別會想用戶顯示進度訊息。如果未給出該值,預設為0。
achievement.sync() link

同步本地存儲和其他後端(例如,Steam)的註冊成就。

控制成就的配置項包括:

achievement.steam_position = None link

若值不是None,該配置項設置steam彈出通知的位置。該值必須是一個字串,可使用的內容包括“top left”,“top right”,“bottom left”和“bottom right”。

define config.steam_appid = None link

若非None,該項應是Steam appid。Ren’Py會在啟動時自動設置此appid。需要使用define語句設置該項。

define config.steam_appid = 12345