Layanan

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Di Gunakan kembali kode , Anda mungkin telah memperhatikan penggunaan sering dari metode game:GetService().Layanan Roblox memungkinkan Anda mengakses fitur bawaan mesin, seperti menjual item dalam pengalaman, mengaktifkan obrolan, memutar suara, menganimasi objek, dan mengelola instansi.

Sebenarnya, layanan adalah langkah pertama dalam pola pengembangan Roblox yang paling fundamental dan umum :

  1. Dapatkan layanan.
  2. Membutuhkan skrip modul.
  3. Tambahkan fungsi lokal.
  4. Tambahkan peristiwa yang memicu fungsi tersebut yang memicu fungsi tersebut.

Sebagai contoh, 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 digunakan kembali di skrip modul.
local function saveProgress(character)
-- Dapatkan posisi karakter pemain.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Gunakan fungsi saveData di skrip modul, yang menulis ke
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- Fungsi lokal lain yang memanggil saveProgress() saat karakter dihapus
-- dari pengalaman (dalam kasus ini, saat pemain pergi).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Memanggil onPlayerAdded saat pemain pertama kali terhubung ke pengalaman.
Players.PlayerAdded:Connect(onPlayerAdded)

Beberapa rincian kunci termasuk:

  • Karena Anda hanya harus mengambil layanan sekali per skrip, konvensinya adalah memberi variabel nama yang sama dengan layanan.Konvensi ini berlaku untuk skrip modul, juga.
  • Anda memulihkan layanan dengan variabel global game, referensi ke akar model data.
  • Roblox tidak memberikan jaminan sekitar perintah pemuatan (dan streaming instansi lebih memperkomplikasi apa yang tidak dimuat pada waktu tertentu), jadi penggunaan Instance:WaitForChild() adalah langkah keselamatan yang penting.

Daripada membandingkan perpustakaan standar, fungsi global dan variabel, atau perpustakaan pihak ketiga, bagian besar pengembangan Roblox adalah mengidentifikasi mana dari banyak, banyak layanan yang dapat membantu Anda menambahkan fungsi yang diinginkan ke pengalaman Anda.Dalam contoh di atas, alih-alih menggunakan perpustakaan I/O standar untuk menulis ke disk, Anda menggunakan layanan cloud untuk menyimpan data.

Layanan kontainer

Layanan kontainer dapat berisi dan mempengaruhi objek lain.Layanan kontainer ini berada di akar model data dan terlihat di jendela Explorer Studio.Secara kolektif, layanan kontainer ini membentuk hierarki terstruktur untuk model data, sehingga Roblox Engine dapat dengan benar memahami dan menampilkan tempat Anda.Tabel berikut termasuk beberapa layanan wadah umum.

Layanan | Deskripsi :--- | :--- Workspace | Berisi semua objek yang ditampilkan di dunia 3D, seperti bagian dan medan. Lighting | Berisi objek untuk mengatur efek pencahayaan universal, seperti Atmosphere dan Sky . ReplicatedStorage dan ReplicatedFirst | Berisi konten dan logika yang bereplikasi di antara server dan klien.

Untuk melanjutkan memeriksa model data, Anda dapat menggunakan metode ini:

  • game:FindService() pencarian untuk instansi layanan yang ditentukan.
  • game:GetChildren() mengembalikan array semua anak keturunan data model, yang merupakan layanan wadah tingkat atas.
  • game:GetDescendants() mengembalikan array dari semua keturunan model data, termasuk semua layanan kontainer dan anak-anaknya.

Untuk informasi lebih lanjut tentang layanan kontainer, lihat dokumentasi model data.

Layanan skrip

Layanan skrip menyediakan fungsi standar di Roblox Engine yang Anda panggil dalam skrip.Tabel berikut termasuk beberapa layanan skrip umum.

Layanan | Deskripsi :--- | :--- TweenService | Digunakan untuk menginterpolasi properti numerik instans lain dari nilai awal hingga akhir, dengan opsi untuk memudahkan arah dan gaya, mengulang, dan menunda. MarketplaceService | Layanan yang bertanggung jawab atas transaksi dalam pengalaman, seperti meminta pemain untuk membeli produk pengembang, langganan, atau game pass, meningkatkan ke Roblox Premium, dll ContextActionService | Memungkinkan Anda untuk mengikat input pengguna, seperti tekan ketuk, geser layar, atau tekan tombol kontrol ke tindakan kontekstual, seperti memodifikasi kontrol saat pengguna memasuki dan keluar dari mobil. RunService | Berisi metode dan peristiwa untuk manajemen waktu frame-by-frame, serta untuk memeriksa konteks (server, klien, mode Studio) di mana pengalaman berjalan.Berguna untuk menjalankan proses atau pembaruan pada setiap frame runtime. SoundService | Mengontrol berbagai aspek global tentang bagaimana audio diputar dalam pengalaman, seperti skala doppler dan audio volumetrik.Juga dapat berisi kelompok suara untuk mengontrol properti volume dan efek dinamis dari beberapa sinyal audio sekaligus. CollectionService | Mengelola kelompok ( koleksi ) instans dengan tag yang menyalin dari server ke klien, memungkinkan Anda lebih mudah menugaskan dan bekerja dengan kelompok instans terkait.

Layanan awan

Roblox juga memiliki layanan cloud khusus untuk menangani tugas dan proses yang terjadi di cloud Roblox.Tabel berikut termasuk beberapa layanan cloud umum.

Layanan | Deskripsi :--- | :--- DataStoreService | Untuk menyimpan data tetap di seluruh sesi. MemoryStoreService | Untuk menyimpan data sering dan sementara yang berubah dengan cepat.MessagingService | Untuk berkomunikasi antara beberapa server selama sesi langsung.

Layanan cloud juga memiliki API web yang sesuai; mereka dapat diakses dari skrip atau alat eksternal. Untuk informasi lebih lanjut, lihat Buka Cloud.