In-experience Tools aktif araçların kullanıcıların seanslarda donatabileceği etkileşimli araçların biridir, tıpkı kılıçlar, roket fırlatıcıları ve büyülü çubuklar gibi. Kullanıcılar özelleştirilmiş in-experience araçları oluşturabilir, deneyim hiyerarşisinde yerlerini yazabilir ve kullanıcılar
Bir İçinde Olmayan Araç Oluşturulması
Herhangi bir deneyimli araç oluşturmanın ilk adımı, araç içindeki tüm öğeleri içermek için bir araç objesi oluşturmak gerekir. Ardından, parçaları ve şemsiye etkilerini içeren ağ öğesi, ses e
Araç Objetini Oluşturulması
Aşağıdaki adımlarla yeni bir araç objesi oluşturabilirsiniz:
In the Explorer window, hover over Workspace and click the ⊕ button to show the list of objects.
Araçlar Etkileşim kategorisinin altındaki Araçlar seçin.
Parçalar veya Kafeler Ekleme
Araç öğesi oluşturduktan sonra, araç modeline Parts veya MeshParts eklemelisiniz, böylece parçalar ve malzemeler olmadan araçı bir envanter öğesi olarak oluşturabilirsiniz. Diğer mod
Parçaları veya malzemeleri eklemek olmadan bir araç oluşturmak istiyorsanız, onu bir envanter öğesi olarak olluşturabilirsiniz.
Araç Kullanıcını Ayarlama
Kullanıcıların aletleri etrafta taşımasını etkinleştirmek için bir Part ayarlanır ve kullanıcının eline bağlanmak için Handle adı verilir. Aşağıdaki örnek, üç parçalı bir büyülü çubuk gösterir
Aynı anda yalnızca bir tane Part adında bir Handle ile etrafta gezin. Eğer Parts olarak adlandırdığınız birkaç 2>Class.Part2> adında yürürken, aracın hizalı olmayan birini el tutma noktası olarak seçmesi işlemi hata verir.
Alet Düğmesi Yönlendirmeyi Ayarlama
Arazi üzerinde拖动 veya geriye yönlendirme gibi aracınızın yer çekimi yönü yanlışsa, bu sorunu düzeltmek için Yer çekimi özelliklerini Görünüm kategorisindeki Özellikler pencereden ayarlayabilirsiniz.
Her araç için ideal süreç çevirimi farklı olduğundan, çevirimin sonraki GripForward , GripRight ve GripUp özellikleriyle değiştirilmesi gerekir. Araçnızın süreç çevirimi doğru görünene kadar olası yanlış ve doğru çevirmeleri gösteren şu örnek gösteriyor:
Ayrıca, kullanıcı karakterlerinin aracın elinden aletleri ofset etmesine izin vermek için GripPos özelliğini kullanabilirsiniz. Bu, kullanıcının omuzuna görünmesi gereken bir aleti ofset etmek için yararlı olabilir.
Arayüz Simgesini Özelleştirme
Bir kullanıcının sahip olduğu araçlar onların Backpack 'inde saklanır. Kullanıcılar, sırt çantalarındaki her araçnın ikonını görebilirler bir action bar :
Araç Özellikleri penceresinde, araçların görünümünü kullanıcı aracının görünümünde özelleştirmek için aşağıdaki özellikleri kullanın:
- TexturID — Araç simgesi. Bu özellik için görüntü ID'sini aynı şekilde araç ve görüntü düğmeleriyle ayarlar.
- AçıklamaEkranı — Açıklama ekranı adı.
Kullanıcıların Aletleri Bırakmasını Etkinleştirme ve Devre Dışı Bırakma
Varsayılan olarak, bir kullanıcı bir aleti Windows'ta Geri DSpace tuşuna basarak veya Mac'de sil tuşuna basarak bırakabilir. Bu seçeneği devre dışı bırakmak için alet
Envanter Öğeleri Olarak Alet Oluşturulması
Ayrıca, kullanıcının girmesini bekleyen bir envanter öğesi olarak kullanıcı karakterlerinin üzerine tıklayan veya ekrana dokunmasını sağlayan bir büyü mü olarak bir deneyim araçı yapabilirsiniz, gibi kullanıcı karakterlerinin üzerine tıklayan veya ekrana dokunmasını sağlayan bir büyü mü olarak
Deneyiminize Aletler Ekleme
En-İyi Arayüz Ayarlama Aletinizi ayarladıktan sonra, deneyiminizin obje gerçekliğinin doğru alanına yerleştirmelisiniz. Tool'u deneyiminizin obje gerçekliğinde yerleştirmeniz gereken yer, kullanım niyetinize bağlı.
Varsayılan Başlangıç Aleti
Tüm kullanıcıların envanterinde bir araçla başlamasını istiyorsanız, StarterPack klasörü içine koyun. Herhangi bir kullanıcı yeniden doğduğunda, sistem aleti sırt çantasına kopyalar.
Koleksiyonluk Alet
Kullanıcıların araçlarını hareket ettiklerinde toplamalarına izin vermek istiyorsanız, araçları Çalışma AlanıMavi Oyuncu yerleşimine yerleştirebilirsiniz. Örneğin, bir süper roket fırlatıcını deneyim dünyanızın ulaşılabilir bir yerine yerleştirmek isteyebilirsiniz.
Kazanılan ve Satın Alınan Araç
Bir kullanıcı özel bir şey yaptığında bir ödül olarak ayarlamak istiyorsanız veya bir in-experience mağaza'da satmak için, araç ServerStorage içine Explorer katmanında yerleştirin, böylece araçyı kullanıcının sırt çantasına doğru zamanlarda klonlayabilir.
Eklentilerin Efektlerini Ekleme
Ekipmanlarını deneyimine ekledikten sonra, kullanıcıların özel efektler yapmak için araçları kullanmasını etkinleştirmek için kodlar ekleyebilirsiniz.
Araç Özel Etkinlikleri
Araç özelliğinin ve kullanıcının özelliklerinin durumunu gösteren aşağıdaki dört özel koşulu kullanabilirsiniz:
Tool:Equipped() : Çantadan aleti seçen kullanıcının seçtiğinde oluşur.
Tool:Unequipped() : Kullanıcı aleti bırakır veya aletleri değiştirdiğinde oluşur.
Tool:Activated() : Kullanıcı araç etkinleştirmeyi başlatır (tıklama, dokunma veya oyun başına bir A 'e basma).
Tool:Deactivated() : Aktivasyon girişini durdurduğunda kullanıcıyı durdurur (butonu veya dokunmatik düğmeyi serbest bırakır).
Bir alet tasarlarken dört şartın hepsine ihtiyacınız olmayabilir, ancak aşağıdaki kod örneği temel bir alet scripti olarak kullanılabilir:
local tool = script.Parent
local function onEquip()
print("The tool is now equipped.")
end
local function onUnequip()
print("The tool is now unequipped.")
end
local function onActivate()
print("The tool is now activated.")
end
local function onDeactivate()
print("The tool is now deactivated.")
end
tool.Equipped:Connect(onEquip)
tool.Unequipped:Connect(onUnequip)
tool.Activated:Connect(onActivate)
tool.Deactivated:Connect(onDeactivate)
Bu kod örneği, kodun arazi seviyesinde bir çocuk olduğunu varsayar. Eğer kod başka bir yerdeyse, 1. satırda bulunan yolu (değer tool ) kullanarak ana arazi nesnesine işaret eder.
Bir Temel Skript Ekleme
Aşağıdaki örnek, kullanıcıların gün ve geceyi değiştirebilen bir büyü mü eklemek için sunucuda bir Script eklemek için adımları gösterir:
Araçlar penceresinde, araç nesnine fareyi getirin ve ⊕ düğmesine tıklayarak bir Script ekleyin.
Aşağıdaki kodu kopyalayıp Script nıza yapıştırın.
local Lighting = game:GetService("Lighting")local tool = script.Parentlocal function onActivate()if Lighting.ClockTime >= 8 and Lighting.ClockTime < 16 thenLighting.ClockTime = 20elseLighting.ClockTime = 8endendtool.Activated:Connect(onActivate)Araçları aldıktan sonra deneyiminizi gün ve gece arasında değiştirmek için ekranınızın herhangi bir yerine tıklayın:
Araçların Kullanımı için Farklı Türdeki Komutlar
Bazı araçların sunucuda uygulanması için sadece bir Script gerektirir, böylece önceki örnek gibi, ancak çoğu araç kullanıcının çoğu yönünü kapsayan bir Script gerektirir.
Kaynakları eklemek için her kaynak yaztemel farkını anladığınızdan emin olun:
- Kod tüm kullanıcılar tarafından görülen genel deneyim dünyasındaki değişiklikleri yönetir, bir kapıyı kilitleyin ve bir oku atın.
- Yerel Kod kullanıcının cihazında sadece oluşan şeyleri yönetir, böylece nerede dokunulduğunu veya ekranda dokunulduğunu tespit etmek gibi.
Burada bazı örnek araçlar ve onların davranışları yerel bir senaryo veya bir sunucu senaryosu tarafından yönetilir:
Araç | Yerel Kod | Sunucu Kodu |
---|---|---|
Yaratıcının Asası | Oyuncunun ekranda dokunduğu veya tıkladığı yerleri tespit eder. | Oyun dünyasındaki bir yerde oyuncunun dokunduğu veya tıkladığı yeni bir parça oluşturur. |
Görünmezlik Pelerini | Düzük taraflı olarak tüm diğer kullanıcıların gözünden oyuncuyu geçici olarak görünmez hale getirir. | |
Mega-Bow | Oyuncunun araçları etkinleştirdiği süreyi (aktifleştirme ve etkinleştirme arasındaki zaman) tespit eder. | Tespit edilen aktivasyon süresine bağlı olarak daha fazla veya daha az güçlu bir büyülü ok atar. |
Farklı senaryo türleri hakkında daha fazla bilgi için Senaryolar bakın.
Hata ayıklama ipuçları
Stüdyo'da bir aracın iyi çalışmasına rağmen, bir canlı Roblox deneyiminde işlemler bozulabilir. Bu durumda, aşağıdaki sorun giderme ipuçlarını kullanın:
- LocalScripts ve Scripts birbirlerine doğrudan dinleyemez, bu yüzden mesajların iki script arasında gönderilmesi için bir RemoteEvent eklemelisiniz.
- Her bir Script ve LocalScript 'in sadece belirli görevleri yerine getirdiğinden emin olun.
For more information on RemoteEvents , see Uzaktan Etkinlikler ve Geri Çağrılar .