Advertisement
lafur

Untitled

Jan 4th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement