Dalam Menggunakan Kembali Kode, Anda mungkin pernah melihat penggunaan yang sering dari metode game:GetService() . Layanan Roblox memungkinkan Anda mengakses fitur bawaan mesin, seperti menjual item dalam pengalaman, mengaktifkan obrolan, bermain suara, animasi objek, dan mengelola instans.
Sebenarnya, layanan adalah langkah pertama dalam pola pengembangan Roblox yang paling dasar, umum :
- Dapatkan layanan.
- Memerlukan skrip modul.
- Tambahkan fungsi lokal.
- Tambahkan peristiwa yang mengaktifkan fungsi-fungsi tersebut.
Misalnya, Anda mungkin ingin menyimpan posisi pemain di dunia saat mereka keluar dari pengalaman Anda:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Fungsi lokal yang memanggil fungsi yang dapat diulang di script modul.
local function saveProgress(character)
-- Dapatkan posisi karakter pemain.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Gunakan fungsi saveData dalam naskah modul, yang menulis ke
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- Fungsi lokal lain yang memanggil saveProgress() ketika karakter dihapus
-- dari pengalaman (dalam hal ini, ketika pemain meninggalkan).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Memanggil onPlayerAdded saat seorang pemain pertama kali terhubung ke pengalaman.
Players.PlayerAdded:Connect(onPlayerAdded)
Beberapa rincian kunci termasuk:
- Karena Anda hanya harus mengambil layanan sekali per skrip, konvensi ini adalah memberikan variabel nama yang sama dengan layanan. Konvensi ini berlaku untuk skrip modul, juga.
- Anda mengambil layanan dengan variabel global game, referensi ke akar model data.
- Roblox tidak memberikan jaminan sekitar perintah pemuatan (dan streaming instansi lebih lanjut menyulitkan apa yang dimuat pada waktu tertentu), jadi penggunaan Instance:WaitForChild() adalah langkah keamanan penting.
Alih-alih membandingkan library standard, fungsi dan variabel global, atau library pihak ketiga, sebagian besar pengembangan Roblox mengidentifikasi mana dari banyak, banyak layanan yang dapat membantu Anda menambahkan fungsionalitas yang diinginkan ke pengalaman Anda. Dalam contoh di atas, alih-alih menggunakan library I/O standar untuk menulis ke
Layanan Container
Layanan kontainer dapat mengandung dan mempengaruhi objek lain. Layanan kontainer ini berada di akar model data dan dapat dilihat di jendela Explorer Studio. Secara kolektif, layanan kontainer ini membentuk hierarki yang terstruktur untuk model data, sehingga mesin Roblox dapat dengan benar meng interpretasi dan mengekspor tempat Anda. Tabel berikut mencakup beberapa layanan kontainer umum.
Service | Description :--- | :--- Workspace | Contains semua objek yang render di dunia 3D, seperti bagian dan terreno. Lighting | Contains objek untuk menetapkan efek cahaya universal,
Untuk mengeksplorasi lebih lanjut model data, Anda dapat menggunakan metode ini:
- game:FindService() mencari instans dari layanan yang ditentukan.
- game:GetChildren() mengembalikan matriks dari semua anak cabang data model, yang merupakan layanan kontainer tingkat atas.
- game:GetDescendants() mengembalikan matriksi semua anak cucu dari model data, termasuk semua layanan container dan anak mereka.
Untuk lebih banyak informasi tentang layanan kontainer, lihat dokumen model data.
Layanan Skrip
Layanan skrip memberikan fungsionalitas standar di mesin Roblox yang Anda panggil dalam skrip. Tabel berikut menyertakan beberapa layanan skrip umum.
Layanan | Deskripsi :--- | :--- TweenService | Digunakan untuk menginterpolasi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi tekanproporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi audioproporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi proporsi propors
Layanan Awan
Roblox juga memiliki layanan cloud khusus untuk menangani tugas dan proses yang terjadi di cloud Roblox. Tabel berikut menyertakan beberapa layanan cloud umum.
Service | Deskripsi:--- | :--- DataStoreService | Untuk menyimpan data yang bertahan lama di antara sesi. MemoryStoreService | Untuk menyimpan data yang sering dan ephemeral yang berubah cepat. MessagingService | Untuk berkomunikasi antara beberapa server selama sesi langsung.
Cloud services juga memiliki API web yang sesuai; mereka dapat diakses dari script atau alat eksternal. Untuk lebih banyak informasi, lihat Buka Cloud .