Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

I need to incorporate 2 scripts together?

Asked by 5 years ago

I am attempting to have the game give people a random weapon (stored in Lighting) when the game starts and then have it take it back when the game ends. I would like to incorporate script 1 into script 2.

I have proper indentations (both scripts run fine, but I would like to incorporate the first one into the second one so I can have them running together.)

Script 1:

game.Players.PlayerAdded:connect(function(p)

p.CharacterAdded:connect(function(c)

repeat wait() until p:FindFirstChild("Backpack")

game.Lighting:GetChildren()[math.random(1, #game.Lighting:GetChildren())]:clone().Parent = p.Backpack

end)

wait(2)

end)

Script 2:

-- Define variables

local ReplicatedStorage = game:GetService("ReplicatedStorage")

local ServerStorage = game:GetService("ServerStorage")

local MapsFolder = ServerStorage:WaitForChild("Maps")

local Status = ReplicatedStorage:WaitForChild("Status")

local GameLength = 180

local reward = 50

-- Game loop

while true do

Status.Value = "Waiting for Enough Players"

repeat wait(1) until game.Players.NumPlayers >= 2

Status.Value = "Intermission"

wait(10)

local plrs = {}

for i, player in pairs(game.Players:GetPlayers()) do

if player then

table.insert(plrs,player) -- Add each player into plrs table

end

end

wait(2)

local AvailableMaps = MapsFolder:GetChildren()

local ChosenMap = AvailableMaps[math.random(1,#AvailableMaps)]

Status.Value = ChosenMap.Name.." Map Chosen"

local ClonedMap = ChosenMap:Clone()

ClonedMap.Parent = workspace

-- Teleport players to the map

local SpawnPoints = ClonedMap:FindFirstChild("SpawnPoints")

if not SpawnPoints then

print("Spawnpoints not found!")

end

local AvailableSpawnPoints = SpawnPoints:GetChildren()

for i, player in pairs(plrs) do

if player then

character = player.Character

if character then

-- Teleport them

print(player.Name.." is about to be teleported")

character:FindFirstChild("HumanoidRootPart").CFrame = AvailableSpawnPoints[1].CFrame + Vector3.new(0,10,0)

table.remove(AvailableSpawnPoints,1)

game.Players.PlayerAdded:connect(function(p)

p.CharacterAdded:connect(function(c)

repeat wait() until p:FindFirstChild("Backpack")

game.Lighting:GetChildren()[math.random(1, #game.Lighting:GetChildren())]:clone().Parent = p.Backpack

end)

wait(2)

end)

-- Give them a sword

local equipped = game.ServerStorage.PlayerData[player.Name].Equipped

if equipped.Value ~= "" then

local Sword = game.ServerStorage.Items[equipped.Value]:Clone()

Sword.Parent = player.Backpack

else

local Sword = ServerStorage.Sword:Clone()

Sword.Parent = player.Backpack

end

local GameTag = Instance.new("BoolValue")

GameTag.Name = "GameTag"

GameTag.Parent = player.Character

else

-- There is no character

if not player then

table.remove(plrs,i)

end

end

end

end

Status.Value = "Get Ready to Play!"

wait(2)

for i = GameLength,0,-1 do

for x, player in pairs(plrs) do

if player then

character = player.Character

if not character then

-- Left the game

table.remove(plrs,x)

else

if character:FindFirstChild("GameTag") then

-- They are still alive

print(player.Name.." is still in the game!")

else

-- They are dead

table.remove(plrs,x)

print(player.Name.." has been removed!")

end

end

else

table.remove(plrs,x)

print(player.Name.." has been removed!")

end

end

Status.Value = "There are "..i.." Seconds Remaining and "..#plrs.." Players Left"

if #plrs == 1 then

-- Last person standing

Status.Value = "The Winner is "..plrs[1].Name

plrs[1].leaderstats.Bucks.Value = plrs[1].leaderstats.Bucks.Value + reward

break

elseif #plrs == 0 then

Status.Value = "Nobody Won!"

break

elseif i == 0 then

Status.Value = "Time is up!"

break

end

wait(1)

end

print("End of game")

wait(2)

for i, player in pairs(game.Players:GetPlayers()) do

character = player.Character

if not character then

-- Ignore them

else

if character:FindFirstChild("GameTag") then

character.GameTag:Destroy()

end

-- part 5

for _, tool in pairs(player.Backpack:GetChildren()) do

if tool:FindFirstChild("Price") then

tool:Destroy()

end

end

for _, tool in pairs(character:GetChildren()) do

if tool:FindFirstChild("Price") then

tool:Destroy()

end

end

end

player:LoadCharacter()

end

ClonedMap:Destroy()

Status.Value = "Game Over"

wait(2)

end

0
just use Parent:WaitForChild("ChildName"), rather than repeat wait() until p:FindFirstChild(“Backpack”) theking48989987 2147 — 5y
0
why are you using 3 dots it should be 2 for concatenation DeceptiveCaster 3761 — 5y

Answer this question