Menu
CoddyTech

Vung kiếm

Bài học 2 trên 25 trong khóa học Trò chơi Roblox: Đấu trường của Coddy.

Khi cầm công cụ, một cú nhấp (hoặc chạm) sẽ kích hoạt sự kiện Activated của công cụ, cả trên máy chủ. Một cú vung sẽ phát hoạt ảnh chém kiếm của Roblox: một Animation xác định hoạt ảnh bằng id của nó, còn Animator của nhân vật, nằm bên trong Humanoid, tải hoạt ảnh vào một track để phát:

local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()

Nếu không giới hạn, người chơi có thể nhấp nhanh tùy ý, vì vậy trò chơi lưu thời điểm vung gần nhất của từng người chơi trong một bảng và từ chối cú vung tiếp theo nếu chưa đủ Settings.SwingCooldown giây.

challenge icon

Thử thách

Dễ

Vung kiếm bằng cách nhấp chuột.

  1. Gần đầu tệp: local lastSwing = {} và hoạt ảnh slash, id rbxassetid://522635514.
  2. Viết swing(player): thoát hàm nếu nhân vật đã chết hoặc mới vung kiếm cách đây chưa đủ Settings.SwingCooldown.
  3. Nếu không, đặt lastSwing[player] = now rồi phát hoạt ảnh chém trên character.Humanoid.Animator.
  4. Kết nối Activated của kiếm với swing(player).

Nhấn Chơi, cầm kiếm rồi nhấp chuột: nhân vật của bạn sẽ vung kiếm. Sau đó nhấn Kiểm tra.

Tự làm thử

local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)

print("Swords deal " .. Settings.SwordDamage .. " damage")

-- Bài học 2: Thêm động tác vung kiếm ở đây

-- Mỗi người chơi nhận một thanh kiếm mỗi khi hồi sinh
Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function()
		local sword = ServerStorage.Sword:Clone()
		sword.Parent = player.Backpack
	end)
end)

Tất cả bài học trong Trò chơi Roblox: Đấu trường

Tự luyện tập: Playground Roblox