Betik Yazma

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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 messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- ifade false olarak değerlendirilir
end

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]) --> cips
print(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 Lua
print(index, value)
end
for key, value in pairs(myDictionary) do -- standard Lua
print(key, value)
end
for key, value in myDictionary do -- Luau genelleştirilmiş yineleme
print(key, value)
end

İlk Betiğiniz

  1. Roblox Studio'da, Keşif penceresinde ServerScriptService üzerine gelin ve + simgesine tıklayın.

  2. Yeni bir betik eklemek için Betiği seçin.

  3. Betiğe sağ tıklayın ve adını HelloScript olarak değiştirin.

  4. Betiği açmak için üzerine çift tıklayın Betik Düzenleyici'nde.

  5. 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 do
    print(value)
    end
    print(table.concat(worldArray))
  6. Çıktı penceresinin açık olduğundan emin olun.

  7. Oyunuzu çalıştırın ve çıktıyı not edin:


    h
    e
    l (x2)
    o
    dü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.
  • Günlüğe alma yetenekleri minimaldir, DEBUG veya FATAL gibi günlüğe kayıt seviyeleri yoktur. print() ve warn() kullanın.

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

  1. Roblox Studio'da, Keşif penceresinde ReplicatedStorage'a bir betik ekleyin ve adını OhNo olarak değiştirin.

  2. Dosyaya aşağıdaki kodu ekleyin:


    print("Merhaba betik türleri ve konumları!")
  3. Çı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.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.