View difference between Paste ID: tMEpvFrr and N1Jr8BBd
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2
print("FE Compatibility code by Mokiros")
3
InternalData = {}
4
do
5
    script.Parent = owner.Character
6
    local Event = Instance.new("RemoteEvent")
7
    Event.Name = "UserInput"
8
    local function NewFakeEvent()
9
        local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
10
        return Fake
11
    end
12
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
13
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
14
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
15
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
16
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
17
    local function TriggerEvent(self,Event,...)
18
        local Trigger = Mouse[Event]
19
        if Trigger and Trigger.fakeEvent and Trigger.Function then
20
            Trigger.Function(...)
21
        end
22
    end
23
    Mouse.TrigEvent = TriggerEvent
24
    UserInputService.TrigEvent = TriggerEvent
25
    Event.OnServerEvent:Connect(function(FiredBy,Input)
26
        if FiredBy.Name ~= owner.Name then end
27
        if Input.MouseEvent then
28
            Mouse.Target = Input.Target
29
            Mouse.Hit = Input.Hit
30
        else
31
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
32
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then
33
                return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
34
            end
35
            for _,Action in pairs(ContextActionService.Actions) do
36
                for _,Key in pairs(Action.Keys) do
37
                    if Key==Input.KeyCode then
38
                        Action.Function(Action.Name,Input.UserInputState,Input)
39
                    end
40
                end
41
            end
42
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
43
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
44
        end
45
    end)
46
    InternalData["Mouse"] = Mouse
47
    InternalData["ContextActionService"] = ContextActionService
48
    InternalData["UserInputService"] = UserInputService
49
    Event.Parent = NLS([[
50
        local Player = owner
51
        local Event = script:WaitForChild("UserInput")
52
        local UserInputService = game:GetService("UserInputService")
53
        local Mouse = Player:GetMouse()
54
        local Input = function(Input,gameProcessedEvent)
55
            if gameProcessedEvent then return end
56
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
        end
58
        UserInputService.InputBegan:Connect(Input)
59
        UserInputService.InputEnded:Connect(Input)
60
        local Hit,Target
61
        while wait(1/30) do
62
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
                Hit,Target = Mouse.Hit,Mouse.Target
64
                Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
65
            end
66
        end
67
    ]],owner.Character)
68
end
69
RealGame = game;game = setmetatable({},{
70
    __index = function (self,Index)
71
        local Sandbox = function (Thing)
72
            if Thing:IsA("Player") then
73
                local RealPlayer = Thing
74
                return setmetatable({},{
75
                    __index = function (self,Index)
76
                        local Type = type(RealPlayer[Index])
77
                        if Type == "function" then
78
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
79
                                return function (self)
80
                                    return InternalData["Mouse"]
81
                                end
82
                            end
83
                            return function (self,...)
84
                                return RealPlayer[Index](RealPlayer,...)
85
                            end
86
                        else
87
                            if Index == "PlrObj" then
88
                                return RealPlayer
89
                            end
90
                            return RealPlayer[Index]
91
                        end
92
                    end;
93
                    __tostring = function(self)
94
                        return RealPlayer.Name
95
                    end
96
                })
97
            end
98
        end
99
        if RealGame[Index] then
100
            local Type = type(RealGame[Index])
101
            if Type == "function" then
102
                if Index:lower() == "getservice" or Index:lower() == "service" then
103
                    return function (self,Service)
104
                        if Service:lower() == "players" then
105
                            return setmetatable({},{
106
                                __index = function (self2,Index2)
107
                                    local RealService = RealGame:GetService(Service)
108
                                    local Type2 = type(Index2)
109
                                    if Type2 == "function" then
110
                                        return function (self,...)
111
                                            return RealService[Index2](RealService,...)
112
                                        end
113
                                    else
114
                                        if Index2:lower() == "localplayer" then
115
                                            return Sandbox(owner)
116
                                        end
117
                                        return RealService[Index2]
118
                                    end
119
                                end;
120
                                __tostring = function(self)
121
                                    return RealGame:GetService(Service).Name
122
                                end
123
                            })
124
                        elseif Service:lower() == "contextactionservice" then
125
                            return InternalData["ContextActionService"]
126
                        elseif Service:lower() == "contextactionservice" then
127
                            return InternalData["UserInputService"]
128
                        elseif Service:lower() == "runservice" then
129
                            return setmetatable({},{
130
                                __index = function(self2,Index2)
131
                                    local RealService = RealGame:GetService(Service)
132
                                    local Type2 = type(Index2)
133
                                    if Type2 == "function" then
134
                                        return function (self,...)
135
                                            return RealService[Index2](RealService,...)
136
                                        end
137
                                    else
138
                                        if Index2:lower() == "bindtorenderstep" then
139
                                            return function (self,Name,Priority,Function)
140
                                                return RealGame:GetService("RunService").Stepped:Connect(Function)
141
                                            end
142
                                        end
143
                                        if Index2:lower() == "renderstepped" then
144
                                            return RealService["Stepped"]
145
                                        end
146
                                        return RealService[Index2]
147
                                    end
148
                                end
149
                            })
150
                        else
151
                            return RealGame:GetService(Service)
152
                        end
153
                    end
154
                end
155
                return function (self,...)
156
                    return RealGame[Index](RealGame,...)
157
                end
158
            else
159
                if game:GetService(Index) then
160
                    return game:GetService(Index)
161
                end
162
                return RealGame[Index]
163
            end
164
        else
165
            return nil
166
        end
167
    end
168
});Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
169
print("Complete! Running...")
170
 
171
 
172
--//Paste script below this line.
173
174
function clerp(c1,c2,al)
175
    local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
176
    local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
177
    for i,v in pairs(com1) do 
178
        com1[i] = v+(com2[i]-v)*al
179
    end
180
    return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
