战斗脚本
Coddy Roblox 游戏:竞技场对战 课程的第 1 课,共 25 课。
在这门课程中,你将制作一款战场游戏:包含一把剑、通过按键和手机按钮使用的技能、连招和格挡,以及会在竞技场中追捕你的机器人。
这款游戏有两个脚本。BattleServer 是一个 Script,在 Roblox 服务器上运行,并负责所有规则。BattleClient 是 HUD 中的一个 LocalScript,在每位玩家的设备上运行;直到第 2 章,它里面都只有一条注释。游戏平衡所需的所有数值都在 ReplicatedStorage.Settings 中。
剑是一种 Tool。玩家的工具存放在他们的 Backpack 中,而每次玩家重生时,Backpack 都会被清空,所以每次触发 CharacterAdded 时都会发放剑,而不是只在玩家加入时发放一次:
player.CharacterAdded:Connect(function()
local sword = ServerStorage.Sword:Clone()
sword.Parent = player.Backpack
end)按 1(或点击屏幕底部的剑)来拿起它。
挑战
简单启动战斗脚本 BattleServer,并发放一把剑。
- 加载设置:
local Settings = require(game.ReplicatedStorage.Settings)。 - 打印
"Swords deal " .. Settings.SwordDamage .. " damage"。 - 在
Players.PlayerAdded中,每当触发player.CharacterAdded时,就将ServerStorage.Sword克隆到player.Backpack中。
按下 Play,再按 1:输出中会显示 Swords deal 10 damage,而且你会拿着一把剑。然后点击 Check。
亲手试试
-- BattleServer:在服务器上运行游戏的 Script。
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
-- 1. 加载设置:用 require 加载 ModuleScript
-- game.ReplicatedStorage.Settings
-- 2. 使用 Settings.SwordDamage 输出剑击造成的伤害值
-- 3. 玩家加入后,每次其角色生成时,都将
-- ServerStorage.Sword 的一个副本放进角色的 Backpack
Roblox 游戏:竞技场对战中的所有课
自己练习: Roblox 在线编辑器