Menu
CoddyTech

战斗脚本

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(或点击屏幕底部的剑)来拿起它。

challenge icon

挑战

简单

启动战斗脚本 BattleServer,并发放一把剑。

  1. 加载设置:local Settings = require(game.ReplicatedStorage.Settings)。
  2. 打印 "Swords deal " .. Settings.SwordDamage .. " damage"。
  3. 在 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 在线编辑器