ランダムゲームフィルター
Vnite はランダムゲーム機能に対してカスタムフィルタールールを設定できます。設定-高度な設定-ランダムゲームフィルター設定 で JSON を直接編集できます。設定が有効になると、ランダムゲームはルールに一致したゲームだけを対象に抽選します。
TIP
まず右上の プリセット設定 でテンプレートを作成してから、必要に応じて調整するのがおすすめです。
プリセット
現在は 3 つのプリセットが用意されています。
デフォルト:gameNameNotのブラックリストのみを保持プレイ状況でフィルター:プレイ状況で絞り込み、ブラックリストも保持コレクションでフィルター:コレクションで絞り込み、ブラックリストも保持
基本構造
フィルタールールは再帰的なオブジェクト構造で表現します。各階層のオブジェクトは次の制約に従います。
- オブジェクトは 1 つのキーだけを持つ必要があります
- キー名は演算子を表します
- 値はその演算子の対象を表します
形式は次の通りです。
json
{
"<operator>": <value>
}この構造は再帰的にネストできるため、複雑な条件も表現できます。
NOTE
ルートノードは単一の演算子オブジェクトである必要があります。例えば:
json
{ "and": [...] }次のような書き方は無効です。
json
{ "and": [...], "or": [...] }使用可能な演算子
論理積 and
- 値は配列である必要があります
- 配列の各要素は有効なルールオブジェクトである必要があります
- すべての子条件を満たす必要があります
json
{
"and": [{ "inCollection": ["A"] }, { "gameNameNot": ["game1"] }]
}論理和 or
- 値は配列である必要があります
- 配列の各要素は有効なルールオブジェクトである必要があります
- いずれか 1 つの子条件を満たせば一致します
json
{
"or": [{ "inCollection": ["A"] }, { "playStatusIs": ["playing"] }]
}論理否定 not
- 値は単一のルールオブジェクトである必要があります
- そのルールの結果を反転します
json
{
"not": {
"playStatusIs": ["finished"]
}
}inCollection
コレクション名で絞り込みます。値は文字列配列で、各要素はコレクション名です。
json
{
"inCollection": ["collection1", "collection2"]
}gameNameNot
特定のゲームを除外します。値は文字列配列で、各要素はゲーム名です。このルールは現在のゲーム名と元の名前の両方に一致します。
json
{
"gameNameNot": ["GameA", "GameB"]
}playStatusIs
プレイ状況で絞り込みます。値は文字列配列で、各要素はプレイ状況名です。
json
{
"playStatusIs": ["finished", "multiple"]
}使用できる値:
"unplayed":未開始"playing":プレイ中"partial":一部クリア"finished":クリア済み"multiple":複数周回"shelved":保留中
例
デフォルトルール
デフォルトでは、どのゲームも除外されません。
json
{
"gameNameNot": []
}プレイ状況で絞り込みつつ共通ブラックリストを維持する
json
{
"and": [
{ "playStatusIs": ["playing"] },
{ "gameNameNot": ["game1", "game2"] }
]
}コレクションごとに細かく条件を分ける
json
{
"or": [
{
"and": [
{ "inCollection": ["TODO"] },
{ "playStatusIs": ["unplayed", "playing"] }
]
},
{
"and": [
{ "inCollection": ["good1", "good2"] },
{ "playStatusIs": ["finished", "multiple", "partial"] }
]
}
]
}