web-dev-qa-db-ja.com

テーブルを参照してレベルシステムを作成するにはどうすればよいですか?

私はRPGのウェブサイトに取り組んでいます。ユーザーには、アクションに応じてユーザーポイント(「ゲーム」の必要性に応じてXP)という名前が付けられます)が付与されます。

これらのユーザーポイントに基づいたレベルシステムを作りたいと思います。 Drupal Dataを使用して、各レベルの値(レベル番号、最小XP、最大XP、およびユーザーがポイントを獲得するときに適用するいくつかの比率)を格納するテーブルを既に作成しました。

私の質問は次のとおりです。ユーザーのXPの量に応じて、このテーブルを参照してユーザーレベル(および添付されているすべての値)を確認するにはどうすればよいですか?

Rules で試しましたが、成功しませんでした。

1
Cyril Préaudot

作成したテーブルを次のように置き換えることを検討してください。

  1. 新しいコンテンツタイプ(「XP」などと呼ばれる)と
  2. 次のような質問のカスタムフィールドを使用します。

    • レベル番号。
    • 最小XP。
    • 最大XP。
    • いくつかの比率。

このようにして、テーブルの行ごとに1つのノードを作成し、フィールド値をそれらのテーブル行の値と一致させることができます。必要に応じて、 Feeds モジュールを使用して、テーブルの各行に1つのノードを自動的に作成します。

このようなノードを作成したら、 ユーザーポイントルール など、すでに使用/検討しているモジュールと組み合わせて使用​​できます。

その「レベルシステム」を実装するには(あなたの質問のように)、おそらく 目標 モジュールを使用できます(開示:Iそれのメンテナです)。このモジュールに慣れていない場合は、「 Drupalサイトでゲーミフィケーションを実装してインセンティブを授与する方法は? "」をご覧ください。

ボーナスのヒント: ユーザーポイントルール をすでに使用することを考えているので、「 現在の金額にアクセスする方法)」の答えも確認することをお勧めします。ルール条件で獲得したユーザーポイントの数? "(そのようなものも必要になることは間違いありません)。

PS:これはすべて、サイトビルダーのスキルのみを必要とします(カスタムコーディングは必要ありません)。

1
Pierre.Vriens