181
end
182
183
plr = game:service'Players'.LocalPlayer
184
plrgui = plr:findFirstChild'PlayerGui'
185
plrmouse = plr:GetMouse()
186
char = plr.Character
187
humanoid = char:findFirstChild("Humanoid")
188
torso = char:findFirstChild("Torso")
189
head = char.Head
190
ra = char:findFirstChild("Right Arm")
191
la = char:findFirstChild("Left Arm")
192
rl = char:findFirstChild("Right Leg")
193
ll = char:findFirstChild("Left Leg")
194
rs = torso:findFirstChild("Right Shoulder")
195
ls = torso:findFirstChild("Left Shoulder")
196
rh = torso:findFirstChild("Right Hip")
197
lh = torso:findFirstChild("Left Hip")
198
neck = torso:findFirstChild("Neck")
199
rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
200
rootpart = char:findFirstChild("HumanoidRootPart")
201
camera = workspace.CurrentCamera
202
anim = char:findFirstChild("Animate")
203
204
local rm = Instance.new("Weld")
205
rm.C0 = CFrame.new(1.5, 0.5, 0)
206
rm.C1 = CFrame.new(0, 0.5, 0)
207
rm.Part0 = torso
208
rm.Part1 = ra
209
rm.Name = 'Right Shoulder'
210
211
local lm = Instance.new("Weld")
212
lm.C0 = CFrame.new(-1.5, 0.5, 0)
213
lm.C1 = CFrame.new(0, 0.5, 0)
214
lm.Part0 = torso
215
lm.Part1 = la
216
lm.Name = 'Left Shoulder'
217
218
local tool = Instance.new('HopperBin', plr.Backpack)
219
tool.Name = 'Dual M1911'
220
221
function scan(parent)
222
    local parts,last = {}
223
        for _,v in pairs(parent:GetChildren()) do
224
            if (v:IsA("BasePart")) then
225
            v.Anchored = true
226
                if (last) then
227
                    local w = Instance.new("Weld")
228
                    w.Name = ("%s_Weld"):format(v.Name)
229
                    w.Part0,w.Part1 = last,v
230
                    w.C0 = last.CFrame:inverse()
231
                    w.C1 = v.CFrame:inverse()
232
                    w.Parent = last
233
                end
234
                last = v
235
                table.insert(parts,v)
236
            end
237
            scan(v)
238
        end
239
    for _,v in pairs(parts) do
240
        v.Anchored = false
241
        v.Locked = true
242
        v.CanCollide = false
243
    end
