ProconRulz – DAs VoteNuke Auto Surrender

ProconRulz – DAs VoteNuke AutoSurrender

 

DandZ鯖から3年、ついに完成って感じです・・・。

チケットの消費速度から制圧状況を判定して状況によりラウンド終了させることが出来たらと思い作成しました。

先日JPL鯖で行った「令和」記念イベントで使用したスクリプトに汎用性をほんの少し加えたものになります。

ベースレイプで嫌な思いをする時間を極力短くし、数少ないプレイヤーを救うことが出来たらと思い公開します。

 

仕様

    • BF4専用
    • ProconRulz(改)用のスクリプト
    • コンクエストラージ専用
    • 全マップ対応
    • チケットの消費数、リスポーン数から制圧状況を判定
    • VoteNuke機能の有無
    • VoteNukeが有効の場合、使用出来るのは両チーム合わせ1ラウンド1回のみ
    • 必要票数はサーバー内プレイヤー数に応じて変動 (プレイヤー数 / 設定値)
    • ベースレイプ検知によるラウンドの早期終了

導入方法

導入する前に!

  • 確認出来ていないバグが発生する可能性があります。確認次第修正はしていますが導入は自己責任でお願いします。
  • 機能を有効にする場合は必ずラウンド間やプレイヤーがいない時に行って下さい。
  • 不具合発生の原因になるため、ラウンドの途中で有効にしないで下さい。
  • チケットの取得には多少のタイムラグがあることを理解の上、使用して下さい。
  • 前提条件としてチケットの消費速度は100%にして下さい。
    1. メインで動かしているProconとは別にこのスクリプトを動かすためだけのProconを用意
    2. ProconRulzの中を書き換える
    3. Proconにデフォルトで入っているSpambotの設定
    4. スクリプトをコピーしてテキストファイルに保存し、ProconRulzのRulz.txt filenamesに適用
1. メインで動かしているProconとは別にこのスクリプトを動かすためだけのProconを用意

そのままです。別にProconを用意します。

 

2. ProconRulzの中を書き換える

ProconRulzで時間を正確に取得するためにSpambotを利用します。しかし、普通のProconRulzではプレイヤーからのメッセージしか拾うことが出来ず、Spambotから取得することが出来ないため、それを可能にするために書き換えます。(書き換えるといってものただ1行削除するだけ・・・)

まず、ProconRulzを任意のテキストエディタで開きます。

開いたら検索(CTRL+F)でif (player_name != "Server")を探します。(通常版のProconRulzは6141行目)

該当箇所の先頭に//を付けコメントアウトにするか、コードを削除にするかでサーバーからのメッセージを拾うことが可能になります。※忘れずに上書き保存しましょう。

ProconRulzはこちらのProconRulzを導入し、サーバーのメッセージを取得する設定で使用して下さい。

 

3. Proconにデフォルトで入っているSpambotの設定

以下のメッセージを5秒間隔で設定します。

/tlpm0
/tlpm1
/tlpm2
/tlpm3
/tlpm4
/tlpm5

※これ以外のメッセージは設定しないように!

 

 

4. スクリプトをコピーしてテキストファイルに保存し、ProconRulzのRulz.txt filenamesに適用

やたらと長いコードのためRulzでは文字数制限で全部入りきらないためRulz.txt filenamesを使用します。

コードを全てコピーし、テキストファイルとして保存します。(ファイル名はなんでも可)

保存したファイルをPRoCon\Plugins\BF4へ貼り付けProconRulzのRulz.txt filenamesへ拡張子まで入れたファイル名を設定します。

後はラウンドの合間をみて有効にするだけです。ラウンド中に有効にしてしまうと思わぬ不具合が発生する可能性がありますので十分注意して下さい。

 

機能設定

現在設定出来る項目は以下。ファイルを書き換え上書き保存し、ProconRulzの再起動で適用されます。

  • システムを無効にする残チケット数(デフォルト、60)
    • どちらかの残チケット数が設定値を下回った場合、機能を無効にする
  • 機能を有効にする最小プレイヤー数(デフォルト、32)
    • 設定値以上のプレイヤー数がいなければAutoSurrenderは機能しない
  • VoteNuke機能の有無(デフォルト、False)
    • VoteNukeを使用する場合はTrue、使用しない場合はFalse
  • VoteNukeが有効になる1flagカウント数(デフォルト、3)
    • VoteNukeが有効になる時間の設定
    • 設定値 * 30秒でVoteNukeが有効になる
    • 劣勢側の制圧拠点数が1拠点の状況が30秒毎に1加算される仕様のため
  • VoteNukeに必要な最低票数(デフォルト、6)
    • プレイヤー数 / 設定値
  • NukeのActive時間(デフォルト、5(20秒))
    • 設定値 * 5秒

その他、注意事項

今回改造したProconRulzは通常通り使用できますが、On Sayトリガーを使う場合は必ずOn Say;If %p% != Server;と書いてください。サーバーからのメッセージを全て拾うため、意図としない不具合を発生させる原因になりますので注意して下さい。逆にサーバーからのメッセージだけを拾いたい場合はOn Say;If %p% == Server;と書きます。

確認出来ていないバグが発生する可能性があります。確認次第修正はしていますが導入は自己責任でお願いします。

機能を有効にする場合は必ずラウンド間やプレイヤーがいない時に行って下さい。

不具合発生の原因になるため、ラウンドの途中で有効にしないで下さい。

チケットの取得には多少のタイムラグがあることを理解の上、使用して下さい。

チケットの消費速度は100%に設定して下さい。

意見、不具合の報告はDiscordへお願いします。

 

コード

 

タイトルとURLをコピーしました