Betik, oyunlarınıza özel, dinamik davranış eklemenizi sağlayan düz metin dosyalarıdır. Betikleri, oyun içi olayları tetiklemek, oyuncu girdilerine yanıt vermek, oyuncu verilerini kaydetmek, liderlik tabloları oluşturmak, düşmanlar spawn etmek, NPC davranışını kontrol etmek ve daha fazlası için kullanabilirsiniz.
Luau
Roblox betikleri, Luau programlama dilini kullanır; bu dil, Lua 5.1'den türetilmiştir.
- Lua 5.1 ile karşılaştırıldığında, Luau performans artırımları ve opsiyonel bir tür sistemi, dize içe aktarma ve tablolar için genelleştirilmiş yineleme gibi birçok kullanışlı özellik ekler.
- Geçerli tüm Lua 5.1 kodu, geçerli Luau kodudur, ancak tersinin doğru olduğu söylenemez.
Lua için mevcut olan çoğu kitap ve çevrimiçi kaynak, Luau için de genel olarak geçerlidir. Farklılıkların ayrıntılı bir özeti için, Luau belgelerinde Uyumluluk'a bakın. Dil sözdizimi için, Luau referansı'na göz atın.
Luau Temelleri
Luau kademeli olarak tiplenmiştir, bu yüzden bir değişken oluşturduğunuzda bir tür belirtmeniz gerekmez. Bir nesnenin türünü kontrol etmek için type() fonksiyonunu kullanabilirsiniz:
logMessage = "Kullanıcının 10'dan fazla öğesi var!"print(logMessage) --> Kullanıcının 10'dan fazla öğesi var!print(type(logMessage)) --> string
Luau'nun global ve yerel kapsamları vardır, ancak değişkenleri ve fonksiyonları yerel olarak local anahtar kelimesiyle tanımlamanız genellikle daha iyidir:
local logMessage = "Kullanıcının 10'dan fazla öğesi var!"
local function printMessage()
print(logMessage)
end
printMessage() --> Kullanıcının 10'dan fazla öğesi var!
Luau, yokluğu veya hiçbir şeyi temsil etmek için nil kullanır; bu, koşullu ifadelerde false olarak değerlendirilir:
local messageToUserprint(messageToUser) --> nilprint(type(messageToUser)) --> nilif messageToUser then-- ifade false olarak değerlendirilirend
Gördüğünüz üzere, -- bir satır içi yorumu başlatır. --[[]] bir blok yorumu oluşturur:
--[[
Kozmik ay ışığını hemen kapatır.
Kozmik ay ışığına zarar vermemek için, sadece gece yarısından 15 dakika içinde çağrılmalıdır.
]]
local function stopCosmicMoonRay()
-- bunu daha sonra ekleyin, önemli olabilir
end
Tablolar, diziler ve sözlükler için genel bir terimdir. Diziler sıfır tabanlı değil, bir tabanlıdır; bu nedenle ilk öğe [1]'dir. Dizileri ve sözlükleri tek bir süslü parantez ile tanımlarsınız:
local myArray = {"cips", "maden suyu", "salsa"}local myDictionary = {atıştırmalık = "cips",içecek = "maden suyu",dip = "salsa"}print(myArray[1]) --> cipsprint(myDictionary.dip) --> salsa
Diziler için ipairs() fonksiyonunu ve sözlükler için pairs() fonksiyonunu kullanarak tablolarda yineleme yapabilirsiniz, ancak Luau bu fonksiyonları temiz sözdizimi için atlamanıza da izin verir:
for index, value in ipairs(myArray) do -- standard Luaprint(index, value)endfor key, value in pairs(myDictionary) do -- standard Luaprint(key, value)endfor key, value in myDictionary do -- Luau genelleştirilmiş yinelemeprint(key, value)end
İlk Betiğiniz
Roblox Studio'da, Keşif penceresinde ServerScriptService üzerine gelin ve + simgesine tıklayın.
Yeni bir betik eklemek için Betiği seçin.
Betiğe sağ tıklayın ve adını HelloScript olarak değiştirin.
Betiği açmak için üzerine çift tıklayın Betik Düzenleyici'nde.
Dosyaya aşağıdaki kodu ekleyin:
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))Çıktı penceresinin açık olduğundan emin olun.
Oyunuzu çalıştırın ve çıktıyı not edin:
hel (x2)odünya
Rahatlayın
Yeni bir geliştirme ortamına uyum sağlamanın büyük bir kısmı, ihtiyaçlarınıza uygun hale getirmek ve elinizdeki araçları anlamaktır:
- Studio Ayarları bölümünde bulunan Betik Düzenleyici kısmı, yazı tipi, renkler, girinti, otomatik tamamlama, parantezler ve ipuçları gibi yaşam kalitesi özelliklerini ayarlamanıza olanak tanır. Ayrıca, Studio bölümünde karanlık modu etkinleştirmek isteyebilirsiniz.
- Ctrl veya Command tuşuna basılı tutarak bir fonksiyon veya değişkene tıkladığınızda, kod tabanınızdaki tanımına (ya da çevrimiçi belgelerinin) yönlendirilirsiniz. Bul ve Hepsini Bul kullanmak, daha büyük projelerde gezinmenize yardımcı olabilir.
- Çıktı penceresi, betiklerinizin davranışını anlamak için en temel araçtır. ⋯ menüsünü kullanarak Bağlamı Göster ve Kaynağı Göster seçeneklerini etkinleştirin.
- Betik Analizi penceresi, hata ve uyarıların bir özetini gösterir; ancak sınırlı işlevselliği olabilir; Betik Düzenleyici zaten bu sorunları yazarak vurgular.
Betiği yazmak için Studio'yu yapılandırma hakkında daha fazla bilgi için Betik Düzenleyici'ne bakın.
İkinci Betiğiniz
Roblox Studio'da, Keşif penceresinde ReplicatedStorage'a bir betik ekleyin ve adını OhNo olarak değiştirin.
Dosyaya aşağıdaki kodu ekleyin:
print("Merhaba betik türleri ve konumları!")Çıktının, ilk betiğinizi çalıştırdığınızda çıkandan farklı olmadığını gözlemleyin.
Betiğin neden çalışmadığını anlamak için, Betik Türleri ve Konumları bölümüne bakın.