Okay, I have a training holo script that I wanted to change a little, and so I changed the keyvals that are said in the chat to load the map, and then I changed the name of the maps in the lighting to match the keyvals, but when I test it, the map will not load when I say the keyword combination "simulation initiate S-57" or any other map. What have I done wrong?
assert(workspace:FindFirstChild("Generator")~=nil,"There is no Generator model!")
gs = {}
trainers = {"Djinous"}
function globalScript(s)
yes = false
for i = 1,#gs do
if s.Name == gs[i] then
yes = true
break
end
end
return yes
end
game.Players.PlayerAdded:connect(function(player)
for i=1,#trainers do
if trainers[i]==player.Name then
player.Chatted:connect(onDoorSpeak)
break
end
end
end)
game.Players.PlayerAdded:connect(function(player)
if player:GetRankInGroup(567760) >= 161 then
trainers[#trainers+1] = player.Name
end
for i=1,#trainers do
if trainers[i]==player.Name then
player.Chatted:connect(onDoorSpeak)
break
end
end
end)
function checkEnv()
yes = false
for _,v in pairs(workspace:GetChildren()) do
if v:FindFirstChild("Environment") then
yes = true
end
end
return yes
end
envtools = {
["nil"] = {};
["team"] = {"ATK"};
["sword"] = {"Sword"};
["gun"] = {"Carbine"};
["both"] = {"Sword", "Carbine-(30)"};
}
tloc = {"Backpack","StarterGear"}
function resetTools(Player)
for _,btool in pairs(Player.Backpack:GetChildren()) do
btool:Remove()
end
for _,stool in pairs(Player.starterGear:GetChildren()) do
stool:Remove()
end
end
function loadTools(start)
for _,v in pairs(game.Players:GetPlayers()) do
resetTools(v)
for key,val in pairs(envtools) do
if string.lower(key) == string.lower(start) then
for _,tool in pairs(val) do
if game.Lighting:FindFirstChild(tool) then
local t = game.Lighting:FindFirstChild(tool)
for i = 1,#tloc do
t:Clone().Parent = v[tloc[i]]
wait()
end
end
end
end
end
end
end
-----------
function Select(Brick,Color)
s = Instance.new("SelectionBox",Brick)
s.Color = BrickColor.new(Color)
s.Adornee = Brick
workspace.Generator.Connection.Part = Brick
workspace.Generator.Connection.Color = BrickColor.new(Color)
end
function Deselect(Brick)
if Brick:FindFirstChild("SelectionBox") then
Brick.SelectionBox:Remove()
end
workspace.Generator.Connection.Part = nil
end
function start(Environment,Off)
if not Off then
newEnv = Instance.new("Model",workspace)
newEnv.Name = Environment.Name
envTag = Instance.new("NumberValue",newEnv)
envTag.Name = "Environment"
for _,v in pairs(Environment:GetChildren()) do
if v:IsA("BasePart") then
cframe = v.CFrame
newP = v:Clone()
newP.Parent = newEnv
newP.CFrame = cframe
Select(newP,"Earth green")
wait()
Deselect(newP)
elseif v:IsA("Script") then
if globalScript(v) then
newS = v:Clone()
newS.Parent = newEnv
end
end
end
m = Instance.new("Message",workspace)
m.Text = ""..string.upper(Environment.Name).." is finished. Enter when instructed." -- Edit this to whatever you want, or remove it
wait(5)
m:Remove()
elseif Off then
for _,v in pairs(Environment:GetChildren()) do
if v:IsA("BasePart") then
Select(v,"White")
wait()
v:Remove()
end
end
wait(0.1)
Environment:Remove()
end
end
function onDoorSpeak(msg,recip)
keywords = {
sample = {"simulation","terminate","initiate","F-88","O-21","O-62","S-57","F-43"};
}
keyvals = {
["simulation"] = false;
["terminate"] = false;
["initiate"] = false;
["F-88"] = false;
["O-21"] = false;
["O-62"] = false;
["S-57"] = false;
["F-43"] = false;
}
for _,v in pairs(keywords) do
for i = 1,#v do
s,e=string.lower(msg):find(v[i])
if s ~= nil and e ~= nil then
if s == e-(v[i]:len()-1) then
keyvals[v[i]]=true
end
end
end
end
wait()
if keyvals["simulation"] then
if keyvals["initiate"] then
if keyvals["F-88"] and not keyvals["O-21"] and not keyvals["O-62"] and not keyvals["S-57"] and not keyvals["F-43"] then
if not checkEnv() then
start(game.Lighting["F-88"])
loadTools("sword")
end
elseif keyvals["O-21"] and not keyvals["F-88"] and not keyvals["O-62"] and not keyvals["S-57"] and not keyvals["F-43"] then
if not checkEnv() then
start(game.Lighting["O-21"])
loadTools("nil")
end
elseif keyvals["O-62"] and not keyvals["F-88"] and not keyvals["O-21"] and not keyvals["S-57"] and not keyvals["F-43"] then
if not checkEnv() then
start(game.Lighting["O-62"])
loadTools("nil")
end
elseif keyvals["S-57"] and not keyvals["O-21"] and not keyvals["O-62"] and not keyvals["F-88"] and not keyvals["F-43"] then
if not checkEnv() then
start(game.Lighting["S-57"])
loadTools("nil")
end
elseif keyvals["F-43"] and not keyvals["O-21"] and not keyvals["O-62"] and not keyvals["S-57"] and not keyvals["F-88"] then
if not checkEnv() then
start(game.Lighting["F-43"])
loadTools("sword")
end
end
elseif keyvals["terminate"] then
for i, player in pairs(game.Players:GetPlayers()) do
player.Character.Torso.CFrame = CFrame.new(-17.1, 18.504, 92.101)
end
for _,v in pairs(workspace:GetChildren()) do
if v:FindFirstChild("Environment") then
start(v,true)
loadTools("nil")
end
end
end
end
end

1 comment
One other thing, it will end a simulation and move everyone where it is supposed to, but it just won't load a map.