Silah Seti

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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:

  1. Aşağıdan bir silah seçin, varlık kütüphanesi bağlantısına gidin.
Tabanca
Pompalı Tüfek
Otomatik Tüfek
Makineli Tüfek
Keskin Nişancı Tüfeği
Kavanoz
El Bombası Fırlatıcısı
Roket Fırlatıcısı
Zırhkanonu
  1. Silahın öğe sayfasında, yeşil Get düğmesine tıklayın ve işlemi onaylayın.

  2. Stüdyo'da, aç Arayan Kutusu ( Görüntü → Arayan Kutusu ).

  3. Alet kutunuzun Envanter bölümünü seçin.

  4. 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

  5. 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 )
    • Animasyonlar ( Folder ) – Silahlar sisteminde kullanılan animasyonlar için depolama.
    • Efektler ( Folder ) – Çerçeveler ( 0> Class.Folder0> ) – Tüm mermi çerçeveler için depolama. – 3> İşaretler3> ( 6> Class.Folder 6> ) –
    • WeaponsSystemGui (ScreenGui) – Silah Sistemi GUI'si için ayarlar.
  • Yükleme ( Folder ) – Silah sistemi için yükleme değerleri.
  • Kütüphaneler ( Folder ) – Silah sisteminde kullanılan diğer tüm ModuleScripts depolarını depolar.
  • 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ümBirincil olarak Elektrik İçinde...
Silah Fonksiyonlari
  • Kütüphaneler / AnaSilah
  • SilahTürleri / MermiSilahı
  • SilahTürleri / BowWeapon
Omuz Kamerası
  • Kütüphaneler / Omuz Kamerası
Silah GUI'si
  • Kütüphaneler / WeaponGui
  • Kütüphaneler / DirectionalIndicatorGuiManager
  • Kütüphaneler / Hasar Duvarlayıcı

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üklemeSound 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şyaAçıklamaVarsayı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ş ModuPatlama 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.

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
EşyaAçıklamaVarsayı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.

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.
EşyaAçıklamaVarsayı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.

EşyaAçıklamaVarsayı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 silmanyanlış
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.
  • Boş Offsetluğu ( Vector3Value ) (isteğe bağlı) — Bow'un dinlenirken SpecialMesh ile ilgili ofseti.
  • SıkıştırmaYeriştirme ( Vector3Value ) (isteğe bağlı) — çizgi boyunca şişmanlık SpecialMesh ile doldurulduğunda.
  • LooseScale ( Vector3Value ) (isteğe bağlı) — Bow'un dinlenirken SpecialMesh skalasını ölçer.
  • 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ç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östergelerFolderTüm <a href="/reference/engine/databases">Class.Folder</a> içindeki tüm yönlendirici göstergeleri depolanır.
KavanozFrameA Frame içindeki şu nesneleri içerir: [UIAspectRationConstraint] - UIAspectRatioConstraint1> Bottom1> - 4> Class.ImageLabel
İsabet İşaretleyiciFrameA 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:

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ı OlayFrameBir 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:

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]ImageLabelYö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]ConfigurationAyarlanabilir ö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 MesafesiNumberValueEkranın merkezinden mesafe seviyesi sayısı (her mesafe seviyesi yaklaşık 0.03 ekran ölçeğidir); varsayılan 6 .
GüçlendirmeNumberValueAktifasyonunun ardından gösterge solgunma zamanı ve TimeBeforeFade saati; varsayılan 1 .
İsimStringValuekodreferans etmek istediğiniz yönlendirici göstergesinin adı; varsayılan, göstergenin üst seviyesinin adıdır Frame .
Güneşlenmeden Önce SüreNumberValueGöstergenin solgunmadan önce görüneceği saniye sayısı; varsayılan değer 1 dir.
Görünürlük ÖncesiNumberValueDalga boyunca solgunmadan önce göstergenin saydamlığı; varsayılan 0 .
Genişlik SeviyesiNumberValueOrtadaki 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.