Battlefield2042 GUNMASTER(ガンマスター)の作り方
Experience code: aaex4s
ExperienceのURLを貼っておくとフォークできるらしいので貼っておく
基本設定:
モード:FFA
人数:16人とか少なめの方がいいかも
武器:普通の設定では全部禁止にしておく
ガジェット:医療バッグとかリペアツールとか残してほかは禁止
ガジェットを全部禁止するとデータドライブスキャナーを自動的に持つのでオススメしない
出撃時に表示が出てきて邪魔なので
陣営:なんでもいいかも
2042にしておくとシレットピストルが使えてユーザー体験がいい
出撃時間を短くしておくとストレスフリー
ビークルなし
AIはお好み
なんかビギナーAIでも強くない?Kurogoma4D.icon
ルールエディタ
上から順に
Set global settings
https://gyazo.com/3409847365aec5f8214cfdecf119e80c
グローバル変数をセットアップする。
最初条件をOngoingでやってた(Conditionsを空にしておけば最初一回だけ実行してくれるっしょ的なノリで)けど、なんか試合中に落ちるのが多くて悩んでたところ、OnGameModeStartedにすれば良いんじゃねという意見をいただいたのでそうした(そして前より落ちにくいっぽいのも確認した)。
セットアップはそれぞれサブルーチンで定義している。
set_all_weapons
https://gyazo.com/5baec67778bfcb8f9dfc2910af09a668
収録されている全プライマリ武器のインベントリ参照を配列に格納する。この中の一要素を ReplacePlayerInventory でプレイヤーのインベントリにセットすることで武器を強制的に切り替える事ができる。
全時代の武器を時代ごとにグローバル変数へ格納→各配列をconcat
テキストだったら普通にスッキリ書けるんだけどビジュアルだと…
https://gyazo.com/b9278595d7696dee48e819f7d51fdafe
Kurogoma4D.icon うわぁ…
determine_weapons_set
https://gyazo.com/b6155ea4726945a8140a637bdd82b764
全武器の中から、試合中に使う武器セットを決める。
all_weaponsをランダマイズしてweapons_setに格納しているだけ。
サブルーチンにしてるのは単に見た目の問題。
Set win condition
https://gyazo.com/8906f4cb8af5b4183dc7c0b40f50d792
勝利条件を設定する。デフォルトのスコア設定を無効化し、時間制限とスコアをリテラルで設定するだけ。
この設定だと2キル×10武器=20キルで勝利にしたいので、勝利スコアを10にしている。
スコアのカウントはFFAなのでプレイヤーごとにカウントされる(TDMとかだとチームごと)。このブロック内でデフォルトのスコアリングを無効化しているため、この時点でプレイヤーはキルしてもスコアが増減しない。
そこで2キルしたときにスコアが1加算されるように後で設定する。
Set deply weapon
https://gyazo.com/3586d88cacc2a4ea03f31381c20a0389
デプロイ時に実行する。
まずデプロイ時に current_weapon に武器がセットされてるかどうかを確認し、なかったら weapons_set の最初の武器をセットする。これは要するに、試合中最初にデプロイするときのみにTrueになる条件。
またデプロイしたプレイヤーの武器を current_weapon に格納しているものに強制的に切り替える。
これにより、途中でデスしてしまっても現在のスコアに応じた武器を持って出撃することが可能。
Set score
https://gyazo.com/c7c697d278fdb76e9b8def372b2e03dd
ここからキルしたときの判定シリーズ。
まずはスコアの加算で、これはキルしたプレイヤーのキルカウントの2の剰余が0だったとき(つまり2キルごと)にスコアをインクリメントする。
On kill with weapon
https://gyazo.com/0b882afda760cadc9857455643169bf3
ガンマスのキモ、武器の切り替え判定。
スコア加算と同じ条件で、2キルしたときに最初に設定した武器セットの中から現在のスコアに対応する武器を current_weapon に格納し、その武器をプレイヤーに強制的に装備させる。
Check win condition
https://gyazo.com/2835e70860297840a021662762ec332b
最後に勝利条件の判定。
プレイヤーのスコアが設定したゲームルールスコアに到達した場合にゲームを終了させる。
書いてみて
Scratchっぽくて新鮮だった
普段触らないので
ドキュメントとか参考資料が流石にまだ出揃ってなさそうでつらかった
…と思いきやちゃんとブロックごとにドキュメントがあることが判明
右クリック → Help
https://gyazo.com/d94a7fc898b004f5a1fab0909f8eca28
気づいたのは組んでる途中だったけど、もっと早く知っていれば… Kurogoma4D.icon 悔しい
やることメモ
スペシャリスト固定
アイリッシュがセコいので
ナイフキルノーカン
ただしナイフでキルされたら-1