戦闘スクリプト
Coddyの「Robloxゲーム:バトルグラウンド」コースのレッスン 1/20。
このコースでは、剣、キーやスマートフォンのボタンで使うアビリティ、コンボとガード、アリーナ内であなたを追い回すボットが登場するバトルグラウンドゲームを作ります。
ゲームには2つのスクリプトがあります。ScriptであるBattleServerはRobloxのサーバー上で実行され、すべてのルールを管理します。HUD内のLocalScriptであるBattleClientは各プレイヤーのデバイス上で実行されます。チャプター2まではコメントだけが記述されています。ゲームのバランスを調整するすべての数値はReplicatedStorage.Settingsにあります。
剣はToolです。プレイヤーのツールはBackpackに格納されます。プレイヤーがリスポーンするたびにBackpackは空になるため、参加時に一度だけではなく、毎回CharacterAddedで剣を渡します。
player.CharacterAdded:Connect(function()
local sword = ServerStorage.Sword:Clone()
sword.Parent = player.Backpack
end)1を押す(または画面下部の剣をタップする)と、剣を手に持ちます。
チャレンジ
簡単require(game.ReplicatedStorage.Settings)で設定を読み込みます。Settings.SwordDamageを使って、Swords deal 10 damageと表示します。- プレイヤーが参加したとき、
Killsという名前のIntValueを持つleaderstatsFolderを与えます。 CharacterAddedのたびに、ServerStorage.SwordをそのプレイヤーのBackpackに複製します。
プレイを押し、1を押して剣を持ってから、確認を押します。
自分で試してみよう
-- BattleServer: サーバー上でゲームを実行するScript。
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
-- 1. 設定を読み込む: ModuleScriptをrequireする
-- game.ReplicatedStorage.Settings
-- 2. Settings.SwordDamageを使って、剣の一撃のダメージ量を表示する
-- 3. プレイヤーが参加したら: リーダーボードにKillsを用意する(名前が
-- leaderstatsのFolderにIntValueを格納する)。また、キャラクターが
-- スポーンするたびに、ServerStorage.SwordのコピーをBackpackに入れる
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。