View difference between Paste ID: 2erAJJpz and 0dfBPc7J
SHOW: | | - or go back to the newest paste.
1-
--made by retrojooooono duh
1+
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
4
local RealPlayer = Player
5
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end --made by retrojooooono duh
6
lp = game.Players.LocalPlayer
7
char = lp.Character
8
head = char.Head
9
followmouse = false
10
gunsout = false
11
hum = char:FindFirstChildOfClass("Humanoid")
12
agentnames = {"Andy","Oliver","Xavier","David","Bob","John","Fred","Greg","George","Peter","Paul","Christopher","Luke"}
13
bodyguards = {}
14
function makeagent(name)
15
char.Archivable = true
16
clone = char:Clone()
17
clone.Parent = workspace
18
clone.Name = name
19
gc = clone:GetChildren()
20
for i=1, #gc do
21
if gc[i].ClassName == "Shirt" or gc[i].ClassName == "Pants" or gc[i].ClassName == "Accessory" or gc[i].ClassName == "Hat" or gc[i].ClassName == "ShirtGraphic" or gc[i].ClassName == "ShirtGraphics" then
22
gc[i]:Destroy()
23
end
24
end
25
findbc = clone:FindFirstChildOfClass("BodyColors")
26
if findbc then
27
findbc:Destroy()
28
end
29
newbc = Instance.new("BodyColors",clone)
30
newbc.HeadColor = BrickColor.new("Buttermilk")
31
newbc.LeftArmColor = BrickColor.new("Medium stone grey")
32
newbc.RightArmColor = BrickColor.new("Medium stone grey")
33
newbc.TorsoColor = BrickColor.new("Medium stone grey")
34
newbc.LeftLegColor = BrickColor.new("Really black")
35
newbc.RightLegColor = BrickColor.new("Really black")
36
clone.Head:FindFirstChildOfClass("Decal").Texture = "rbxasset://textures/face.png"
37
game:GetService("Chat"):Chat(clone.Head, "Agent "..clone.Name.." is in the area.", Enum.ChatColor.White)
38
table.insert(bodyguards, clone)
39
end
40
print([[
41
retrojooooono's bodyguard script
42
inspired by mustardfoot's bodyguard script
43
Commands:
44
bg/enter area -- Spawns a bodyguard.
45
bg/enter area/[number] -- Replace [number]
46
with a number. This will spawn [number] amount of
47
bodyguards.
48
bg/leave area -- Removes all bodyguards.
49
bg/follow mouse -- Toggles if the bodyguards
50
will follow the mouse or follow your character.
51
bg/chat/[msg] -- Replace "[msg]" with a message.
52
bg/guns out -- Makes bodyguards bring out their guns
53
and become ready to shoot someone. When the bodyguards'
54
guns are out you can hold the left mouse button to
55
make them shoot to where your mouse is pointing.
56
Has a 1 to 10 chance that the shot brick
57
will be destroyed. Will hurt NPCs, bodyguards,
58
and player characters that you shoot at.
59
bg/guns away -- Makes bodyguards hide their guns.
60
All of your bodyguards will say the message.
61
]])
62
lp.Chatted:connect(function(msg)
63
if msg == "bg/enter area" then
64
makeagent(agentnames[math.random(1,#agentnames)])
65
end
66
if string.sub(msg,1,14) == "bg/enter area/" then
67
howmuchtospawn = tonumber(string.sub(msg,15))
68
for spawnnumber=1, howmuchtospawn do
69
wait(0.01)
70
makeagent(agentnames[math.random(1,#agentnames)])
71
end
72
end
73
if msg == "bg/leave area" then
74
for get=1, #bodyguards do
75
curbg = bodyguards[get]
76
curbg:Destroy()
77
end
78
end
79
if msg == "bg/follow mouse" then
80
if followmouse then
81
followmouse = false
82
else
83
followmouse = true
84
end
85
end
86
if string.sub(msg,1,8) == "bg/chat/" then
87
if string.len(msg) > 8 then
88
whattochat = string.sub(msg,9)
89
for chat=1, #bodyguards do
90
if bodyguards[chat] ~= nil then
91
if bodyguards[chat]:FindFirstChild("Head") then
92
wait(0.01)
93
game:GetService("Chat"):Chat(bodyguards[chat]:FindFirstChild("Head"), whattochat, Enum.ChatColor.White)
94
end
95
end
96
end
97
end
98
end
99
if msg == "bg/guns out" then
100
for gun=1, #bodyguards do
101
wait(0.01)
102
gunsout = true
103
guntool = Instance.new("Tool")
104
guntool.Name = "Gun"
105
handle = Instance.new("Part",guntool)
106
handle.Name = "Handle"
107
handle.Size = Vector3.new(3,1,1)
108
handle.FrontSurface = Enum.SurfaceType.Hinge
109
guntool.Parent = bodyguards[gun]
110
end
111
end
112
if msg == "bg/guns away" then
113
for nogun=1, #bodyguards do
114
wait(0.01)
115
if bodyguards[nogun]:FindFirstChild("Gun") then
116
bodyguards[nogun]:FindFirstChild("Gun"):Destroy()
117
gunsout = false
118
end
119
end
120
end
121
end)
122
lp:GetMouse().Button1Down:connect(function()
123
wait(0.01)
124
mouse = lp:GetMouse()
125
hit = mouse.Hit
126
if gunsout then
127
target = mouse.Target
128
for shoot=1, #bodyguards do
129
bghead = bodyguards[shoot]:FindFirstChild("Head")
130
if bghead then
131
bullet = Instance.new("Part",workspace)
132
bullet.Size = Vector3.new(0.25,0.25,0.25)
133
bullet.CFrame = mouse.Hit
134
bullet.BrickColor = BrickColor.Black()
135
sound = Instance.new("Sound",bullet)
136
sound.SoundId = "rbxassetid://130770091"
137
sound:Play()
138
if target.Parent:FindFirstChildOfClass("Humanoid") then
139
target.Parent:FindFirstChildOfClass("Humanoid"):TakeDamage(5)
140
end
141
if math.random(1,10) == 5 then
142
target:Destroy()
143
end
144
end
145
end
146
end
147
end)
148
while true do
149
wait(1)
150
for a=1, #bodyguards do
151
if bodyguards[a] ~= nil then
152
if bodyguards[a]:FindFirstChild("Head") then
153
if followmouse == false then
154
bodyguards[a]:FindFirstChildOfClass("Humanoid").WalkToPoint = head.Position
155
else
156
bodyguards[a]:FindFirstChildOfClass("Humanoid").WalkToPoint = Vector3.new(lp:GetMouse().Hit.X, lp:GetMouse().Hit.Y, lp:GetMouse().Hit.Z)
157
end
158
end
159
end
160
end
161
end