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.

Kodlar, deneyimlerinize özel, dinamik davranışlar eklemene izin veren basit metin dosyalarıdır. Kodları oyun içi etkinlikleri tetiklemek için kullanabilirsiniz, oyuncu girişlerine yanıt vermek, oyuncu verilerini kaydetmek, lider tabloları oluşturmak, düşmanları oluşturmak, NPC davranışını kontrol etmek ve çok, çok daha fazlasını yapabilirsiniz.

Luau

Roblox kodları, Luau programlama dilini kullanır, bu da Lua 5.1 derlenmiştir.

  • Lua 5.1'e kıyasla, Luau performans artışlarını ve birçok faydalı özelliği, bir seçenekli tip sistemi, strung interpolation ve genel itme için genel bir itme içerir.
  • Tüm geçerli Lua 5.1 kodu Luau kodudur, ancak tersi doğrudur.

Lua için çoğu kitap ve online kaynaktaki Lua hala genel olarak Luau için geçerlidir. Ayrıntılı bir özet için, Luau dokümanındaki Uyumluluk bölümünü göre. Dil kılıcı için, Luau'nun Referansı bölümünü göre.

Luau Temelleri

Luau yavaş yavaş yazıldığından, bir değişkeni oluştururken bir tür belirtmeniz gerekmez. type() kullanarak nesne türünü kontrol edebilirsiniz:


logMessage = "User has more than 10 items!"
print(logMessage) --> Kullanıcı 10'dan fazla öğeye sahip!
print(type(logMessage)) --> string

Luau'nun küresel ve yerel görüş alanları vardır, ancak çoğu zaman local kelimesiyle değişkenleri ve işlevleri yerel olarak 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!

Lua, mevcut olmayan veya mevcut olmayan bir şeyi temsil etmek için nil kullanır, bu da kondisyonlara bağlı olarak false olarak değerlendirilir:


local messageToUser
print(messageToUser) --> hiç
print(type(message)) --> hiç
if messageToUser then
-- 声明 değerlendirilir to false
end

Fark etmiş olabileceğiniz gibi, -- bir yorumiçeriğini başlatır. --[[]] blok yorumoluş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 tabloları, matrisler ve sözlükler için genel bir terimdir. Matrisler bir tabloyu bir sıralama olarak değil, sıfır olarak değiştirir, bu yüzden ilk öğe [1]'dir. Matrisleri ve sözlükleri tek bir setle açıklarsınız:


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

Tabeler üzerinde <a href="/reference/engine/for-Tables">for</a> ループlarını kullanarak <j>Global.LuaGlobals.ipairs()</j> fonksiyonu için matrisler ve <k>Global.LuaGlobals.pairs()</k> dictionaryler için ipairs() fonksiyonlarını omit edebilirsiniz, ancak Luau ayrıca bu işlevleri temizleme iç


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 itme
print(key, value)
end

İlk Kodun

  1. In Roblox Studio, SunucuScriptService penceresinde Explorer penceresinde + tıklayın.

  2. Yeni bir script eklemek için Script seçin.

  3. Script'i sağ tıklayın ve HelloScript olarak yeniden adlandırın.

  4. Script'i açmak için Script Editor 'a tıklayın.

  5. Şu kodu dosyaya 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ış penceresi açık olduğundan emin olun.

  7. Deneyiminizi çalıştırmak için Oyna seçeneğine tıklayın.

  8. Çıkışı not et:


    h
    e
    l (x2)
    o
    world

Rahatlayınıyor

Yeni bir geliştirme ortamına uyarlanmak için ihtiyaçlarınızı karşılayacak şekilde yapılandırmak ve mevcut araçları anlamak için aşağıdaki kutuya göre yapılandırın:

  • Studio Ayarları bölümündeki Kript Editor bölümü, font, rengi, yazdırma, otomatik tamamlama, boşluk çerçeveleri ve araçların kalitesini ayarlar. Ayrıca Studio bölümünde kullanıcıların karanlık modunu etkinleştirmesini de sağlayabilirsiniz.
  • Ctrl'yi basılı tutmak veya Command'i ve bir işlevi veya değişkeni tıklamak kod tabanınızdaki (veya online belgesinde) ilanına gider (veya Find ve Find All kullanmak). İşlemleri daha büyük projelerde gezinmenize yardımcı olabilir.
  • Çıkış penceresi, senin skriptlerin davranışını anlamak için en temel araçtır. menüsünü kullanarak Konsepti Göster ve 1>Kaynağı Göster1> etkinleştir.
  • Kript Analizi penceresi hataları ve uyarıları bir özet gösterir, ancak kullanışını sınırlı bulabilirsiniz; Kript Editor'ı, yazınızı yazarken bu sorunları zaten vurgular.
  • Günlükleme yetenekleri minimumdır, DEBUG veya FATAL gibi günlükleme seviyeleri yoktur. Kullanmak print() ve 1> Global.RobloxGlobals.warn()1> .

For more information about configuring Studio for scripting, see Kodlama için Studio'yu yapılandırmak için . For information on using your favorite text editor and version control system, see Dış Araçlar .

İkinci Senaryon

  1. In Roblox Studio, ReplicatedStorage içine Explorer pencerede bir skript ekleyin ve onu OhNo olarak yeniden adlandırın.

  2. Şu kodu dosyaya ekleyin:


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

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

Script'in neden çalışmadığını anlamak için, Kript Türleri ve Konumları bakın.