Study
Luau

Script Types (Script/LocalScript/ModuleScript)

Penjelasan

Roblox punya tiga jenis file script dengan lingkup eksekusi berbeda. `Script` berjalan di server, cocok untuk logic yang harus otoritatif dan tidak boleh dimanipulasi client (seperti perhitungan skor atau ekonomi game). `LocalScript` berjalan di client masing-masing pemain, dipakai untuk hal yang sifatnya visual/personal seperti UI dan kamera. `ModuleScript` bukan script yang berjalan sendiri, melainkan file berisi fungsi/tabel yang di-`require()` dari Script atau LocalScript lain untuk berbagi kode. Memilih jenis script yang tepat penting untuk keamanan: logic penting (uang, item, kemenangan) harus di `Script` (server), karena `LocalScript` bisa dilihat dan dimanipulasi oleh exploit di sisi client.

Contoh Konsep

-- ServerScriptService/TambahSkor (Script, jalan di server)
game.Players.PlayerAdded:Connect(function(pemain)
    print(pemain.Name .. " bergabung, skor diinisialisasi di server")
end)

-- StarterPlayerScripts/AturKamera (LocalScript, jalan di client)
local pemain = game.Players.LocalPlayer
print("Kamera diatur untuk " .. pemain.Name)

-- ReplicatedStorage/UtilAngka (ModuleScript)
local UtilAngka = {}
function UtilAngka.formatRupiah(angka)
    return "Rp" .. tostring(angka)
end
return UtilAngka

Praktikum

Buat ModuleScript bernama Matematika berisi fungsi tambah(a, b), lalu tulis contoh Script server yang me-require dan memanggil fungsi tersebut.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Jangan pernah menaruh logic yang menentukan kemenangan, uang, atau item berharga di dalam LocalScript — pemain dengan exploit client bisa membaca dan mengubah kode itu dengan mudah.