Đánh giá nhiều tuyên bố

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

Nếu các tuyên bố có thể có nhiều yêu cầu cần thiết phải đúng trước khi chạy mã. Keyword and cho phép bạn kết hợp các tuyên bố. Mã sau đó đánh giá đầu tiên nếu hai plus two equal six và sau đó nếu four không equal six. Nếu cả hai tuyên bố đều đúng, mã sẽ chạy.


-- sẽ không chạy
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- sẽ chạy
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

Tạo một kĩ năng

Các kĩ năng là vật phẩm trong kinh nghiệm mà cho phép người chơi các kĩ năng đặc biệt như bay, vô hình hoặc tốc độ. Đơn vị này sẽ tăng tốc độ di chuyển của người chơi mỗi lần chạm vào các kĩ năng. Áp dụng liên tục các ưu đãi sẽ

Tùy chỉnh cài đặt

Sử dụng mã này với một phần đơn giản hoặc một mô hình, chẳng hạn như một viên pha lê, một chiếc xu hoặc một quả cầu neon phát sáng.

  1. Tạo một phần mới có tên là Powerup và nhúc nhích một script có tên là WalkSpeedManager .

  2. Tuyên bố một biến tên là speedBoost và giao phục vụ làm cha của script.


    -- Tạm thời tăng tốc khi chạm
    local speedBoost = script.Parent
  3. Tạo một chức năng tên là onTouch và kết nó vào sự kiện Touched của đối tượng cha. Sau đó kiểm tra và xem những gì bạn đang làm.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. Các thuộc tính WalkSpeed được tìm thấy trên các thể hình người. Sử dụng cùng một mẫu màu sắc được sử dụng khi tạo một phần của bẫy và tạo một điều kiện kiểm tra cho các thể hình người.

    Tìm kiếm các bộ phận hình người

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("A Humanoid was found")
    end
    end

Tốc độ người chơi lên

Tăng tốc sẽ làm cho avatar di chuyển nhanh hơn mỗi lần tăng tốc được chạm. Điều này sẽ nhanh chóng trở thành rất, rất nhanh. Keyword and sẽ đảm bảo người chơi không thể đi quá nhanh bằng cách chỉ bật tăng tốc nếu người chơi đang dưới một tốc độ nhấ

  1. Nếu một Hình người được tìm thấy, hãy lấy giá trị WalkSpeed hiện tại và thêm 10 vào nó. Playtest, và avatar của bạn sẽ nhanh hơn mỗi lần nó chạm vào bộ tăng tốc.

    Tăng tốc độ di chuyển hiện tại

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.WalkSpeed += 10
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Trong câu if, sử dụng từ khóa and để thêm một điều kiện thứ hai rằng giá trị WalkSpeed hiện tại thấp hơn 50. Sau khi thêm tăng, giá trị WalkSpeed nhanh nhất sẽ là 60.

    Kiểm tra xem WalkSpeed hiện tại có phải là 50 hoặc ít hơn

    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    end

Tối ưu hóa tốc độ

OnTouch được gọi mỗi khi tăng tốc độ được chạm. Mọi bước hoặc nhảy nhỏ hơn đều kích hoạt sự kiện Đã chạm và gọi chức năng liên kết. Thông số của bộ phận, CanTouch, có thể giữ kiện Đã chạm khỏi bị kích hoạt. Hãy tậ

  1. Sau khi ứng dụng tăng, hãy đặt CanTouch của phần tử thành false. Playtest và hãy đảm bảo rằng tăng chỉ áp dụng một lần.

    Vô hiệu hóa tăng tốc

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Sử dụng task.wait(1) để tạm dừng script trong một giây, sau đó đặt CanTouch lên trên. Playtest và đảm bảo rằng tăng tốc có thể được áp dụng lại sau một giây.

    Kịch bản đã hoàn thành

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    task.wait(1)
    speedBoost.CanTouch = true
    end
    end
    speedBoost.Touched:Connect(onTouch)
  3. Chơi với giá trị trong script xong. WalkSpeed có thể đi lên 100. Giá trị mặc định của WalkSpeed là 16.

Tổng kết

Người khóa từ khóa and có thể được sử dụng để yêu cầu nhiều điều kiện trước khi chạy một hành động của mã, chẳng hạn như một giá trị là lớn hơn 0 và nhỏ hơn 100. Hoặc rằng nếu có một hình người và tốc độ di chuyển của nó là nhỏ h