It's pretty rare to get an answer here so I won't hold my breath, but if anyone can help me figure this out, I'm making a small game based on having a bunch of teleportation abilities that are required to progress through puzzles. A really big issue, however, is that if two players use Portal Creation, after the first three portals are made, other players will move those three portals instead of making their own.
elseif locale == true and p2m == true then
if pFolder:FindFirstChild("Portal2") == nil then
if prisma == true then
Portal2 = ServerStorage.prismPortal:Clone()
Portal2.Name = "Portal2"
elseif prisma2 == true then
Portal2 = ServerStorage.darkPortal:Clone()
Portal2.Name = "Portal2"
elseif prisma == false and prisma2 == false then
Portal2 = ServerStorage.Portal:Clone()
Portal2.Name = "Portal2"
end
print("Made 2", previous)
Portal2:Clone()
Portal2.Parent = pFolder
Portal2.Position = previous + Vector3.new(0,-2,0)
else
print("Remade 2", previous)
pFolder:FindFirstChild("Portal2").Position = previous + Vector3.new(0,-2,0)
end
elseif p2m == true and p3m == true then
if pFolder:FindFirstChild("Portal3") == nil then
if prisma == true then
Portal3 = ServerStorage.prismPortal:Clone()
Portal3.Name = "Portal3"
elseif prisma2 == true then
Portal3 = ServerStorage.darkPortal:Clone()
Portal3.Name = "Portal3"
elseif prisma == false and prisma2 == false then
Portal3 = ServerStorage.Portal:Clone()
Portal3.Name = "Portal3"
end
Portal3:Clone()
Portal3.Position = previous + Vector3.new(0,-2,0)
Portal3.Parent = pFolder
else
print("Remade 3", previous)
pFolder:FindFirstChild("Portal3").Position = previous + Vector3.new(0,-2,0)
end
end
local rArm = Player.Character:FindFirstChild("Right Arm")
pOrb.Parent = rArm
weld.Parent = rArm
weld.Part0 = rArm
weld.Part1 = pOrb
pOrb.Position = transport
-- print("RAP:", transport)
-- print("RAR:", detected)
-- print("TAP:", previous)
task.wait(.12)
p1.Enabled = true
p2.Enabled = true
p3.Enabled = true
p4.Enabled = true
task.wait(.12)
p1.Enabled = false
p2.Enabled = false
p3.Enabled = false
p4.Enabled = false
Some notes, locale, p2m, p3m, prisma, and prisma2 are all remotes from the local script.
Prisma and Prisma2 are mostly irrelevant, they're just cosmetic versions of the ability that make different portals. locale, p2m, and p3m all refer to boolean values in the local script that are used to determine which portals the player has made.
Here's the local script portion, incase it can be of help for helping me figure out why this issue is happening.
if InputObject.KeyCode == Enum.KeyCode.Z then
-- print("Portal Made!")
if globalCD == true then
if portal1made == false then
print("First Portal Made!")
globalCD = false
portal1made = true
portal2made = false
portal1 = Player.Character.Torso.Position
Player.Character.Humanoid.WalkSpeed = 0
task.wait(.2)
slam:Play()
Remote:FireServer("Create", rightArm.Position, rightArm.Rotation, portal1, portal1made, portal2made, portal3made, prisma1, prisma2)
task.wait(2)
Player.Character.Humanoid.WalkSpeed = 16
task.wait(3)
globalCD = true
elseif portal1made == true and portal2made == false then
print("Second Portal Made!")
globalCD = false
portal2made = true
portal3made = false
portal2 = Player.Character.Torso.Position
Player.Character.Humanoid.WalkSpeed = 0
task.wait(.2)
slam:Play()
Remote:FireServer("Create", rightArm.Position, rightArm.Rotation, portal2, portal1made, portal2made, portal3made, prisma1, prisma2)
task.wait(2)
Player.Character.Humanoid.WalkSpeed = 16
task.wait(3)
globalCD = true
elseif portal2made == true and portal3made == false then
print("Third Portal Made!")
globalCD = false
portal3made = true
portal1made = false
portal3 = Player.Character.Torso.Position
Player.Character.Humanoid.WalkSpeed = 0
task.wait(.2)
slam:Play()
Remote:FireServer("Create", rightArm.Position, rightArm.Rotation, portal3, portal1made, portal2made, portal3made, prisma1)
task.wait(2)
Player.Character.Humanoid.WalkSpeed = 16
task.wait(3)
globalCD = true
end
elseif globalCD == false then
warn("On Cooldown!")
end

1 comment
Kinda confused on where the variables are coming from, it might be a error with them.