So I'm trying to make a script that goes in every weapon to make it detect kills. Can someone help me make a script I can put that makes kills get detected. Here is a script I put in ServerScriptService. Also where in the weapon do I put it? In WeaponSystem? Thanks.
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local winsStore = DataStoreService:GetDataStore("winsStore")
local killStore = DataStoreService:GetDataStore("killStore")
local deathStore = DataStoreService:GetDataStore("deathStore")
local coinsStore = DataStoreService:GetDataStore("coinsStore")
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
local hasDied = Instance.new("BoolValue", character)
hasDied.Name = "HasDied"
hasDied.Value = false
character.Humanoid:GetPropertyChangedSignal("Health"):Connect(function()
if character.Humanoid.Health <= 0 and not character.HasDied.Value then
player.leaderstats.Deaths.Value = player.leaderstats.Deaths.Value + 1
end
end)
end)
player:WaitForChild("leaderstats")
local cash = Instance.new("IntValue", player)
cash.Name = "Cash"
local wins = Instance.new("IntValue", player.leaderstats)
wins.Name = "Wins"
local kills = Instance.new("IntValue", player.leaderstats)
kills.Name = "Kills"
local deaths = Instance.new("IntValue", player.leaderstats)
deaths.Name = "Deaths"
local success, error = pcall(function()
cash.Value = coinsStore:GetAsync(player.UserId)
wins.Value = winsStore:GetAsync(player.UserId)
kills.Value = killStore:GetAsync(player.UserId)
deaths.Value = deathStore:GetAsync(player.UserId)
end)
if not success then
warn("Error while finding data")
warn(error)
end
end)
Players.PlayerRemoving:Connect(function(player)
local success, error = pcall(function()
coinsStore:SetAsync(playe wr.UserId, player.Cash.Value)
winsStore:SetAsync(player.UserId, player.leaderstats.Wins.Value)
killStore:SetAsync(player.UserId, player.leaderstats.Kills.Value)
deathStore:SetAsync(player.UserId, player.leaderstats.Deaths.Value)
end)
if not success then
warn("Error while setting data")
warn(error)
end
end)
-- server is closing, sync everything
game:BindToClose(function()
for i, player in pairs(Players:GetPlayers()) do
local success, error = pcall(function()
coinsStore:SetAsync(player.UserId, player.Cash.Value)
winsStore:SetAsync(player.UserId, player.leaderstats.Wins.Value)
killStore:SetAsync(player.UserId, player.leaderstats.Kills.Value)
deathStore:SetAsync(player.UserId, player.leaderstats.Deaths.Value)
end)
if not success then
warn("Error while setting data")
warn(error)
end
end
end)
