ランキングプラグイン - Ranking.js

シェア用テキスト:
▼ランキングプラグイン(半減様作) - Ranking.js
https://plugin.fungamemake.com/archives/29287
ランキング機能を実装するプラグインです。 Googleスプレッドシートを活用することで、ゲームごとにランキングを登録・表示することが可能となります。 詳細はzip内に添付している「ランキングプラグイン導入手順書.pdf」をご覧ください。 また、サンプルプロジェクトを公開しました。 不明点等ある場合は、そちらもご確認ください。 サンプルプロジェクト:https://drive.google.com/file/d/1qRpcvppkg8wLopA4o55HdPDq1luHrjDA/view?usp=sharing

ふりがな:らんきんぐぷらぐいん

機能概要: ランキング機能を実装するプラグインです。 Googleスプレッドシートを活用することで、ゲームごとにランキングを登録・表示することが可能となります。 詳細はzip内に添付している「ランキングプラグイン導入手順書.pdf」をご覧ください。 また、サンプルプロジェクトを公開しました。 不明点等ある場合は、そちらもご確認ください。 サンプルプロジェクト:https://drive.google.com/file/d/1qRpcvppkg8wLopA4o55HdPDq1luHrjDA/view?usp=sharing

利用規約(ライセンス): MITライセンス

作者:半減

作者サイト:https://twitter.com/hangen_saimin

ダウンロードページ:https://drive.google.com/file/d/1A9m0AWnYbKVth9nzW540mF…

ファイル名:Ranking.js

プラグインのヘルプ:

