สคริปต์คือไฟล์ข้อความธรรมดาที่ให้คุณเพิ่มพฤติกรรมที่กำหนดเองและมีพลศาสตร์ในเกมของคุณ คุณสามารถใช้สคริปต์เพื่อกระตุ้นเหตุการณ์ในเกม ตอบสนองต่อการป้อนข้อมูลของผู้เล่น บันทึกข้อมูลผู้เล่น สร้างกระดานผู้นำ สร้างศัตรู ควบคุมพฤติกรรมของ 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)) --> stringLuau มี ขอบเขต ทั่วไปและท้องถิ่น แต่โดยทั่วไปแล้วจะดีกว่าที่จะประกาศตัวแปรและฟังก์ชันในท้องถิ่นด้วยคีย์เวิร์ด local:
local logMessage = "ผู้ใช้มีรายการมากกว่า 10 รายการ!"
local function printMessage()
print(logMessage)
end
printMessage() --> ผู้ใช้มีรายการมากกว่า 10 รายการ!Luau ใช้ nil เพื่อแสดงถึงการไม่มีอยู่หรือความว่างเปล่า ซึ่งจะประเมินเป็น false ในคำสั่งเงื่อนไข:
local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- คำสั่งประเมินเป็น false
endตามที่คุณอาจสังเกตเห็น -- เริ่มต้นความคิดเห็นแบบบรรทัดเดียว --[[]] สร้างความคิดเห็นแบบบล็อก:
--[[
ปิดการทำงานของรังสีดวงจันทร์จักรวาลทันที
ควรเรียกใช้ภายใน 15 นาทีของเที่ยงคืนตามเวลามาตรฐานภูเขา
เพื่อหลีกเลี่ยงความเสียหายต่อรังสีดวงจันทร์จักรวาล
]]
local function stopCosmicMoonRay()
-- เพิ่มสิ่งนี้ในภายหลัง อาจมีความสำคัญ
endตาราง เป็นคำทั่วไปสำหรับอาร์เรย์และพจนานุกรม อาร์เรย์จะเริ่มนับจาก 1 แทนที่จะเป็น 0 ดังนั้นรายการแรกคือ [1] คุณประกาศอาร์เรย์และพจนานุกรมด้วยชุดของวงเล็บปีกกา:
local myArray = {"มันฝรั่งทอด", "น้ำอัดลม", "ซัลซ่า"}
local myDictionary = {
ขนมขบเคี้ยว = "มันฝรั่งทอด",
เครื่องดื่ม = "น้ำอัดลม",
จิ้ม = "ซัลซ่า"
}
print(myArray[1]) --> มันฝรั่งทอด
print(myDictionary.dip) --> ซัลซ่าคุณสามารถวนซ้ำตารางโดยใช้ลูป for กับฟังก์ชัน ipairs() สำหรับอาร์เรย์และฟังก์ชัน pairs() สำหรับพจนานุกรม แต่ Luau ยังให้คุณละเว้นฟังก์ชันเหล่านี้เพื่อให้ไวยากรณ์สะอาดขึ้น:
for index, value in ipairs(myArray) do -- Lua มาตรฐาน
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua มาตรฐาน
print(key, value)
end
for key, value in myDictionary do -- Luau การวนซ้ำทั่วไป
print(key, value)
endสคริปต์แรกของคุณ
ใน Roblox Studio ให้ชี้ไปที่ ServerScriptService ในหน้าต่าง Explorer และคลิก +
เลือก Script เพื่อเพิ่มสคริปต์ใหม่
คลิกขวาที่สคริปต์และเปลี่ยนชื่อเป็น HelloScript
ดับเบิลคลิกที่สคริปต์เพื่อเปิดใน Script Editor
เพิ่มโค้ดต่อไปนี้ลงในไฟล์:
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
ทำความคุ้นเคย
ส่วนสำคัญของการปรับตัวให้เข้ากับสภาพแวดล้อมการพัฒนาใหม่คือการกำหนดค่าให้ตรงตามความต้องการของคุณและเข้าใจเครื่องมือที่คุณมีอยู่:
- ส่วน Script Editor ใน การตั้งค่า Studio ช่วยให้คุณปรับคุณสมบัติที่ทำให้ชีวิตง่ายขึ้น เช่น ฟอนต์ สี การเยื้อง การเติมอัตโนมัติ วงเล็บ และคำแนะนำ คุณอาจต้องการเปิดโหมดมืดในส่วน Studio
- การกด Ctrl หรือ Command และคลิกที่ฟังก์ชันหรือตัวแปรจะพาคุณไปยังการประกาศในฐานข้อมูลโค้ดของคุณ (หรือเอกสารออนไลน์ของมัน) การใช้ ค้นหาและค้นหาทั้งหมด สามารถช่วยให้คุณนำทางในโครงการขนาดใหญ่ได้
- หน้าต่าง Output เป็นเครื่องมือพื้นฐานที่สุดในการเข้าใจพฤติกรรมของสคริปต์ของคุณ ใช้เมนู ⋯ เพื่อเปิดใช้งาน Show Context และ Show Source
- หน้าต่าง Script Analysis แสดงสรุปข้อผิดพลาดและคำเตือน แต่คุณอาจพบว่าประโยชน์ของมันมีจำกัด; Script Editor จะเน้นปัญหาเหล่านี้เมื่อคุณพิมพ์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า Studio สำหรับการเขียนสคริปต์ โปรดดูที่ Script Editor
สคริปต์ที่สองของคุณ
ใน Roblox Studio ให้เพิ่มสคริปต์ไปยัง ReplicatedStorage ในหน้าต่าง Explorer และเปลี่ยนชื่อเป็น OhNo
เพิ่มโค้ดต่อไปนี้ลงในไฟล์:
print("สวัสดีประเภทและตำแหน่งของสคริปต์!")สังเกตว่าผลลัพธ์ไม่มีความแตกต่างจากเมื่อคุณรัน สคริปต์แรกของคุณ
เพื่อทำความเข้าใจว่าทำไมสคริปต์ถึงไม่ทำงาน โปรดดูที่ ประเภทและตำแหน่งของสคริปต์