In Kodlama ile Girişim , bir deneyimde zamanla bir döngüde değişiklik yapmayı öğrendiniz. Eğer kullanıcı davranışına dayalı değişiklikler yapmayı ister miseniz? Bu öğreticiyi izleyerek ölümcül bir lav zeminini yapmayı öğreneceksiniz.
Yükleme
Ölümcül bir lav yerleştirmek için dünyanızda bir yer olmalı. Eğer Kript Dersi kursunu takip ettiyseniz, lav zemin kaybolan platformların arasındaki boşluğa uygun olacaktır.
Bir Part ekleyin ve dünyanıza yerleştirin. Adını LavaFloor olarak değiştirin.
Yerleştirme alanının zeminini kapsayacak şekilde yeniden boyutlandırın.
Zemini turuncu bir tonla daha ışıltmak için Material özelliğini Neon ve Color değerlerine ayarlayın.
Bir Script kısmına LavaFloor parçasını gir ve onu Kill olarak yeniden adlandır.
Varsayılan kodu kaldır ve lav için bir değişken oluştur.
local lava = script.Parent
Bir Etkinliğe Bağlanıyor
Bir kullanıcının lavaya dokunduğunu tespit etmek için bir etkinlik kullanın to detect when a user touches the lava. Every part has a Touched event that fires when something touches it. You can connect to this event to run a function when it fires.
kill adında yeni bir işlev ilan et.
Lav nesnesine bir nokta kullanarak erişim etkinliği Touched, tıpkı bir özellik gibi: lava.Touched .
Touched etkinliğine Touched işlevini çağırır, kill işlevini geçer.
local lava = script.Parentlocal function kill()endlava.Touched:Connect(kill)
Lavaya dokunan herhangi bir kodu yazdığınızda, kill işlevi artık herhangi bir şey dokununca herhangi bir zaman çalışacaktır. Lütfen, boşluk olarak değil, farklılığı nedeniyle endişelenmeyin - sadece farkı hatırlayın.
Dokunan Parçayı Alın
Kullanıcıyı öldürmek için, işlevin o kullanıcıyla ilişkili bir nesneye ihtiyacı olacak. Bir parçanın Touched etkinliği, onu dokunan bölümü sağlayabilir - ancak sadece bir değer olarak işlevin kullanıcıyı isteyerek talep etmesi gerekir.
Özellikler, bir işlevin çağrıldığında almasını beklediği şeyin tanımlarıdır. Bir özellik, bir işlevin içindeki herhangi bir değişken gibi kullanılabilir. Bir özellik, bir işlevin çağrıldığında ebeveyn olarak kullanılabilir. Bir öz
local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)
kill işlevi çağrıldığında, otherPart parametresi lav zeminine dokunan bölümü temsil eder ve işlevde yazacağınız kod kullanılabilir hale gelir.
Karakter ve Humanoid
Bir kullanıcı lavaya dokununca, Roblox oyuncunun dokunduğu kullanıcının özellikli vücut bölgesini tespit edebilir, örneğin sol bacak veya sağ bacak gibi, bu bölge deneyim içindeki kullanıcının avatarını oluşturan tüm nesneleri içerir.
- Kullanıcının kafası, bacakları ve gövdesi gibi bireysel vücut bölümleri.
- Kullanıcı tarafından giyilen herhangi bir kıyafet veya aksesuar.
- Class.Humanoid, kullanıcının sağlığı dahil olmak üzere kullanıcı ile ilgili birçok özellik içeren özel bir nesne.
- Kullanıcının hareketini kontrol eden HumanoidRootPart.
Daha önce de belirtildiği gibi, lavlarla temas eden herhangi bir beden kullanıcının karakteri kısmındır, bu yüzden otherPart.Parent ile bir referans alabilirsiniz. Oluşturun bir parçanın ebeveynini depolamak için bir değişken oluşturun.
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)
Kullanıcıyı öldürmek için insanoid nesneyi almanız gerekir. Bunu FindFirstChild() fonksiyonu ile yapabilirsiniz — sadece aradığınız şeyin adını verin ve o nesnede ilk eşleş
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)
Humanoid'i Kontrol Etme
Humanoid'i ifadesi kullanarak kolayca kontrol edebilirsiniz. Bir ifade ifadesindeki kod sadece ilk satırda belirlenen koşul doğrulandığında çalışır.
Gelecekteki kursların daha karmaşık koşullarını oluşturmak için kullanılan çeşitli operatörler var - şimdi sadece humanoid değişkenini if şartıyla bırakın. Bir 2>if2> ifadesi oluşturun, 5>humanoid5> koşulunu içeren bir ifadeyi oluştur
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
end
end
lava.Touched:Connect(kill)
Karakter Sağlığını Ayarlama
Şimdi Humanoid kontrol edildiğinde, onun özellikleri değiştirilebilir. Eğer onun Health özelliğini 0 olarak ayarlarsanız, ilişkili karakter ölür. ifadesinin bedeninde, 1>Health1> özelliğini humanoid'in 0'ına ayarlersiniz.
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)
Bu ile, lav zemininiz tamamlandı! Deneyiminizi test edin ve ölümcül lavanızın kullanıcılara iletişimettiğinde başarıyla öldürdüğünü göreceksiniz. Lav zemininizi bir obby'de ekstra bir meydan okuma olarak kullanmayı deneyin veya bir dünya sınırı olarak.
Nihai Kod
local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)