Hướng dẫn trung cấp

Lava chết chóc

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Trong Giới thiệu về lập trình, bạn đã học cách thực hiện các thay đổi trong một trải nghiệm theo thời gian. Điều gì sẽ xảy ra nếu bạn muốn thực hiện các thay đổi dựa trên hành vi của người dùng? Trong hướng dẫn này, bạn sẽ học cách tạo ra một sàn lava chết chóc mà giết chết người dùng khi họ bước lên đó.

Thiết lập

Bạn cần một vị trí trong thế giới của mình để đặt lava chết chóc. Nếu bạn đã theo học khóa Giới thiệu về lập trình, sàn lava sẽ vừa vặn trong khoảng trống mà các nền tảng biến mất đã che phủ.

  1. Chèn một Part và di chuyển nó vào vị trí trong thế giới của bạn. Đặt tên là LavaFloor.

  2. Thay đổi kích thước để nó phủ kín sàn của không gian bao quanh.

  3. Làm cho sàn trông giống như lava hơn bằng cách đặt thuộc tính Material thành Neon và màu Color thành một màu cam.

  4. Chèn một Script vào phần LavaFloor và đổi tên thành Kill.

  5. Xóa mã mặc định và tạo một biến cho lava.


    local lava = script.Parent

Kết nối với một sự kiện

Sử dụng một sự kiện để phát hiện khi người dùng chạm vào lava. Mỗi phần đều có một sự kiện Touched được kích hoạt khi có gì đó chạm vào nó. Bạn có thể kết nối với sự kiện này để chạy một chức năng khi nó được kích hoạt.

  1. Khai báo một hàm mới gọi là kill.

  2. Truy cập sự kiện Touched trên đối tượng lava bằng một dấu chấm, giống như một thuộc tính: lava.Touched.

  3. Gọi hàm Connect trên sự kiện Touched, truyền kill() làm hàm sẽ được gọi khi phần này bị chạm.


    local lava = script.Parent
    local function kill()
    end
    lava.Touched:Connect(kill)

Mọi mã bạn viết trong hàm kill sẽ chạy mỗi khi có gì đó chạm vào lava. Lưu ý rằng một dấu hai chấm được sử dụng cho hàm Connect, không phải là một dấu chấm - đừng lo lắng về lý do vào lúc này, chỉ cần nhớ sự khác biệt.

Lấy phần chạm vào

Để giết người dùng, hàm sẽ cần một đối tượng liên kết với người dùng đó. Sự kiện Touched của một phần có thể cung cấp "phần khác" đã chạm vào nó — nhưng chỉ khi bạn yêu cầu nó bằng cách tạo một tham số cho hàm.

Các tham số là định nghĩa về những gì một hàm mong đợi nhận được khi nó được gọi. Một tham số có thể được sử dụng trong một hàm giống như bất kỳ biến nào khác. Bạn có thể truyền thông tin cho một tham số bằng cách bao gồm nó trong dấu ngoặc đơn khi một hàm được gọi. Các tham số được định nghĩa trong dấu ngoặc đơn trên dòng đầu tiên của một hàm. Tạo một tham số gọi là otherPart cho hàm kill.


local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)

Khi hàm kill được gọi, tham số otherPart sẽ đại diện cho phần đã chạm vào sàn lava, và mã bạn sẽ viết trong hàm sẽ có thể sử dụng nó.

Nhân vật và humanoid

Khi một người dùng chạm vào lava, Roblox có thể phát hiện phần cơ thể cụ thể của người dùng đã chạm vào nó, chẳng hạn như chân trái hoặc chân phải. Phần này nằm trong mô hình Character của người dùng, chứa tất cả các đối tượng tạo nên avatar của người dùng trong trải nghiệm, bao gồm:

  • Các phần cơ thể riêng lẻ của người dùng như đầu, chi và thân.
  • Bất kỳ quần áo và phụ kiện nào được người dùng mặc.
  • Humanoid, một đối tượng đặc biệt chứa nhiều thuộc tính liên quan đến người dùng, bao gồm cả sức khỏe của người dùng.
  • HumanoidRootPart, điều khiển chuyển động của người dùng.

Như đã lưu ý trước đó, bất kỳ phần cơ thể nào chạm vào lava đều là một phần của mô hình Character, vì vậy bạn có thể lấy một tham chiếu đến nhân vật đó với otherPart.Parent. Tạo một biến để lưu trữ cha của phần đã chạm vào sàn lava.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)

Từ mô hình nhân vật, bạn sẽ cần lấy đối tượng Humanoid để giết người dùng. Bạn có thể làm điều này bằng hàm FindFirstChild() — chỉ cần truyền cho nó tên của thứ bạn đang tìm kiếm và nó sẽ cung cấp đứa trẻ khớp đầu tiên mà nó tìm thấy trong đối tượng đó. Gọi FindFirstChild() trên biến partParent với "Humanoid" là đứa trẻ để tìm, và lưu trữ kết quả trong một biến mới gọi là humanoid.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)

Kiểm tra humanoid

Bạn có thể dễ dàng kiểm tra xem Humanoid có được tìm thấy hay không bằng một câu lệnh if. Mã trong một câu lệnh if chỉ chạy nếu điều kiện được định nghĩa trong dòng đầu tiên là đúng.

Có một số toán tử có thể được sử dụng để xây dựng các điều kiện phức tạp hơn mà bạn sẽ gặp trong các khóa học tương lai - bây giờ, chỉ cần đặt biến humanoid vào đó. Tạo một câu lệnh if với humanoid làm điều kiện.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
end
end
lava.Touched:Connect(kill)

Đặt sức khỏe nhân vật

Bây giờ rằng Humanoid đã được kiểm tra, các thuộc tính của nó có thể được thay đổi. Nếu bạn đặt thuộc tính Health của nó thành 0, nhân vật liên kết sẽ chết. Trong thân của câu lệnh if, đặt thuộc tính Health của humanoid thành 0.


local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)

Với điều đó, sàn lava của bạn đã hoàn tất! Kiểm tra trải nghiệm của bạn và bạn sẽ thấy rằng lava chết chóc của bạn đã thành công giết chết người dùng khi tiếp xúc. Hãy thử sử dụng lava của bạn như một thử thách bổ sung trong một trò chơi obby, hoặc như một ranh giới cho một thế giới.

Mã cuối cùng


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.