If ifadeleri, kodu çalıştırmadan önce doğru olması gereken birden fazla gereksinime sahip olabilir. and anahtar kelimesi, ifadeleri birleştirmenizi sağlar. Aşağıdaki kod, önce iki artı iki altıyı eşit mi diye değerlendirir, ardından dört altı eşit mi değil mi diye kontrol eder. Her iki ifade de doğruysa, kod çalışacaktır.
-- çalışmayacak
if 2 + 2 == 6 and 4 ~= 6 then
print("Her iki ifade de doğru")
end
-- çalışacak
if 4 + 2 == 6 and 4 ~= 6 then
print("Her iki ifade de doğru")
endBir güçlendirici oluşturun
Güçlendiriciler, oyunculara uçma, görünmezlik veya hız gibi özel yetenekler veren oyun içi nesnelerdir. Bu güçlendirici, güçlendiriciye her dokunulduğunda oyuncunun yürüme hızını artıracaktır. Sürekli olarak güçlendirmeler uygulamak, oyuncunun çok hızlı gitmesine neden olabilir, bu nedenle and üst yürüme hızı sınırını kontrol etmek için kullanılacaktır.
Güçlendiriciyi ayarlayın
Bu kodu basit bir parça veya bir model ile kullanın, örneğin bir kristal, madeni para veya parlayan neon küre.
Powerup adında yeni bir parça oluşturun ve WalkSpeedManager adında bir script ekleyin.
speedBoost adında bir değişken tanımlayın ve script'in ana nesnesini atayın.
-- dokunulduğunda geçici bir hız artışı sağlarlocal speedBoost = script.ParentonTouch adında bir fonksiyon oluşturun ve bunu ana nesnenin Touched olayına bağlayın. Ardından oyun testini yapın ve çalışmanızı kontrol edin.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Bir şey speedBoost'a dokundu")endspeedBoost.Touched:Connect(onTouch)WalkSpeed özelliği, Humanoid nesnelerinde bulunur. Bir tuzak parçası oluştururken kullanılan aynı deseni kullanın ve Humanoid nesnelerini kontrol eden bir koşul oluşturun.
Humanoid parçalarını ararlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Bir Humanoid bulundu")endend
Oyuncuları hızlandırın
Hız artışı, hız artışına her dokunulduğunda avatarların daha hızlı yürümesini sağlayacaktır. Bu, çok, çok hızlı hale gelecektir. and anahtar kelimesi, oyuncuların çok hızlı gitmesini engellemek için yalnızca hız artışını, oyuncunun belirli bir hızın altında olması durumunda etkinleştirecektir.
Eğer bir Humanoid bulunursa, mevcut WalkSpeed değerini alıp 10 ekleyin. Oyun testini yapın ve avatarınız hız artışına her dokunduğunda daha hızlı olacağını göreceksiniz.
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)If ifadesinde, mevcut WalkSpeed değerinin 50'den az olduğunu kontrol eden ikinci bir koşul eklemek için and anahtar kelimesini kullanın. Artışı ekledikten sonra, en hızlı WalkSpeed değeri 60 olacaktır.
Mevcut WalkSpeed'in 50 veya daha az olup olmadığını kontrol ederif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Hız artışını ince ayar yapın
OnTouch, hız artışına her dokunulduğunda çağrılır. Her adım veya en küçük sıçrama, Touched olayını tetikler ve bağlı fonksiyonu çağırır. Parçanın CanTouch özelliği, Touched olayının tetiklenmesini engelleyebilir. CanTouch'tan yararlanın ve her etkinleştirildiğinde hız artışını bir saniye boyunca kapatın.
Artışı uyguladıktan sonra, parçanın CanTouch özelliğini false olarak ayarlayın. Oyun testini yapın ve artışın 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)task.wait(1) kullanarak script'i bir saniye boyunca duraklatın, ardından CanTouch'u true olarak ayarlayın. Oyun testini yapın ve hız artışının bir saniye sonra yeniden uygulanabilir olduğundan emin olun.
Tamamlanmış scriptlocal 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)Tamamlanmış script'teki değerlerle oynayın. WalkSpeed 100'e kadar çıkabilir. Varsayılan WalkSpeed değeri 16'dır.
Özet
and anahtar kelimesi, bir kod parçasını çalıştırmadan önce birden fazla koşul gerektirmek için kullanılabilir, örneğin bir değerin 0'dan büyük ve 100'den küçük olması gibi. Ya da bir Humanoid varsa ve WalkSpeed'i 50 veya daha az ise.