244
end
245
246
--1-Torso
247
holsters=Instance.new("Model")
248
holsters.Name="Torso"
249
holsters.Parent=char
250
--2-HolsterWeldTo2
251
obj2=Instance.new("Part")
252
obj2.CFrame=CFrame.new(Vector3.new(14.8519955,1.44200003,35.6479988)) * CFrame.Angles(1.8325955867767,-1.4901161193848e-008,-3.1415927410126)
253
obj2.FormFactor=Enum.FormFactor.Custom
254
obj2.LeftSurface=10
255
obj2.Transparency=1
256
obj2.TopSurface=10
257
obj2.RightSurface=10
258
obj2.Material="SmoothPlastic"
259
obj2.Size=Vector3.new(0.200000003,0.200000003,1.60000014)
260
obj2.FrontSurface=10
261
obj2.BottomSurface=10
262
obj2.BackSurface=10
263
obj2.BrickColor=BrickColor.new("Dark stone grey")
264
obj2.Name="HolsterWeldTo2"
265
obj2.Parent=holsters
266
--3-Mesh
267
obj3=Instance.new("BlockMesh")
268
obj3.Scale=Vector3.new(0.999499977,1,1)
269
obj3.Parent=obj2
270
--4-Belt
271
obj4=Instance.new("Part")
272
obj4.CFrame=CFrame.new(Vector3.new(13.6000061,1.49000156,35.8999977)) * CFrame.Angles(-1.4901162970204e-008,0,-0)
273
obj4.FormFactor=Enum.FormFactor.Custom
274
obj4.LeftSurface=10
275
obj4.TopSurface=10
276
obj4.RightSurface=10
277
obj4.Material="SmoothPlastic"
278
obj4.Size=Vector3.new(2,0.200000003,1)
279
obj4.FrontSurface=10
280
obj4.BottomSurface=10
281
obj4.BackSurface=10
282
obj4.BrickColor=BrickColor.new("Dark stone grey")
283
obj4.Name="Belt"
284
obj4.Parent=holsters
285
--5-Mesh
286
obj5=Instance.new("BlockMesh")
287
obj5.Scale=Vector3.new(1.10000002,1,1.10000002)
288
obj5.Parent=obj4
289
--6-Hold2
290
obj6=Instance.new("Part")
291
obj6.CFrame=CFrame.new(Vector3.new(14.8000011,1.0950017,35.6999893)) * CFrame.Angles(0.26179936528206,0,-0)
292
obj6.FormFactor=Enum.FormFactor.Custom
293
obj6.LeftSurface=10
294
obj6.TopSurface=10
295
obj6.RightSurface=10
296
obj6.Material="SmoothPlastic"
297
obj6.Size=Vector3.new(0.400000006,1.00999999,0.600000024)
298
obj6.FrontSurface=10
299
obj6.BottomSurface=10
300
obj6.BackSurface=10
301
obj6.BrickColor=BrickColor.new("Dark stone grey")
302
obj6.Name="Hold2"
303
obj6.Parent=holsters
304
--7-TorsoWeld
305
obj7=Instance.new("Part")
306
obj7.CFrame=CFrame.new(Vector3.new(13.6000061,1.99000168,35.8999939)) * CFrame.Angles(-0,0,-0)
307
obj7.FormFactor=Enum.FormFactor.Custom
308
obj7.LeftSurface=10
309
obj7.Transparency=1
310
obj7.TopSurface=10
311
obj7.RightSurface=10
312
obj7.Size=Vector3.new(2,2,1)
313
obj7.FrontSurface=10
314
obj7.BottomSurface=10
315
obj7.BackSurface=10
316
obj7.BrickColor=BrickColor.new("Bright blue")
317
obj7.Name="TorsoWeld"
318
obj7.Parent=holsters
319
--8-HolsterWeldTo
320
obj8=Instance.new("Part")
321
obj8.CFrame=CFrame.new(Vector3.new(12.342,1.44200003,35.6479988)) * CFrame.Angles(1.8325955867767,-1.4901161193848e-008,-3.1415927410126)
322
obj8.FormFactor=Enum.FormFactor.Custom
323
obj8.LeftSurface=10
324
obj8.Transparency=1
325
obj8.TopSurface=10
326
obj8.RightSurface=10
327
obj8.Material="SmoothPlastic"
328
obj8.Size=Vector3.new(0.200000003,0.200000003,1.60000014)
329
obj8.FrontSurface=10
330
obj8.BottomSurface=10
331
obj8.BackSurface=10
332
obj8.BrickColor=BrickColor.new("Dark stone grey")
333
obj8.Name="HolsterWeldTo"
334
obj8.Parent=holsters
335
--9-Mesh
336
obj9=Instance.new("BlockMesh")
337
obj9.Scale=Vector3.new(0.999499977,1,1)
338
obj9.Parent=obj8
339
--10-Hold
340
obj10=Instance.new("Part")
341
obj10.CFrame=CFrame.new(Vector3.new(12.4000053,1.09500158,35.6999893)) * CFrame.Angles(0.26179936528206,0,-0)
342
obj10.FormFactor=Enum.FormFactor.Custom
343
obj10.LeftSurface=10
344
obj10.TopSurface=10
345
obj10.RightSurface=10
346
obj10.Material="SmoothPlastic"
347
obj10.Size=Vector3.new(0.400000006,1.00999999,0.600000024)
348
obj10.FrontSurface=10
349
obj10.BottomSurface=10
350
obj10.BackSurface=10
351
obj10.BrickColor=BrickColor.new("Dark stone grey")
352
obj10.Name="Hold"
353
obj10.Parent=holsters
354
holsters:MakeJoints()
355
scan(holsters)
356
357
--1-M1911
358
gun=Instance.new("Model")
359
gun.Name="M1911"
360
gun.Parent=char
361
--2-Handle
362
obj2=Instance.new("Part")
363
obj2.CFrame=CFrame.new(Vector3.new(12.3420238,1.86332655,36.3927727)) * CFrame.Angles(1.5707963705063,-4.4703483581543e-008,3.1415927410126)
364
obj2.FormFactor=Enum.FormFactor.Custom
365
obj2.LeftSurface=10
366
obj2.TopSurface=10
367
obj2.RightSurface=10
368
obj2.Material=Enum.Material.Wood
369
obj2.Size=Vector3.new(0.200000003,0.99999994,0.400000036)
370
obj2.FrontSurface=10
371
obj2.BottomSurface=10
372
obj2.BackSurface=10
373
obj2.BrickColor=BrickColor.new("Brown")
374
obj2.Name="Handle"
375
obj2.Parent=gun
376
--3-Decor
377
obj3=Instance.new("Part")
378
obj3.CFrame=CFrame.new(Vector3.new(12.3420143,2.28510284,35.9773712)) * CFrame.Angles(1.832595705986,0,-3.1415927410126)
379
obj3.FormFactor=Enum.FormFactor.Custom
380
obj3.LeftSurface=10
381
obj3.TopSurface=10
382
obj3.RightSurface=10
383
obj3.Material="SmoothPlastic"
384
obj3.Size=Vector3.new(0.200000003,0.200000003,0.200000003)
385
obj3.FrontSurface=10
386
obj3.BottomSurface=10
387
obj3.BackSurface=10
388
obj3.BrickColor=BrickColor.new("Dark stone grey")
389
obj3.Name="Decor"
390
obj3.Parent=gun
391
--4-Mesh
392
obj4=Instance.new("BlockMesh")
393
obj4.Offset=Vector3.new(0,0.00999999978,0.0399999991)
394
obj4.Scale=Vector3.new(0.699999988,0.200000003,0.800000012)
395
obj4.Parent=obj3
396
--5-Decor
397
obj5=Instance.new("Part")
398
obj5.CFrame=CFrame.new(Vector3.new(12.3420143,1.46716928,35.8617401)) * CFrame.Angles(1.8325955867767,-1.4901161193848e-008,-3.1415927410126)
399
obj5.FormFactor=Enum.FormFactor.Custom
400
obj5.LeftSurface=10
401
obj5.TopSurface=10
402
obj5.RightSurface=10
403
obj5.Material="SmoothPlastic"
404
obj5.Size=Vector3.new(0.200000003,0.400000006,0.200000003)
405
obj5.FrontSurface=10
406
obj5.BottomSurface=10
407
obj5.BackSurface=10
408
obj5.BrickColor=BrickColor.new("Dark stone grey")
409
obj5.Name="Decor"
410
obj5.Parent=gun
411
--6-Mesh
412
obj6=Instance.new("BlockMesh")
413
obj6.Scale=Vector3.new(0.600000024,1,0.200000003)
414
obj6.Parent=obj5
415
--7-Decor
416
obj7=Instance.new("Part")
417
obj7.CFrame=CFrame.new(Vector3.new(12.3420124,1.55429673,36.0928192)) * CFrame.Angles(0.45686540007591,-1.1175870895386e-008,3.141592502594)
418
obj7.FormFactor=Enum.FormFactor.Custom
419
obj7.LeftSurface=10
420
obj7.TopSurface=10
421
obj7.RightSurface=10
422
obj7.Material="SmoothPlastic"
423
obj7.Size=Vector3.new(0.200000003,0.310000002,0.200000003)
424
obj7.FrontSurface=10
425
obj7.BottomSurface=10
426
obj7.BackSurface=10
427
obj7.BrickColor=BrickColor.new("Dark stone grey")
428
obj7.Name="Decor"
429
obj7.Parent=gun
430
--8-Mesh
431
obj8=Instance.new("BlockMesh")
432
obj8.Scale=Vector3.new(0.600000024,1,0.200000003)
433
obj8.Parent=obj7
434
--9-Decor
435
obj9=Instance.new("Part")
436
obj9.CFrame=CFrame.new(Vector3.new(12.3420258,2.21372294,35.8965569)) * CFrame.Angles(0.76370096206665,-1.4901161193848e-008,-3.1415927410126)
437
obj9.FormFactor=Enum.FormFactor.Custom
438
obj9.LeftSurface=10
439
obj9.TopSurface=10
440
obj9.RightSurface=10
441
obj9.Material="SmoothPlastic"
442
obj9.Size=Vector3.new(0.200000003,0.200000003,0.200000003)
443
obj9.FrontSurface=10
444
obj9.BottomSurface=10
445
obj9.BackSurface=10
446
obj9.BrickColor=BrickColor.new("Dark stone grey")
447
obj9.Name="Decor"
448
obj9.Parent=gun
449
--10-Mesh
450
obj10=Instance.new("BlockMesh")
451
obj10.Scale=Vector3.new(0.400000006,0.200000003,1)
452
obj10.Parent=obj9
453
--11-Decor
454
obj11=Instance.new("Part")
455
obj11.CFrame=CFrame.new(Vector3.new(12.3420229,1.8633275,36.2927704)) * CFrame.Angles(1.5707963705063,-4.4703483581543e-008,3.1415927410126)
456
obj11.FormFactor=Enum.FormFactor.Custom
457
obj11.LeftSurface=10
458
obj11.TopSurface=10
459
obj11.RightSurface=10
460
obj11.Material="SmoothPlastic"
461
obj11.Size=Vector3.new(0.200000003,1.20000005,0.400000036)
462
obj11.FrontSurface=10
463
obj11.BottomSurface=10
464
obj11.BackSurface=10
465
obj11.BrickColor=BrickColor.new("Dark stone grey")
466
obj11.Name="Decor"
467
obj11.Parent=gun
468
--12-Mesh
469
obj12=Instance.new("BlockMesh")
470
obj12.Offset=Vector3.new(0,-0.0700000003,0)
471
obj12.Scale=Vector3.new(0.995000005,0.949999988,1.20000005)
472
obj12.Parent=obj11
473
--13-Decor
474
obj13=Instance.new("Part")
475
obj13.CFrame=CFrame.new(Vector3.new(12.3420258,2.30202365,35.8373909)) * CFrame.Angles(1.756756901741,-1.0430812835693e-007,3.1415927410126)
476
obj13.FormFactor=Enum.FormFactor.Custom
477
obj13.LeftSurface=10
478
obj13.TopSurface=10
479
obj13.RightSurface=10
480
obj13.Material="SmoothPlastic"
481
obj13.Size=Vector3.new(0.200000003,0.200000003,0.200000003)
482
obj13.FrontSurface=10
483
obj13.BottomSurface=10
484
obj13.BackSurface=10
485
obj13.BrickColor=BrickColor.new("Dark stone grey")
486
obj13.Name="Decor"
487
obj13.Parent=gun
488
--14-Mesh
489
obj14=Instance.new("BlockMesh")
490
obj14.Scale=Vector3.new(0.400000006,0.200000003,0.400000006)
491
obj14.Parent=obj13
492
--15-BulletCase
493
obj15=Instance.new("Part")
494
obj15.CFrame=CFrame.new(Vector3.new(12.3420229,1.44165683,35.6482697)) * CFrame.Angles(1.8325955867767,-1.4901161193848e-008,-3.1415927410126)
495
obj15.FormFactor=Enum.FormFactor.Custom
496
obj15.LeftSurface=10
497
obj15.TopSurface=10
498
obj15.RightSurface=10
499
obj15.Material="SmoothPlastic"
500
obj15.Size=Vector3.new(0.200000003,0.200000003,1.60000014)
501
obj15.FrontSurface=10
502
obj15.BottomSurface=10
503
obj15.BackSurface=10
504
obj15.BrickColor=BrickColor.new("Dark stone grey")
505
obj15.Name="BulletCase"
506
obj15.Parent=gun
507
--16-Mesh
508
obj16=Instance.new("BlockMesh")
509
obj16.Scale=Vector3.new(0.999499977,1,1)
510
obj16.Parent=obj15
511
--17-Flashlight
512
obj17=Instance.new("Part")
513
obj17.CFrame=CFrame.new(Vector3.new(12.3420115,0.729269207,35.601902)) * CFrame.Angles(-2.8797931671143,-1.7763568394003e-015,-3.1415927410126)
514
obj17.FormFactor=Enum.FormFactor.Custom
515
obj17.LeftSurface=10
516
obj17.TopSurface=10
517
obj17.RightSurface=10
518
obj17.Material="SmoothPlastic"
519
obj17.Size=Vector3.new(0.200000003,0.200000003,0.200000003)
520
obj17.FrontSurface=10
521
obj17.BottomSurface=10
522
obj17.BackSurface=10
523
obj17.BrickColor=BrickColor.new("Pastel yellow")
524
obj17.Name="Flashlight"
525
obj17.Parent=gun
526
--18-Mesh
527
obj18=Instance.new("CylinderMesh")
528
obj18.Offset=Vector3.new(0,0,0.0500000007)
529
obj18.Scale=Vector3.new(0.5,1.01999998,0.5)
530
obj18.Parent=obj17
531
--19-Decor
532
obj19=Instance.new("Part")
533
obj19.CFrame=CFrame.new(Vector3.new(12.3420143,2.1178081,35.8290215)) * CFrame.Angles(1.832595705986,0,-3.1415927410126)
534
obj19.FormFactor=Enum.FormFactor.Custom
535
obj19.LeftSurface=10
536
obj19.TopSurface=10
537
obj19.RightSurface=10
538
obj19.Material="SmoothPlastic"
539
obj19.Size=Vector3.new(0.200000003,0.400000036,0.200000003)
540
obj19.FrontSurface=10
541
obj19.BottomSurface=10
542
obj19.BackSurface=10
543
obj19.BrickColor=BrickColor.new("Black")
544
obj19.Name="Decor"
545
obj19.Parent=gun
546
--20-Mesh
547
obj20=Instance.new("BlockMesh")
548
obj20.Scale=Vector3.new(0.5,0.5,1.10000002)
549
obj20.Parent=obj19
550
--21-Decor
551
obj21=Instance.new("Part")
552
obj21.CFrame=CFrame.new(Vector3.new(12.2895117,2.05304575,35.6843338)) * CFrame.Angles(1.832595705986,1.5699505805969,-3.1415927410126)
553
obj21.FormFactor=Enum.FormFactor.Custom
554
obj21.LeftSurface=10
555
obj21.TopSurface=10
556
obj21.RightSurface=10
557
obj21.Material="SmoothPlastic"
558
obj21.Size=Vector3.new(0.399999976,0.200000003,0.200000003)
559
obj21.FrontSurface=10
560
obj21.BottomSurface=10
561
obj21.BackSurface=10
562
obj21.BrickColor=BrickColor.new("Dark stone grey")
563
obj21.Name="Decor"
564
obj21.Parent=gun
565
--22-Mesh
566
obj22=Instance.new("SpecialMesh")
567
obj22.MeshType=Enum.MeshType.Wedge
568
obj22.Scale=Vector3.new(1,0.25,0.50999999)
569
obj22.Parent=obj21
570
--23-Decor
571
obj23=Instance.new("Part")
572
obj23.CFrame=CFrame.new(Vector3.new(12.3420172,1.41577363,35.744442)) * CFrame.Angles(-2.8797931671143,-1.7763568394003e-015,-3.1415927410126)
573
obj23.FormFactor=Enum.FormFactor.Custom
574
obj23.LeftSurface=10
575
obj23.TopSurface=10
576
obj23.RightSurface=10
577
obj23.Material="SmoothPlastic"
578
obj23.Size=Vector3.new(0.200000003,1.60000002,0.200000003)
579
obj23.FrontSurface=10
580
obj23.BottomSurface=10
581
obj23.BackSurface=10
582
obj23.BrickColor=BrickColor.new("Dark stone grey")
583
obj23.Name="Decor"
584
obj23.Parent=gun
585
--24-Mesh
586
obj24=Instance.new("CylinderMesh")
587
obj24.Parent=obj23
588
--25-ShellCaseSpawner
589
obj25=Instance.new("Part")
590
obj25.CFrame=CFrame.new(Vector3.new(12.3420172,1.75731552,35.6289024)) * CFrame.Angles(-2.8797931671143,-1.7763568394003e-015,-3.1415927410126)
591
obj25.FormFactor=Enum.FormFactor.Custom
592
obj25.LeftSurface=10
593
obj25.TopSurface=10
594
obj25.RightSurface=10
595
obj25.Material="SmoothPlastic"
596
obj25.Size=Vector3.new(0.200000003,0.200000003,0.200000003)
597
obj25.FrontSurface=10
598
obj25.BottomSurface=10
599
obj25.BackSurface=10
600
obj25.Name="ShellCaseSpawner"
601
obj25.Parent=gun
602
--26-Mesh
603
obj26=Instance.new("CylinderMesh")
604
obj26.Offset=Vector3.new(0.0149999997,0,-0.0350000001)
605
obj26.Scale=Vector3.new(0.75,1,0.75)
606
obj26.Parent=obj25
607
--27-Decor
608
obj27=Instance.new("Part")
609
obj27.CFrame=CFrame.new(Vector3.new(12.3420115,0.765501678,35.4666672)) * CFrame.Angles(-2.8797931671143,-1.7763568394003e-015,-3.1415927410126)
610
obj27.FormFactor=Enum.FormFactor.Custom
611
obj27.LeftSurface=10
612
obj27.TopSurface=10
613
obj27.RightSurface=10
614
obj27.Material="SmoothPlastic"
615
obj27.Size=Vector3.new(0.200000003,0.200000003,0.200000003)
616
obj27.FrontSurface=10
617
obj27.BottomSurface=10
618
obj27.BackSurface=10
619
obj27.BrickColor=BrickColor.new("Black")
620
obj27.Name="Decor"
621
obj27.Parent=gun
622
--28-Mesh
623
obj28=Instance.new("CylinderMesh")
624
obj28.Offset=Vector3.new(0,0,0.0500000007)
625
obj28.Scale=Vector3.new(0.5,1.01999998,0.5)
626
obj28.Parent=obj27
627
--29-Decor
628
obj29=Instance.new("Part")
629
obj29.CFrame=CFrame.new(Vector3.new(12.3920164,1.4734931,35.5290413)) * CFrame.Angles(-1.3089969158173,-1.5701057910919,-0)
630
obj29.FormFactor=Enum.FormFactor.Custom
631
obj29.LeftSurface=10
632
obj29.TopSurface=10
633
obj29.RightSurface=10
634
obj29.Material="SmoothPlastic"
635
obj29.Size=Vector3.new(1.60000002,0.200000003,0.200000003)
636
obj29.FrontSurface=10
637
obj29.BottomSurface=10
638
obj29.BackSurface=10
639
obj29.BrickColor=BrickColor.new("Dark stone grey")
640
obj29.Name="Decor"
641
obj29.Parent=gun
642
--30-Mesh
643
obj30=Instance.new("SpecialMesh")
644
obj30.MeshType=Enum.MeshType.Wedge
645
obj30.Scale=Vector3.new(1,0.25,0.5)
646
obj30.Parent=obj29
647
--31-Decor
648
obj31=Instance.new("Part")
649
obj31.CFrame=CFrame.new(Vector3.new(12.2895117,1.18371284,35.4513969)) * CFrame.Angles(1.832595705986,1.5699505805969,-3.1415927410126)
650
obj31.FormFactor=Enum.FormFactor.Custom
651
obj31.LeftSurface=10
652
obj31.TopSurface=10
653
obj31.RightSurface=10
654
obj31.Material="SmoothPlastic"
655
obj31.Size=Vector3.new(1,0.200000003,0.200000003)
656
obj31.FrontSurface=10
657
obj31.BottomSurface=10
658
obj31.BackSurface=10
659
obj31.BrickColor=BrickColor.new("Dark stone grey")
660
obj31.Name="Decor"
661
obj31.Parent=gun
662
--32-Mesh
663
obj32=Instance.new("SpecialMesh")
664
obj32.MeshType=Enum.MeshType.Wedge
665
obj32.Scale=Vector3.new(1,0.25,0.50999999)
666
obj32.Parent=obj31
667
gun:MakeJoints()
668
scan(gun)
669
670
local gun2 = gun:clone()
671
gun2.Parent = char
672
673
local torsoweld = Instance.new('Weld', char)
674
torsoweld.Part0 = torso
675
torsoweld.Part1 = holsters.TorsoWeld
676
torsoweld.C1 = CFrame.Angles(0,math.pi,0)
677
678
local gunweld = Instance.new('Weld', char)
679
gunweld.Part0 = gun.BulletCase
680
gunweld.Part1 = holsters.HolsterWeldTo
681
682
local gunweld2 = Instance.new('Weld', char)
683
gunweld2.Part0 = gun2.BulletCase
684
gunweld2.Part1 = holsters.HolsterWeldTo2
685
686
local bodygyro = Instance.new('BodyGyro')
687
bodygyro.maxTorque = Vector3.new(14e16,14e16,14e16)
688
bodygyro.P = 15000
689
690
local rsc0 = rm.C0
691
local lsc0 = lm.C0
692
local angle = 0
693
local anglespeed = .5
694
local speed = .3
695
local side = 0
696
local Equipped = false
697
local origneckc0 = neck.C0
698
local origneckc1 = neck.C1
699
local neckc0 = CFrame.new(0, 1, 0)
700
local firing = false
701
local pistol = 1
702
local light = false
703
704
local gunlight = Instance.new('SpotLight', gun.Flashlight)
705
gunlight.Range = 40
706
gunlight.Angle = 60
707
gunlight.Face = 'Bottom'
708
gunlight.Shadows = true
709
gunlight.Enabled = false
710
711
local gunlight2 = gunlight:clone()
712
gunlight2.Parent = gun2.Flashlight
713
714
local fire = Instance.new('Sound', head)
715
fire.SoundId = "rbxassetid://132373536"
716
fire.Volume = 1
717
718
local reload = Instance.new('Sound', head)
719
reload.SoundId = "rbxassetid://138109513"
720
reload.Volume = 1
721
722
local ammo = 14
723
local scrgui = Instance.new('ScreenGui', plrgui)
724
scrgui.Name = 'DualGunsGui'
725
726
local ammonution = Instance.new('TextLabel', scrgui)
727
ammonution.Size = UDim2.new(0,150,0,50)
728
ammonution.Position = UDim2.new(1, -250, 1, -70)
729
ammonution.BackgroundTransparency = 1
730
ammonution.TextColor3 = Color3.new(1,1,1)
731
ammonution.TextStrokeTransparency = .1
732
ammonution.Text = ('| '):rep(ammo)
733
ammonution.TextXAlignment = 'Right'
734
ammonution.ZIndex = 2
735
ammonution.FontSize = 'Size18'
736
737
local ammonution2 = Instance.new('TextLabel', scrgui)
738
ammonution2.Size = UDim2.new(0,150,0,50)
739
ammonution2.Position = UDim2.new(1, -250, 1, -70)
740
ammonution2.BackgroundTransparency = 1
741
ammonution2.TextColor3 = Color3.new(.5,.5,.5)
742
ammonution2.TextStrokeTransparency = .1
743
ammonution2.TextXAlignment = 'Right'
744
ammonution2.Text = ('| '):rep(ammo)
745
ammonution2.FontSize = 'Size18'
746
747
local rel = Instance.new('TextButton', scrgui)
748
rel.Size = UDim2.new(0,500,0,250)
749
rel.Position = UDim2.new(.5, -250, .8, -250)
750
rel.BackgroundTransparency = 1
751
rel.TextColor3 = Color3.new(.7,0,0)
752
rel.Visible = false
753
rel.Text = 'Reload (r)'
754
rel.FontSize = 'Size24'
755
756
rel.MouseButton1Down:connect(function()
757
            if ammo >= 14 or firing then return end
758
            dontclerpneck = true
759
            firing = true
760
            local dropammo = gun.Handle:clone()
761
            dropammo:ClearAllChildren()
762
            dropammo.CanCollide = true
763
            dropammo.BrickColor = BrickColor.Black()
764
            dropammo.Parent = workspace
765
            dropammo.CFrame = gun.Handle.CFrame
766
            local dropammo2 = dropammo:clone()
767
            dropammo2.Parent = workspace
768
            dropammo2.CFrame = gun2.Handle.CFrame * CFrame.new(0, -.5, 0)
769
            game:service'Debris':AddItem(dropammo,15)
770
            game:service'Debris':AddItem(dropammo2,15)
771
            wait(.5)
772
            reload:play()
773
            for i = 1, 65 do
774
                firing = true
775
                rscf = rsc0 * CFrame.Angles(math.pi/2, 0, 0)
776
                lscf = lsc0 * CFrame.new(1.2, 0, -.4) * CFrame.Angles(math.pi/4 + math.sin(angle)*math.random()/20, math.rad(30), math.pi/3.2)
777
                lm.C0 = clerp(lm.C0,lscf,speed)
778
                rm.C0 = clerp(rm.C0,rscf,speed)
779
                game:service'RunService'.RenderStepped:wait()
780
            end
781
            reload:play()
782
            for i = 1, 65 do
783
                firing = true
784
                rscf = rsc0 * CFrame.new(-1.2, 0, -.4) * CFrame.Angles(math.pi/4 + math.sin(angle)*math.random()/20, -math.rad(30), -math.pi/3.2)
785
                lscf = lsc0 * CFrame.Angles(math.pi/2, 0, 0)
786
                lm.C0 = clerp(lm.C0,lscf,speed)
787
                rm.C0 = clerp(rm.C0,rscf,speed)
788
                game:service'RunService'.RenderStepped:wait()
789
            end
790
            dontclerpneck = false
791
            firing = false
792
            ammo = 14
793
            ammonution.Text = ('| '):rep(ammo)
794
end)
795
tool.Selected:connect(function(mouse)
796
	Equipped = true
797
    bodygyro.Parent = torso
798
    bodygyro.cframe = torso.CFrame
799
    rs.Parent = nil
800
    ls.Parent = nil
801
	rm.Parent = torso
802
	lm.Parent = torso
803
    neck.C0 = CFrame.new(0, 1, 0)
804
    neck.C1 = CFrame.new(0, -0.5, 0)
805
    gunweld.Part0 = gun.Handle
806
    gunweld2.Part0 = gun2.Handle
807
    gunweld.Part1 = ra
808
    gunweld2.Part1 = la
809
    gunweld.C1 = CFrame.new(0, -.8, 0)
810
    gunweld.C0 = CFrame.Angles(math.pi/2-math.rad(15), 0, math.pi)
811
    gunweld2.C1 = CFrame.new(0, -.8, 0)
812
    gunweld2.C0 = CFrame.Angles(math.pi/2-math.rad(15), 0, math.pi)
813
    mouse.KeyDown:connect(function(k)
814
        if k == "r" then
815
            if ammo >= 14 or firing then return end
816
            dontclerpneck = true
817
            firing = true
818
            local dropammo = gun.Handle:clone()
819
            dropammo:ClearAllChildren()
820
            dropammo.CanCollide = true
821
            dropammo.BrickColor = BrickColor.Black()
822
            dropammo.Parent = workspace
823
            dropammo.CFrame = gun.Handle.CFrame
824
            local dropammo2 = dropammo:clone()
825
            dropammo2.Parent = workspace
826
            dropammo2.CFrame = gun2.Handle.CFrame * CFrame.new(0, -.5, 0)
827
            game:service'Debris':AddItem(dropammo,15)
828
            game:service'Debris':AddItem(dropammo2,15)
829
            wait(.5)
830
            reload:play()
831
            for i = 1, 65 do
832
                firing = true
833
                rscf = rsc0 * CFrame.Angles(math.pi/2, 0, 0)
834
                lscf = lsc0 * CFrame.new(1.2, 0, -.4) * CFrame.Angles(math.pi/4 + math.sin(angle)*math.random()/20, math.rad(30), math.pi/3.2)
835
                lm.C0 = clerp(lm.C0,lscf,speed)
836
                rm.C0 = clerp(rm.C0,rscf,speed)
837
                game:service'RunService'.RenderStepped:wait()
838
            end
839
            reload:play()
840
            for i = 1, 65 do
841
                firing = true
842
                rscf = rsc0 * CFrame.new(-1.2, 0, -.4) * CFrame.Angles(math.pi/4 + math.sin(angle)*math.random()/20, -math.rad(30), -math.pi/3.2)
843
                lscf = lsc0 * CFrame.Angles(math.pi/2, 0, 0)
844
                lm.C0 = clerp(lm.C0,lscf,speed)
845
                rm.C0 = clerp(rm.C0,rscf,speed)
846
                game:service'RunService'.RenderStepped:wait()
847
            end
848
            dontclerpneck = false
849
            firing = false
850
            ammo = 14
851
            ammonution.Text = ('| '):rep(ammo)
852
        end
853
        if k == "f" then
854
            light = not light
855
            local sound = Instance.new('Sound', head)
856
            sound.SoundId = "rbxassetid://115959318"
857
            sound.Volume = 1
858
            sound:play()
859
            game:service'Debris':AddItem(sound,1)
860
        end
861
    end)
862
	mouse.Button1Down:connect(function()
863
        if ammo <= 0 then
864
            local sound = Instance.new('Sound', head)
865
            sound.SoundId = "rbxassetid://132464034"
866
            sound.Volume = 1
867
            sound:play()
868
            game:service'Debris':AddItem(sound,1)
869
        end
870
        if firing or ammo <= 0 then return end
871
        ammo = ammo - 1
872
        ammonution.Text = ('| '):rep(ammo)
873
        firing = true
874
            local pa = Instance.new('Part')
875
            pa.CanCollide = false
876
            pa.Anchored = true
877
            pa.Locked = true
878
            pa.FormFactor = 'Custom'
879
            pa.BrickColor = BrickColor.new('New Yeller')
880
            pa.Size = Vector3.new(.2,3,.2)
881
            Instance.new('BlockMesh', pa).Scale = Vector3.new(.2,3,.2)
882
            local thegun
883
            if pistol == 1 then
884
                thegun = gun.BulletCase
885
            elseif pistol == 2 then
886
                thegun = gun2.BulletCase
887
            end
888
            local muzzle = Instance.new('PointLight', thegun)
889
            muzzle.Range = 12
890
            muzzle.Color = Color3.new(1,.6,.1)
891
            game:service'Debris':AddItem(muzzle, .05)
892
            local shell = pa:clone()
893
            shell:ClearAllChildren()
894
            shell.Anchored = false
895
            shell.CFrame = thegun.Parent.ShellCaseSpawner.CFrame
896
            shell.Size = Vector3.new(.2,.5,.2)
897
            shell.Parent = workspace
898
            shell.BrickColor = BrickColor.new('Bright yellow')
899
            shell.CanCollide = true
900
            game:service'Debris':AddItem(shell, 5)
901
            local bulletpos = thegun.Position
902
            local bulletvelocity = (mouse.Hit.p - bulletpos).unit*15
903
            local lastbulletpos = thegun.Position 
904
            fire:play()
905
            coroutine.wrap(function()
906
                while game:service'RunService'.Stepped:wait() do
907
                    lastbulletpos = bulletpos 
908
                    bulletpos = bulletpos + bulletvelocity
909
                    local RayCast = Ray.new(lastbulletpos, (bulletpos - lastbulletpos))
910
                    local hit, hitpos = workspace:FindPartOnRay(RayCast, char)
911
                    if (torso.Position - pa.Position).magnitude > 800 then
912
                        pa:Destroy()
913
                        break
914
                    end
915
                    pa.Anchored = true
916
                    pa.CFrame = CFrame.new(bulletpos, bulletpos+bulletvelocity) * CFrame.Angles(math.pi/2, 0, 0)
917
                    if hit then
918
                        local damage
919
                        local sound = Instance.new('Sound', pa)
920
                        sound.SoundId = "rbxassetid://166423137"
921
                        sound.Pitch = 1.2+math.random()/3
922
                        sound.Volume = 1
923
                        sound:play()
924
                        pa:Destroy()
925
                        game:service'Debris':AddItem(sound,4)
926
                        local ray = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
927
                        local hitz, enz = workspace:FindPartOnRay(ray, char)
928
                        local hum = hit and hit.Parent and hit.Parent:findFirstChild'Humanoid'
929
                        if hum then
930
                            damage = math.random(5,10)
931
                            hum:TakeDamage(damage)
932
                        end
933
                        local hum = hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:findFirstChild'Humanoid'
934
                        if hum then
935
                            damage = math.random(5,10)
936
                            hum:TakeDamage(damage)
937
                        end
938
                        break
939
                    end
940
                    pa.Anchored = true
941
                    pa.Parent = char
942
                    pa.CFrame = CFrame.new(bulletpos, bulletpos+bulletvelocity) * CFrame.Angles(math.pi/2, 0, 0)
943
                end
944
            end)()
945
946
        if pistol == 1 then
947
            pistol = 2
948
            for i = 1, 4 do
949
                rscf = CFrame.new(Vector3.new(rsc0.x, rsc0.y, rsc0.z), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p)) * CFrame.new(0, 0, .5) * CFrame.Angles(math.pi/1.5 + math.sin(angle)*math.random()/20, 0, math.cos(angle)*math.random()/20)
950
    	        lscf = CFrame.new(Vector3.new(lsc0.x, lsc0.y, lsc0.z), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p)) * CFrame.Angles(math.pi/2 + math.sin(angle)*math.random()/20, 0, -math.cos(angle)*math.random()/20)
