Các câu lệnh if có thể có nhiều yêu cầu cần phải đúng trước khi chạy mã. Từ khóa and cho phép bạn kết hợp các câu lệnh. Đoạn mã sau đây đánh giá trước xem hai cộng hai có bằng sáu hay không và sau đó xem bốn có không bằng sáu hay không. Nếu cả hai câu lệnh đều đúng, mã sẽ chạy.
-- sẽ không chạy
if 2 + 2 == 6 and 4 ~= 6 then
print("Cả hai câu lệnh đều đúng")
end
-- sẽ chạy
if 4 + 2 == 6 and 4 ~= 6 then
print("Cả hai câu lệnh đều đúng")
endTạo một powerup
Powerups là các vật phẩm trong trò chơi giúp người chơi có những khả năng đặc biệt như bay, tàng hình hoặc tốc độ. Powerup này sẽ tăng tốc độ đi bộ của người chơi mỗi khi powerup được chạm vào. Việc liên tục áp dụng các tăng tốc có thể khiến người chơi đi quá nhanh, vì vậy and sẽ được sử dụng để kiểm soát giới hạn tốc độ đi bộ tối đa.
Thiết lập powerup
Sử dụng đoạn 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ê, đồng xu hoặc quả cầu neon phát sáng.
Tạo một phần mới có tên Powerup và chèn một script có tên WalkSpeedManager.
Khai báo một biến có tên speedBoost và gán đối tượng cha của script.
-- Cung cấp một tăng tốc độ tạm thời khi chạm vàolocal speedBoost = script.ParentThiết lập một hàm có tên onTouch và kết nối nó với sự kiện Touched của đối tượng cha. Sau đó, chơi thử và kiểm tra công việc của bạn.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Có thứ gì đó chạm vào speedBoost")endspeedBoost.Touched:Connect(onTouch)Thuộc tính WalkSpeed được tìm thấy trên các đối tượng Humanoid. Sử dụng cùng một mẫu đã sử dụng khi tạo một phần bẫy và tạo một điều kiện kiểm tra các đối tượng Humanoid.
Tìm kiếm các phần Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Một Humanoid đã được tìm thấy")endend
Tăng tốc độ cho người chơi
Tăng tốc độ sẽ khiến các avatar đi nhanh hơn mỗi khi chạm vào tăng tốc. Điều đó sẽ nhanh chóng trở nên rất, rất nhanh. Từ khóa and sẽ đảm bảo rằng người chơi không thể đi quá nhanh bằng cách chỉ cho phép tăng tốc nếu người chơi dưới một tốc độ nhất định.
Nếu một Humanoid được tìm thấy, lấy giá trị WalkSpeed hiện tại và cộng 10 vào nó. Chơi thử, và avatar của bạn sẽ nhanh hơn mỗi khi chạm vào tăng tốc.
Tăng WalkSpeed hiện tạilocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)Trong câu lệnh 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 nhỏ hơn 50. Sau khi thêm tăng tốc, giá trị WalkSpeed nhanh nhất sẽ là 60.
Kiểm tra nếu WalkSpeed hiện tại là 50 hoặc ít hơnif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Tinh chỉnh tăng tốc
OnTouch được gọi mỗi khi tăng tốc được chạm vào. Mỗi bước hoặc sự nảy nhẹ nhất đều kích hoạt sự kiện Touched và gọi hàm đã kết nối. Thuộc tính của phần, CanTouch có thể giữ cho sự kiện Touched không bị kích hoạt. Tận dụng CanTouch và tắt tăng tốc trong một giây mỗi khi nó được kích hoạt.
Sau khi áp dụng tăng tốc, đặt thuộc tính CanTouch của phần thành false. Chơi thử và đảm bảo rằng tăng tốc chỉ được áp dụng một lần.
Vô hiệu hóa tăng tốclocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)Sử dụng task.wait(1) để tạm dừng script trong một giây, sau đó đặt CanTouch thành true. Chơi thử 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ànhlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)Chơi với các giá trị trong kịch bản hoàn thành. WalkSpeed có thể lên đến 100. Giá trị WalkSpeed mặc định là 16.
Tóm tắt
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 đoạn mã, chẳng hạn như một giá trị lớn hơn 0 và nhỏ hơn 100. Hoặc rằng nếu có một Humanoid và WalkSpeed của nó nhỏ hơn hoặc bằng 50.