สคริปต์เป็นไฟล์ข้อความธรรมดาที่ช่วยให้คุณสามารถเพิ่มพฤติกรรมที่กำหนดเองและมีพลศาสตร์ในเกมของคุณ คุณสามารถใช้สคริปต์เพื่อกระตุ้นเหตุการณ์ภายในเกม ตอบสนองต่อการป้อนข้อมูลของผู้เล่น เก็บข้อมูลผู้เล่น สร้างกระดานผู้นำ สร้างศัตรู ควบคุมพฤติกรรมของ NPC และอื่นๆ อีกมากมาย
Luau
สคริปต์ใน Roblox ใช้ภาษาโปรแกรม Luau ซึ่งได้ถูกพัฒนามาจาก Lua 5.1
- เมื่อเปรียบเทียบกับ Lua 5.1 Luau เพิ่มการปรับปรุงด้านประสิทธิภาพและคุณสมบัติที่มีประโยชน์มากมาย รวมถึงระบบการระบุประเภทที่เลือกใช้ได้ การแทนที่สตริง และการทำซ้ำที่ทั่วไปสำหรับตาราง
- โค้ด Lua 5.1 ที่ถูกต้องทั้งหมดเป็นโค้ด Luau ที่ถูกต้อง แต่ในทางกลับกันไม่เป็นเช่นนั้น
หนังสือและแหล่งข้อมูลออนไลน์สำหรับ Lua ส่วนใหญ่ยังคงเกี่ยวข้องกว้าง ๆ กับ Luau สำหรับสรุปความแตกต่างแบบละเอียด โปรดดูที่ ความเข้ากันได้ ในเอกสาร Luau สำหรับไวยากรณ์ของภาษา โปรดดูที่ อ้างอิง Luau
พื้นฐานของ Luau
Luau มีการระบุประเภทแบบค่อยเป็นค่อยไป ซึ่งแปลว่าคุณไม่จำเป็นต้องระบุประเภทเมื่อคุณสร้างตัวแปร คุณสามารถใช้ type() เพื่อตรวจสอบประเภทของออบเจ็กต์:
logMessage = "ผู้ใช้มีรายการมากกว่า 10 รายการ!"print(logMessage) --> ผู้ใช้มีรายการมากกว่า 10 รายการ!print(type(logMessage)) --> string
Luau มี ขอบเขต ทั่วไปและเฉพาะ แต่โดยทั่วไปจะดีกว่าที่จะประกาศตัวแปรและฟังก์ชันในระดับท้องถิ่นด้วยคีย์เวิร์ด local:
local logMessage = "ผู้ใช้มีรายการมากกว่า 10 รายการ!"
local function printMessage()
print(logMessage)
end
printMessage() --> ผู้ใช้มีรายการมากกว่า 10 รายการ!
Luau ใช้ nil แทนการไม่มีอยู่หรือความว่างซึ่งจะถูกประเมินว่า false ในเงื่อนไข:
local messageToUserprint(messageToUser) --> nilprint(type(messageToUser)) --> nilif messageToUser then-- ประโยคประเมินว่าเป็น falseend
อย่างที่คุณอาจสังเกตเห็น -- เริ่มต้นความคิดเห็นแบบหนึ่งบรรทัด --[[]] สร้างความคิดเห็นแบบบล็อก:
--[[
ปิดการทำงานของสายรังสีพระจันทร์โคมไฟทันที
ควรเรียกใช้งานภายใน 15 นาทีของเที่ยงคืน Mountain Standard
เวลาเพื่อหลีกเลี่ยงความเสียหายต่อสายรังสีพระจันทร์โคมไฟ
]]
local function stopCosmicMoonRay()
-- เพิ่มสิ่งนี้ในภายหลัง มันอาจจะสำคัญ
end
ตาราง เป็นคำทั่วไปสำหรับอาร์เรย์และคำศัพท์ต่างๆ อาร์เรย์จะมีการนับหนึ่งแทนการนับเป็นศูนย์ ดังนั้นรายการแรกคือ [1] คุณประกาศอาร์เรย์และพจนานุกรมด้วยชุดปีกกาเดียว:
local myArray = {"มันฝรั่งทอด", "น้ำอัดลม", "ซัลซ่า"}local myDictionary = {_snack = "มันฝรั่งทอด",drink = "น้ำอัดลม",dip = "ซัลซ่า"}print(myArray[1]) --> มันฝรั่งทอดprint(myDictionary.dip) --> ซัลซ่า
คุณสามารถทำซ้ำตารางโดยใช้ลูป for ด้วยฟังก์ชัน ipairs() สำหรับอาร์เรย์และฟังก์ชัน pairs() สำหรับพจนานุกรม แต่ Luau ยังอนุญาตให้คุณละเว้นฟังก์ชันเหล่านี้เพื่อให้ไวยากรณ์มีความสะอาดขึ้น:
for index, value in ipairs(myArray) do -- Lua มาตรฐานprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua มาตรฐานprint(key, value)endfor key, value in myDictionary do -- Luau ทำซ้ำทั่วไปprint(key, value)end
สคริปต์แรกของคุณ
ใน Roblox Studio ให้วางเมาส์เหนือ ServerScriptService ในหน้าต่าง Explorer และคลิก +
เลือก Script เพื่อเพิ่มสคริปต์ใหม่
คลิกขวาที่สคริปต์และเปลี่ยนชื่อเป็น HelloScript
ดับเบิลคลิกที่สคริปต์เพื่อเปิดใน ตัวแก้ไขสคริปต์
เพิ่มรหัสต่อไปนี้ลงในไฟล์:
local helloArray = {"h", "e", "l", "l", "o"}local worldArray = {"w", "o", "r", "l", "d"}for index, value in helloArray doprint(value)endprint(table.concat(worldArray))ตรวจสอบให้แน่ใจว่าหน้าต่าง Output เปิดอยู่
เรียกใช้เกมของคุณ และสังเกตผลลัพธ์:
hel (x2)oworld
ทำให้คุ้นเคย
ส่วนสำคัญของการปรับตัวเข้ากับแวดวงพัฒนาที่ยังใหม่คือการปรับแต่งให้ตรงตามความต้องการของคุณและเข้าใจเครื่องมือที่มีให้:
- หมวดหมู่ ตัวแก้ไขสคริปต์ ของ การตั้งค่าสตูดิโอ ช่วยให้คุณปรับแต่งฟีเจอร์เพื่อเพิ่มคุณภาพชีวิต เช่น ฟอนต์ สี การย่อหน้า การเติมอัตโนมัติ วงเล็บ และคำอธิบายเพิ่มเติม คุณอาจต้องการเปิดโหมดกลางคืนในหมวดหมู่ Studio
- การกด Ctrl หรือ Command พร้อมกับคลิกที่ฟังก์ชันหรือ ตัวแปรจะพาคุณไปยังการประกาศในฐานข้อมูลของคุณ (หรือเอกสารออนไลน์ของมัน) การใช้ Find and Find All สามารถช่วยในการนำทางโครงการขนาดใหญ่ได้
- หน้าต่าง Output เป็นเครื่องมือพื้นฐานที่สุดในการเข้าใจพฤติกรรมของสคริปต์ของคุณ ใช้เมนู ⋯ เพื่อเปิดใช้งาน Show Context และ Show Source
- หน้าต่าง Script Analysis แสดงสรุปของข้อผิดพลาดและคำเตือน แต่คุณอาจพบว่าความสามารถในการใช้งานนั้น จำกัด; ตัวแก้ไขสคริปต์จะเน้นประเด็นเหล่านี้ในขณะที่คุณพิมพ์
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า Studio สำหรับการเขียนสคริปต์ โปรดดูที่ ตัวแก้ไขสคริปต์
สคริปต์ที่สองของคุณ
ใน Roblox Studio ให้เพิ่มสคริปต์ไปยัง ReplicatedStorage ในหน้าต่าง Explorer และเปลี่ยนชื่อเป็น OhNo
เพิ่มรหัสต่อไปนี้ลงในไฟล์:
print("สคริปต์สวัสดีประเภทและสถานที่!")สังเกตว่าผลลัพธ์ไม่ได้แตกต่างจากเมื่อคุณเรียกใช้ สคริปต์แรกของคุณ
ในการทำความเข้าใจว่าทำไมสคริปต์ไม่ทำงาน โปรดดูที่ ประเภทสคริปต์และสถานที่