SpawnLocation
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Lokasi Spawn, atau "spawns" menentukan di mana Player respawns ketika mereka mati. Mereka dapat dikonfigurasi untuk memungkinkan hanya pemain tertentu yang dapat menggunakan setiap respawn, menggunakan Teams . Mereka juga mengontrol cara Class.ForceField|ForceFields</
SpawnLocations dapat digunakan sebagai titik pemeriksaan, seperti dalam kursus rintangan, menggunakan properti SpawnLocation.AllowTeamChangeOnTouch , sehingga ketika seorang pemain menyentuhnya, mereka akan mengubah tim ke tim SpawnLocation. Dalam kasus ini, hanya
Catat jika SpawnLocation ditambahkan ke Workspace di Studio dengan SpawnLocation.Neutral ditetapkan ke false sebuah Tim akan dibuat sesuai dengan SpawnLocation.TeamColor jika itu
Memunculkan Aturan
Ada beberapa aturan yang masuk ke dalam permainan untuk SpawnLocation tertentu saat seorang pemain respawn:
- Ketika SpawnLocation.Neutral di set ke false hanya Players dengan Player.TeamColor yang cocok dengan 1> Class.SpawnLocation.TeamColor1> akan muncul di atasnya
- Ketika SpawnLocation.Neutral diatur ke benar setiap Pemain dapat muncul di atasnya terlepas dari SpawnLocation.TeamColor
- Jika beberapa spawn yang memenuhi syarat tersedia untuk Player, maka akan dipilih secara acak
- Pemain akan muncul di berbagai titik di atas SpawnLocation, tetapi saat ini, mereka masih mungkin muncul di atas satu sama lain jika mereka muncul setelah satu dan lain
Lihat juga:
- Jika Anda ingin menyesuaikan waktu yang dibutuhkan pemain untuk respawn, lihat ke property RespawnTime
Contoh Kode
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)
Rangkuman
Properti
Memungkinkan seorang Player untuk bergabung dengan tim dengan menyentuh SpawnLocation. Saat diatur ke benar, jika karakter Player datang ke kontak dengan 1> Class.SpawnLocation1>, maka 4> Class.
Panjang waktu, dalam detik, bahwa ForceField akan diterapkan pada karakter Player yang muncul di SpawnLocation ini. Jika Durasi adalah nol, maka 1> Class.ForceField tidak a
Tetapkan apakah SpawnLocation diaktifkan atau tidak. Saat player yang dinonaktifkan tidak dapat menelur di SpawnLocation dan fungsi Izinkan Perubahan Tim Saat Sentuh dinonaktifkan.
Apakah atau tidak SpawnLocation bermitra dengan tim tertentu. Ini berarti bahwa setiap Player , dari setiap Team , dapat muncul di atasnya jika property ini di set ke true.
Tetapkan tim mana yang SpawnLocation bergabung. Jika SpawnLocation.Neutral property adalah palsu, hanya Players dengan 1> Class.Player.TeamColor1> yang sama dengan warna timnya akan dapat spawn di sana.
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
Metode diwarisi dari BasePartTerapkan 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.
Properti
AllowTeamChangeOnTouch
Memungkinkan seorang Player untuk bergabung dengan tim dengan menyentuh Class
Ini tidak akan berfungsi ketika SpawnLocation.Enabled di set ke false.
Membuat Titik Pemeriksaan
Fitur ini sering digunakan untuk membuat checkpoint di kursus rintangan atau game serupa.
Contoh Kode
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)
Duration
Panjang waktu, dalam detik, bahwa ForceField akan diterapkan pada karakter Player yang muncul di SpawnLocation ini. Jika Durasi adalah nol, maka 1> Class.ForceField tidak a
Nilai default dari properti ini adalah 10 detik.
Fitur durasi memungkinkan pengembang untuk dengan mudah memberikan perlindungan dari 'spawn killing' yang dapat menjadi pengalaman yang menyebalkan bagi pemain. Catat, Players hanya akan melindungi pengguna dari
Contoh Kode
local spawnLocation = Instance.new("SpawnLocation")
spawnLocation.Anchored = true
spawnLocation.Size = Vector3.new(5, 1, 5)
spawnLocation.Neutral = true -- anyone can spawn here
spawnLocation.Duration = 20
spawnLocation.Parent = workspace
Enabled
Tetapkan apakah SpawnLocation diaktifkan atau tidak. Saat player yang dinonaktifkan tidak dapat menelur di SpawnLocation dan fungsi SpawnLocation.AllowTeamChangeOnTouch dinonaktifkan.
Properti ini memberikan cara yang paling mudah untuk mencegah Players dari muncul di sebuah spawn.
Catatan, meskipun perubahan tim saat menyentuh menggunakan SpawnLocation.AllowTeamChangeOnTouch dinyonaktifkan ketika Diaktifkan di set ke false, acara sentuh lainnya menggunakan BasePart.Touched masih akan berfungsi.
Contoh Kode
local spawnLocation = Instance.new("SpawnLocation")
spawnLocation.Anchored = true
spawnLocation.Size = Vector3.new(5, 1, 5)
spawnLocation.Neutral = true -- anyone can spawn here
spawnLocation.Enabled = true
spawnLocation.Parent = workspace
local function onEnabledChanged()
spawnLocation.Transparency = spawnLocation.Enabled and 0 or 0.5
end
spawnLocation:GetPropertyChangedSignal("Enabled"):Connect(onEnabledChanged)
task.wait(5)
spawnLocation.Enabled = false -- transparency = 0.5
Neutral
Apakah atau tidak sebuah spawn bermasalah dengan tim tertentu. Ini berarti bahwa setiap Player , dari setiap Team , dapat muncul di atasnya jika property ini di set ke true.
Jika Neutral ditetapkan ke false, hanya pemain cuaca yang memiliki Player.TeamColor sama dengan SpawnLocation.TeamColor dapat menggunakan SpawnLocation.
Jika SpawnLocation.AllowTeamChangeOnTouch benar, Player.Neutral akan ditetapkan kepada property ini setelah kontak dengan spawn.
Contoh Kode
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)
TeamColor
Propiedad TeamColor menetapkan tim mana yang bergabung dengan SpawnLocation jika SpawnLocation.Neutral property adalah false, hanya Players dengan TeamColor yang sama dengan warna tim seperti spawn's TeamColor akan dapat spawn di sana.
Jika SpawnLocation.AllowTeamChangeOnTouch benar, Player.Neutral akan ditetapkan kepada property ini setelah kontak dengan spawn.
Contoh Kode
local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)