Seat
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Jenis BasePart yang dapat duduk pemain. Saat karakter pemain menyentuh objek Kursi yang aktif, itu akan ditautkan ke bagian dengan Weld dan naskah karakter default akan memainkan animasi duduk.
Bagaimana Kerja Kursi?
Ketika model mengandung Humanoid dan BasePart yang disebut 'HumanoidRootPart' ( biasanya karakter pemain ) menyentuh kursi,
Ketika duduk, Seat.Occupant property set ke Humanoid yang duduk di kursi. Selain itu, Humanoid.SeatPart property kursi dibatasi ke kursi.
Seorang karakter juga dapat dipaksa duduk di kursi menggunakan fungsi Seat:Sit() .
Ada dua cara bagi seorang karakter untuk keluar dari kursi. Saat seorang pemain melompat, mereka dihapus dari kursi. Namun, ini juga dapat dilakukan secara manual dengan menghancurkan kursi weld, misalnya:
kursi:FindFirstChild("SeatWeld":Destroy()
Catatan kursi memiliki cooldown (saat ini 3 detik) yang berada di panggilan karakter per seat. Ini berarti setelah seorang karakter keluar dari kursi mereka tidak dapat duduk kembali di kursi yang sama selama 3 detik. Perilaku cooldown ini dapat berubah dan tidak boleh diandalkan oleh pengembang.
Apa yang dapat dilakukan Kursi untuk?
Kursi memiliki berbagai jenis penggunaan, mulai dari yang jelas hingga yang kurang konvensional.
- Membuat kursi atau bangku tanpa perlu pemrograman
- Memungkinkan karakter untuk 'duduk' dalam objek bergerak seperti kendaraan tanpa mendapatkan geser
- Membuat antarmuka yang dikontrol oleh karakter di kursi menggunakan property Seat.Occupant
Contoh Kode
local Players = game:GetService("Players")
local seat = Instance.new("Seat")
seat.Anchored = true
seat.Position = Vector3.new(0, 1, 0)
seat.Parent = workspace
local currentPlayer = nil
local function onOccupantChanged()
local humanoid = seat.Occupant
if humanoid then
local character = humanoid.Parent
local player = Players:GetPlayerFromCharacter(character)
if player then
print(player.Name .. " has sat down")
currentPlayer = player
return
end
end
if currentPlayer then
print(currentPlayer.Name .. " has got up")
currentPlayer = nil
end
end
seat:GetPropertyChangedSignal("Occupant"):Connect(onOccupantChanged)
Rangkuman
Properti
Apakah atau tidak kursi dapat digunakan. Jika diatur ke benar, kursi akan bertindak sebagai bagian normal.
Manusia yang duduk di kursi.
Tetapkan bentuk umum objek.
Menentukan apakah bagian itu tidak dapat dipindahkan oleh fisika.
Kecepatan sudut dari pemasangan bagian.
Pusat massa pemasangan bagian di ruang dunia.
Kecepatan liniasi bagian.
Jumlah total pemasangan bagian.
Sebuah referensi ke bagian akhir dari pemasangan.
Mendeterminas jenis permukaan untuk Wajah Belakang sebuah bagian (+Z arah).
Mendeterminas jenis permukaan untuk Wajah Bawah bagian (-Y).
Mengubah warna bagian.
Mengidentifikasi posisi dan orientasi BasePart di dunia.
Menentukan apakah bagian dapat bertabrakan dengan bagian lain.
Mengukur apakah bagian dianggap selama operasi pencarian ruang.
Menentukan apakah acara Touched dan TouchEnded di pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri pihak kiri
Menentukan apakah atau tidak bagian menggunakan bayangan.
Menggambarkan lokasi posisi dunia di mana pusat massa bagian berada.
Menggambarkan nama gruptabrakan bagian.
Mengubah warna bagian.
Menunjukkan proporsi fisik saat ini dari bagian.
Mengidentifikasi beberapa sifat fisik bagian.
Digunakan untuk mengaktifkan atau menonaktifkan kekuatan aerodinamik pada bagian dan asal.
Datatype.CFrame dari ekstensi fisik Class.BasePart .
Ukuran fisik sebenarnya dari BasePart seperti yang dilihat oleh mesin fisika.
Mendeterminas jenis permukaan untuk Wajah Depan sebuah bagian (-Z arah).
Mendeterminas jenis permukaan untuk Wajah Kiri sebuah bagian (-X arah).
Mengidentifikasi pengganda untuk BasePart.Transparency yang hanya terlihat bagi klien lokal.
Mengesokkan apakah bagian dapat dipilih di Studio.
Menggambarkan massa bagian, produk dari kedensitas dan volume.
Menentukan apakah bagiannya berkontribusi pada total massa atau inersia tubuh kerasnya.
Mengidentifikasi tekstur dan proporsi fisik default sebuah bagian.
Nama dari MaterialVariant .
Menggambarkan rotasi bagian di dunia.
MengukurOffset bagian dari pivotnya dari CFrame nya.
Menggambarkan posisi bagian di dunia.
Waktu sejak updatefisika terakhir.
Menentukan seberapa banyak bagian mencerminkan langit.
Menggambarkan perubahan ukuran terkecil yang diizinkan oleh metode Resize.
Menggambarkan wajah mana yang dapat diubah ukurannya.
Mengidentifikasi jenis permukaan untuk Wajah Kanan bagian (+X arah).
Aturan utama dalam menentukan bagian akar dari sebuahAssembly.
Rotasi bagian dalam derajat untuk tiga sumbu.
Mengukur dimensi sebuah bagian (panjang, lebar, tinggi).
Mendeterminas jenis permukaan untuk Wajah Atas bagian (+Y arah).
Menentukan seberapa banyak bagian dapat dilihat melalui (kebalikan dari keopakean bagian).
Metode
Mengikat karakter dengan Humanoid yang ditentukan untuk duduk di Kursi.
Terapkan dorongan sudut ke kumpulan.
Terapkan dorongan ke kumpulan pada kumpulan pemasangan di pemasangan's center of mass .
Terapkan dorongan ke kumpulan pada posisi yang ditentukan.
Mengembalikan apakah bagian dapat bertabrakan satu sama lain.
Memeriksa apakah Anda dapat menetapkan kepemilikan jaringan bagian.
Mengembalikan tabel bagian yang terhubung ke objek dengan jenis tali keras apa pun.
Kembalikan semua Joints atau Constraint yang terhubung ke Bagian ini.
Mengembalikan nilai dari properti Mass .
Mengembalikan pemain saat ini yang merupakan pemilik jaringan bagian ini, atau nol dalam kasus server.
Mengembalikan benar jika mesin game secara otomatis memutuskan pemilik jaringan untuk bagian ini.
Mengembalikan bagian dasar dari pengumpulan bagian.
Mengembalikan tabel semua BasePart.CanCollide bagian yang benar yang berintervensi dengan bagian ini.
Mengembalikan kecepatan lini bagian yang diberikan relatif terhadap posisi ini.
Mengembalikan benar jika objek terhubung ke bagian yang akan menahan objek tersebut (eg bagian Anchored), jika tidak mengembalikan salah.
Mengubah ukuran objek hanya seperti menggunakan alat resize Studio.
Tetapkan pemain yang diberikan sebagai pemilik jaringan untuk ini dan semua bagian yang terhubung.
Memungkinkan mesin game secara dinamis memutuskan siapa yang akan menangani fisika bagian (salah satu klien atau server).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Menciptakan IntersectOperation baru dari geometri yang bertumpang-tindih dari bagian dan bagian lain dalam array yang diberikan.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Menciptakan UnionOperation baru dari bagian, minus geometri yang ditempati oleh bagian dalam array yang diberikan.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Menciptakan UnionOperation baru dari bagian, plus geometri yang ditempati oleh bagian dalam array yang diberikan.
Mendapatkan pivot dari Class.PVInstance .
Mengubah PVInstance bersama dengan semua anaknya PVInstances sehingga pivot sekarang berada di CFrame yang ditentukan.
Acara
Acara diwarisi dari BasePartBerdapi saat bagian berhenti menyentuh bagian lain sebagai hasil dari gerakan fisik.
Berdapi saat bagian menyentuh bagian lain sebagai hasil dari gerakan fisik.