Hi, is there a way i can store a variable for a specific player, and then make an if statement saying wether they died. Something like this, but my script isnt working:
The part that I’m trying to add it to…
local function startEvent()
print("started")
local plr1CurrentKills = 0
local plr2CurrentKills = 0
local SwordGiver = game.ServerStorage.Sword
local Sword1 = SwordGiver:Clone()
local char1 = standingOnArena1Player1.Character
print("First Variables")
if char1 then
local humanoid1 = char1:FindFirstChild("Humanoid")
print("After Humanoid 1")
humanoid1.Died:Connect(function()
print("Detected Death")
plr2CurrentKills = plr2CurrentKills + 1
print("Added Kills")
if plr1CurrentKills < 5 then
print("Less than 5")
if humanoid1 then
print("Detected humanoid")
humanoid1.RespawnLocation = game.Workspace.Arena1Team1
print("Set respawn")
Sword1.Parent = standingOnArena1Player1.Backpack
print("Gave sword")
humanoid1:EquipTool(Sword1)
print("Complete")
end
end
end)
end
local Sword2 = SwordGiver:Clone()
local char2 = standingOnArena1Player2.Character
if char2 then
local humanoid2 = char2:FindFirstChild("Humanoid")
humanoid2.Died:Connect(function()
plr1CurrentKills = plr1CurrentKills + 1
if plr2CurrentKills < 5 then
if humanoid2 then
humanoid2.RespawnLocation = game.Workspace.Arena1Team2
Sword2.Parent = standingOnArena1Player2.Backpack
humanoid2:EquipTool(Sword2)
end
end
end)
end
end
The whole script:
local Players = game:GetService("Players")
local player = game.Players.LocalPlayer
local part1 = workspace.Arena1Player1
local part2 = workspace.Arena1Player2
local team1 = workspace.Arena1Team1
local team2 = workspace.Arena1Team2
local standingOnArena1Player1 = nil
local standingOnArena1Player2 = nil
local RemoteEvent = game.ReplicatedStorage:FindFirstChild("RemoteEvent")
local function startEvent()
print("started")
local plr1CurrentKills = 0
local plr2CurrentKills = 0
local SwordGiver = game.ServerStorage.Sword
local Sword1 = SwordGiver:Clone()
local char1 = standingOnArena1Player1.Character
print("First Variables")
if char1 then
local humanoid1 = char1:FindFirstChild("Humanoid")
print("After Humanoid 1")
humanoid1.Died:Connect(function()
print("Detected Death")
plr2CurrentKills = plr2CurrentKills + 1
print("Added Kills")
if plr1CurrentKills < 5 then
print("Less than 5")
if humanoid1 then
print("Detected humanoid")
humanoid1.RespawnLocation = game.Workspace.Arena1Team1
print("Set respawn")
Sword1.Parent = standingOnArena1Player1.Backpack
print("Gave sword")
humanoid1:EquipTool(Sword1)
print("Complete")
end
end
end)
end
local Sword2 = SwordGiver:Clone()
local char2 = standingOnArena1Player2.Character
if char2 then
local humanoid2 = char2:FindFirstChild("Humanoid")
humanoid2.Died:Connect(function()
plr1CurrentKills = plr1CurrentKills + 1
if plr2CurrentKills < 5 then
if humanoid2 then
humanoid2.RespawnLocation = game.Workspace.Arena1Team2
Sword2.Parent = standingOnArena1Player2.Backpack
humanoid2:EquipTool(Sword2)
end
end
end)
end
end
RemoteEvent.OnServerEvent:Connect(function() -- if any player presses the play button, executes event
if standingOnArena1Player2 ~= nil and standingOnArena1Player1 ~= nil then
--Hide playbutton gui
standingOnArena1Player2.PlayerGui.ScreenGui.Enabled = false
standingOnArena1Player1.PlayerGui.ScreenGui.Enabled = false
--Teleports
workspace[standingOnArena1Player1.Name].HumanoidRootPart.CFrame = CFrame.new(team1.Position.X,team1.Position.Y,team1.Position.Z)
workspace[standingOnArena1Player1.Name].HumanoidRootPart.CFrame *= CFrame.Angles(0, math.rad(90), 0)
workspace[standingOnArena1Player2.Name].HumanoidRootPart.CFrame = CFrame.new(team2.Position.X,team2.Position.Y,team2.Position.Z)
workspace[standingOnArena1Player2.Name].HumanoidRootPart.CFrame *= CFrame.Angles(0, math.rad(270), 0)
local gameRunning = true
startEvent() -- triggers function
end
end)
-----------------------------------------------------
-- PART1 Events --
-----------------------------------------------------
-- Touched functions [Events now set each part that was touched to the players name instead of the opposite button]
part1.Touched:Connect(function(TouchedPart) -- Touched
local Player = Players:GetPlayerFromCharacter(TouchedPart.Parent)
if Player then -- Check if it found character
if standingOnArena1Player1 == nil then -- Check if not standing and if not occupied
part1.BrickColor = BrickColor.new("Teal") -- Set color
standingOnArena1Player1 = Player
end
end
end)
part1.TouchEnded:Connect(function(TouchedPart)
local Player = Players:GetPlayerFromCharacter(TouchedPart.Parent)
if Player then -- Check if it found character
if standingOnArena1Player1 ~= nil then -- Check if standing and is occupied
if standingOnArena1Player1.PlayerGui.ScreenGui.Enabled == true then
standingOnArena1Player1.PlayerGui.ScreenGui.Enabled = false
end
part1.BrickColor = BrickColor.new("Smoky grey") -- Set color
standingOnArena1Player1 = nil
if standingOnArena1Player2 ~= nil then
if standingOnArena1Player2.PlayerGui.ScreenGui.Enabled == true then
standingOnArena1Player2.PlayerGui.ScreenGui.Enabled = false
end
end
end
end
end)
-----------------------------------------------------
-- PART2 Events --
-----------------------------------------------------
part2.Touched:Connect(function(TouchedPart) -- Touched
local Player = Players:GetPlayerFromCharacter(TouchedPart.Parent)
if Player then -- Check if it found character
if standingOnArena1Player2 == nil then -- Check if not standing and if not occupied
part2.BrickColor = BrickColor.new("Teal") -- Set color
standingOnArena1Player2 = Player
end
end
end)
part2.TouchEnded:Connect(function(TouchedPart)
local Player = Players:GetPlayerFromCharacter(TouchedPart.Parent)
if Player then -- Check if it found character
if standingOnArena1Player2 ~= nil then -- Check if standing and is occupied
if standingOnArena1Player2.PlayerGui.ScreenGui.Enabled == true then
standingOnArena1Player2.PlayerGui.ScreenGui.Enabled = false
end
part2.BrickColor = BrickColor.new("Smoky grey") -- Set color
standingOnArena1Player2 = nil
if standingOnArena1Player1 ~= nil then
if standingOnArena1Player1.PlayerGui.ScreenGui.Enabled == true then
standingOnArena1Player1.PlayerGui.ScreenGui.Enabled = false
end
end
end
end
end)
while task.wait(0) do
if standingOnArena1Player2 ~= nil and standingOnArena1Player1 ~= nil then -- checks if both players are on top
standingOnArena1Player2.PlayerGui.ScreenGui.Enabled = true
standingOnArena1Player1.PlayerGui.ScreenGui.Enabled = true
end
end
Any help would be greatly appreticiated!