Nếu/sau đó Luyện tập với Các bẫy

*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.

Các bẫy giảm sức khỏe của người chơi là một yếu tố trò chơi vui vẻ có thể được mã hóa bằng các điều kiện. Luyện tập sử dụng điều kiện bằng cách tạo một phần mà đặt sức khỏe của người chơi để bằng khi chạm vào nó.

Cài đặt cái bẫy

Các bẫy hoạt động tốt nhất trong các trải nghiệm với các thử thách dựa trên chuyển động, như obbies. Các bước này sẽ bắt đầu bằng cách cài đặt các biến đổi và chức năng cần thiết. Làm nhiều như bạn có thể mà không nhìn vào các hộp mã đầu tiên.

  1. Tạo và đặt tên một phần của cái bẫy. Thêm một script vào phần.

  2. Trong script, thêm một bình luận mô tả và sau đó sử dụng một biến để tham chiếu vào cha của script.


    -- Nếu một người chạm vào bộ phận này, hãy đặt sức khỏe của họ thành 0
    local trapPart = script.Parent
  3. Tạo một chức năng tên là onTouch() với một biến tên là otherPart .


    -- Nếu một người chạm vào bộ phận này, hãy đặt sức khỏe của họ thành 0
    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
  4. Kết nối hàm này với sự kiện Touched của phần màu mỡ để chạy mỗi khi có ai chạm vào phần màu mỡ.


    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
    trapPart.Touched:Connect(onTouch)

Kiểm tra bằng cảm ứng người chơi

Nhớ, tham số otherPart lưu bất cứ điều gì chạm vào phần mồi, có thể là một phần của người chơi hoặc chỉ là bảng mạch cơ sở.

Để đảm bảo rằng cái bẫy chỉ sẽ hủy hoại người chơi và không hủy hoại các món đồ trang trí ngẫu nhiên, hãy sử dụng câu if/then để kiểm tra xem bất kỳ thứ gì ở otherPart có chứa một đối tượng Humanoid không.

Tìm một đối tượng cụ thể

Hàm FindFirstChildWhichIsA() có thể được sử dụng để tìm kiếm các loại đối tượng cụ thể, điều này thuận tiện vì chúng tôi đang tìm kiếm một đối tượng kiểu Hình người. Người chơi có thể chạm vào các bẫy chỉ với một phầ

  1. Trong onTouch() , hãy viết local character = otherPart.Parent .


    local trapPart = script.Parent
    local function onTouch(otherPart)
    -- Tìm mối quan hệ phụ cấp của một đối tượng khác
    local character = otherPart.Parent
    end
    trapPart.Touched:Connect(onTouch)
  2. Kiểm tra để xem có phải character có một Humanoid bằng cách nhập:

    local humanoid = character:FindFirstChildWhichIsA("Humanoid")


    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    end
    trapPart.Touched:Connect(onTouch)

Kiểm tra với một if Statement

Nếu một Hình người được tìm thấy, thì hãy đặt Sức khỏe của Hình người đó thành 0.

  1. Sử dụng một if statement để kiểm tra có phải một Humanoid đã được giao cho local humanoid .


    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- Đánh giá nếu một Hình người được tìm thấy
    if humanoid then
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. Thêm một lệnh in và kiểm tra mã đến nay.


    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- Đánh giá nếu một Hình người được tìm thấy
    if humanoid then
    print("Found a Humanoid")
    end
    end
    trapPart.Touched:Connect(onTouch)
  3. Chạy mã và kiểm tra rằng bạn có thể xem kết quả mỗi khi một người chạm vào bộ phận.

Thay đổi sức khỏe của người chơi

Nếu tuyên bố đúng, bạn có thể sử dụng cùng một biến hình người để đặt sức khỏe của người chơi để 0.

  1. Giữa thenend, hãy viết humanoid.Health = 0 .

    Tập lệnh đã hoàn thành

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- Đánh giá nếu một Hình người được tìm thấy
    if humanoid then
    print("Found a Humanoid")
    humanoid.Health = 0
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. Thử nghiệm cái bẫy.

Tổng kết

Phần này của cái bẫy sử dụng điều kiện để xác định các bộ phận hình người và đặt sức khỏe của hình người lên bằng 0. This script is an improvement on the previous trap script, which destroyed any touching object no matter what it was.

Nó vẫn tuy nhiên vẫn còn một vài nhược điểm. Humanoids không chỉ ở trong người chơi. Humanoids cũng được tìm thấy trong những nhân vật không chơi. Script này chỉ tốt để thiết lập sức khỏe của người chơi để là