Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
-- Phantom -- If you named your things the same as in the video then you don't have to rename things. local StarterGui = game:GetService("StarterGui") local Players = game:GetService("Players") -- No need to touch above -- You inserted these in ReplicatedStorage local FrameVisible = game.ReplicatedStorage:FindFirstChild("FrameVisible") -- BoolValue local PlayerImage = game.ReplicatedStorage:FindFirstChild("PlayerImage") -- RemoteEvent local PlayerName = game.ReplicatedStorage:FindFirstChild("PlayerName") -- StringValue local NPCImage = game.ReplicatedStorage:FindFirstChild("NPCImage") local Text = game.ReplicatedStorage:FindFirstChild("Text") -- StringValue local NPC = game.Workspace:FindFirstChild("NPC") local Teleports = game.Workspace:FindFirstChild("Teleports") local Sounds = game.Workspace:FindFirstChild("Sounds") local Checkpoints = game.Workspace:FindFirstChild("Checkpoints") -- Blank variables, do not touch local RandomPlayer local Message function TypeSound() local Sound = Instance.new("Sound") Sound.Parent = game.Workspace Sound.Name = "TypeSound" Sound.SoundId = "http://www.roblox.com/asset/?id=3333976425" -- You can change the typing sound if you like Sound.PlaybackSpeed = 1 Sound.Volume = 0.5 Sound:Play() coroutine.resume(coroutine.create(function() wait(1) Sound:Destroy() end)) end function SetText(word) Message = word for i = 1, #Message do Text.Value = string.sub(Message, 1, i) TypeSound() wait(0.05) -- Time between each letter, 0.05 seconds is recommended. The smaller the faster. end end function SetNPCText(word) Message = word for i = 1, #Message do Text.Value = string.sub(Message, 1, i) NPCImage:FireAllClients(NPCImage) PlayerName.Value = "Jeff" -- Put whatever you like here TypeSound() wait(0.05) -- Time between each letter, 0.05 seconds is recommended. The smaller the faster. end end function SetRandomPlayerText(word) Message = word RandomPlayer = nil wait() RandomPlayer = Players:GetChildren()[math.random(1, #Players:GetChildren())] PlayerName.Value = RandomPlayer.Name -- Sets the PlayerName to a random player's name PlayerImage:FireAllClients(RandomPlayer) -- Sets the image to a random player's head for i = 1, #Message do Text.Value = string.sub(Message, 1, i) TypeSound() -- Plays the typing sound wait(0.05) end end wait(10) FrameVisible.Value = true SetNPCText("Hello and welcome to the Camping Site!") wait(5) SetText("You will be staying here for a few nights!") wait(5) SetRandomPlayerText("Yay!") wait(5) SetNPCText("Go take a look inside that house over there.") wait(2) NPC.Humanoid:moveTo(Checkpoints.Checkpoint1.Position) NPC.Humanoid.MoveToFinished:Wait() for i, v in pairs(Players:GetChildren()) do v.Character.Torso.CFrame = Teleports.HouseTeleport.CFrame end wait(3) SetRandomPlayerText("Looks cozy!") wait(5) SetNPCText("Ok everyone, time to go outside.") wait(5) NPC.Humanoid:moveTo(Checkpoints.Checkpoint2.Position) NPC.Humanoid.MoveToFinished:Wait() wait(0.2) NPC.Humanoid:moveTo(Checkpoints.Checkpoint3.Position) NPC.Humanoid.MoveToFinished:Wait() for i, v in pairs(Players:GetChildren()) do v.Character.Torso.CFrame = Teleports.PathTeleport.CFrame end
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)