คำสั่ง if สามารถมีความต้องการหลายอย่างที่ต้องเป็นจริงก่อนที่จะทำการรันโค้ด คีย์เวิร์ด and ช่วยให้คุณรวมประโยคต่าง ๆ เข้าด้วยกัน โค้ดต่อไปนี้จะประเมินก่อนว่าทูบวกสองเท่ากับหกและจากนั้นว่าFourไม่เท่ากับหก ถ้าทั้งสองประโยคเป็นจริง โค้ดจะถูกรัน
-- จะไม่ทำงานif 2 + 2 == 6 and 4 ~= 6 thenprint("ทั้งสองประโยคเป็นจริง")end-- จะทำงานif 4 + 2 == 6 and 4 ~= 6 thenprint("ทั้งสองประโยคเป็นจริง")end
สร้างพาวเวอร์อัพ
พาวเวอร์อัพเป็นไอเทมภายในประสบการณ์ที่มอบความสามารถพิเศษให้กับผู้เล่น เช่น การบิน, การมองไม่เห็น หรือความเร็ว พาวเวอร์อัพนี้จะเพิ่มความเร็วในการเดินของผู้เล่นทุกครั้งที่สัมผัสพาวเวอร์อัพ การใช้การเพิ่มต่อเนื่องสามารถทำให้ผู้เล่นเร็วเกินไป ดังนั้น and จะถูกใช้เพื่อตรวจสอบขีดจำกัดความเร็วสูงสุดในการเดิน
ตั้งค่าพาวเวอร์อัพ
ใช้โค้ดนี้กับส่วนง่าย ๆ หรือโมเดล เช่น คริสตัล, เหรียญ, หรือโคมไฟนีออนที่เปล่งแสง
สร้างส่วนใหม่ชื่อ Powerup และแทรกสคริปต์ชื่อ WalkSpeedManager.
ประกาศตัวแปรชื่อ speedBoost และกำหนดให้เป็นวัตถุพาเรนต์ของสคริปต์
-- ให้การเพิ่มความเร็วชั่วคราวเมื่อสัมผัสlocal speedBoost = script.Parentตั้งค่าฟังก์ชันชื่อ onTouch และเชื่อมต่อกับเหตุการณ์ Touched ของวัตถุพาเรนต์ จากนั้นทดสอบการเล่นและตรวจสอบผลงานของคุณ
local speedBoost = script.Parentlocal function onTouch(otherPart)print("บางอย่างสัมผัส speedBoost")endspeedBoost.Touched:Connect(onTouch)คุณสมบัติ WalkSpeed จะพบได้ในวัตถุ Humanoid ใช้แพทเทิร์นเดียวกับเมื่อสร้างส่วนกับกับดักและสร้างเงื่อนไขที่ตรวจสอบว่าวัตถุเป็น Humanoid
ค้นหาชิ้นส่วน Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("พบ Humanoid")endend
เพิ่มความเร็วผู้เล่น
การเพิ่มความเร็วนั้นจะทำให้ตัวละครเดินเร็วยิ่งขึ้นทุกครั้งที่สัมผัสการเพิ่มความเร็ว ซึ่งจะทำให้เร็วมาก ๆ คีย์เวิร์ด and จะรับประกันว่า ผู้เล่นจะไม่สามารถเร็วจนเกินไป โดยจะเปิดใช้งานการเพิ่มความเร็วก็ต่อเมื่อผู้เล่นอยู่ภายใต้ความเร็วที่กำหนด
หากพบ Humanoid ให้รับค่าความเร็วเดินปัจจุบันและเพิ่ม 10 ให้กับมัน ทดสอบการเล่นและตัวละครของคุณจะเร็วขึ้นทุกครั้งที่สัมผัสการเพิ่มความเร็ว
เพิ่มความเร็วเดินปัจจุบันlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)ในคำสั่ง if ใช้คีย์เวิร์ด and เพื่อเพิ่มเงื่อนไขที่สองว่า ค่าความเร็วเดินปัจจุบันนั้นน้อยกว่าหรือเท่ากับ 50 หลังจากเพิ่มการเพิ่ม ความเร็วเคลื่อนที่สูงสุดจะเป็น 60
ตรวจสอบว่าความเร็วเดินปัจจุบันน้อยกว่าหรือเท่ากับ 50if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
ปรับแต่งการเพิ่มความเร็ว
onTouch จะถูกเรียกทุกครั้งที่สัมผัสการเพิ่มความเร็ว การก้าวหรือกระเด้งเล็กน้อยจะกระตุ้นเหตุการณ์ Touched และเรียกฟังก์ชันที่เชื่อมต่อ คุณสมบัติของส่วน CanTouch สามารถป้องกันเหตุการณ์ Touched จากการเกิดขึ้น ใช้ประโยชน์จาก CanTouch และปิดการเพิ่มความเร็วเป็นเวลาหนึ่งวินาทีทุกครั้งที่มันถูกเปิดใช้งาน
หลังจากเพิ่มความเร็วแล้ว ให้ตั้งค่าคุณสมบัติ CanTouch ของส่วนเป็น false ทดสอบการเล่นและทำให้แน่ใจว่าการเพิ่มจะเกิดขึ้นเพียงครั้งเดียว
ปิดการเพิ่มความเร็วlocal 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)ใช้ task.wait(1) เพื่อหยุดการทำงานของสคริปต์เป็นเวลาหนึ่งวินาที จากนั้นตั้งค่า CanTouch เป็น true ทดสอบการเล่นและทำให้แน่ใจว่าการเพิ่มความสามารถสามารถนำมาใช้ใหม่ได้หลังจากหนึ่งวินาที
สคริปต์ที่เสร็จสมบูรณ์local 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)ทดลองกับค่าที่อยู่ในสคริปต์ที่เสร็จสมบูรณ์ ความเร็วเดินสามารถไปได้สูงสุดถึง 100 ค่าความเร็วเดินเริ่มต้นคือ 16
สรุป
คีย์เวิร์ด and สามารถใช้ในการกำหนดความต้องการหลายเงื่อนไขก่อนที่จะรันโค้ด เช่น ค่าหนึ่งมากกว่า 0 และน้อยกว่า 100 หรือว่ามี Humanoid และความเร็วเดินน้อยกว่าหรือเท่ากับ 50