Trong Giới thiệu về Scripting, bạn đã học cách thay đổi trong một trải nghiệm trong một chuỗi thời gian. Và nếu bạn muốn thay đổi dựa trên hành vi người dùng? Trong hướng dẫn này, bạn sẽ học cách làm một mái sàn dung nham độc hại làm cho người dùng bị giết khi họ
Cài đặt
Bạn cần một chỗ trên thế giới của bạn để đặt lava độc hại. Nếu bạn đã hoàn thành khóa học Giới thiệu về Scripting, lava floor sẽ vừa với khe bị che kín bởi các hòn đảo biến mất.
Thêm một Part và di chuyển nó vào chỗ đấy trong thế giới của bạn. Đặt tên nó là LavaFloor .
Thay đổi kích thước để bao gồm sàn của không gian đóng hộp.
Làm cho sàn nhà trông như dung nham bằng cách thiết lập thuộc tính Material lên Neon và màu sắc Color lên một màu cam.
Lập một Script vào phần LavaFloor và đổi tên nó thành Kill .
Loại bỏ mã mặc định và tạo một biến cho dung nham.
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 một người chạm vào dung nham. Mỗi phần có một sự kiện Touched được kích hoạt khi bất kỳ thứ 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ó kết thúc.
Tuyên bố một chức năng mới có tên là kill .
Acces the Touched event on the lava object using a dot, just like a property: lava.Touched .
Gọi chức năng Connect trên sự kiện Touched, truyền chức năng kill .
local lava = script.Parentlocal function kill()endlava.Touched:Connect(kill)
Bất kỳ mã nào bạn viết trong chức năng kill sẽ bây giờ chạy mỗi khi một thứ gì đó chạm vào dung nham. Hãy lưu ý rằng một dấu chấm câu làm cho chức năng Connect, chứ không phải là dấu chấm - đừng lo lắng về lý
Lấy phần cảm ứng
Để giết người dùng, chức năng sẽ cần một đối tượng được 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" mà nó đã chạm vào - nhưng chỉ khi bạn yêu cầu nó bằng cách làm cho nó một đối tượng 参数</
Các biến là định nghĩa của những gì một hàm mong đợi để nhận khi nó được gọi. Một biến có thể được sử dụng trong một hàm như bất kỳ biến khác. Bạn có thể truyền thông tin cho một biến bằ
local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)
Khi kill chức năng được gọi, otherPart參數代表 lava đã chạm đất, và mã bạn sẽ viết trong chức năng sẽ có thể sử dụng nó.
Nhân vật và hình người
Khi một người chạm vào dung nham, Roblox có thể phát hiện bộ phận cơ thể cụ thể của người đó đã chạm vào nó, chẳng hạn như bên trái hoặc bên phải chân. Phần này ở trong mô hình Nhân vật của người dùng, bao gồm tất cả các thành phần cấu thành
- Các bộ phận cơ thể của người chơi, chẳng hạn như đầu, vịc và ngực.
- Bất kỳ quần áo và phụ kiện được mặc bởi người dùng.
- Class.Humanoid, một đối tượng đặc biệt có nhiều thuộc tính liên quan đến người dùng, bao gồm sức khỏe của người dùng.
- The HumanoidRootPart which controls the movement của người dùng.
Như đã đề cập trước, bất kỳ phần nào của cơ thể chạm vào dung nham là một phần của mô hình Nhân vật, vì vậy bạn có thể nhận được một tham khảo đến nhân vật đó với otherPart.Parent . Tạo một biến để lưu trữ cha của phần nào chạm vào sàn dung nham.
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 phải lấy được đối tượng Hình người để giết người dùng. Bạn có thể làm điều này với chức n
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 hình người
Bạn có thể dễ dàng kiểm tra nếu Humanoid đã được tìm thấy bằng cách sử dụng một if tuyên bố. Mã trong một tuyên bố if sẽ chỉ được thiết lập nếu điều kiện được định nghĩa ở dòng đầu tiên là đúng.
Có một loạt các operator 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 - cho đến bây giờ, chỉ cần đặt biến humanoid ở đó. Tạo một if tuyên bố
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)
Cài đặt sức khỏe nhân vật
Bây giờ khi 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ó để 0 , thì nhân vật liên quan sẽ chết. Trong cơ thể của if statement, hãy đ
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 nhà dung nham của bạn đã hoàn thành! Thử nghiệm trải nghiệm của bạn và bạn nên tìm thấy rằng lava độc hại của bạn thành công trong việc giết người dùng khi tiếp liên hệ. Hãy thử sử dụng lava của bạn như một thử thách bổ sung trong một obby, hoặc là một giới hạn cho một thế giớ
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)