実績 link
Achievement モジュールは開発者がプレイヤーに実績を授与したり、クリアしたり、実績が授与されたか判定出来るようにしたりします。実績への達成度の記録もできます。
デフォルトでは Achievement は persistent ファイルに情報を保存します。Steam のサポートが利用可能かつ有効なら実績情報は自動的に steam と同期します。
Steam サポートは Steam のパートナープログラムに同意した制作者によって配布されるのみであることを確認してから Ren'Py に追加される必要があります。インストールにはランチャーから "preferences", "Install libraries", "Install Steam Support" を選択してください。
- achievement.Sync() link
achievement.sync() を呼び出すアクションです。これは実績が同期されていないときのみ有効になります。
- achievement.clear(name) link
name 実績をクリアします。
- achievement.clear_all() link
すべての実績をクリアします。
- achievement.get_progress(name) link
name 実績への達成度を返します。その実績の進行が登録されていないまたは不明なら 0 です。
- achievement.grant(name) link
既に授与されていなければ、 name 実績を授与します。
- achievement.has(name) link
プレイヤーに name 実績が授与されていれば True を返します。
- achievement.progress(name, complete) link
name 実績がまだ授与されたことがなければ、(*訳注 complete までの達成を授与した上で)実績の達成度を報告します。その実績には達成度が定義されていなければなりません。
- name
実績の名前です。これは実績名で、 stat ではありません。
- complete
その実績達成へ向けて完了した行程数の整数値です。
- achievement.register(name, **kwargs) link
実績を登録します。実績が登録される必要はありませんが、こうするとバックエンドに情報を渡せます。
- name
登録する実績の名前です。
以下のキーワードパラメーターは任意です。
- steam
steam で使用する名前です。指定されないとデフォルトで name になります。
- stat_max
実績が開放される stat の整数値です。
- stat_modulo
達成度の stat_modulo による剰余が 0 なら達成度はユーザーに表示されます。例えば stat_modulo が 10 なら、達成度が 10, 20, 30… のときにユーザーに表示されます。指定されないと、これはデフォルトで 0 になります。
- achievement.sync() link
ローカルストレージとその他のバックエンド (steam など ) の登録された実績を同期します。
Achievement を制御する変数 :
- 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
Steamworks API link
Steam が利用できるなら、 Steamworks API への ctypes ベースのバインディングが achievement.steamapi
として利用可能です。このバインディングは、 こちら にあるように steamapi モジュールのインスタンスであり、C++ Steamworks API の Python への機械翻訳を表しています。