951
                lm.C0 = clerp(lm.C0,lscf,speed)
952
                rm.C0 = clerp(rm.C0,rscf,speed)
953
                game:service'RunService'.RenderStepped:wait()
954
            end
955
        elseif pistol == 2 then
956
            for i = 1, 4 do
957
                rscf = CFrame.new(Vector3.new(rsc0.x, rsc0.y, rsc0.z), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p)) * CFrame.Angles(math.pi/2 + math.sin(angle)*math.random()/20, 0, math.cos(angle)*math.random()/20)
958
                lscf = CFrame.new(Vector3.new(lsc0.x, lsc0.y, lsc0.z), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p)) * CFrame.new(0, 0, .5) * CFrame.Angles(math.pi/1.5 + math.sin(angle)*math.random()/20, 0, -math.cos(angle)*math.random()/20)
959
                lm.C0 = clerp(lm.C0,lscf,speed)
960
                rm.C0 = clerp(rm.C0,rscf,speed)
961
                game:service'RunService'.RenderStepped:wait()
962
            end
963
            pistol = 1
964
        end
965
        firing = false
966
    end)
967
end)
968
tool.Deselected:connect(function()
969
	Equipped = false
970
    rm.Parent = nil
971
    lm.Parent = nil
972
	rs.Parent = torso
973
	ls.Parent = torso
974
    neck.C0 = origneckc0
975
    neck.C1 = origneckc1
976
	lm.C0 = lsc0
977
	rm.C0 = rsc0
978
    gunweld.Part0 = gun.BulletCase
979
    gunweld.Part1 = holsters.HolsterWeldTo
980
    gunweld.C0 = CFrame.new()
981
    gunweld.C1 = CFrame.new()
982
    gunweld2.Part0 = gun2.BulletCase
983
    gunweld2.Part1 = holsters.HolsterWeldTo2
984
    gunweld2.C0 = CFrame.new()
985
    gunweld2.C1 = CFrame.new()
986
    bodygyro.Parent = nil
987
end)
988
989
game:service'RunService'.RenderStepped:connect(function()
990
	if Equipped then
991
        if ammo <= 0 then
992
            rel.Visible = true
993
        else
994
            rel.Visible = false
995
        end
996
        if light then
997
            gunlight.Enabled = true
998
            gunlight2.Enabled = true
999
        else
1000
            gunlight.Enabled = false
1001
            gunlight2.Enabled = false
1002
        end
1003
		angle = angle + (0.05+math.random()/20)
1004
        local rscf = rsc0
1005
        local lscf = lsc0
1006
        local ncf = neckc0
1007
        local rmx,rmy,rmz = rm.C0:toEulerAnglesXYZ()
1008
        if rmz >= 1 then
1009
            bodygyro.cframe = bodygyro.cframe * CFrame.Angles(0, -rmz/5, 0)
1010
        elseif rmz <= -1 then
1011
            bodygyro.cframe = bodygyro.cframe * CFrame.Angles(0, -rmz/5, 0)
1012
        end
1013
    	rscf = CFrame.new(Vector3.new(rsc0.x, rsc0.y, rsc0.z), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p)) * CFrame.Angles(math.pi/2 + math.sin(angle)*math.random()/20, 0, math.cos(angle)*math.random()/20)
1014
    	lscf = CFrame.new(Vector3.new(lsc0.x, lsc0.y, lsc0.z), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p)) * CFrame.Angles(math.pi/2 + math.sin(angle)*math.random()/20, 0, -math.cos(angle)*math.random()/20)
1015
        ncf = neckc0 * CFrame.new(Vector3.new(), torso.CFrame:pointToObjectSpace(plrmouse.Hit.p))
1016
        if not firing then
1017
        	lm.C0 = clerp(lm.C0,lscf,speed)
1018
        	rm.C0 = clerp(rm.C0,rscf,speed)
1019
        end
1020
        if not dontclerpneck then
1021
            neck.C0 = clerp(neck.C0,ncf,speed)
1022
        end
1023
	end
1024
    if light and not Equipped then
1025
        gunlight.Enabled = false
1026
        gunlight2.Enabled = false
1027
    end
1028
end)