2018年2月15日木曜日

winrate release to alliedmodders

Made by Dayonn_dayonn http://steamcommunity.com/profiles/76561198355987637/
Upload by yomox9 http://steamcommunity.com/id/yomox9/



[Installation]

1.
Move NMRiH_WinRate_v1_Config.txt to the addons/sourcemod/configs/folder.
Move NMRiH_WinRate_v1.phrases.txt to the addons/sourcemod/translations/folder.


2.
Open NMRiH_WinRate_Config_v1.txt and change the setting. I think that you can understand the setting details if you can see the comment part.
You can also configure multiple servers. After the plug-in operates, it checks the current server name and uses the setting value that matches it.

3.
Open databases.cfg in the same folder and set the driver name · database name · login username · login password to use with the setting name of the database connection as the key value.
As with table names, database names have restrictions on the characters that can be used.
As an example, if "Database_keyvalues" in NMRiH_WinRate_Config.txt is "nmrih_winrate_srv 02" (in the case of the setting temporarily entered in the second item of the server), it becomes as follows.
// ------------------------------------------------------------------------ -------------------------------------------------------------------- --------------
"nmrih_winrate_srv02" // これがデータベース接続の設定名。設定名なので、文字制限はありません。
{
"driver" "mysql"
"host" "localhost"
"database" "nmrih_winrate_srv02" // これがデータベース名。文字に制限があります。
"user" "root"
"pass" "root"
}
// ------------------------------------------------------------------------ -------------------------------------------------------------------- --------------
Even if the database name and the database connection setting name are the same, there is no problem.


4.
Create a database with MySQL Command Line Client. As an example, if "database" is "nmrih_winrate_srv02" in databases.cfg, it becomes as follows.
// ------------------------------------------------------------------------ -----------------------------------
create database nmrih_winrate_srv02;
// ------------------------------------------------------------------------ -----------------------------------


5.
Load the plugin.
// ------------------------------------------------------------------------ -----------------------------------
sm plugins load NMRiH_WinRate_v1
// ------------------------------------------------------------------------ -----------------------------------


6.
From the chat screen, the menu will be displayed with! Winrate.



[Specification details of record]

· After the game starts, the player who survives about 15 seconds after the moment of being able to move is recognized as a participant in that round.
· When the participant clears, add 1 to the number of times played and the number of times of clearing.
· If participants can not clear and move to the next map, add 1 to the number of plays.
· When a restart or map change occurs due to call vote, participants who survived at that time have not changed both the number of times of play and the number of times of clearing. Participants who did not survive add 1 to the number of plays.

You do not have to load the map load time in time for the moment of starting the game. However, as of 2017/10/1 at nmo_hex_v2_y9v1, the fastest clear time is 28 seconds, so we can not delay further.
Even if you disconnected halfway due to some reason, if you rejoin and clear by the end of the map, you will have played once, once you have cleared.
If you die of wilting, you will have played once.
Even if you change the map by call vote because you died, you will have played once.
If you can change the map with call vote while you are playing, it will not be recorded.

[Display specification details]
· In 'Difficulty ranking for online players', the clear probability (total of clear probabilities of each player) ÷ (number of people connected online) is displayed.
· In the 'Difficulty ranking for all players', the clear probability shows the average of the clear probability of each player.
· The difficulty level ranking is marked with * in the current map. Also, the page with the current map will be displayed first (8. If you choose Back, more difficult map will be displayed).

[Notes on Operation]

  It does not work like a plug-in made by misosiruGT, as it takes effect immediately after changing the setting value. (Setting values will be read only after starting plug-in.)
Therefore, if you change the Config file on the way, start up again with sm plugins unload and sm plugins load. However, map information being played during that time is not recorded.

[Problems concerned]

  If the amount of data is large, it may take time to acquire data. A problem may occur after a while. In that case, we must think about how to cope with speeding up.
  It may not work properly with nms without escape (I have not been able to confirm whether the player_extracted event occurs or not, is not this event?). I guess that is probably okay ....
======================================
作者:Dayonn_dayonn http://steamcommunity.com/profiles/76561198355987637/

アップロード者:yomox9 http://steamcommunity.com/id/yomox9/

[インストール方法]

1.
NMRiH_WinRate_v1_Config.txt を、...addons/sourcemod/configs/ フォルダに移動してください。
NMRiH_WinRate_v1.phrases.txt を、...addons/sourcemod/translations/ フォルダに移動してください。


