Ölümcül Lav

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

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.

  1. Bir Part ekleyin ve dünyanıza yerleştirin. Adını LavaFloor olarak değiştirin.

  2. Yerleştirme alanının zeminini kapsayacak şekilde yeniden boyutlandırın.

  3. Zemini turuncu bir tonla daha ışıltmak için Material özelliğini Neon ve Color değerlerine ayarlayın.

  4. Bir Script kısmına LavaFloor parçasını gir ve onu Kill olarak yeniden adlandır.

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

  1. kill adında yeni bir işlev ilan et.

  2. Lav nesnesine bir nokta kullanarak erişim etkinliği Touched, tıpkı bir özellik gibi: lava.Touched .

  3. Touched etkinliğine Touched işlevini çağırır, kill işlevini geçer.


    local lava = script.Parent
    local function kill()
    end
    lava.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)