Betikler, oyunlarınıza özel, dinamik davranışlar eklemenizi sağlayan düz metin dosyalarıdır. Betikleri, oyun içi olayları tetiklemek, oyuncu girişine yanıt vermek, oyuncu verilerini kaydetmek, liderlik tabloları oluşturmak, düşmanları ortaya çıkarmak, NPC davranışlarını kontrol etmek ve çok 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 iyileştirmeleri ve isteğe bağlı bir tür sistemi, dize interpolasyonu ve tablolar için genel yineleme gibi birçok kullanışlı özellik ekler.
- Geçerli tüm Lua 5.1 kodu geçerli Luau kodudur, ancak bunun tersi doğru değildir.
Lua için çoğu kitap ve çevrimiçi kaynak, Luau için de geniş ölçüde geçerlidir. Farklılıkların ayrıntılı bir özeti için Luau belgelerindeki Uyumluluk bölümüne bakın. Dil sözdizimi için Luau referansı bölümüne göz atın.
Luau Temelleri
Luau, kademeli olarak türlendirilmiştir, bu nedenle bir değişken oluşturduğunuzda bir tür belirtmeniz gerekmez. Nesne 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)) --> stringLuau, global ve yerel kapsamlar kullanır, ancak değişkenleri ve fonksiyonları yerel olarak local anahtar kelimesi ile tanımlamak 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, var olmayan veya hiçbir şeyin temsil edilmesi için nil kullanır; bu, koşullu ifadelerde false olarak değerlendirilir:
local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- ifade false olarak değerlendirilir
endGördüğünüz gibi, -- bir satırlık yorumu başlatır. --[[]] bir blok yorumu oluşturur:
--[[
Kozmik ay ışığını hemen kapatır.
Kozmik ay ışığına zarar vermemek için yalnızca gece yarısından 15 dakika içinde çağrılmalıdır.
]]
local function stopCosmicMoonRay()
-- bunu daha sonra ekle, önemli olabilir
endTablolar, diziler ve sözlükler için genel 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 küme parantezi ile tanımlarsınız:
local myArray = {"cips", "maden suyu", "salsa"}
local myDictionary = {
atıştırmalık = "cips",
icecek = "maden suyu",
dip = "salsa"
}
print(myArray[1]) --> cips
print(myDictionary.dip) --> salsaDiziler için ipairs() fonksiyonu ve sözlükler için pairs() fonksiyonu ile tablolar üzerinde yineleme yapabilirsiniz, ancak Luau, daha temiz bir sözdizimi için bu fonksiyonları atlamanıza da izin verir:
for index, value in ipairs(myArray) do -- standart Lua
print(index, value)
end
for key, value in pairs(myDictionary) do -- standart Lua
print(key, value)
end
for key, value in myDictionary do -- Luau genel yineleme
print(key, value)
endİlk betiğiniz
Roblox Studio'da, Explorer penceresinde ServerScriptService üzerine gelin ve + butonuna tıklayın.
Yeni bir betik eklemek için Betik seçeneğini seçin.
Betiğe sağ tıklayın ve adını HelloScript olarak değiştirin.
Betiği açmak için çift tıklayın Betik Düzenleyici.
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.
Oyununu oynat 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 göre yapılandırmak ve elinizdeki araçları anlamaktır:
- Studio Ayarları bölümündeki 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. 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, sizi kod tabanınızdaki tanımına (veya çevrimiçi belgelerine) götürür. Bul ve Tümünü 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, hatalar ve uyarılar hakkında bir özet gösterir, ancak faydasını sınırlı bulabilirsiniz; Betik Düzenleyici zaten yazarken bu sorunları vurgular.
Betik yazımı için Studio'yu yapılandırma hakkında daha fazla bilgi için Betik Düzenleyici bölümüne bakın.
İkinci betiğiniz
Roblox Studio'da, Explorer 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 farklı olmadığını not edin.
Betiklerin neden çalışmadığını anlamak için Betik Türleri ve Konumları bölümüne bakın.