/*:ja
 * @target MV MZ
 * @plugindesc ランキングプラグイン
 * @author 半減
 * 
 * @help ランキング機能を提供するプラグインです。
 * 
 * 概要:
 * 各ユーザーごとに獲得したスコアをGoodleスプレッドシートに保存し、取り出してツクールの画面に表示します。
 * その他、スコアをランキングに送信する機能、ID振り分け機能、名前設定機能を有しています。
 * 
 * 注意点:
 * 1.ID振り分け機能が実行されていない場合、スコアをランキングに送信する機能は使用できません。
 * 2.プラグインパラメータ[doGetURL][gasURL][playerId][playerName]は必須項目です。必ず値を設定してください。
 * 
 * プラグインコマンド:
 *   イベントコマンド「プラグインコマンド」から実行。
 *   (引数の間は半角スペースで区切る)
 *   "\v[0]"のように変数を指定することも可能
 * 
 * 
 * DisplayRanking [読み込むランキングのボードID(1~50)] [新規スコア表示区分(ON/OFF)] [ランキング表示順(ASK/DESK)] [処理ステータス格納変数番号(省略可能)]
 * 例:DisplayRanking 1 ON DESK 99
 * 上記例の場合、1番目のGoogleスプレッドシートを読み込み、ランキング表示順は降順(スコアが高いデータが上位)、新規スコアがあった場合は上部に表示し、
 * 変数番号99に処理ステータスを格納します。
 * 処理ステータスはランキング表示処理終了後に、ランキング表示に成功した場合は[1]、失敗した場合は[9999]が格納されます。
 * プラグインコマンド実行後にループ処理を入れ、ループ中断の条件に「処理ステータスが初期値以外の場合」を入れることでランキング表示までの間、別の処理が入らないようにすることができます。
 * また、処理ステータス格納変数番号を設定していない場合は、適宜ウェイトを入れて、ランキング表示までの間を調節することを推奨します。
 * 
 * SendRanking [書き込むランキングのボードID(1~50)] [書き込む値] [書き込み判定基準(UP/DOWN/NON)] [処理ステータス格納変数番号(省略可能)]
 * 例:SendRanking 1 100 UP 99
 * 上記例の場合、1番目のGoogleスプレッドシートに書き込み、書き込む値は100、書き込む条件は登録済みの値に対して、それよりも大きい値の場合、
 * 変数番号99に処理ステータスを格納します。
 * 書き込む判定基準はUPが 「登録済みの値に対して、それよりも大きい値の場合」に上書き。
 * 書き込む判定基準はDOWNが「登録済みの値に対して、それよりも小さい値の場合」に上書き。
 * 書き込む判定基準はNONが 「条件なし」で必ず上書き。
 * 処理ステータスは書き込み処理終了後に、書き込みに成功した場合は[1]、失敗した場合は[9999]が格納されます。
 * プラグインコマンド実行後にループ処理を入れ、ループ中断の条件に「処理ステータスが初期値以外の場合」を入れることで書き込み完了までの間、別の処理が入らないようにすることができます。
 * また、処理ステータス格納変数番号を設定していない場合は、適宜ウェイトを入れて、書き込みまでの間を調節することを推奨します。
 * 注意点として、後述のRankIdSetを実行していない場合はエラーとなります。
 * 
 * RankIdSet
 * 例:RankIdSet
 * プラグインパラメータ[playerId]に設定した変数番号にプレイヤーごとに一意となる番号を設定します。
 * この設定が実行されていない場合、プラグインコマンド[SendRanking]はエラーとなります。
 * また、引数に[UPD]を設定することで、IDの上書きを行うことも可能です(RankIdSet UPD)
 * 
 * RankNameSetActor [アクターID]
 * 例:RankNameSetActor 1
 * 上記例の場合、アクターIDを参照し、アクターの名前をプラグインパラメータ[playerName]に設定した変数番号に設定します。
 * 
 * RankNameSet [登録名]
 * 例:RankNameSet ハロルド
 * 上記例の場合、引数に設定された登録名をプラグインパラメータ[playerName]に設定した変数番号に設定します。
 * 上記プラグインコマンドを使用せず、直接プラグインパラメータ[playerName]に設定した変数番号に設定しても問題ありません。
 * 
 * GetRankingData [取得するランキングのボードID(1~50)] [ランキングソート順(ASK/DESK)] [ID一覧格納変数番号] [順位一覧格納変数番号] [名前一覧格納変数番号] [値一覧格納変数番号] [処理ステータス格納変数番号(省略可能)]
 * 例:RankNameSet 1 DESK 10 11 12 13 99
 * 上記例の場合、1番目のGoogleスプレッドシートを読み込み、ランキング表示順は降順(スコアが高いデータが上位)、
 * 変数番号10にID一覧を格納、変数番号11に順位一覧を格納、変数番号12に名前一覧を格納、変数番号13に値一覧を格納、変数番号99に処理ステータスを格納します。
 * 処理ステータスはランキング取得処理終了後に、ランキング取得に成功した場合は[1]、失敗した場合は[9999]が格納されます。
 * プラグインコマンド実行後にループ処理を入れ、ループ中断の条件に「処理ステータスが初期値以外の場合」を入れることでランキング取得までの間、別の処理が入らないようにすることができます。
 * また、処理ステータス格納変数番号を設定していない場合は、適宜ウェイトを入れて、ランキング取得までの間を調節することを推奨します。
 * ※追加情報
 *  取得したデータは配列形式で変数に格納されます。
 *  データを取得する場合は「$gameVariables.value(変数番号)[数字]」のようにすることで、配列内の任意のデータを取得可能です。
 *  配列はランキングと同様にASK(昇順)、またはDESK(降順)で格納されているため、配列0番は1位、1番は2位……といった内容になっています。
 *  例1:gameVariables.value(10)[0]
 *  上記例の場合、1位のIDを取得します。
 *  例2:gameVariables.value(11)[1]
 *  上記例の場合、2位の名前を取得します。
 * 
 * SearchRankIdToValue [検索するランキングのボードID(1~50)] [検索ID] [値格納用変数] [処理ステータス格納変数番号(省略可能)] [配列設定OFF(省略可能)]
 * 例:SearchRankIdToValue 2 2302271212147891234 20 99
 * 上記例の場合、1番目のGoogleスプレッドシートからID「2302271212147891234」を検索し、取得した値(value)を変数20番に格納、変数番号99に処理ステータスを格納します。
 * 処理ステータスは検索処理終了後に、検索に成功した場合は[1]、失敗した場合は[9999]が格納されます。
 * プラグインコマンド実行後にループ処理を入れ、ループ中断の条件に「処理ステータスが初期値以外の場合」を入れることで検索終了までの間、別の処理が入らないようにすることができます。
 * また、処理ステータス格納変数番号を設定していない場合は、適宜ウェイトを入れて、検索終了までの間を調節することを推奨します。
 * ※追加情報
 *  上記で取得したValueが「123|234|345|456|567」のように"|"で区切った文字列の場合、配列形式で格納されます。
 *  配列形式の場合は「$gameVariables.value(変数番号)[数字]」のようにすることで、配列内の任意のデータを取得可能です。
 *  配列は左から順に格納されたデータとなっています。
 *  例1:gameVariables.value(20)[0]
 *  上記例の場合、123を取得します。
 *  例2:gameVariables.value(20)[3]
 *  上記例の場合、456を取得します。
 * 
 * 
 * 利用規約:
 *  再配布、改変、商用利用、R18作品での使用、全て許可します。
 *  作者への連絡等も不要です。
 *  クレジットへの記載もご自由にどうぞ。
 * 
 * @param gasURL
 * @text AppsScriptのデプロイURL
 * @type string
 * @desc GoogleスプレッドシートのデプロイURL
 * @default
 * 
 * @param playerId
 * @text プレイヤーID格納用変数番号
 * @type variable
 * @desc プレイヤーごとに一意に触れらるIDを格納する変数番号
 * @default
 * 
 * @param playerName
 * @text プレイヤー名格納用変数番号
 * @type variable
 * @desc ランキングに表示する名前を格納する
 * @default
 * 
 * @param rankingFontSize
 * @text ランキング情報フォントサイズ
 * @type number
 * @desc  ランキング情報(順位、スコア、名前)のフォントサイズ
 * @default 13
 * 
 * @param rankingTitleFontSize
 * @text ランキングタイトルフォントサイズ
 * @type number
 * @desc ランキングタイトルのフォントサイズ
 * @default 16
 * 
 * @param ranktextTitle
 * @text ランキングタイトル
 * @type string
 * @desc ランキングタイトルに表示する文字列
 * @default ランキングボード
 * 
 * @param recordTitle
 * @text 今回のスコアタイトル
 * @type string
 * @desc 今回スコアが存在する場合に表示するタイトル
 * @default 今回のスコア
 * 
 * @param recordScoreName
 * @text 今回のスコア-スコア名称
 * @type string
 * @desc 今回スコアのスコア名称
 * @default スコア
 * 
 * @param recordRankName
 * @text 今回のスコア-順位名称
 * @type string
 * @desc 今回スコアの順位名称
 * @default 順位
 * 
 * @param rankEndStr
 * @text 順位の末尾文字
 * @type string
 * @desc 順位の末尾に表示する文字
 * @default 位
 * 
 * @param valueEndStr
 * @text スコアの末尾文字
 * @type string
 * @desc スコアの末尾に表示する文字
 * @default pt
 * 
 * @param nameEndStr
 * @text 名前の末尾文字
 * @type string
 * @desc 名前の末尾に表示する文字
 * @default さん
 * 
 * @param fontFamily
 * @text フォント種類
 * @type string
 * @desc 文字列のフォントを指定
 * @default Arial
 * 
 * @param noName
 * @text 名前未設定時名称
 * @type string
 * @desc 名前が設定されていない場合のデフォルト登録名
 * @default ゲスト
 * 
 * @param batsuString
 * @text 閉じるボタン文字
 * @type string
 * @desc 閉じるボタンの表記
 * @default ✕
 * 
 * @param rankingMenuDispFlg
 * @text ランキング表示終了後メニュー表示フラグ
 * @type boolean
 * @on メニュー表示禁止を解除する
 * @off 解除しない
 * @desc ランキング表示終了後メニュー表示禁止を解除するかしないか
 * @default true
 * 
 * @param 色変更
 * 
 * @param bgColor
 * @parent 色変更
 * @text 背景色
 * @type string
 * @desc 背景色のカラーコード
 * @default 000000
 * 
 * @param bgAlpha
 * @parent 色変更
 * @text 背景色-不透明度
 * @type number
 * @min 0.0
 * @max 1.0
 * @desc 背景色の不透明度
 * @decimals 1
 * @default 0.5
 * 
 * @param bgRankingColor
 * @parent 色変更
 * @text ランキング背景色
 * @type string
 * @desc ランキングの背景色のカラーコード
 * @default f8f8f8
 * 
 * @param bgRankingAlpha
 * @parent 色変更
 * @text ランキング背景色-不透明度
 * @type number
 * @min 0.0
 * @max 1.0
 * @desc ランキング背景色の不透明度
 * @decimals 1
 * @default 1.0
 * 
 * @param rankingTitleColor
 * @parent 色変更
 * @text ランキングタイトル色
 * @type string
 * @desc ランキングタイトル色のカラーコード
 * @default 45434a
 * 
 * @param rankColor
 * @parent 色変更
 * @text 順位色
 * @type string
 * @desc 順位色のカラーコード
 * @default 45434a
 * 
 * @param rankBgColor
 * @parent 色変更
 * @text 順位背景色
 * @type string
 * @desc 順位背景色のカラーコード
 * @default FFFFFFF
 * 
 * @param rankBgAlpha
 * @parent 色変更
 * @text 順位背景色-不透明度
 * @type number
 * @min 0.0
 * @max 1.0
 * @desc 順位背景色の不透明度
 * @decimals 1
 * @default 1.0
 * 
 * @param scoreColor
 * @parent 色変更
 * @text スコア色
 * @type string
 * @desc スコア色のカラーコード
 * @default 45434a
 * 
 * @param nameColor
 * @parent 色変更
 * @text 名前色
 * @type string
 * @desc 名前色のカラーコード
 * @default 45434a
 * 
 * @param thisScoreTitleColor
 * @parent 色変更
 * @text 今回のスコアタイトル色
 * @type string
 * @desc 今回のスコアタイトル色のカラーコード
 * @default 45434a
 * 
 * @param thisScoreSubTitleColor
 * @parent 色変更
 * @text 今回のスコア-スコアサブタイトル色
 * @type string
 * @desc スコアサブタイトル色のカラーコード
 * @default 45434a
 * 
 * @param thisRankSubTitleColor
 * @parent 色変更
 * @text 今回のスコア-順位サブタイトル色
 * @type string
 * @desc 順位サブタイトル色のカラーコード
 * @default 45434a
 * 
 * @param thisScoreColor
 * @parent 色変更
 * @text 今回のスコア-スコア色
 * @type string
 * @desc 今回のスコア-スコア色のカラーコード
 * @default 45434a
 * 
 * @param thisRankColor
 * @parent 色変更
 * @text 今回のスコア-順位色
 * @type string
 * @desc 今回のスコア-順位色のカラーコード
 * @default 45434a
 * 
 * @param batsuButtonFontColor
 * @parent 色変更
 * @text 閉じるボタン-バツ色
 * @type string
 * @desc 閉じるボタン-バツ色のカラーコード
 * @default 000000
 * 
 * @param batsuButtonBgColor
 * @parent 色変更
 * @text 閉じるボタン-背景色
 * @type string
 * @desc 閉じるボタン-背景色のカラーコード
 * @default C1C1C1
 * 
 * @param batsuButtonBgAlpha
 * @parent 色変更
 * @text 閉じるボタン背景色-不透明度
 * @type number
 * @min 0.0
 * @max 1.0
 * @desc 閉じるボタン背景色の不透明度
 * @decimals 1
 * @default 1.0
 * 
 * 
 * @param サイズ変更
 * 
 * @param bgSizeWidth
 * @parent サイズ変更
 * @text ランキング背景サイズ横
 * @type number
 * @min -10000
 * @max 10000
 * @desc ランキング背景サイズ横のサイズ調整を行う数値。正数で広げる。負数で狭める。
 * @default 0
 * 
 * @param bgSizeHeight
 * @parent サイズ変更
 * @text ランキング背景サイズ縦
 * @type number
 * @min -10000
 * @max 10000
 * @desc ランキング背景サイズ縦のサイズ調整を行う数値。正数で広げる。負数で狭める。
 * @default 0
 * 
 * 
 * @param 位置調整
 * 
 * @param bgMoveX
 * @parent 位置調整
 * @text ランキング背景横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc ランキング背景の位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param bgMoveY
 * @parent 位置調整
 * @text ランキング背景縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc ランキングタイトルの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param rankingTitleMoveX
 * @parent 位置調整
 * @text ランキングタイトル横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc ランキングタイトルの位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param rankingTitleMoveY
 * @parent 位置調整
 * @text ランキングタイトル縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc ランキングタイトルの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param rankMoveX
 * @parent 位置調整
 * @text 順位横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 順位の位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param rankMoveY
 * @parent 位置調整
 * @text 順位縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 順位の位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param scoreMoveX
 * @parent 位置調整
 * @text スコア横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc スコアの位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param scoreMoveY
 * @parent 位置調整
 * @text スコア縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc スコアの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param nameMoveX
 * @parent 位置調整
 * @text 名前横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 名前の位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param nameMoveY
 * @parent 位置調整
 * @text 名前縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 名前の位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param thisScoreTitleMoveX
 * @parent 位置調整
 * @text 今回のスコアタイトル横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 今回のスコアの位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param thisScoreTitleMoveY
 * @parent 位置調整
 * @text 今回のスコアタイトル縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 今回のスコアの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param thisScoreSubTitleMoveX
 * @parent 位置調整
 * @text 今回のスコア-スコアサブタイトル横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc スコアサブタイトルの位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param thisScoreSubTitleMoveY
 * @parent 位置調整
 * @text 今回のスコア-スコアサブタイトル縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc スコアサブタイトルの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param thisRankSubTitleMoveX
 * @parent 位置調整
 * @text 今回のスコア-順位サブタイトル横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 順位サブタイトルの位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param thisRankSubTitleMoveY
 * @parent 位置調整
 * @text 今回のスコア-順位サブタイトル縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 順位サブタイトルの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param thisScoreMoveX
 * @parent 位置調整
 * @text 今回のスコア-スコア横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 今回のスコア-スコアの位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param thisScoreMoveY
 * @parent 位置調整
 * @text 今回のスコア-スコア縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 今回のスコア-スコアの位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 * @param thisRankMoveX
 * @parent 位置調整
 * @text 今回のスコア-順位横位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 今回のスコア-順位の位置調整を行う数値。正数で右に、負数で左に移動。
 * @default 0
 * 
 * @param thisRankMoveY
 * @parent 位置調整
 * @text 今回のスコア-順位縦位置調整
 * @type number
 * @min -10000
 * @max 10000
 * @desc 今回のスコア-順位の位置調整を行う数値。正数で下に、負数で上に移動。
 * @default 0
 * 
 */

スポンサードリンク

スポンサードリンク

Copyright© #ツクプラ , 2024 All Rights Reserved.