Ö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 hakkında tanıtım , bir deneyimde zamanla değişiklik yapmayı öğrendiniz.Kullanıcı davranışlarına dayalı değişiklikler yapmak istiyorsanız? Bu eğitimde, kullanıcılar adım attıklarında onları öldüren ölümcül bir lav zemini nasıl yapacağınızı öğreneceksiniz.

Kurulum

Ölümcül lavayı yerleştirmek için dünyanızdaki bir yere ihtiyacınız var.Eğer Kriptografiye Giriş kursunu takip ettiyseniz, lav zemini kaybolan platformlar tarafından kaplanan boşluğa güzel bir şekilde sığacaktır.

  1. Bir Part ve onu dünyanızdaki yere yerleştirin. Adlandırın LavaFloor .

  2. Kapatıcı alanın zeminini kapatacak şekilde yeniden boyutlandırın.

  3. Zemini daha çok lav gibi görünmesi için Material özelliğini Neon ve Color renkli bir ton olarak ayarlayın.

  4. Bir Komut DosyasıLavaFloor ekleyin ve adını Kill değiştirin.

  5. Varsayılan kodu kaldır ve lav için bir değişken oluştur.


    local lava = script.Parent

Bir olaya bağlanmak

Bir kullanıcı lavaya dokunduğunda tespit etmek için bir etkinlik kullanın.Her parça, bir şey ona dokunduğunda ateşleyen bir Touched etkinliğine sahiptir.Ateşlendiğinde bir işlev çalıştırmak için bu olaya bağlanabilirsiniz .

  1. kill adlı yeni bir işlev ilan edin.

  2. Bir nokta kullanarak lav nesnesindeki Touched etkinliğine erişin, tıpkı bir özellik gibi: lava.Touched .

  3. Parçaya dokunduğunda çağrılacak işlev olarak Connect ı geçerek Touched etkinliğinde kill() işlevini çağırın.


    local lava = script.Parent
    local function kill()
    end
    lava.Touched:Connect(kill)

kill işlevine yazdığınız herhangi bir kod, şimdi herhangi bir şey lavlara dokunduğunda çalışacaktır.Bir kolon işlevi için kullanıldığını unutmayın, bir nokta değil, bu noktada neden endişelenmeyin, sadece farkı hatırlayın.

Dokunan kısmı alın

Kullanıcıyı öldürmek için, işlev o kullanıcıyla ilişkili bir nesneye ihtiyaç duyacaktır.Bir parçanın Touched etkinliği, ona dokunduğu "diğer parça"yı sağlayabilir - ancak sadece işlevin bir parametresi haline getirerek isteyin.

Değerler, bir işlevin çağrıldığında almayı beklediği şeyin tanımıdır.Bir değer, herhangi bir diğer değişken gibi bir işlevde kullanılabilir.Bir işlev çağrıldığında parantezler içine dahil ederek bir değere bilgi aktarabilirsiniz. You can pass information to a parameter by including it in the parentheses when a function is called.Değerler bir işlevin ilk satırındaki parantezlerde tanımlanır. Parameters are defined in the parentheses on the first line of a function.Bir parametre oluştur ve işlevi için > adlı bir parametre oluştur.


local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)

kill fonksiyonu çağrıldığında, otherPart parametresi lav zeminine dokunan kısmı temsil edecek ve işlevte yazacağınız kod bunu kullanabilecek.

Karakter ve insansı

Bir kullanıcı lavaya dokunduğunda, Roblox, onu dokunan kullanıcının belirli vücut parçasını tespit edebilir, örneğin sol bacağı veya sağ ayak.Bu bölüm, deneyimde kullanıcının avatarını oluşturan tüm nesneleri içeren kullanıcının Karakter modelinde bulunur, içinde:

  • Kullanıcının baş, ekstremiteler ve gövde gibi bireysel vücut parçaları.
  • Kullanıcı tarafından giyilen herhangi bir giysi ve aksesuar.
  • The Humanoid , kullanıcının sağlığı dahil olmak üzere kullanıcıyla ilgili birçok özellik içeren özel bir nesne.
  • Kullanıcının hareketini kontrol eden HumanoidRootPart.

Daha önce belirtildiği gibi, lavla temas eden herhangi bir vücut parçası Karakter modelinin bir parçasıdır, bu nedenle bu karakterle ilgili bir referans alabilirsiniz otherPart.Parent ile .Lav zeminine dokunan parçanın ebeveynini saklamak 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)

Karakter modelinden, kullanıcıyı öldürmek için Humanoid nesnesini almanız gerekecek.Bunu FindFirstChild() fonksiyonu ile yapabilirsiniz - sadece aradığınız şeyin adını geçirin ve o nesnede bulduğu ilk eşleşen çocuğu sağlar.Bulmak ve sonucu yeni bir değişken olarak saklamak için çocuk olarak değişkenine çağrın ve sonucu olarak yeni bir değişken olarak depolayın.


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 edin

Humanoid'in bir if ifadesi kullanılarak bulunduğunu kolayca kontrol edebilirsiniz.Bir if ifadesindeki kod yalnızca ilk satırda tanımlanan koşul doğruysa çalışacaktır.

Gelecekte karşılaşacağınız daha karmaşık koşulları oluşturmak için kullanılabilecek çeşitli operatörler vardır - şimdilik, sadece humanoid oraya koyun.Koşul olarak ile bir if ifadesi oluşturun.


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ı ayarla

Artık Humanoid kontrol edildi, özellikleri değiştirilebilir.Onun Health özelliklerini 0 olarak ayarlarsanız, ilişkili Karakter ölür.if ifadesinin vücudunda, insansız Health özelliğini 0'a ayarlayın.


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)

Bununla birlikte, lav zemini tamamlandı! Deneyiminizi test edin ve ölümcül lavın iletişimbaşarıyla öldürdüğünü bulmalısınız.Lavanızı bir obby'de ekstra bir meydan okuma olarak veya bir dünyanın sınırı olarak kullanmayı deneyin.

Final kodu


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)