Kodlama

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

Scriptler, deneyimlerinize özel, dinamik davranışlar ekleyebileceğiniz basit metin dosyalarıdır.Oyun içi olayları tetiklemek, oyuncu girişine yanıt vermek, oyuncu verilerini kaydetmek, lider tabloları oluşturmak, düşmanlar oluşturmak, NPC davranışını kontrol etmek ve çok daha fazlası için senaryoları kullanabilirsiniz.

Luau

Roblox kodları, Luau programlama dili kullanır, ki bu Lua 5.1 'den gelir.

  • Lua 5.1 ile karşılaştırıldığında, Luau performans geliştirmeleri ve çok sayıda yararlı özellik ekler, bunlar arasında isteğe bağlı bir yazma sistemi, dize yer değiştirme ve tablolar için genelleştirilmiş döngü bulunur.
  • Tüm geçerli Lua 5.1 kodu geçerli Luau kodudur, ancak tersi doğru değildir.

Lua için çoğu kitap ve online kaynak Luau'ya hala geniş ölçüde uygulanabilir.Farklılıkların ayrıntılı bir özeti için, Luau belgelerinde Uyumluluk bakın.Dil yapısı için, Luau referansı bakın.

Luau temelleri

Luau yavaş yavaş yazılır, bu yüzden bir değişken oluştururken bir tür belirtmenize gerek yoktur. Nesne türünü kontrol etmek için type() kullanabilirsiniz:


logMessage = "User has more than 10 items!"
print(logMessage) --> Kullanıcının 10'dan fazla eşyası var!
print(type(logMessage)) --> string

Luau'nun küresel ve yerel ölçekleri var, ancak çok nadiren değişkenleri ve işlevleri yerel olarak local anahtar kelimesiyle ilan etmek daha iyidir:


local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!

Luau, koşullu ifadelerde olarak değerlendirilen varlıksızlığı veya hiçliği temsil etmek için kullanır:


local messageToUser
print(messageToUser) --> nulsüz
print(type(message)) --> nulsüz
if messageToUser then
-- ifade false değerlendirilir
end

Fark etmiş olabileceğiniz gibi, -- bir satır yorum başlatır. --[[]] bir blok yorumu oluşturur:


--[[
Shuts off the cosmic moon ray immediately.
Should only be called within 15 minutes of midnight Mountain Standard
Time to avoid damage to the cosmic moon ray.
]]
local function stopCosmicMoonRay()
-- daha sonra ekleyin, önemli olabilir
end

Masalar diziler ve sözlükler için genel terimdir.Diziler sıfır tabanlı değil bir tane tabanlıdır, bu nedenle ilk öğe [1] dir.Tek bir dizi kıvrımlı parantezle dizileri ve sözlükleri ilan edersiniz:


local myArray = {"chips", "sparkling water", "salsa"}
local myDictionary = {
snack = "chips",
drink = "sparkling water",
dip = "salsa"
}
print(myArray[1]) --> çipler
print(myDictionary.dip) --> salsa

Diziler için döngülerini ve sözlükler için fonksiyonunu kullanarak tablolar üzerinde döngü yapabilirsiniz, ancak Luau ayrıca bu fonksiyonları temiz bir sözdizimi için atlayabilmenizi sağlar:


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 genelleştirilmiş döngü
print(key, value)
end

İlk senaryonuz

  1. Roblox Studio'da, Kâşif penceresinde Sunucu Kod Hizmeti üzerine gelin ve + tıklayın.

  2. Yeni bir senaryo eklemek için Komut Dosyası seçin.

  3. Komut dosyasına sağ tıklayın ve adını HelloScript olarak değiştirin.

  4. Komut dosyasını Komut Düzenleyici 'de açmak için çift tıklayın.

  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. Çıkış penceresinin açık olduğundan emin olun.

  7. Deneyiminizi çalıştırmak için Oyna 'ya tıklayın.

  8. Çıkıyı not edin:


    h
    e
    l (x2)
    o
    world

Rahatla

Yeni bir geliştirme ortamına adapte olmanın büyük bir kısmı, ihtiyaçlarınızı karşılamak ve sahip olduğunuz araçları anlamak için yapılandırmaktır:

  • Studio Settings bölümündeki Kod Editörü bölümü, yazı tipi, renkler, boşluk, otomatik tamamla, parantezler ve araç ipuçları gibi hayat kalitesi özelliklerinin kalitesini ayarlamanıza izin verir.Ayrıca Studio bölümünde karanlık modu etkinleştirmek isteyebilirsiniz.
  • Holding Ctrl veya Command ve bir işlevin veya değişkenin üzerine tıklamak, kod tabanınızdaki (veya online belgelerinin) ilanına yönlendirir.Bul ve Hepsini Bul kullanarak daha büyük projeleri keşfedebilirsiniz.
  • Çıkış penceresi, senaryoların davranışını anlamak için en temel araçtır. menüsünü kullanarak Kontexti Göster ve Kaynağı Göster etkinleştirin.
  • Kod analizi penceresi hata ve uyarıların bir özetini gösterir, ancak yararının sınırlı olduğunu görebilirsiniz; Kod Editörü zaten bu sorunları yazarken vurgular.
  • Günlükleme yetenekleri minimaldir ve DEBUG veya FATAL gibi günlük seviyeleri konsepti yoktur. print() ve warn() kullanın.

Studio'yu senaryo yazmak için yapılandırmak hakkında daha fazla bilgi için Kod Editörü bakın.Favori metin editörünüz ve sürüm kontrol sisteminin kullanımıyla ilgili bilgi için, Dış araçlar bakın.

İkinci senaryonuz

  1. Roblox Studio'da, Gezgine penceresine bir senaryo ekleyin ve adını ReplicatedStorage olarak değiştirin ve yeniden adlandırın.

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


    print("Hello script types and locations!")
  3. Deneyiminizi çalıştırmak için Oyna 'ya tıklayın.

  4. Çıktının ilk senaryonuzu çalıştırırkenkinden farklı olmadığını not edin ilk senaryonuzu çalıştırdığınızda.

Neden senaryonun çalışmadığını anlamak için, Kript Türleri ve Konumları bakın.