Savurma
Coddy'nin Roblox Oyunu: Savaş Arenası kursunda ders 2 / 20.
Elinde bir araç varken tıklamak (veya dokunmak), sunucuda da Tool'un Activated olayını tetikler. Bir savurma hareketi, Roblox'un kendi kılıç savurma animasyonunu oynatır: bir Animation, animasyonu kimliğiyle tanımlar ve karakterin Humanoid'i içindeki Animator, animasyonu oynatmak üzere bir kanala yükler:
local slash = Instance.new("Animation")
slash.AnimationId = "rbxassetid://522635514"
character.Humanoid.Animator:LoadAnimation(slash):Play()Bir sınır olmadan oyuncu istediği kadar hızlı tıklayabilir; bu yüzden savurma hareketi, her oyuncu için son savurma zamanını bir tabloda hatırlar ve Settings.SwingCooldown saniye içinde başka bir savurma hareketini reddeder.
Görev
Kolay- Üst kısma yakın bir yere
local lastSwing = {}veslashAnimation'ını (idrbxassetid://522635514) ekle. - PlayerAdded'dan önce
swing(player)fonksiyonunu yaz: oyuncunun yaşayan bir karakteri yoksa veyaSettings.SwingCooldownsüresinden daha kısa bir süre önce kılıç salladıysa geri dön; aksi hâlde zamanı kaydet ve slash animasyonunu Animator'ında oynat. - Kılıcı verdiğin yerde,
Activatedolayınıswing(player)fonksiyonuna bağla.
Play'e bas, kılıcı elinde tut ve tıkla. Ardından Check'e bas.
Kendin dene
local Players = game:GetService("Players")
local ServerStorage = game:GetService("ServerStorage")
local Settings = require(game.ReplicatedStorage.Settings)
print("Swords deal " .. Settings.SwordDamage .. " damage")
-- Her oyuncunun liderlik tablosunda Kills değeri olur ve her yeniden doğuşunda bir kılıç alır
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local kills = Instance.new("IntValue")
kills.Name = "Kills"
kills.Parent = leaderstats
player.CharacterAdded:Connect(function()
local sword = ServerStorage.Sword:Clone()
sword.Parent = player.Backpack
end)
end)
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.