Rekabetçi savaş deneyimleri oluşturmak için, birden fazla onaylanmış silah herhangi bir deneyimde kullanılabilir. Çekirdek sistemi, üzerinde omuzlama kamerası olan mermi tabanlı silahlar sunar ve mermi hızını yeterince yükseltmek, lazer silahları gibi raycasting silahları simüle edebilir.
Endorsed silahı deneyiminizde kullanmak için:
- Aşağıdan bir silah seçin, varlık kütüphanesi bağlantısına gidin.
Silahın öğe sayfasında, yeşil Get düğmesine tıklayın ve işlemi onaylayın.
Stüdyo'da, aç Arayan Kutusu ( Görüntü → Arayan Kutusu ).
Alet kutunuzun Envanter bölümünü seçin.
Silahı bulun ve yerleştirmek için silahı eklemek için etkene tıklayın. Eğer silahın başlangıç pack'ine koyulmasını istiyorsanız, Evet'i tıklayın, eğer silahın başlangıç pack'ine koyulmasını istiyorsanız, Hayır'yı tıklayın, sadece silahı 3D dünyasında bir
Eğer bu ilk defa bir onaylanmış silah getiriyorsa, SilahSistemi klasörünü ServerScriptService >'e taşıyın, böylece deneyimdeki tüm desteklenmiş silahlar için tek bir sistem klasörü olarak hizmet verecek şekilde kaydedin.
Sistem Klasör Yapısı
SilahSistemi klasörü, deneyimdeki tüm onaylanmış silahları güçlendiren varlıklar, yapılandırmalar ve kodlar içeren birleşik bir klasördir. ServerScriptService içinde bulunursa, deneyim içindeki herhangi bir eşdeğer SilahSistemi klasörleri üzerindeki herhangi bir yapılandırmasını üstüste geçer.
SilahSistemi klasörü içinde şu görüntüler bulunur:
- Varlıklar ( Folder )
- SilahTürleri ( Folder ) – Tüm silah türlerini belirtir.
- Sunucu Silahları Kısmı ( Script )
- Sürüm ( IntValue )
- ClientWeaponScript ( LocalScript )
- Ağ Çağrıları ( ModuleScript )
- SilahVerisi ( RemoteEvent )
- SilahSistemi ( ModuleScript )
SilahSistemiModuleScripts içinde, farklı yönler kontrol edilir Class.ModuleScript|ModuleScripts :
Görünüm | Birincil olarak Elektrik İçinde... |
---|---|
Silah Fonksiyonlari |
|
Omuz Kamerası |
|
Silah GUI'si |
|
Silah Yapısı
Onaylanmış silahlar Tools ve oyuncunun sırt çantasında göründüğü gibi adlandırılır. Her silah benzer bir hierar ile yapılandırılmıştır.
Silah Türü
SilahTipi StringValue silahın ModuleScript ve 1> SilahTypeleri1> katılımına karşılıyor. İki temel değer 4> MermiSilahı 4> ve 7> OkSilahı7> .
Silah Modeli
Her silah bir veya daha fazla BaseParts içeren bir Class.Model içerir. Bunlardan biri modelin PrimaryPart ilgili olmalıdır.
Ayrıca, modelin BaseParts ile ilgili olabilecek önemli çıplak soyundanları da içerir:
- Uçlama bağlantısı – Attachment 親inin pozisyonu üzerindeki mermilerin/projelerin nerede çıktığını belirler.
- Eklentiyi Bağla) – Attachment whose position on the parent BasePart determines where the 0> Eklentiyi Bağla0> is welded.
- Ateşlenmiş – Sound silah ateşlendiğinde çalışan.
- Yeniden Yükleme – Sound silah yeniden yüklendiğinde çalıyor.
- Herhangi bir uzmanlaştırma seçeneği için ekstra çıplaklar.
Silah Tutuşu
Silahın bir oyuncu karakterinin nerede tutacağını belirleyen Kolu bölümü. Bu bir Part olmalıdır ve silahın bir çocuğu olmalıdır (alet).
Yapılandırma Klasörü
Yapılandırma klasındaki silah davranışları için özel "değer" türleri vardır.Varsayılanların ötesinde, silah davranışları için uzmanlaştırma seçenekleri ekleyebilirsiniz.
Aşağıda temel yapılandırmalar ve onların varsayılan değerleri vardır:
Eşya | Açıklama | Varsayılan |
---|---|---|
Mermi Kapasitesi | Oyuncu yeniden yüklemeden önce her "mermi takılıcı"ndaki atış sayısı. Mermilerin sınırsız olduğunu ve bir oyuncu'nun taşıdığı mermi sayısını belirtmediğini unutun. | 30 |
Ateş Modu | Otomatik (tıklama başına bir atış), Otomatik (sürekli ateş) veya Patlama (her atış başına eşdeğer olarak 4>NumBurstShots4> ile her oturumda patlama) seçin. | Yarı Otomatik |
AtışSoğuması | Tıklamalar arasındaki minimum bekleme süresi. Silahların Ateş Modu ile Otomatik arasındaki bekleme süresi de bu, ateş düğmesine basarken veya tıklayarken bekleme süresiyle ilgili. | 0.1 |
Patlama Atışı Soğuması | Seri Atış'ın her vuruşundan sonra; sadece Ateş Modu 'yı Patlama olarak ayarladığınızda önemlidir. | Değeri ShotCooldown |
NumBurstShots | Her tıklama/burst için atış sayısı; sadece Ateş Modu yı Patlama olarak ayarlarsanız önemlidir. | 3 |
HasarVermeyi | Her doğrudan vurma işlediğindeki hasar miktarı. | 10 |
Sınırsız Hasar Mesafesi | Atışların maksimum hasarını veren mesafe. Bu mesafeden ötelerine vuran her şey daha az hasar alacak ve uzaklaştıkça SıfırHasarDistance . | 1000 |
SıfırHasarUzaklığı | Bu mesafeye vurulan veya aşılan herhangi bir şey hasar almaz. | 10000 |
Mermi Hızı | Mermiler/projelerin vurulduğunda hızını ayarlar. Bu, 20000 gibi çok yüksek bir değere ayarlanır ve lazer silahı gibi geleniştirir. | 1000 |
Maksimum Mesafeyi Geçersiz Hale Getirmeye Çalışıyoruz! | Mermiler/projeler silinmeden önce maksimum mesafe kat eder. | 2000 |
MinSpread | Silah için minimum yayılma. | 0 |
Maksimum Yayılma Özelliği | Silah için maksimum yayılma. | Değeri MinSpread |
Yer çekimi faktörü | Yer çekimi her mermi/projektilin etkisi altında olması gereken miktardır. Örneğin, bu değer Kavanoz için 1 değerindedir, çünkü oklar uçuş sırasında kıvrımlaşır, ancak bu değer Roket Fırlatıcı için 0 değerindedir, çünkü hızlı roketler doğrudan seyahat eder. | 0 |
HasScope | Eğer Weapons System GUI ile belirlenen kapsayı kullanmak istiyorsanız doğru değerine ayarlanır. | yanlış |
Yeniden Yükleme Animasyonu | Sistem klasöründeki Yeniden Yükleme animasyonu izininin adı. | Tüfek Yenilenmesi |
Hedef Takibi | Hedef animasyonu izininin adı Yardımcılar / Animasyonlar sistem klasöründeki İsim | TüfekHedefi |
HedefZoomTrack | Hedef animasyonu takibi animasyonunun adı Yardımcılar / Animasyonlar sistem klasöründeki Animasyon takibi. | TüfekAimDownSights |
Geri ÇevirmeMin | Her atış için minimum geri çekilme eklenmiştir. | 0.05 |
Geri Çevirme Maksimumu | Her atış için maksimum geri çekilme eklenmiştir. | 0.5 |
Toplam Geri Çekme Maximum | Toplam maksimum toplama geri çekilme. Silahın mevcut geri çekilmesi bu değerin üstesinden asla geçmez. | 2 |
GeriÇevirmeKaybı | Geri dönüş çarpanı; esasen, recoil'in atıştan sonra azaldığı oranı. | 0.825 |
Geri bildirim gecikme süresi | Geri bildirim eklenmeden önce atış/tıklama süresi bekleniyor. | 0.07 |
Kalkış Zamanı | Oyuncu silahı kullanmadan önce silaha takıldıktan sonra olan süre. Bu, oyuncuların tek bir silahdan çok sayıda silahı hızlı bir şekilde vurmasını önler. | 0.2 |
FiredPlaybackSpeedRange | Silahın Ateş sesi için çevirilebilir olan miktar. Bunu 0 olarak ayarlayın, böylece her zaman aynı tonada çalın. | 0.1 |
NumProjectiles | Tıkladığınızda/bulunduğunuzda ateş edilecek mermi/projil sayısı. Bu, Pompalı Tüfek gibi silahların aynı anda birden fazla mermi ateş etmesi için yararlıdır. Not edin ki, bir atış her zaman aynı mermi kullanır, bu değer değiştirilmez. | 1 |
uzmanlaştırma Seçenekleri
Herhangi bir silah için aşağıdaki seçenekleri ekleyebilirsiniz/modify. Bu özelleştirmeler silahın Model , silahın Configuration veya her ikisi değiştirilmesi gerekir. Bazı yapılandırmalar başkalarına bağlı, örneğin Muzzle Particles</
Bolt Animasyonları ve Sesleri
Bir silahın bağlantısı ise, ateşlenildiğinde her kez geri hareket eden parçadır.
- Silahın Silah Modeli ile ilgili soyundan
Altınbaşığı | BasePart | |
BoltMotoru | Motor6D kullanılarak bağlanır. Motorun Part0 modeline silah modelinin PrimaryPart ve 0> Class.Motor6D.Part1|Part10> bölümlerine b | |
BoltMotorStart | Attachment whose position on the parent BasePart determines where the bolt is when it's at rest. | |
BoltMotorTargeti | Attachment whose position on the parent BasePart determines where the bolt animates to when shooting. | |
BoltOpenSound | Sound çalıştırıcıyı açtığında çalıştırılan. | optional |
BoltCloseSound | Sound çekiç kapandığında çalınan. | optional |
- Silahın Yapılandırması klasındaki çocuklar
Eşya | Açıklama | Varsayılan |
---|---|---|
AçılışZamanı | Çapa açılacak konum için kaç saniye sürer. | 0.025 |
EylemKapatmaSüresi | Çapa kapalı pozisyona animasyonlanması için kaç saniye sürer. | 0.075 |
Mermi Kafaları Çıkarılıyor
Silahlar, ateşlenerek yere düşen fiziksel mermi kasaları içerebilir.
- Silahın Silah Modeli ile ilgili soyundan
CasingEjectPoint | Attachment whose position on the parent BasePart determines where you want bullet casings to pop out. Note that its orientation determines the direction that casings pop out. |
- Silahın Yapılandırması klasındaki çocuklar
Eşya | Açıklama | Varsayılan |
---|---|---|
KılıçEfektiği | İçerik BasePart İçerik Etkinlik 1>Etkinlik1> 4>Kasalar4> 7>Sistem7> . | |
CasingEjectSpeedMin | Kasaların minimum eject hızı | 15 |
CasingEjectSpeedMax | Kasaların maksimum çıkarma hızı | 18 |
- Class.BasePart içindeki çocuk Etkinlikler / Efektler / 1>Kasalar1> sistem klasörünün çocukları
KasingHitSound | Sound | optional |
Mermi/Vurma Efektleri ve Sesler
Herhangi bir silah için fiziksel mermileri yapılandırabilirsiniz, şunların yanı sıra Sounds, Beams ve ParticleEmitters ile etkili vuruş etkileri ve diğer özel etkiler için hit etkileri için.
- Silahın Yapılandırması klasındaki çocuklar
Eşya | Açıklama | Varsayılan |
---|---|---|
AtışEfekti | Bir atış efekti İçindeki / Efektler / Şutlar sistem 1>Kayıtları1> . | |
ShouldMovePart | Silmanın ShotEffect ı silahın hareket etmesi gerekirse veya etmezse. Bu sadece silmanın ShotEffect ını ayarla. Bu sadece silmanın ShotEffect ını ayarla. Bu sadece silmanın 2> ShotEffect2> ını ayarla. Bu sadece silmanın 5> ShotEffect5> ını ayarla. Bu sadece silman | yanlış |
IşınlanmaZamanı | Mermi/projil ile etkileşime geçtikten sonra ortadan kaybolmak için kaybolma süresi.Varsayılan olarak, kod tarafından uygulanan hiçbir manuel kaybolma süresi yoktur. | 0 |
IşıkGenişliği0 | Beam0 veya Beam1 ile Attachment0 ( 1> aşağıda görüntülenir 1> ) katılı. | 1.5 |
IşıkGenişliği1 | Beam0 veya Beam1 ile Attachment1 (1> aşağıda görüntülenir1>). | 1.8 |
NumHitParticles | HitParticles (aşağıda görüntülenen) emitterin yayılacak parçacık sayısı. | 3 |
HitParticlesUsePartColor | Eğer isabet parçalarının isabet yüzeyinin rengi olmasını istiyorsanız doğru if you want the hit particles to be the color of the hit surface; yanlış if you want hit particles to not change color. | doğru |
- Önceki bölümde belirtilen ShotEffect ın soyundan
Uçan | Sound . | optional |
Işın0 | Mermi/projilin arkasındaki ilk Beam yuvası. Mermi/projilin arkasındaki ilk bağlantı0 ve bağlantı1 ayarlarını unutmayın. | optional |
Işın1 | Mermi/projilin arkasında bir takma Beam ikinci yuvası. Mermi/projilin arkasında Attachment0 ve Attachment1 'i ayarlayın. | optional |
Eklent0 | Class.Rotation whose position on the parent BasePart determines the back of trauma beams; make sure to set Beam.Attachment0 on both 0> Beam00> and Attachment3> to this. | optional |
Eklent1 | Class.Rotation whose position on the parent BasePart determines the front of tracking beams; make sure to set Beam.Attachment1 on both 0> Beam00> and Attachment3> to this. | optional |
İzParçacıkları | ParticleEmitter bir çocuk olarak Attachment0 ile açık bir ebeveyn olarak gösterilir; bu mermi/projeleri seyahat ederken emit edilecektir. | optional |
ÖndeGelenParticles | ParticleEmitter bir çocuk olarak Attachment1 ile ebeveyn olarak görünür; mermi/projeler yolculuğu sırasında emit edilecek. | optional |
HitEffect'i etkisi altına alınır | Attachment whose position will be set to Beam.Attachment1 of Beam0 when the bullet/projectile hits. You must specify 0> Beam00> and its attachments for this to work properly. | optional |
SesKilidi | Sound bir HitEffect olarak doğrudan bir çocuğu olarak oynar; mermi/projil isabet aldığında oynar. | optional |
HitParticles. | Sound bir HitEffect olarak doğrudan bir çocuğu olarak ebeveyn; mermi/projil hit'i olduğunda emits. | optional |
[ProjelerParçası] | Burada görünmeyi istediğiniz herhangi bir Part veya MeshPart . Fiziksel bir mermi olarak görünmek için önceki bölümde belirtilen ShouldMovePart ın 2>doğru2> ifadesine sahip olun. | optional |
Tepme Parçaları
Bu seçenek silahın ParticleEmitterClass.ParticleEmitter ile silindiğinde silindiğinde silindir.
Yapılandırma mirası:
- AtışEfekti ( StringValue ) — Bir atış efekti atışının ismi WeaponsSystem/Assets/Effects/Shots içinde saklanmıştır.
- NumMuzzleParticles ( IntValue ) (isteğe bağlı) — Emisyonlanacak muzzle parçacıklarının sayısı; varsayılan 50 .
Belirlenen atış efekti için, WeaponsSystem/Assets/Effects/Shots adında, ParticleEmitter bir varsayılan bir kaynağı ekleyin.
Tepme Parçaları
Bu seçenek silah ateşlendiğinde bir Beam silah efekti oluşturur.
Model mirası:
- MuzzleFlash0 ( Attachment ) — Muzzle flashının bir tarafını belirtir. Konum önemli değildir.
- MuzzleFlash1 ( Attachment ) — Muzzle flashının karşı tarağını belirtir. Pose etmez.
- MuzzleFlash ( Beam ) — Make sure to set Attachment0 to 0> MuzzleFlash00> and 3> Attach13> to 6> MuzzleFlash1 6> .
Yapılandırma mirası:
- MuzzleFlashTime ( NumberValue ) (isteğe bağlı) — Muzzle flash'inin uzunluğu gösterilecek; varsayılan değer 0.03 dir.
- MuzzleFlashRotation0 ( NumberValue ) (isteğe bağlı) — Muzzle flash'in minimum dönme; varsayılan değer -math.pi .
- MuzzleFlashRotation1 ( NumberValue ) (isteğe bağlı) — Muzzle flash'in maksimum dönme çevirisi; varsayılan değer math.pi dir.
- MuzzleFlashSize0 ( NumberValue ) (isteğe bağlı) — Muzzle flash'in minimum boyutu; varsayılan değer 1 dir.
- MuzzleFlashSize1 ( NumberValue ) (isteğe bağlı) — Muzzle flash'in maksimum boyutu; varsayılan değer 1 .
Parçacık İzleri
Bu seçenek silahın projeye etkisi noktasından farklı uzunluklu bir iz oluşturur.
Yapılandırma mirası:
- TrailLength ( NumberValue ) (isteğe bağlı) — Mermi/projilin arkasındaki tuzak uzunluğu; varsayılan değer, nil (ki bu durumda takip uzunluğu olarak hesaplanacaktır), 0> TrailLengthFactor0> ile ifade edilir.
- TrailLengthFactor ( NumberValue ) (isteğe bağlı) — çizgi uzunluğu, mermi/projelerin son çerçevede seyahat ettiği mesafe ile çarpanılır; varsayılan değer 1 dir. Bu, 0> TrailLength0> eklerseniz üstesinden geçilecektir.
- ShowEntireTrailUntilHit ( BoolValue ) (isteğe bağlı) — true ile silah ucundan izi tüm yol boyunca görüntülenir; bu, hem 0> TrailLength0> ve
İsabet İşaretleri
Bu görsel ekstrası projelerin vurduğu yüzeyde görünür ve oklar, mermi delikleri, yanma işaretleri vb. için kullanışlıdır.
Yapılandırma mirası:
- HitMarkEffect ( StringValue ) (isteğe bağlı) — HitMarkEffect'in ismi WeaponsSystem/Assets/Effects/HitMarks içinde saklanır; varsayılan değer 0> MermiDeliği0> dir.
- AlignHitMarkToNormal ( BoolValue ) (isteğe bağlı) — Hit mark'in her zaman üstüne yatmasını sağlayın (bir mermi gibi yüzeyinizin üstünde durması için) veya false (mermi gibi yüzeyinizin üstünde sıkıştığınız
WeaponsSystem/Assets/Effects/HitMarks içindeki şu seçenekli öğeyi ekleyebilirsiniz:
- Parlaklık (Decal (isteğe bağlı) — Hit yüzeyi tamamen opak görünür, sonra hızla daha şeffat hale gelir, tıpkı solgunan kırmızı nokta gibi. Explosiflerin etkisi olan yerleşik bir kırmızı işaret gibi kullanışlıdır.
- MermiDeliği ( Decal ) (isteğe bağlı) — Hit yüzeyi tamamen opak görünür ve 4 saniye sonra 1 saniye için parlak hale gelir.
- Etkileşim Billboardu ( BillboardGui ) (isteğe bağlı) — Kameraya her zaman bakan kullanıcının yüzünde görüntülenir.
- Etkisiyle etkileşim kutusu ( ImageLabel ) (isteğe bağlı) — Etkileyici bildiriminin doğrudan çocuğu; bu, tamamen opake olarak başlar, 0>Etkileyici0> bildiriminin tam boyutuna ulaşır ve sonra yarım boyutuna kadar küçültür ve 3>透arente 3> ol
- Herhangi bir Part / MeshPart / SpecialMesh , fiziksel bir mermi olarak görünmek istediğinizde (isteğe bağlı). örneğin, bir ok 1> Class.MeshPart1> ve 4> Align
Patlayan Projeler
Projeler etkisi alanı etrafındaki oyuncu karakterlerine hasar vermek için bir Patlama nesnesi içerebilir.
Yapılandırma mirası:
- ExplodeOnImpact ( BoolValue ) (isteğe bağlı) — silahın etkisi altında mermiler/projeler için mermi/projeje aktarılırsa doğru ifade edilir, 0>değilse0> ise varsayılır varsayılır.Varsayılan değer 3>doğru 3> .
- Patlama Tepesi ( NumberValue ) (isteğe bağlı) — Patlama Tepesi'nin patlama alanı; varsayılan değer 8 dir.
- PatlamaBasıncısı ( NumberValue ) (isteğe bağlı) — PatlamaBasıncısı patlaması; varsayılan değer 10000 dir.
- PatlamaHasarı ( NumberValue ) (isteğe bağlı) — Patlama, patlayanın merkezine verilen hasar. Not edilir ki, patlama merkezden uzakta bulunan nesnelerden daha az hasar verir.Varsayılan değer 100 dir.
Silahı Şarj Etme
Railgun gibi bir silahın tekrar ateşlenebilmesi için önce şarj olması gerekir.
Model mirası:
- Şarj Etmeyi ( Sound ) (isteğe bağlı) — Silah şarj olurken oynar.
- Boşaltma: ( Sound ) (isteğe bağlı) — Oруvun boşaltılırken oynanır, örneğin silahın sadece bir kısmını şarj ettiğinizde ve atış düğmesini serbest bıraktığınızda.
- Şarj Tamamlandığında Şarjı Tamamla ( Sound ) (isteğe bağlı) — Silahın tüm ücretulaştığında oynanır.
- DischargeComplete ( Sound ) (isteğe bağlı) — Silahın tamamen deşarj olduğunda oynanır.
- ParçalanmaIşığı ( BasePart ) (isteğe bağlı) — Bu nesne silahın şarj olmasıyla daha az parlak hale gelir, böylece yüzde 100'de tamamen opak hale gelir.
- Silahın şarjı bittiğinde şarj olarak bir parçayı yükleyin. Bu parçayı emitter olarak Class.ParticleEmitter içinde bir çocuk olarak kullanabilirsiniz. Bu emitter silahın içindeki bir çocuk olabilir. Class.BasePart içindeki bir çocuk olabilir.
- DischargeCompleteParticles ( ParticleEmitter ) (isteğe bağlı) — Silahın tamamen deşarj olduğunda emittir. Bu emitter, herhangi bir modelin çocuğu veya BasePart içindeki bir çocuğu olabilir.
- YükleyenParçalar ( ParticleEmitter ) (isteğe bağlı) — Silah yüklenirken yanıyor. Bu emitterden birden fazla emitter adını ve her emitter yüklenirken yanılacak şekilde yanıyor. Bu emitter BasePart veya
Yapılandırma mirası:
- MermiDeğeri ( NumberValue ) — Silahın ücretolacağı oranı belirtir. Bu değer silahın şarj kullanıyor olup olmadığını göstermek için belirtilmelidir.
- DischargeRate ( NumberValue ) (isteğe bağlı) — Silahın şarj olmadan şarj olacağı oranı belirtir; varsayılan değer 0 dir, yani silah hiç şarj tümü.
- Passively charge ( BoolValue ) (isteğe bağlı) — silahın pasif olarak şarj olmasını istiyorsanız true (eğer silahın şarj olmasını istiyorsanız) veya 0> false0> (eğer silahın şarj olmasını istiyorsanız) (isteğe
- ChargingParticlesRatePerCharge ( IntValue ) (isteğe bağlı) — Silahın tüm şarjörlerinden çıkacak tüm parçacıkların şarjörlerinin şarjörlerinin
- Silah Discharge ( NumberValue ) (isteğe bağlı) — Silahın şarj olmadan ateş etmesinden sonra kaybettiği şarj miktarı; varsayılan değer 1 dir.
- NumChargeCompleteParticles ( IntValue ) (isteğe bağlı) — Silah tamamen şarj olduğunda emittireceği parçacık sayısı.Varsayılan değer 25 .
- NumDischargeCompleteParticles ( IntValue ) (isteğe bağlı) — silahın tamamen deşarj olduğunda emittireceği patlatma sayısı.Varsayılan 25 .
Arçuk Silahı
Bir Crossbow gibi bir yay silahı, gerçekçi bir yay ve silah inşaını, ayrıca yayın üstüne bir görsel ok işaretleyebilir.
Modellerin aşağıdaki çocuklarını eklemekle birlikte, takip edilenuygulamanız gerekir:
- Silahı bir taaruz silahı yapın. Örneğin, silahın ChargeRate gerektiren gerekeni ekleyin. Ayrıca, yüksek çekme hızını belirten silahın Configuration şeklindeki gereksiz yendekleri geri. Ayrıca,
- WeaponType'ı WeaponStructure ile gösterilen BowWeapon olarak ayarla.
Model mirası:
- LeftString ( Beam ) (isteğe bağlı) - İpucu, dizi'in sol yarısındaki görsel.
- RightString ( Beam ) (isteğe bağlı) - İpucu olarak dizisağ tarafındaki görüntü.
- Ok ( BasePart ) (isteğe bağlı) — okun çizgisi tamamen çizildiğinde görünen ok. Not edin ki bu sadece okun görünümündedir (asıl ateşlenen ok SaldırıEfektleri ve Sesler olacaktır).
- String1 ( Attachment ) (isteğe bağlı) — dizimerkez noktası.
- StringLoose ( Attachment ) (isteğe bağlı) — Bow'un dinlenirken nerede String1 olması gerektiğini gösteren nokta.
- StringTight (Attachment ) (isteğe bağlı) — Bow'un tamamen çizildiğinde String1 olması gereken yere işaret eder.
- Silahlar ( Part ) (isteğe bağlı) — Bir yatay oluğu animasyon yapacak iç gösterge olarak hizmet eden bir parça. Bu, şu andaki doğrudan çocukları içerebilir:
- LeftString0 ( Attachment ) (isteğe bağlı) — Bağlantının sol tarafının bağlandığı yere işaret edin.
- RightString0 ( Attachment ) (isteğe bağlı) — İp'in başına bağlanan yazının sağ tarafını gösteren noktayı işaret eder.
- SolYağmalama ( Attachment ) (isteğe bağlı) — sol yanın dinlenmesi sırasında SolString0 olması gereken yere işaret eder.
- SağSol ( Attachment ) (isteğe bağlı) — Bow'un dinlenirken RightString0 olması gereken yere işaret eder.
- LeftTight ( Attachment ) (isteğe bağlı) — Bow'un tamamen çizildiğinde LeftString0 ın nerede olması gerektiğini gösterin.
- RightTight ( Attachment ) (isteğe bağlı) — Bow'un tamamen çizildiğinde RightString0 olması gereken yere işaret edin.
- [ÖzelKaşık] ( SpecialMesh ) (isteğe bağlı) — yay çekildiğinde asılacak kısmın bir parçası. Not edin ki, bu animasyonu yapmak için şu dört Vector3Value nesnelerini belirtmeniz gerekir.
- SıkıştırmaYeriştirme ( Vector3Value ) (isteğe bağlı) — çizgi boyunca şişmanlık SpecialMesh ile doldurulduğunda.
- Sıkı Ölçek ( Vector3Value ) (isteğe bağlı) — Bow'un tamamen çizildiğinde SpecialMesh ölçeğinin boyutu.
Silah Sistemi GUI
Çekirdek silah sistemi, silahın yayılımı, vurulduğunda başkalarına vurma gibi şeylerin güncellenmesi için bu sistemle etkileşime geçer.
The WeaponsSystemGui is a ScreenGui object in WeaponsSystem/Assets that is parented to 1> Class.PlayerGui1> when the experience starts. WeaponSystemGui has 4 descendants:
- ÖlçeklemeElementleri - Ekranda öğelerin bir Folderı.
- Büyük Dokunmatik Ekranı - A Frame için düğmelere sahip büyük dokunmatik ekranlar.
- Küçük Dokunmatik Ekranı - A Frame için düğmelere sahip küçük dokunmatik ekranlar için.
Ölçekleme Elemanları
ScalingElements bir Folder ebeveyni WeaponsSystemGui altında silahlar sistemi ile şu aşağı soyundan oluşur:
İsim | İstemci Türü | Açıklama |
---|---|---|
YönlendiriciGöstergeler | Folder | Tüm <a href="/reference/engine/databases">Class.Folder</a> içindeki tüm yönlendirici göstergeleri depolanır. |
Kavanoz | Frame | A Frame içindeki şu nesneleri içerir: [UIAspectRationConstraint] - UIAspectRatioConstraint1> Bottom1> - 4> Class.ImageLabel |
İsabet İşaretleyici | Frame | A Frame içindeki aşağıdaki nesneleri içeren: [UIAspectRatioConstraint] - UIAspectRatioConstraint1> Hit Marker Image1> - 4> Class.ImageLabel4> oyuncu başarıyla başka bir oyuncu karakterine vurduğunda görünür ve solgunur. |
Büyük Dokunmatik Ekran
Büyük Dokunmatik Ekranı, büyük dokunmatik ekranlarda görüntülenen düğmelere sahip bir Framedır. Büyük Dokunmatik Ekranının şu soyundan gelir:
- HedefButonu ( ImageButton )
- FireButton ( ImageButton )
Mira
Kapsayı Class.Frame ın içinde ImageLabel ( 1> Class.ImageLabel1> ) bulunur, bu bir silahın kaydırılmasında görünür (bakın 4> Silah Strüktürü 4>). Scope 'in aşağıdaki çocukları vardır:
İsim | İstemci Türü | Açıklama |
---|---|---|
Kapsayıcı Olay | Frame | Bir Frame 含有使用时启用HasScope的武器时使用的资产:UIAspectRatioConstraint1> BottomBlack1> - |
Küçük Dokunmatik Ekran
SmallTouchScreen, Frame içinde, küçük dokunmatik ekranlarda görüntülenen düğmelere sahip. SmallTouchScreen'in aşağıdaki soyundanları vardır:
- HedefButonu ( ImageButton )
- FireButton ( ImageButton )
Yönlendiriciyi Oluştur
Yönlendirici göstergeleri, oyuncunun krosbüyücünün etrafındaki bir şeyin yönünü göstermek için kullanılır. Örneğin, birisi seni vurursa, krosbüyücünün etrafındaki bir red semi-çember görünebilir. Diğer örnekler, vurulan yönü gösteren göstergeleri, doğrudan silah ateşi veya çevresel nesneleri gib
Yeni bir gösterici oluşturmak için, yeni bir Gösterici Frame in WeaponsSystemGui/ScalingElements/DirectionalIndicators ile aşağıdaki yapıyla ekleyin:
İsim | İstemci Türü | Açıklama |
---|---|---|
[UIAspectRation约束] | UIAspectRatioConstraint | |
[GörüntüEtiketi] | ImageLabel | Yönlendirici göstergenin görüntüsü. Studio'da görüntüyü döndürmeniz gerekmeyebilir, aksi takdirde görüntünün yönünü ayarlamanız gerekebilir.Bu görüntü etiketi ayrıca kendi UIAspectRatioConstraint ını içermelidir. |
[Yapılandırma] | Configuration | Ayarlanabilir özellikler içerir. Ayrıntılar için Gösterge Yapılandırması bakın. |
Oluşturulduktan sonra, WeaponsSystem/Libraries/WeaponsGui içindeki şu komut aracılığıyla bir göstergeyi etkinleştirebilirsiniz: indicatorName ile göstergenin etkinleştirileceği dünya pozisyonu belirtir ve worldPos, yönlendirici göstergenin etkinleştirileceği dünya pozisyonudur.
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
Gösterge Yapılandırması
Yönlendirici İşaretleri, Configuration nesnenin altındaki [Indicator] ile birlikte ayarlanarak daha da değiştirilebilir. Tüm bu ayarların varsayılan bir değeri vardır, bu yüzden bir ayarlamayı değiştirmeden önce yapılandırmaya gerek yoktur.
Aşağıdaki yapılandırmalar ayarlanabilir:
İsim | İstemci Türü | Açıklama |
---|---|---|
Uzaktan Merkeze Mesafesi | NumberValue | Ekranın merkezinden mesafe seviyesi sayısı (her mesafe seviyesi yaklaşık 0.03 ekran ölçeğidir); varsayılan 6 . |
Güçlendirme | NumberValue | Aktifasyonunun ardından gösterge solgunma zamanı ve TimeBeforeFade saati; varsayılan 1 . |
İsim | StringValue | kodreferans etmek istediğiniz yönlendirici göstergesinin adı; varsayılan, göstergenin üst seviyesinin adıdır Frame . |
Güneşlenmeden Önce Süre | NumberValue | Göstergenin solgunmadan önce görüneceği saniye sayısı; varsayılan değer 1 dir. |
Görünürlük Öncesi | NumberValue | Dalga boyunca solgunmadan önce göstergenin saydamlığı; varsayılan 0 . |
Genişlik Seviyesi | NumberValue | Ortadaki genişlik seviyesi sayısı (her genişlik seviyesi yaklaşık 0.03 ekran ölçeğidir); varsayılan değer UzaklıkSeviyesiFromCenter dir. |
Hasar Billboard'unu Göster
Hasar duyurusu, hasar aldığında bir karakterin kafasının üzerindeki küçük sayıları göstermek için kullanılır. Bu sadece bir oyuncunun karakterini hasar veren oyuncuya gösterilecek ve seyreden oyuncular için gösterilmeyecek.
Hasar duvarları WeaponsSystem/Libraries/DamageBillboardHandler ile işlenir ve herhangi bir kullanıcı tarafından kullanılabilir koddan etkinleştirilebilir, bu da hasarın yapıldığı miktarı ve adornmentPart'in duvarın üzerine yerleştirileceği kısmı, yani kurbanın kafası gibi, aktifleştirilebilir:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
Omuz Kamerası
Omuz kamerası, oyuncu karakterinin sağ omuzunun üzerindeki üçüncü kişi bir kameradır. Omuz kamerasını özelleştirmek için, ShoulderCamera.new() fonksiyonunun WeaponsSystem/Libraries/ShoulderCamera ile ilgili yorumlarını değiştirin
Koşma ve Yükleme Kontrolü
Varsayılan olarak, silah sistemi "koşma" yeteneğini ekler, böylece oyuncular "Shift" tuşunu basılı tutarak koşabilirler, dinamik başparmak üzerinde tamamen yükseltilmiş olarak veya sol başparmak üzerinde tamamen yükseltilmiş olarak. Eğer koşmayı devre dışı bır
Sistem ayrıca oyuncunun nişanlanırken/yükseltirken hızını azaltır, ancak bunu yavaşZoomWalkEnabled değerini false olarak ayarlayarak devre dışı bırakabilirsiniz.