SHOW:
|
|
- or go back to the newest paste.
| 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,game,owner = owner,game | |
| 4 | local RealPlayer = Player | |
| 5 | do print("FE Compatibility code V2 by Mokiros")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
| |
| 6 | ||
| 7 | local player = game:GetService("Players").LocalPlayer
| |
| 8 | local char = player.Character | |
| 9 | local mouse = player:GetMouse() | |
| 10 | local knife = true | |
| 11 | local phone = false | |
| 12 | local rs = char.Torso["Right Shoulder"] | |
| 13 | local activated = false | |
| 14 | local Revolver = false | |
| 15 | local readyts = true | |
| 16 | local dmg = false | |
| 17 | local hum = char.Humanoid | |
| 18 | local chara = false | |
| 19 | local LS = char.Torso["Left Shoulder"] | |
| 20 | local RH = char.Torso["Right Hip"] | |
| 21 | local LH = char.Torso["Left Hip"] | |
| 22 | local RJ = char.HumanoidRootPart.RootJoint | |
| 23 | local spinSpecial = false | |
| 24 | local slash = false | |
| 25 | --------------------------------------------------------[[Settings]] | |
| 26 | char.Humanoid.MaxHealth = 200 | |
| 27 | char.Humanoid.Health = 200 | |
| 28 | --------------------------------------------------------[[Tools,Sounds]] | |
| 29 | local Knife = Instance.new("Part",char)
| |
| 30 | Knife.Size = Vector3.new(0.2,3,0.8) | |
| 31 | Knife.CanCollide = false | |
| 32 | mesh = Instance.new("SpecialMesh")
| |
| 33 | mesh.Parent = Knife | |
| 34 | mesh.MeshId = "http://www.roblox.com/asset/?id=121944778" | |
| 35 | mesh.TextureId = "http://www.roblox.com/asset/?id=358682478" | |
| 36 | weld = Instance.new("Weld")
| |
| 37 | weld.Parent = char | |
| 38 | weld.Part0 = char["Right Arm"] | |
| 39 | weld.Part1 = Knife | |
| 40 | weld.C0 = CFrame.new(0,-1,-1) * CFrame.Angles(-1.57,0,0) | |
| 41 | local realKnife = Instance.new("Part",char)
| |
| 42 | realKnife.Size = Vector3.new(0.2,3,0.8) | |
| 43 | realKnife.CanCollide = false | |
| 44 | meshaa = Instance.new("SpecialMesh")
| |
| 45 | meshaa.Parent = realKnife | |
| 46 | meshaa.MeshId = "http://www.roblox.com/asset/?id=121944778" | |
| 47 | meshaa.TextureId = "http://www.roblox.com/asset/?id=362719969" | |
| 48 | realKnife.Transparency = 1 | |
| 49 | weldsa = Instance.new("Weld")
| |
| 50 | weldsa.Parent = char | |
| 51 | weldsa.Part0 = char["Right Arm"] | |
| 52 | weldsa.Part1 = realKnife | |
| 53 | weldsa.C0 = CFrame.new(0,-1,-1) * CFrame.Angles(-1.57,0,0) | |
| 54 | local SlashSound = Instance.new("Sound", Knife)
| |
| 55 | SlashSound.SoundId = "rbxassetid://394934205" | |
| 56 | local DamageSound = Instance.new("Sound",Knife)
| |
| 57 | DamageSound.SoundId = "rbxassetid://388826051" | |
| 58 | local Pp = Instance.new("Part",char)
| |
| 59 | Pp.Size = Vector3.new(0.6,1.1,0.2) | |
| 60 | Pp.CanCollide = false | |
| 61 | Pp.Transparency = 1 | |
| 62 | meshphon = Instance.new("SpecialMesh",Pp)
| |
| 63 | meshphon.MeshId = "http://www.roblox.com/asset/?id=268471347" | |
| 64 | meshphon.TextureId = "http://www.roblox.com/asset/?id=270166778" | |
| 65 | meshphon.Scale = Vector3.new(1.8,1.8,1) | |
| 66 | weld2 = Instance.new("Weld")
| |
| 67 | weld2.Parent = char | |
| 68 | weld2.Part0 = char["Right Arm"] | |
| 69 | weld2.Part1 = Pp | |
| 70 | weld2.C0 = CFrame.new(0,-0.6,-1) * CFrame.Angles(2,0,3.14) | |
| 71 | local revol = Instance.new("Part",char)
| |
| 72 | revol.Size = Vector3.new(0.2,1.83,1.03) | |
| 73 | revol.CanCollide = false | |
| 74 | revol.Transparency = 1 | |
| 75 | local shotSound = Instance.new("Sound",revol)
| |
| 76 | shotSound.SoundId = "rbxassetid://145080998" | |
| 77 | shotSound.PlaybackSpeed = 3 | |
| 78 | meshrevol = Instance.new("SpecialMesh",revol)
| |
| 79 | meshrevol.MeshId = "http://www.roblox.com/asset/?id=79401392" | |
| 80 | meshrevol.TextureId = "rbxassetid://97889459" | |
| 81 | meshrevol.Scale = Vector3.new(1.6,1.6,1.6) | |
| 82 | meshrevol.VertexColor = Vector3.new(1,0.9,0) | |
| 83 | weld3 = Instance.new("Weld")
| |
| 84 | weld3.Parent = char | |
| 85 | weld3.Part0 = char["Right Arm"] | |
| 86 | weld3.Part1 = revol | |
| 87 | weld3.C0 = CFrame.new(0,-1.4,-0.3) * CFrame.Angles(3.14,0,0) | |
| 88 | music = Instance.new("Sound")
| |
| 89 | music.Parent = char | |
| 90 | music.SoundId = "rbxassetid://399570826" | |
| 91 | music.Volume = 2 | |
| 92 | music.PlaybackSpeed = 1.15 | |
| 93 | music.Looped = true | |
| 94 | laugh = Instance.new("Sound")
| |
| 95 | laugh.Parent = char | |
| 96 | laugh.SoundId = "rbxassetid://319332735" | |
| 97 | laugh.Volume = 4 | |
| 98 | --------------------------------------------------------[[Gui]] | |
| 99 | local menu = Instance.new("ScreenGui")
| |
| 100 | menu.Parent = player.PlayerGui | |
| 101 | local Frame = Instance.new("ImageLabel", menu)
| |
| 102 | Frame.Image = "rbxassetid://48656662" | |
| 103 | Frame.Size = UDim2.new(0,200,0,300) | |
| 104 | Frame.BackgroundTransparency = 1 | |
| 105 | Frame.Position = UDim2.new(0,10,0,200) | |
| 106 | Frame.Visible = false | |
| 107 | local button = Instance.new("TextButton", Frame)
| |
| 108 | button.Size = UDim2.new(1,-10,0,30) | |
| 109 | button.Position = UDim2.new(0,10,0,10) | |
| 110 | button.BackgroundTransparency = 1 | |
| 111 | button.Text = "Revolver(Yellow Soul)" | |
| 112 | button.BorderSizePixel = 0 | |
| 113 | button.TextColor3 = Color3.new(255,255,255) | |
| 114 | button.TextStrokeTransparency = 0 | |
| 115 | button.Font = "SciFi" | |
| 116 | button.TextScaled = true | |
| 117 | --------------------------------------------------------[[Gui Scripts]] | |
| 118 | button.MouseButton1Click:connect(function() | |
| 119 | if Revolver == true then | |
| 120 | Revolver = false | |
| 121 | button.TextColor3 = Color3.new(255,255,255) | |
| 122 | elseif Revolver == false then | |
| 123 | Revolver = true | |
| 124 | button.TextColor3 = Color3.new(255,255,0) | |
| 125 | end | |
| 126 | end) | |
| 127 | --------------------------------------------------------[[Animations]] | |
| 128 | slash = Instance.new("Animation",workspace)
| |
| 129 | slash.AnimationId = "http://www.roblox.com/asset/?id=186934753" | |
| 130 | shoot = Instance.new("Animation",workspace)
| |
| 131 | shoot.AnimationId = "http://www.roblox.com/Asset?ID=95383980" | |
| 132 | --------------------------------------------------------[[Damage Functions]] | |
| 133 | function DamageObject(hit) | |
| 134 | local char=hit.Parent | |
| 135 | if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" and dmg == false then | |
| 136 | local h=char:FindFirstChild("Humanoid")
| |
| 137 | if h and h.Health > 0 then | |
| 138 | DamageSound:Play() | |
| 139 | h:TakeDamage(35) | |
| 140 | if h.Health == 0 then | |
| 141 | end | |
| 142 | dmg = true | |
| 143 | wait(1.5) | |
| 144 | end | |
| 145 | end | |
| 146 | end | |
| 147 | function shot(hit) | |
| 148 | local char=hit.Parent | |
| 149 | if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" then | |
| 150 | local h=char:FindFirstChild("Humanoid")
| |
| 151 | if h and h.Health > 0 then | |
| 152 | h:TakeDamage(10) | |
| 153 | if h.Health == 0 then | |
| 154 | end | |
| 155 | end | |
| 156 | end | |
| 157 | end | |
| 158 | function CharaDmg(hit) | |
| 159 | local char=hit.Parent | |
| 160 | if char and char~=player.Character and char.Name~="Arms_Model" and hit.Name~="Handle" and dmg == false then | |
| 161 | local h=char:FindFirstChild("Humanoid")
| |
| 162 | if h and h.Health > 0 then | |
| 163 | DamageSound:Play() | |
| 164 | h:TakeDamage(105) | |
| 165 | if h.Health == 0 then | |
| 166 | end | |
| 167 | dmg = true | |
| 168 | wait(1.5) | |
| 169 | end | |
| 170 | end | |
| 171 | end | |
| 172 | --------------------------------------------------------[[Normal Actions]] | |
| 173 | mouse.KeyDown:connect(function(key) | |
| 174 | Key = key:lower() | |
| 175 | if Key == "z" and knife == true and phone == false and chara == false then -- Normal Slash | |
| 176 | knife = false | |
| 177 | dmg = false | |
| 178 | local slashstart = char.Humanoid:LoadAnimation(slash) | |
| 179 | Knife.Touched:connect(DamageObject) | |
| 180 | slashstart:Play() | |
| 181 | SlashSound:Play() | |
| 182 | wait(0.76) | |
| 183 | knife = true | |
| 184 | elseif Key == "c" and knife == true and phone == false and chara == false then -- Phone | |
| 185 | knife = false | |
| 186 | phone = true | |
| 187 | Knife.Transparency = 1 | |
| 188 | for i = 1,5 do | |
| 189 | rs.C0 = rs.C0 * CFrame.Angles(0,0,0.157) | |
| 190 | wait() | |
| 191 | end | |
| 192 | Frame.Visible = true | |
| 193 | Pp.Transparency = 0 | |
| 194 | local menu = Instance.new("ScreenGui")
| |
| 195 | menu.Parent = player.PlayerGui | |
| 196 | local button = Instance.new("TextButton", menu)
| |
| 197 | elseif Key == "c" and knife == false and phone == true and Revolver == false and chara == false then -- phone Gui | |
| 198 | knife = true | |
| 199 | phone = false | |
| 200 | for i = 1,5 do | |
| 201 | rs.C0 = rs.C0 * CFrame.Angles(0,0,-0.157) | |
| 202 | wait() | |
| 203 | end | |
| 204 | Frame.Visible = false | |
| 205 | Knife.Transparency = 0 | |
| 206 | Pp.Transparency = 1 | |
| 207 | elseif Key == "c" and Revolver == true and phone == true and chara == false then | |
| 208 | phone = false | |
| 209 | revol.Transparency = 0 | |
| 210 | Pp.Transparency = 1 | |
| 211 | Frame.Visible = false | |
| 212 | for i = 1,5 do | |
| 213 | rs.C0 = rs.C0 * CFrame.Angles(0,0,-0.157) | |
| 214 | wait() | |
| 215 | end | |
| 216 | elseif Key == "c" and Revolver == true and phone == false and chara == false then | |
| 217 | phone = true | |
| 218 | Frame.Visible = true | |
| 219 | revol.Transparency = 1 | |
| 220 | Pp.Transparency = 0 | |
| 221 | for i = 1,5 do | |
| 222 | rs.C0 = rs.C0 * CFrame.Angles(0,0,0.157) | |
| 223 | wait() | |
| 224 | end | |
| 225 | elseif Key == "z" and Revolver == true then -- Revolver Script | |
| 226 | local shootstart = char.Humanoid:LoadAnimation(shoot) | |
| 227 | if (not readyts) then return end | |
| 228 | readyts = false | |
| 229 | targ = mouse.Target | |
| 230 | if (targ == nil) then | |
| 231 | readyts = true | |
| 232 | return | |
| 233 | end | |
| 234 | hum = targ.Parent:findFirstChild("Humanoid")
| |
| 235 | Hit = mouse.hit | |
| 236 | shootstart:Play() | |
| 237 | shotSound:Play() | |
| 238 | local P = Instance.new("Part",char)
| |
| 239 | P.Name = "BulletTrail" | |
| 240 | local Place0 = revol.CFrame | |
| 241 | P.formFactor = 0 | |
| 242 | P.Size = Vector3.new(0,0,(Place0.p - Hit.p).magnitude) | |
| 243 | P.CFrame = CFrame.new((Place0.p + Hit.p)/2,Place0.p) | |
| 244 | P.Anchored = true | |
| 245 | P.CanCollide = false | |
| 246 | P.BrickColor = BrickColor.new("White")
| |
| 247 | P.Touched:connect(shot) | |
| 248 | for count = 1, 10 do | |
| 249 | P.Transparency = count/10 | |
| 250 | wait() | |
| 251 | end | |
| 252 | P:remove() | |
| 253 | readyts = true | |
| 254 | elseif Key == "b" and chara == false and phone == false and Revolver == false then -- Chara Mode | |
| 255 | dmg = false | |
| 256 | chara = true | |
| 257 | local eye = Instance.new("Part")
| |
| 258 | eye.Parent = game.Workspace | |
| 259 | eye.Size = Vector3.new(0,0,0) | |
| 260 | eye.BrickColor = BrickColor.new("Bright red")
| |
| 261 | eye.Transparency = 0.3 | |
| 262 | eye.Anchored = true | |
| 263 | eye.CanCollide = false | |
| 264 | eye.CFrame = char.Head.CFrame * CFrame.new(0.1,0.2,-0.6) | |
| 265 | local mesh = Instance.new("SpecialMesh")
| |
| 266 | mesh.Parent = eye | |
| 267 | mesh.MeshType = "Sphere" | |
| 268 | char.Torso.Anchored = true | |
| 269 | char.Head.face.Parent = char.Humanoid | |
| 270 | local charaface = Instance.new("Decal")
| |
| 271 | charaface.Parent = char.Head | |
| 272 | charaface.Texture = "http://www.roblox.com/asset/?id=435233416" | |
| 273 | char.Humanoid.MaxHealth = 1000 | |
| 274 | char.Humanoid.Health = 1000 | |
| 275 | laugh:Play() | |
| 276 | for i = 1,20 do | |
| 277 | mesh.Scale = mesh.Scale + Vector3.new(2,0,0) | |
| 278 | eye.Transparency = eye.Transparency + 0.035 | |
| 279 | wait() | |
| 280 | end | |
| 281 | char.Torso.Anchored = false | |
| 282 | char.Humanoid.WalkSpeed = 32 | |
| 283 | Knife.Touched:connect(CharaDmg) | |
| 284 | realKnife.Transparency = 0 | |
| 285 | Knife.Transparency = 1 | |
| 286 | music:Play() | |
| 287 | elseif Key == "z" and chara == true and knife == true then -- Chara Slash | |
| 288 | knife = false | |
| 289 | local slashstart = char.Humanoid:LoadAnimation(slash) | |
| 290 | slashstart:Play() | |
| 291 | SlashSound:Play() | |
| 292 | wait(0.1) | |
| 293 | knife = true | |
| 294 | elseif Key == "b" and chara == true then | |
| 295 | chara = false | |
| 296 | realKnife.Transparency = 1 | |
| 297 | Knife.Transparency = 0 | |
| 298 | music:Stop() | |
| 299 | char.Humanoid.WalkSpeed = 16 | |
| 300 | char.Humanoid.MaxHealth = 200 | |
| 301 | char.Humanoid.Health = 200 | |
| 302 | char.Humanoid.face.Parent = char.Head | |
| 303 | char.Head.Decal:Destroy() | |
| 304 | elseif Key == "f" and knife == true and phone == false and Revolver == false and spinSpecial == false and chara == false then | |
| 305 | spinSpecial = true | |
| 306 | rs.C0 = rs.C0 * CFrame.Angles(0,0.785,1.57) | |
| 307 | LS.C0 = LS.C0 * CFrame.Angles(0,-0.785,-1.57) | |
| 308 | LH.C0 = LH.C0 * CFrame.Angles(0,0,0.39) * CFrame.new(0,1,0) | |
| 309 | RH.C0 = RH.C0 * CFrame.Angles(0,0,-0.39) * CFrame.new(0,1,0) | |
| 310 | SlashSound:Play() | |
| 311 | Knife.Touched:connect(DamageObject) | |
| 312 | for i = 1,24 do | |
| 313 | dmg = false | |
| 314 | Knife.Touched:connect(DamageObject) | |
| 315 | RJ.C0 = RJ.C0 * CFrame.Angles(0.785,0,0) | |
| 316 | wait(0.008) | |
| 317 | end | |
| 318 | dmg = true | |
| 319 | spinSpecial = false | |
| 320 | LH.C0 = LH.C0 * CFrame.new(0,-1,0) | |
| 321 | RH.C0 = RH.C0 * CFrame.new(0,-1,0) | |
| 322 | LH.C0 = LH.C0 * CFrame.Angles(0,0,-0.39) | |
| 323 | RH.C0 = RH.C0 * CFrame.Angles(0,0,0.39) | |
| 324 | rs.C0 = rs.C0 * CFrame.Angles(-0.785,0,-1.57) | |
| 325 | LS.C0 = LS.C0 * CFrame.Angles(-0.785,0,1.57) | |
| 326 | elseif Key == "f" and knife == true and chara == true and spinSpecial == false then | |
| 327 | spinSpecial = true | |
| 328 | rs.C0 = rs.C0 * CFrame.Angles(0,0.785,1.57) | |
| 329 | LS.C0 = LS.C0 * CFrame.Angles(0,-0.785,-1.57) | |
| 330 | LH.C0 = LH.C0 * CFrame.Angles(0,0,0.39) * CFrame.new(0,1,0) | |
| 331 | RH.C0 = RH.C0 * CFrame.Angles(0,0,-0.39) * CFrame.new(0,1,0) | |
| 332 | SlashSound:Play() | |
| 333 | Knife.Touched:connect(CharaDmg) | |
| 334 | for i = 1,24 do | |
| 335 | dmg = false | |
| 336 | Knife.Touched:connect(CharaDmg) | |
| 337 | RJ.C0 = RJ.C0 * CFrame.Angles(0.785,0,0) | |
| 338 | wait(0.008) | |
| 339 | end | |
| 340 | dmg = true | |
| 341 | spinSpecial = false | |
| 342 | LH.C0 = LH.C0 * CFrame.new(0,-1,0) | |
| 343 | RH.C0 = RH.C0 * CFrame.new(0,-1,0) | |
| 344 | LH.C0 = LH.C0 * CFrame.Angles(0,0,-0.39) | |
| 345 | RH.C0 = RH.C0 * CFrame.Angles(0,0,0.39) | |
| 346 | rs.C0 = rs.C0 * CFrame.Angles(-0.785,0,-1.57) | |
| 347 | LS.C0 = LS.C0 * CFrame.Angles(-0.785,0,1.57) | |
| 348 | end | |
| 349 | end) |