2.
NMRiH_WinRate_Config_v1.txt を開き、設定を変更してください。設定詳細はコメントの部分を見ていただければわかるかと思います。
複数サーバーの設定もできます。プラグインは動作後、現在のサーバー名を調べ、それに一致した設定値を使用する、という流れになっています。


3.
同じフォルダにある databases.cfg を開き、先ほどのデータベース接続の設定名をキー値として、使用するドライバ・接続先・データベース名・ログインユーザー名・ログインパスワードを設定してください。
データベース名はテーブル名と同様に、使用できる文字に制限があります。
例として、 NMRiH_WinRate_Config.txt の "Database_keyvalues" が "nmrih_winrate_srv02" である場合(サーバの項目の2つ目に仮で入っている設定の場合)、以下のようになります。
//----------------------------------------------------------------------------------------------------------------
"nmrih_winrate_srv02" // これがデータベース接続の設定名。設定名なので、文字制限はありません。
{
"driver" "mysql"
"host" "localhost"
"database" "nmrih_winrate_srv02" // これがデータベース名。文字に制限があります。
"user" "root"
"pass" "root"
}
//----------------------------------------------------------------------------------------------------------------
データベース名とデータベース接続の設定名を同じにしても、なんら問題はありません。


4.
MySQL Command Line Client にてデータベースを作成してください。 例として、databases.cfg にて、 "database" が "nmrih_winrate_srv02" の場合、以下のようになります。
//-----------------------------------------------------------------------------------
create database nmrih_winrate_srv02;
//-----------------------------------------------------------------------------------


5.
プラグインをロードしてください。
//-----------------------------------------------------------------------------------
sm plugins load NMRiH_WinRate_v1
//-----------------------------------------------------------------------------------


6.
チャット画面から、!winrate でメニューが表示されます。



[記録の仕様詳細]

・ゲーム開始後、動けるようになった瞬間から約15秒後に生存しているプレイヤーを、そのラウンドの参加者と認識します。
・参加者がクリアした場合、プレイ回数、クリア回数にそれぞれ1を加えます。
・参加者がクリアできずに次のマップに移行した場合、プレイ回数に1を加えます。
・call vote によりリスタートかマップ変更が発生した場合、その時点で生存していた参加者は、プレイ回数・クリア回数共に変更はありません。生存していなかった参加者はプレイ回数に1を加えます。

マップ読み込み時のロードがゲーム開始の瞬間に間に合わなくても大丈夫です。ただし、nmo_hex_v2_y9v1 にて 2017/10/1現在、最速クリアタイムが28秒なので、これ以上遅らせるわけにはいきません。
何らかの理由により途中切断しても、マップ終了までに再参加してクリアすれば、1回プレイ、1回クリアした事になります。
死亡して萎え落ちしたらら、1回プレイした事になります。
死亡したからって call vote してマップを変えても、1回プレイした事になります。
プレイしているのに call vote でマップを変えられた場合、記録されません。



[表示の仕様詳細]
・『接続中プレイヤーの難易度ランキング』にて、クリア確率は (各プレイヤーのクリア確率の合計)÷(オンライン接続人数) を表示します。
・全プレイヤーの難易度ランキングにて、クリア確率は各プレイヤーのクリア確率の平均を表示しています。
・難易度ランキングは、現在マップに*印が付きます。又、現在マップのあるページが最初に表示されます(8.戻る を選択すると、より難しいマップが表示されます)。



[運用上の注意点]

  misosiruGT さんの作ったプラグインのような、設定値を変更したらすぐに反映される、といったようにはしていません。(プラグイン起動直後にしか設定値を読み込みません。)
そのため、途中でConfigファイルの変更をしたら、sm plugins unload と sm plugins load で立ち上げ直してください。ただ、その最中にプレイ中のマップ情報は記録はされません。



[懸念している問題点]

  データ量が多いと、データの取得に時間がかかるようになるかもしれません。しばらくすると問題が発生するかもしれないです。その際は高速化への対応等、考えないといけないです。
  脱出のないnmsでは正常に機能しないかもしれません(player_extractedイベントが発生するかどうか確認をとれていません。このイベントではなく、別のイベント?)。多分、大丈夫だとは思いますが...。
   実際の運用デバッグとして、2日ほどのサーバーのログファイルを見たいです。エラーログが出てないか確認がしたいです。エラーログ中に"[Win Rate]・・・"とエラー説明が出るのは想定したエラーですが、
 その表示なしに"・・・NMRiH_WinRate_V1・・・"となっているのは想定していないエラーですので、修正対応します。


0 件のコメント:

コメントを投稿