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á đầu tiên xem hai cộng hai có bằng sáu hay không và sau đó xem bốn có khác sáu không. Nếu cả hai câu lệnh đều đúng, mã sẽ chạy.
-- sẽ không chạyif 2 + 2 == 6 and 4 ~= 6 thenprint("Cả hai câu lệnh đều đúng")end-- sẽ chạyif 4 + 2 == 6 and 4 ~= 6 thenprint("Cả hai câu lệnh đều đúng")end
Tạo một powerup
Powerups là các vật phẩm trong trải nghiệm cho phép người chơi có những khả năng đặc biệt như bay, vô hình hoặc tốc độ. Powerup này sẽ tăng tốc độ đi bộ của người chơi mỗi lần powerup bị chạm. Việc áp dụng liên tục các tác động 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 tinh thể, đồng xu hoặc quả cầu neon phát sáng.
Tạo một phần mới có tên là Powerup và chèn một script có tên là WalkSpeedManager.
Khai báo một biến có tên là speedBoost và gán đối tượng cha của script.
-- Cung cấp một sự 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 là onTouch và kết nối nó với sự kiện Touched của đối tượng cha. Sau đó, hãy chơi thử và kiểm tra công việc của bạn.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Một cái 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
Sự tăng tốc sẽ làm cho hình đại diện đi nhanh hơn mỗi khi sự tăng tốc bị chạm vào. Điều này 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 đang dưới một tốc độ nhất định.
Nếu một Humanoid được tìm thấy, hãy lấy giá trị WalkSpeed hiện tại và cộng thêm 10 vào nó. Chơi thử, và hình đại diện của bạn sẽ nhanh hơn mỗi khi chạm vào sự tăng tốc.
Tăng giá trị 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 sự tăng tốc, giá trị WalkSpeed nhanh nhất sẽ là 60.
Kiểm tra xem WalkSpeed hiện tại là 50 hoặc ít hơnif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Điều chỉnh sự tăng tốc
onTouch được gọi mỗi khi sự tăng tốc bị 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 đã được 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 sự tăng tốc trong một giây mỗi khi nó đã được kích hoạt.
Sau khi áp dụng sự tăng tốc, hãy thiết lập thuộc tính CanTouch của phần thành false. Chơi thử và đảm bảo rằng sự tăng tốc chỉ được áp dụng một lần.
Tắt sự 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 đó thiết lập CanTouch thành true. Chơi thử và đảm bảo rằng sự 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 khối 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.