Durum ifadeleri kodu çalıştırmadan önce doğru olması gereken birden fazla gereksinime sahipse.Anahtar kelime and ifadeleri birleştirmenize izin verir.Aşağıdaki kod ilk önce iki artı iki altı eşitse değerlendirir ve ardından dört altı eşit değilse değerlendirir.Her iki ifade de doğruysa, kod çalışacaktır.
-- çalışmayacakif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- çalışacakif 4 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end
Bir güçlendirme oluştur
Güçlendirmeler, oyunculara uçma, görünmezlik veya hız gibi özel yetenekler veren deneyim öğeleridir.Bu güçlendirme, güçlendirmenin dokunulduğu her seferde oyuncunun yürüme hızını artıracaktır.Sürekli olarak güçlendirmeler uygulanması oyuncunun çok hızlı gitmesine neden olabilir, bu yüzden and üst yürüme hız sınırını kontrol etmek için kullanılacaktır.
Güçlendirmeyi kurun
Bu kodu bir kristal, para veya parlayan bir neon küre gibi basit bir parça veya modelle birlikte kullanın.
Yeni bir parça oluştur Güçlendirme ve WalkSpeedManager adlı bir senaryo ekleyin.
speedBoost adlı bir değişken ilan edin ve senaryonun ebeveyn nesnesini atayın.
-- Dokunduğunda geçici bir hız artışı sağlarlocal speedBoost = script.ParentonTouch adlı bir işlev kurun ve bunu ebeveyn nesnenin Touched etkinliğine bağlayın. Ardından çalışmanızı test edin ve kontrol edin.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)Yürüme Hızı özelliği Humanoid nesnelerde bulunur.Tuzak parçası oluştururken kullanılan aynı modeli kullanın ve Humanoid nesneleri kontrol eden koşullu bir oluşturun.
Humanoit parçalarını ararlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
Oyuncuları hızlandır
Hız artışı, hız artışı dokunduğunda her seferinde avatarların daha hızlı yürümesini sağlayacaktır.Bu çok, çok hızlı bir şekilde olacak.Anahtar kelime and oyuncuların belirli bir hız altında olduğu takdirde sadece hız artışını etkinleştirerek çok hızlı hareket edemeyeceklerinden emin olacaktır.
Bir Humanoid bulunursa, mevcut WalkSpeed değerini alın ve 10 ekleyin.Oyun testi yapın ve avatarınız, hız artışına dokunduğunda her seferinde daha hızlı olacak.
Mevcut WalkSpeed'i artırırlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)Eğer if ifadesinde, mevcut WalkSpeed değerinin 50'den az olduğu ikinci bir koşul eklemek için anahtar kelime and kullanın.Destek eklendikten sonra, en hızlı Yürüme Hızı değeri 60 olacaktır.
Mevcut WalkSpeed'in 50 veya daha az olduğunu kontrol ederif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Hız artışını ince ayar et
Hız artışı dokunduğunda her seferinde OnTouch çağrılır.Her adım veya en ufak bir sıçrama, dokunulan etkinliği tetikler ve bağlı işlevi çağırır.Parçanın özelliği, CanTouch Touched etkinliğinin ateşlenmesini engelleyebilir.CanTouch'dan yararlanın ve her etkinleştirildiğinde bir saniye boyunca hız artışını kapatın.
Güçlendirme uygulandıktan sonra, parçanın CanTouch özelliğini yalnızca bir kez uygulanacak şekilde ayarlayın. Oyun testi yapın ve güçlendirmenin yalnızca bir kez uygulandığından emin olun.
Hız artışını devre dışı bırakırlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)Senaryoyu bir saniye duraklatmak için task.wait(1) kullanın, ardından CanTouch'u doğruya ayarlayın.Oynatma testi yapın ve hız artışının bir saniye sonra tekrar uygulanabileceğinden emin olun.
Bitmiş senaryolocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)Bitmiş senaryodaki değerlerle oynayın. Yürüme hızı 100'e kadar artabilir. Varsayılan Yürüme hızı değeri 16'dır.
Özet
Anahtar kelime and bir kod parçasını çalıştırmadan önce birden fazla koşul gerektirmek için kullanılabilir, örneğin bir değer 0'dan ve 100'den daha fazla ve 100'den az olur.Ya da bir Insanoid varsa ve Yürüme Hızı 50'den az veya eşitse.