SHOW:
|
|
- or go back to the newest paste.
1 | - | function clerp(c1,c2,al) |
1 | + | |
2 | - | local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()} |
2 | + | |
3 | - | local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()} |
3 | + | ply = game.Players.LocalPlayer |
4 | - | for i,v in pairs(com1) do |
4 | + | char = ply.Character |
5 | - | com1[i] = v+(com2[i]-v)*al |
5 | + | torso = char.Torso |
6 | cfn,ang,v3n,ud2n,V2,bcol = CFrame.new,CFrame.Angles,Vector3.new,UDim2.new,Vector2.new,BrickColor.new | |
7 | - | return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1))) |
7 | + | mcos,msin,mtan,md,mr = math.cos,math.sin,math.tan,math.rad,math.random |
8 | debris = game:service'Debris' | |
9 | floatforce = 196.25 | |
10 | - | plr = game:service'Players'.LocalPlayer |
10 | + | pcall(function() char.HAWK:Destroy() end) |
11 | - | char = plr.Character |
11 | + | m = Instance.new("Model",char) m.Name = 'HAWK' |
12 | - | mouse = plr:GetMouse() |
12 | + | script.Parent = m |
13 | - | humanoid = char:findFirstChild("Humanoid") |
13 | + | local mouse = ply:GetMouse() |
14 | - | torso = char:findFirstChild("Torso") |
14 | + | |
15 | - | head = char.Head |
15 | + | |
16 | - | ra = char:findFirstChild("Right Arm") |
16 | + | rs,ls = torso['Right Shoulder'],torso['Left Shoulder'] |
17 | - | la = char:findFirstChild("Left Arm") |
17 | + | rarm = char["Right Arm"] |
18 | - | rl = char:findFirstChild("Right Leg") |
18 | + | larm = char["Left Arm"] |
19 | - | ll = char:findFirstChild("Left Leg") |
19 | + | rleg = char["Right Leg"] |
20 | - | rs = torso:findFirstChild("Right Shoulder") |
20 | + | lleg = char["Left Leg"] |
21 | - | ls = torso:findFirstChild("Left Shoulder") |
21 | + | |
22 | - | rh = torso:findFirstChild("Right Hip") |
22 | + | udim = function(a,b) return UDim2.new(a,0,b,0) end |
23 | - | lh = torso:findFirstChild("Left Hip") |
23 | + | bcol = function(a) return BrickColor.new(a) end |
24 | - | neck = torso:findFirstChild("Neck") |
24 | + | |
25 | - | rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint") |
25 | + | for i = 0,1 do --------UTILITIES START------- |
26 | - | animate = char:findFirstChild("Animate") |
26 | + | function fade(a,b,c,d) |
27 | - | if animate then |
27 | + | if type(a) ~= 'table' then |
28 | - | animate:Destroy() |
28 | + | for i = b,c,d do |
29 | a.Transparency = i | |
30 | - | rootpart = char:findFirstChild("HumanoidRootPart") |
30 | + | wait() |
31 | - | camera = workspace.CurrentCamera |
31 | + | |
32 | else | |
33 | - | pcall(function() char:findFirstChild('charmodel'):Destroy() char:findFirstChild('SurvivorScript').Disabled = true char:findFirstChild('SurvivorScript'):Destroy() char:findFirstChild'FakeHead':Destroy() |
33 | + | for i = b,c,d do |
34 | - | plr.PlayerGui:findFirstChild'BaseGui':Destroy() end) |
34 | + | for _,v in pairs(a) do |
35 | v.Transparency = i | |
36 | - | script.Name = 'SurvivorScript' |
36 | + | |
37 | wait() | |
38 | - | charmodel = Instance.new("Model", char) |
38 | + | |
39 | - | charmodel.Name = "charmodel" |
39 | + | |
40 | end | |
41 | - | local rm = Instance.new("Motor", torso) |
41 | + | |
42 | - | rm.C0 = CFrame.new(1.5, 0.5, 0) |
42 | + | function FilterTab(tab,what) |
43 | - | rm.C1 = CFrame.new(0, 0.5, 0) |
43 | + | Result = {} |
44 | - | rm.Part0 = torso |
44 | + | local function filter2(a) |
45 | - | rm.Part1 = ra |
45 | + | if type(a) == 'string' then |
46 | - | rm.Name = "Right Shoulder" |
46 | + | return a |
47 | else | |
48 | - | local lm = Instance.new("Motor", torso) |
48 | + | return a.className |
49 | - | lm.C0 = CFrame.new(-1.5, 0.5, 0) |
49 | + | |
50 | - | lm.C1 = CFrame.new(0, 0.5, 0) |
50 | + | |
51 | - | lm.Part0 = torso |
51 | + | |
52 | - | lm.Part1 = la |
52 | + | for i,v in pairs(tab) do |
53 | - | lm.Name = "Left Shoulder" |
53 | + | if type(what) ~= 'table' then |
54 | if v:IsA(filter2(what)) then | |
55 | - | local rlegm = Instance.new("Motor", torso) |
55 | + | table.insert(Result,v) |
56 | - | rlegm.C0 = CFrame.new(0.5, -1, 0) |
56 | + | |
57 | - | rlegm.C1 = CFrame.new(0, 1, 0) |
57 | + | |
58 | - | rlegm.Part0 = torso |
58 | + | for i,q in pairs(what) do |
59 | - | rlegm.Part1 = rl |
59 | + | if v:IsA(filter2(q)) then |
60 | - | rlegm.Name = "Right Hip" |
60 | + | table.insert(Result,v) |
61 | end | |
62 | - | local llegm = Instance.new("Motor", torso) |
62 | + | |
63 | - | llegm.C0 = CFrame.new(-0.5, -1, 0) |
63 | + | |
64 | - | llegm.C1 = CFrame.new(0, 1, 0) |
64 | + | |
65 | - | llegm.Part0 = torso |
65 | + | return Result |
66 | - | llegm.Part1 = ll |
66 | + | |
67 | - | llegm.Name = "Left Hip" |
67 | + | |
68 | ||
69 | - | neck.C0 = CFrame.new(0, 1, 0) |
69 | + | function colorslide(object,targetcolor,bool) |
70 | - | neck.C1 = CFrame.new(0, -0.5, 0) |
70 | + | local function a() |
71 | if type(object) ~= 'table' then | |
72 | - | rj.C0 = CFrame.new(0, -1.5, 0) |
72 | + | rgb1,rgb2 =object.Color, BrickColor.new(targetcolor).Color |
73 | - | rj.C1 = CFrame.new(0, -1.5, 0) |
73 | + | for i = 0,1,.2 do |
74 | object.Color = Color3.new( | |
75 | - | function LoadChatColorModule() |
75 | + | (rgb1.r * (1-i))+(rgb2.r * i), |
76 | - | local COLOR_TABLE, Get, GetId |
76 | + | (rgb1.g * (1-i))+(rgb2.g * i), |
77 | - | COLOR_TABLE = { |
77 | + | (rgb1.b * (1-i))+(rgb2.b * i) |
78 | - | BrickColor.new("Institutional white"), |
78 | + | ) |
79 | - | BrickColor.new("Institutional white"), |
79 | + | wait() |
80 | - | BrickColor.new("Institutional white"), |
80 | + | |
81 | - | BrickColor.new("Institutional white"), |
81 | + | object.Color = rgb2 |
82 | - | BrickColor.new("Institutional white"), |
82 | + | |
83 | - | BrickColor.new("Institutional white"), |
83 | + | rgb1,rgb2 = object[1].Color,BrickColor.new(targetcolor).Color |
84 | - | BrickColor.new("Institutional white"), |
84 | + | for i = 0,1,.2 do |
85 | - | BrickColor.new("Institutional white") |
85 | + | for _,v in pairs(object) do |
86 | - | } |
86 | + | v.Color = Color3.new( |
87 | - | function Get(name) |
87 | + | (rgb1.r * (1-i))+(rgb2.r * i), |
88 | - | return COLOR_TABLE[GetId(name) + 1] |
88 | + | (rgb1.g * (1-i))+(rgb2.g * i), |
89 | (rgb1.b * (1-i))+(rgb2.b * i) | |
90 | - | function GetId(name) |
90 | + | ) |
91 | - | local length = #name |
91 | + | |
92 | - | local modifier = (length % 2 == 0) and 1 or 0 |
92 | + | wait() |
93 | - | local value = 0 |
93 | + | |
94 | - | for index = 1, length do |
94 | + | for _,v in pairs(object) do v.Color = rgb2 end |
95 | - | if (length - index + modifier) % 4 < 2 then |
95 | + | end |
96 | - | value = value + string.byte(name, index) |
96 | + | |
97 | if bool then T.C(a) else a() end | |
98 | - | value = value - string.byte(name, index) |
98 | + | |
99 | ||
100 | function l(a,x,y,z,b) | |
101 | - | return value % 8 |
101 | + | if b == nil then |
102 | return a.CFrame*cfn(x,y,z) | |
103 | - | return { |
103 | + | |
104 | - | COLOR_TABLE = COLOR_TABLE, |
104 | + | return a*cfn(x,y,z) |
105 | - | Get = Get, |
105 | + | |
106 | - | GetId = GetId |
106 | + | |
107 | - | } |
107 | + | function zeero(mot,a) local oldvelocity = mot.MaxVelocity mot.MaxVelocity = 1.7E+308 |
108 | if a == nil then mot.DesiredAngle = 0 | |
109 | else mot.DesiredAngle = a | |
110 | - | local ChatColor = LoadChatColorModule() |
110 | + | |
111 | - | local PocketColor = BrickColor.new(ChatColor.Get(plr.Name).Name) |
111 | + | while mot.DesiredAngle ~= mot.CurrentAngle do wait() end |
112 | mot.MaxVelocity = oldvelocity | |
113 | - | local pack = Instance.new("Part", charmodel) |
113 | + | |
114 | - | pack.BrickColor = BrickColor.new('Really black') |
114 | + | function ventta(mot) |
115 | - | pack.FormFactor = 'Custom' |
115 | + | while mot.DesiredAngle ~= mot.CurrentAngle do wait() end |
116 | - | pack.CanCollide = false |
116 | + | |
117 | - | pack.Material = 'SmoothPlastic' |
117 | + | |
118 | - | pack.BottomSurface = 'SmoothNoOutlines' |
118 | + | function genNew(ClassName, Parent, Properties) |
119 | - | pack.LeftSurface = 'SmoothNoOutlines' |
119 | + | local nObj = Instance.new(ClassName, Parent) |
120 | - | pack.RightSurface = 'SmoothNoOutlines' |
120 | + | if Properties["FormFactor"] then |
121 | - | pack.BackSurface = 'SmoothNoOutlines' |
121 | + | nObj["FormFactor"] = Properties["FormFactor"] |
122 | - | pack.FrontSurface = 'SmoothNoOutlines' |
122 | + | |
123 | - | pack.Size = Vector3.new(1.9, 1.7, .8) |
123 | + | for Prop, Value in pairs(Properties) do |
124 | - | local weld = Instance.new("Weld", pack) |
124 | + | nObj[Prop] = Value |
125 | - | weld.C0 = CFrame.new(0, 0, -torso.Size.z/2 - (pack.Size.z/2)) |
125 | + | |
126 | - | weld.Part0 = pack |
126 | + | return nObj |
127 | - | weld.Part1 = torso |
127 | + | |
128 | ||
129 | - | local pack2 = pack:clone() |
129 | + | T = {["P"] = function(x,y,z,color,transparency,cancollide,anchored,parent,typee) |
130 | - | pack2.Parent = charmodel |
130 | + | if typee == 'wedge' then |
131 | - | pack2.Size = Vector3.new(1.7, .6, .7) |
131 | + | c = Instance.new("WedgePart",m) |
132 | - | local weld2 = Instance.new("Weld", pack) |
132 | + | elseif typee == 'seat' then |
133 | - | weld2.C0 = CFrame.new(0,(pack.Size.y/2 - (pack2.Size.y/2)) + .05, 0) |
133 | + | c = Instance.new("Seat",m) |
134 | - | weld2.Part0 = pack2 |
134 | + | elseif typee == 'vseat' then |
135 | - | weld2.Part1 = pack |
135 | + | c = Instance.new("VehicleSeat",m) |
136 | else | |
137 | - | local pack2 = pack:clone() |
137 | + | c = Instance.new("Part",m) |
138 | - | pack2.Parent = charmodel |
138 | + | |
139 | - | pack2.Size = Vector3.new(1.7, .6, .7) |
139 | + | c.TopSurface,c.BottomSurface = 0,0 |
140 | - | local weld2 = Instance.new("Weld", pack) |
140 | + | c.Locked = true |
141 | - | weld2.C0 = CFrame.new(0,(pack.Size.y/2 - (pack2.Size.y/2)) + .05, 0) |
141 | + | c.formFactor = "Custom" |
142 | - | weld2.Part0 = pack2 |
142 | + | c.Size = Vector3.new(x,y,z) |
143 | - | weld2.Part1 = pack |
143 | + | if color ~= "random" then |
144 | c.BrickColor = BrickColor.new(color) | |
145 | - | local strap = pack:clone() |
145 | + | else c.BrickColor = BrickColor:random() |
146 | - | strap.Parent = charmodel |
146 | + | |
147 | - | strap.Size = Vector3.new(.3, 1.05, 1.05) |
147 | + | c.Transparency = transparency |
148 | - | local weldstrap = Instance.new("ManualWeld", strap) |
148 | + | c.CanCollide = cancollide |
149 | - | weldstrap.C0 = CFrame.new(ra.Size.x/2 ,-(la.Size.y/2 - strap.Size.y/2) - .025, 0) |
149 | + | if anchored ~= nil then c.Anchored = anchored end |
150 | - | weldstrap.Part0 = strap |
150 | + | if parent ~= nil then c.Parent = parent end |
151 | - | weldstrap.Part1 = ra |
151 | + | return c |
152 | end | |
153 | - | local strap2 = pack:clone() |
153 | + | , |
154 | - | strap2.Parent = charmodel |
154 | + | ["C"] = function(func) coroutine.resume(coroutine.create(func)) end |
155 | - | strap2.Size = Vector3.new(.3, 1.05, 1.05) |
155 | + | , |
156 | - | local weldstrap2 = Instance.new("ManualWeld", strap2) |
156 | + | ["W"] = function(part0,part1,x,y,z,rx,ry,rz,parent) |
157 | - | weldstrap2.C0 = CFrame.new(-la.Size.x/2,-(la.Size.y/2 - strap2.Size.y/2) - .025, 0) |
157 | + | w = Instance.new("Motor",m) |
158 | - | weldstrap2.Part0 = strap2 |
158 | + | if parent ~= nil then w.Parent = parent end |
159 | - | weldstrap2.Part1 = la |
159 | + | w.Part0,w.Part1 = part0,part1 |
160 | w.C1 = CFrame.new(x,y,z) * CFrame.Angles(rx,ry,rz) | |
161 | - | local pack3 = pack:clone() |
161 | + | w.MaxVelocity = .1 |
162 | - | pack3.Parent = charmodel |
162 | + | return w |
163 | - | pack3.BrickColor = PocketColor |
163 | + | |
164 | - | pack3.Size = Vector3.new(1.7, .6, .8) |
164 | + | , |
165 | - | local weld3 = Instance.new("Weld", pack) |
165 | + | ["BG"] = function(parent) |
166 | - | weld3.C0 = CFrame.new(0,pack.Size.y/2 - pack3.Size.y/2 - .1,-.1) |
166 | + | local c = Instance.new("BodyGyro",parent) |
167 | - | weld3.Part0 = pack3 |
167 | + | c.P = 20e+003 |
168 | - | weld3.Part1 = pack |
168 | + | c.cframe = parent.CFrame |
169 | c.maxTorque = Vector3.new(4e+005,4e+005,4e+005)*math.huge | |
170 | - | local pack4 = pack:clone() |
170 | + | return c |
171 | - | pack4.Parent = charmodel |
171 | + | |
172 | - | pack4.BrickColor = PocketColor |
172 | + | , |
173 | - | pack4.Size = Vector3.new(1.4, .6, .8) |
173 | + | ["BP"] = function(parent,position) |
174 | - | local weld4 = Instance.new("Weld", pack) |
174 | + | local bp = Instance.new("BodyPosition",parent) |
175 | - | weld4.C0 = CFrame.new(0,-.4,-.1) |
175 | + | bp.maxForce = Vector3.new()*math.huge |
176 | - | weld4.Part0 = pack4 |
176 | + | bp.position = position |
177 | - | weld4.Part1 = pack |
177 | + | return bp |
178 | end | |
179 | - | local radio = pack:clone() |
179 | + | , |
180 | - | radio.Parent = charmodel |
180 | + | ["F"] = function(parent,size,heat,color,secondcolor,enabled) |
181 | - | radio.BrickColor = BrickColor.new() |
181 | + | f = Instance.new("Fire",parent) |
182 | - | radio.Size = Vector3.new(.2, 2, .2) |
182 | + | f.Size = size |
183 | - | Instance.new("CylinderMesh", radio).Scale = Vector3.new(.2, 1, .2) |
183 | + | f.Heat = heat |
184 | - | local weld4 = Instance.new("Weld", pack) |
184 | + | if enabled ~= nil then f.Enabled = enabled end |
185 | - | weld4.C0 = CFrame.new(.5,-.8,.1) |
185 | + | if color ~= nil then f.Color = BrickColor.new(color).Color end |
186 | - | weld4.Part0 = radio |
186 | + | if secondcolor ~= nil then f.SecondaryColor = BrickColor.new(secondcolor).Color end |
187 | - | weld4.Part1 = pack |
187 | + | return f |
188 | end | |
189 | - | rsc0 = rm.C0 |
189 | + | , |
190 | - | lsc0 = lm.C0 |
190 | + | |
191 | - | neckc0 = neck.C0 |
191 | + | ["FM"] = function(parent,meshid,x,y,z,meshtexture) |
192 | - | rootc0 = rj.C0 |
192 | + | if meshid == "cylinder" then |
193 | - | llc0 = llegm.C0 |
193 | + | mesh = Instance.new("CylinderMesh",parent) |
194 | - | rlc0 = rlegm.C0 |
194 | + | mesh.Scale = Vector3.new(x,y,z) |
195 | - | speed = 0.25 |
195 | + | return mesh |
196 | - | angle = 0 |
196 | + | elseif meshid == 'block' then |
197 | - | mvmnt = 0 |
197 | + | mesh = Instance.new("SpecialMesh",parent) |
198 | - | anglespeed = 1 |
198 | + | mesh.MeshId = 'rbxassetid://9856898' |
199 | - | humanoid.WalkSpeed = 8 |
199 | + | mesh.Scale = v3n(x*parent.Size.x,y*parent.Size.y,z*parent.Size.z)*2 |
200 | - | ctrl = false |
200 | + | if meshtexture then mesh.TextureId = 'rbxassetid://'..textureids[meshtexture] end |
201 | - | stopsprint = false |
201 | + | return mesh |
202 | - | action = false |
202 | + | |
203 | - | sprinting = false |
203 | + | mesh = Instance.new("SpecialMesh",parent) |
204 | - | time_sprinted = 0 |
204 | + | |
205 | - | sound_play_time = 0 |
205 | + | if meshid == 'wedge' then |
206 | mesh.MeshType = 'Wedge' | |
207 | - | local debounce = false |
207 | + | elseif meshid == 'sphere' then |
208 | - | local knife = false |
208 | + | mesh.MeshType = 3 |
209 | - | local knifeslash = false |
209 | + | elseif type(meshid) == "number" then |
210 | mesh.MeshId = "rbxassetid://"..meshid | |
211 | - | mouse.KeyDown:connect(function(k) |
211 | + | |
212 | - | repeat wait() until action == false |
212 | + | mesh.MeshId = "rbxassetid://"..meshids[meshid] |
213 | - | if not action then |
213 | + | |
214 | - | if k:byte() == 48 then |
214 | + | mesh.Scale = Vector3.new(x,y,z) |
215 | - | sprinting = true |
215 | + | if meshtexture then |
216 | - | humanoid.WalkSpeed = 18 |
216 | + | if type(meshtexture) == "number" then mesh.TextureId = "rbxassetid://"..meshtexture else |
217 | mesh.TextureId = "rbxassetid://"..textureids[meshtexture] end | |
218 | - | if k == '2' or k == 'c' then |
218 | + | |
219 | - | if not prone then |
219 | + | return mesh |
220 | - | ctrl = not ctrl |
220 | + | end, |
221 | - | if ctrl then |
221 | + | |
222 | - | humanoid.WalkSpeed = 5 |
222 | + | ["Dec"] = function(parent,face,id,transparency) |
223 | c = Instance.new("Decal",parent) | |
224 | - | humanoid.WalkSpeed = 8 |
224 | + | c.Face = face |
225 | c.Texture = id | |
226 | if transparency then c.Transparency = transparency end | |
227 | return c | |
228 | - | if k == "y" then |
228 | + | |
229 | - | flashlight = not flashlight |
229 | + | |
230 | - | if flashlight then |
230 | + | |
231 | - | do |
231 | + | function FindHumanoid(a,b) |
232 | - | knife = false |
232 | + | local hum |
233 | - | if charmodel:findFirstChild("Knife") then |
233 | + | for i,v in pairs(a:children()) do |
234 | - | charmodel:findFirstChild("Knife"):Destroy() |
234 | + | if v:IsA'Humanoid' then |
235 | if not b then | |
236 | - | local part = Instance.new("Part", charmodel) |
236 | + | if v.Parent ~= char then hum = v break end |
237 | - | part.CanCollide = false |
237 | + | else hum = v break end |
238 | - | part.FormFactor = 'Custom' |
238 | + | |
239 | - | part.Name = "Flashlight" |
239 | + | |
240 | - | part.Size = Vector3.new(.4, .4, 2.1) |
240 | + | return hum |
241 | - | part:breakJoints() |
241 | + | |
242 | - | local mesh = Instance.new("SpecialMesh", part) |
242 | + | function damage(hit,amount,delay,color) ---- VAHINKO DAMAGE |
243 | - | mesh.TextureId = "rbxassetid://115984370" |
243 | + | hum = FindHumanoid(hit) |
244 | - | mesh.MeshId = "rbxassetid://115955313" |
244 | + | if hum then |
245 | - | mesh.Scale = Vector3.new(.7, .7, .7) |
245 | + | if delay then |
246 | - | local weld = Instance.new("Weld", part) |
246 | + | local found = CheckTag(hum,'tag') |
247 | - | weld.Part0 = part |
247 | + | if not found then |
248 | - | weld.Part1 = ra |
248 | + | local tag = AddTag(hum,'tag') |
249 | - | weld.C0 = CFrame.Angles(math.rad(70), 0, -math.rad(10)) |
249 | + | debris:AddItem(tag,delay) |
250 | - | weld.C1 = CFrame.new(-.08, -1.225, .05) |
250 | + | hum.Health = hum.Health - amount |
251 | local hed = hum.Parent.Head | |
252 | local bbg = genNew('BillboardGui',hed,{ | |
253 | - | local point = Instance.new("PointLight", part) |
253 | + | Adornee = hed; |
254 | - | point.Range = 20 |
254 | + | Size = udim(3,3); |
255 | - | local spot = Instance.new("SpotLight", part) |
255 | + | StudsOffset = v3n(mr(-2,2),mr(3,5),mr(-2,2)); |
256 | - | spot.Shadows = true |
256 | + | }) |
257 | - | spot.Range = 55 |
257 | + | |
258 | - | spot.Angle = 60 |
258 | + | local img = genNew('TextLabel',bbg,{ |
259 | - | spot.Brightness = 30 |
259 | + | Text = amount; |
260 | TextScaled = true; | |
261 | TextColor = bcol(color or 'White'); | |
262 | - | if charmodel:findFirstChild("Flashlight") then |
262 | + | Size = UDim2.new(3,0,3,0); |
263 | - | charmodel:findFirstChild("Flashlight"):Destroy() |
263 | + | BackgroundTransparency = 1; |
264 | }) | |
265 | T.C(function() wait(.1) for i = 3,.1,-.1 do bbg.Size = udim(i,i) wait() end bbg:Destroy() end) | |
266 | ||
267 | - | if k == "x" then |
267 | + | |
268 | - | ctrl = false |
268 | + | else hum.Health = hum.Health - amount |
269 | - | prone = true |
269 | + | |
270 | - | humanoid.WalkSpeed = 2.5 |
270 | + | |
271 | return hum | |
272 | - | if k == "t" then |
272 | + | |
273 | - | knife = not knife |
273 | + | |
274 | - | if knife then |
274 | + | |
275 | - | flashlight = false |
275 | + | rtorso = torso |
276 | - | if charmodel:findFirstChild("Flashlight") then |
276 | + | |
277 | - | charmodel:findFirstChild("Flashlight"):Destroy() |
277 | + | function scale(msh,str,a,b,c,bool) |
278 | local amount | |
279 | - | local part = Instance.new("Part", charmodel) |
279 | + | local dims = {x=0,y=0,z=0} |
280 | - | part.CanCollide = false |
280 | + | local func = function() |
281 | - | part.FormFactor = 'Custom' |
281 | + | for word in str:gmatch('%d+') do |
282 | - | part.Name = "Knife" |
282 | + | amount = word |
283 | - | part.Size = Vector3.new(.2, 1.7, .25) |
283 | + | |
284 | - | part:breakJoints() |
284 | + | amount = not amount and 1 or amount |
285 | - | local weld = Instance.new("Weld", part) |
285 | + | for word in str:gmatch('%w') do |
286 | - | weld.Part0 = part |
286 | + | if word == 'x' or word == 'y' or word == 'z' then |
287 | - | weld.Part1 = ra |
287 | + | dims[word] = amount |
288 | - | weld.C0 = CFrame.Angles(math.pi/2, 0, -math.rad(10)) |
288 | + | |
289 | - | weld.C1 = CFrame.new(0, -1, -.45) |
289 | + | |
290 | - | Instance.new("BlockMesh", part).Scale = Vector3.new(.5, 1, .8) |
290 | + | if type(mesh) ~= 'table' then |
291 | - | local part2 = Instance.new("Part", part) |
291 | + | for i = a,b,c or .01 do |
292 | - | part2.CanCollide = false |
292 | + | msh.Scale = v3n(dims.x*i,dims.y*i,dims.z*i) |
293 | - | part2.FormFactor = 'Custom' |
293 | + | wait() |
294 | - | part2.Name = "Knife" |
294 | + | |
295 | - | part2.BrickColor = BrickColor.Black() |
295 | + | |
296 | - | part2.Size = Vector3.new(.3, 1.2, .3) |
296 | + | for i = a,b,c or .01 do |
297 | - | part2:breakJoints() |
297 | + | for _,v in pairs(mesh) do |
298 | - | local weld2 = Instance.new("Weld", part2) |
298 | + | v.Scale = v3n(dims.x*i,dims.y*i,dims.z*i) |
299 | - | weld2.Part0 = part2 |
299 | + | |
300 | - | weld2.Part1 = part |
300 | + | wait() |
301 | - | weld2.C1 = CFrame.new(0, -.45, 0) |
301 | + | |
302 | - | Instance.new("BlockMesh", part2).Scale = Vector3.new(.5, 1, .8) |
302 | + | |
303 | end | |
304 | - | if charmodel:findFirstChild("Knife") then |
304 | + | if bool then T.C(func) else func() end |
305 | - | charmodel:findFirstChild("Knife"):Destroy() |
305 | + | |
306 | ||
307 | ||
308 | lock = {["R"] = | |
309 | function(a) | |
310 | if a == 1 then | |
311 | rabrick = T.P(1.1,1.1,1.1,"Dark stone grey",1,false,false) | |
312 | - | mouse.KeyUp:connect(function(k) |
312 | + | rw = T.W(rabrick,rtorso,1.5,.5,0,0,0,0) |
313 | - | repeat wait() until action == false |
313 | + | T.W(rarm,rabrick,0,-.5,0,0,0,0) |
314 | - | if not action then |
314 | + | elseif a == 2 then |
315 | - | repeat wait() until action == false |
315 | + | rlbrick = T.P(1,1,1,"Dark stone grey",1,false,false) |
316 | - | if k:byte() == 48 then |
316 | + | rhw = T.W(rlbrick,rtorso,.5,-1.5,0,0,0,0) |
317 | - | sprinting = false |
317 | + | T.W(rleg,rlbrick,0,-.5,0,0,0,0) |
318 | - | if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 10 and hitz and time_sprinted >= .8 then |
318 | + | elseif a == 0 then |
319 | - | time_sprinted = 0 |
319 | + | rs.Parent = rtorso |
320 | - | action = 'StopSprinting' |
320 | + | rw.Parent = nil |
321 | rabrick:Destroy() rabrick = nil | |
322 | - | humanoid.WalkSpeed = 8 |
322 | + | elseif a == -1 then |
323 | - | if ctrl then |
323 | + | rhw.Parent = nil |
324 | - | humanoid.WalkSpeed = 5 |
324 | + | rh.Parent = rtorso |
325 | rlbrick:Destroy() rlbrick = nil | |
326 | - | if prone then |
326 | + | |
327 | - | humanoid.WalkSpeed = 2.55 |
327 | + | |
328 | , ["L"] = function(a) | |
329 | if a == 1 then | |
330 | - | if k == 'x' then |
330 | + | labrick = T.P(1,1,1,"Dark stone grey",1,false,false) |
331 | - | prone = false |
331 | + | lw = T.W(labrick,rtorso,-1.5,.5,0,0,0,0) |
332 | - | if ctrl then |
332 | + | T.W(larm,labrick,0,-.5,0,0,0,0) |
333 | - | humanoid.WalkSpeed = 5 |
333 | + | elseif a == 2 then |
334 | llbrick = T.P(1,1,1,"Dark stone grey",1,false,false) | |
335 | - | humanoid.WalkSpeed = 8 |
335 | + | lhw = T.W(llbrick,rtorso,-.5,-1.5,0,0,0,0) |
336 | T.W(lleg,llbrick,0,-.5,0,0,0,0) | |
337 | elseif a == 0 then | |
338 | ls.Parent = rtorso | |
339 | lw.Parent = nil | |
340 | labrick:Destroy() labrick = nil | |
341 | elseif a == -1 then | |
342 | - | mouse.Button1Down:connect(function() |
342 | + | lhw.Parent = nil |
343 | - | if knife == true then |
343 | + | lh.Parent = rtorso |
344 | - | if debounce then return end |
344 | + | llbrick:Destroy() llbrick = nil |
345 | - | local slashs = Instance.new("Sound", head) |
345 | + | |
346 | - | slashs.SoundId = "rbxasset://sounds/swordslash.mp3" |
346 | + | |
347 | - | slashs.Volume = 1 |
347 | + | |
348 | - | slashs.Pitch = 2 |
348 | + | |
349 | - | slashs.Name = 'Slash' |
349 | + | cfn,ang = CFrame.new,CFrame.Angles |
350 | - | slashs:play() |
350 | + | function spaas(position,radius,number,number2,color) |
351 | - | debounce = true |
351 | + | mode = Instance.new("Model",m) |
352 | - | knifeslash = true |
352 | + | |
353 | - | wait(.35) |
353 | + | for i = 1,number2 do |
354 | - | if charmodel:findFirstChild('Knife') then |
354 | + | local pos = position+v3n(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius)) |
355 | - | local killdeb = false |
355 | + | local mag = (position-pos).magnitude |
356 | - | charmodel:findFirstChild('Knife').Touched:connect(function(hit) |
356 | + | |
357 | - | if knifeslash then |
357 | + | local col = color or 'Toothpaste' |
358 | - | if killdeb then return end |
358 | + | local laz = T.P(.1,mag,.1,col,0,false,true,mode) |
359 | - | if hit and hit.Parent and hit.Parent:findFirstChild("Humanoid") and hit.Parent.Name ~= char.Name then |
359 | + | |
360 | - | killdeb = true |
360 | + | T.FM(laz,'cylinder',.3,1,.3) |
361 | - | hit.Parent:findFirstChild("Humanoid"):TakeDamage(math.random(45,50)) |
361 | + | laz.CFrame = (cfn(position,pos)*cfn(0,0,-mag/2))*ang(math.pi/2,0,0) |
362 | - | local hitsound = Instance.new("Sound", head) |
362 | + | |
363 | - | hitsound.SoundId = "rbxasset://sounds/metal.mp3" |
363 | + | cframe = (laz.CFrame*cfn(0,-mag/2,0)).p |
364 | - | hitsound.Volume = 1 |
364 | + | pos2 = cframe+v3n(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius)) |
365 | - | hitsound.Name = 'Hit' |
365 | + | mag2 = (cframe-pos2).magnitude |
366 | - | hitsound:play() |
366 | + | local laz2 = T.P(.1,mag2,.1,col,0,false,true,mode) |
367 | - | wait(.5) |
367 | + | T.FM(laz2,'cylinder',.3,1,.3) |
368 | - | hitsound:Destroy() |
368 | + | laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0) |
369 | - | slashs:Destroy() |
369 | + | |
370 | previo = laz2 | |
371 | for i = 1,number do | |
372 | - | end) |
372 | + | cframe = (previo.CFrame*cfn(0,-mag/2,0)).p |
373 | pos2 = cframe+v3n(mr(-radius,radius),mr(-radius,radius),mr(-radius,radius)) | |
374 | - | knifeslash = false |
374 | + | mag2 = (cframe-pos2).magnitude |
375 | - | wait(.5) |
375 | + | |
376 | - | debounce = false |
376 | + | local laz2 = T.P(.1,mag2,.1,col,0,false,true,mode) |
377 | T.FM(laz2,'cylinder',.3,1,.3) | |
378 | laz2.CFrame = (cfn(cframe,pos2)*cfn(0,0,-mag2/2))*ang(math.pi/2,0,0) | |
379 | ||
380 | - | plr.Chatted:connect(function(msg) |
380 | + | previo = laz2 |
381 | - | if msg == "/e dance" then |
381 | + | |
382 | - | action = 'Dancing' |
382 | + | |
383 | end | |
384 | - | if msg == "/e point" then |
384 | + | debris:AddItem(mode,.1) |
385 | - | action = 'Pointing' |
385 | + | return mode |
386 | end | |
387 | - | if msg == "/e wave" then |
387 | + | |
388 | - | action = 'Waving' |
388 | + | function lightning(startpos,endpos,times,offse,livetime,col) |
389 | local curpos = startpos | |
390 | - | if msg == "/e cheer" then |
390 | + | for i = 1,times do |
391 | - | action = 'Cheering' |
391 | + | mag = (startpos-endpos).magnitude offs = {-offse,offse} |
392 | offset = v3n(offs[mr(1,2)],offs[mr(1,2)],offs[mr(1,2)]) | |
393 | - | if msg == "/e squat" then |
393 | + | laz = T.P(.1,.1,mag/times,col,0,false,true,m) |
394 | - | action = 'Squatting' |
394 | + | apos = (cfn(curpos,endpos)*cfn(0,0,-mag/times)).p+offset |
395 | if times == i then | |
396 | - | if msg == "/e sit" then |
396 | + | mag2 = (curpos-endpos).magnitude |
397 | - | action = 'Sitting' |
397 | + | laz.Size = v3n(.1,.1,mag2) |
398 | laz.CFrame = cfn(curpos,endpos)*cfn(0,0,-mag2/2) | |
399 | else | |
400 | laz.CFrame = cfn(curpos,apos)*cfn(0,0,-mag/times/2) | |
401 | - | Controls = game:service'ControllerService':children()[1] |
401 | + | |
402 | curpos = laz.CFrame*cfn(0,0,-mag/times/2).p debris:AddItem(laz,livetime) | |
403 | - | local fakehead = head:clone() |
403 | + | |
404 | - | fakehead.Parent = char |
404 | + | |
405 | - | fakehead.Name = 'FakeHead' |
405 | + | |
406 | - | head.Transparency = 1 |
406 | + | ------MESHIDS--- |
407 | - | for i,v in pairs(fakehead:children()) do |
407 | + | meshids = {["penguin"] = 15853464, ["ring"] = 3270017, |
408 | - | if v:IsA'Sound' or v:IsA'Decal' then |
408 | + | ["spike"] = 1033714,["cone"] = 1082802,["crown"] = 20329976,["crossbow"] = 15886761, |
409 | - | v:Destroy() |
409 | + | ["cloud"] = 1095708,["mjolnir"] = 1279013,["diamond"] = 9756362, ["hand"] = 37241605, |
410 | ["fist"] = 65322375,["skull"] = 36869983,["totem"] = 35624068,["spikeb"] = 9982590,["dragon"] = 58430372,["fish"] = 31221717, ["coffee"] = 15929962,["spiral"] = 1051557, | |
411 | ["ramen"] = 19380188,["lightning"] = 72583597,["bullet"]=2697549,['cheese'] = 1090700,["pan"] = 24342877,["ketchup"] = 29690481, | |
412 | ["duck"] = 9419831,["unicorn"]=84003494,["luatophat"] = 42157240,["rooster"] = 24101267}---some meshids | |
413 | - | for i,v in pairs(head:children()) do |
413 | + | textureids = {["cone"] = 1082804,["rainbow"] = 28488599,["fish"] = 31221733, ["coffee"] = 24181455,["monster"] = 33366441,["ramen"] = 19380153, |
414 | - | if v:IsA'Sound' then |
414 | + | ["cheese"] = 1090703,['rooster'] = 24258160} |
415 | - | v:Destroy() |
415 | + | |
416 | ||
417 | function AddTag(object,tagname) local tag = Instance.new("BoolValue",object) tag.Name = tagname return tag end | |
418 | function CheckTag(object,tagname) local found = object:FindFirstChild(tagname) if found then return found else return _ end end | |
419 | - | waitingloop = false |
419 | + | function RemoveTag(object,tagname) local found = CheckTag(object,tagname) if found then found:Remove() end end |
420 | ||
421 | - | local fakeweld = Instance.new("Weld", fakehead) |
421 | + | waitbp = function(a,r) while (a.Parent.Position-a.position).magnitude > r do wait() end end |
422 | - | fakeweld.Part0 = head |
422 | + | |
423 | - | fakeweld.Part1 = fakehead |
423 | + | function FindGround(position,radius,ignore) |
424 | if ignore then | |
425 | - | humanoid.Jumping:connect(function() |
425 | + | ig = ignore table.insert(ig,m) |
426 | - | if not action or not prone then |
426 | + | else ig = {m} |
427 | - | action = 'Jumping' |
427 | + | |
428 | local ray = Ray.new(position,Vector3.FromNormalId(Enum.NormalId.Bottom)*radius) | |
429 | local obj,pos2 = Workspace:FindPartOnRayWithIgnoreList(ray,ig) | |
430 | if obj and pos2 then return obj,pos2 else return nil end | |
431 | - | local ScreenGui = Instance.new("ScreenGui", plr.PlayerGui) |
431 | + | |
432 | - | ScreenGui.Name = "BaseGui" |
432 | + | |
433 | - | local WhatObject = Instance.new("TextLabel", ScreenGui) |
433 | + | function calcp(a,b) --- Direction CFrame |
434 | - | WhatObject.Size = UDim2.new(0, 50, 0, 10) |
434 | + | return cfn(a,v3n(b.x,a.y,b.z)) |
435 | - | WhatObject.BackgroundColor3 = Color3.new(.25, .25, .25) |
435 | + | |
436 | - | WhatObject.BackgroundTransparency = .45 |
436 | + | |
437 | - | WhatObject.TextColor3 = Color3.new(1,1,1) |
437 | + | --------ANIMATING FUNCTION-------- |
438 | - | WhatObject.TextXAlignment = 'Left' |
438 | + | tw = function(Weld, Stop, Step,a) |
439 | - | WhatObject.Visible = false |
439 | + | local func = function() |
440 | - | local WhatObjectI = Instance.new("TextLabel", ScreenGui) |
440 | + | local Start = Weld.C0 |
441 | - | WhatObjectI.Size = UDim2.new(0, 50, 0, 10) |
441 | + | local X1, Y1, Z1 = Start:toEulerAnglesXYZ() |
442 | - | WhatObjectI.BackgroundColor3 = Color3.new(.05, .05, .05) |
442 | + | local Stop = Stop |
443 | - | WhatObjectI.TextColor3 = Color3.new(1,1,1) |
443 | + | local X2, Y2, Z2 = Stop:toEulerAnglesXYZ() |
444 | - | WhatObjectI.FontSize = "Size12" |
444 | + | |
445 | - | WhatObjectI.TextYAlignment = 'Top' |
445 | + | for i = 0, 1, Step or .1 do |
446 | - | WhatObjectI.TextXAlignment = 'Left' |
446 | + | Weld.C0 = CFrame.new( (Start.p.X * (1 - i)) + (Stop.p.X * i), |
447 | - | WhatObjectI.Visible = false |
447 | + | (Start.p.Y * (1 - i)) + (Stop.p.Y * i), |
448 | - | WhatObjectI.ZIndex = 3 |
448 | + | (Start.p.Z * (1 - i)) + (Stop.p.Z * i)) * CFrame.fromEulerAnglesXYZ( |
449 | (X1 * (1 - i)) + (X2 * i), (Y1 * (1 - i)) + (Y2 * i), | |
450 | - | local RadioFrame = Instance.new("Frame", ScreenGui) |
450 | + | (Z1 * (1 - i)) + (Z2 * i) ) |
451 | - | RadioFrame.Size = UDim2.new(0, 90, 0, 30) |
451 | + | wait() |
452 | - | RadioFrame.Position = UDim2.new(0, 0, .4, 0) |
452 | + | |
453 | - | RadioFrame.BackgroundColor3 = Color3.new(.25, .25, .25) |
453 | + | |
454 | Weld.C0 = Stop | |
455 | - | local InventoryBut = Instance.new("TextButton", ScreenGui) |
455 | + | |
456 | - | InventoryBut.Size = UDim2.new(0, 90, 0, 30) |
456 | + | if a then T.C(function() func() end) else func() end |
457 | - | InventoryBut.Text = 'Inventory' |
457 | + | |
458 | - | InventoryBut.TextColor3 = Color3.new(1,1,1) |
458 | + | ------------------------------------ |
459 | - | InventoryBut.TextScaled = true |
459 | + | |
460 | - | InventoryBut.Position = UDim2.new(.4, 0, 0, 0) |
460 | + | function weldall(q) |
461 | - | InventoryBut.BackgroundColor3 = Color3.new(.25, .25, .25) |
461 | + | if q == 1 then a,b = 1,2 else a,b = -1,0 end |
462 | for i = a,b do lock.R(i) lock.L(i) end | |
463 | - | local InventoryGui = Instance.new("Frame", ScreenGui) |
463 | + | |
464 | - | InventoryGui.Size = UDim2.new(.6, 0, .6, 0) |
464 | + | function FindPlayers(a,b,c) --- Finds Players near a part |
465 | - | InventoryGui.BackgroundColor3 = Color3.new(.25, .25, .25) |
465 | + | local list = {} |
466 | - | InventoryGui.Position = UDim2.new(.2, 0, -1, 0) |
466 | + | for i,v in pairs(Workspace:children()) do |
467 | if v:IsA("Model") then | |
468 | - | InventoryBut.TouchTap:connect(function() |
468 | + | for _,q in pairs(v:children()) do |
469 | - | InvVisible = not InvVisible |
469 | + | if q:IsA("Humanoid") then |
470 | - | if InvVisible then |
470 | + | if q.Health > -1 then |
471 | - | InventoryGui:TweenPosition(UDim2.new(.2, 0, .2, 0), "Out", "Quad", .35, true) |
471 | + | if c and q.Parent ~= char then |
472 | - | elseif not InvVisible then |
472 | + | if (q.Torso.Position-a).magnitude < b then |
473 | - | InventoryGui:TweenPosition(UDim2.new(.2, 0, -1, 0), "Out", "Quad", .35, true) |
473 | + | table.insert(list,v) |
474 | end | |
475 | elseif not c then | |
476 | - | InventoryBut.MouseButton1Down:connect(function() |
476 | + | if (q.Torso.Position-a).magnitude < b then |
477 | - | InvVisible = not InvVisible |
477 | + | table.insert(list,v) |
478 | - | if InvVisible then |
478 | + | |
479 | - | InventoryGui:TweenPosition(UDim2.new(.2, 0, .2, 0), "Out", "Quad", .35, true) |
479 | + | |
480 | - | elseif not InvVisible then |
480 | + | |
481 | - | InventoryGui:TweenPosition(UDim2.new(.2, 0, -1, 0), "Out", "Quad", .35, true) |
481 | + | |
482 | end | |
483 | end | |
484 | end | |
485 | - | Buildings = {} |
485 | + | return list |
486 | end | |
487 | - | local WoodenFence = Instance.new("Part") |
487 | + | |
488 | - | WoodenFence.Size = Vector3.new(10, 5, 1) |
488 | + | hdl = T.P(.5,4,.5,'Navy blue',0,false,false) |
489 | - | WoodenFence.Anchored = true |
489 | + | hw = T.W(hdl,rarm,0,-1,-.5,-math.pi/2,0,0) |
490 | - | WoodenFence.Material = 'Wood' |
490 | + | |
491 | - | WoodenFence.BrickColor = BrickColor.new'Really red' |
491 | + | tip = T.P(1,1,1,'White',0,false,false) |
492 | - | table.insert(Buildings, {WoodenFence = 'Wooden Fence'}) |
492 | + | T.W(tip,hdl,0,2.45,0,0,0,0) |
493 | ||
494 | - | for y = 1, 4 do |
494 | + | p2 = T.P(1.5,1,1.5,'Black',0,false,false) |
495 | - | for x = 1, 4 do |
495 | + | mot = T.W(p2,tip,0,1,0,-math.pi/2,0,0) |
496 | - | local slot = Instance.new("ImageLabel", InventoryGui) |
496 | + | mot.C0 = cfn()*ang(-math.pi/2,0,0) |
497 | - | slot.Name = "Slot"..tostring(#InventoryGui:children()) |
497 | + | |
498 | - | slot.Size = UDim2.new(.155, 0, .2, 0) |
498 | + | cyl = T.P(1.2,.1,1.2,'Bright red',0,false,false) |
499 | - | slot.ZIndex = 2 |
499 | + | T.W(cyl,p2,0,.55,0,0,0,0) |
500 | - | slot.Position = UDim2.new(.2+((x-1)/4)*.8, 0, .025+(y-1)/4, 0) |
500 | + | |
501 | - | slot.BackgroundColor3 = Color3.new(.35, .35, .35) |
501 | + | lock.R(1) |
502 | - | local stack = Instance.new("TextLabel", slot) |
502 | + | |
503 | - | stack.Size = UDim2.new(0, 0, 0, 25) |
503 | + | tw(rw,cfn()*ang(md(-80),md(-40),0)) np = rw.C0 |
504 | - | stack.Position = UDim2.new(.95, 0, 1, -25) |
504 | + | |
505 | - | stack.TextXAlignment = 'Right' |
505 | + | Sound = {} |
506 | - | stack.FontSize = "Size12" |
506 | + | for i,v in pairs(FilterTab(char.Head:children(),'Sound')) do |
507 | - | stack.ZIndex = 3 |
507 | + | if v.Name == "Mugex's Weapon Sound" then v:Destroy() end |
508 | - | stack.TextColor3 = Color3.new(1,1,1) |
508 | + | |
509 | - | stack.BackgroundTransparency = 1 |
509 | + | Sound.new = function(id,pitch) |
510 | - | stack.TextStrokeTransparency = .5 |
510 | + | local obj = Instance.new("Sound",char.Head) |
511 | - | stack.Visible = false |
511 | + | obj.Name = "Mugex's Weapon Sound" |
512 | - | stack.TextScaled = true |
512 | + | obj.SoundId = id |
513 | - | Instance.new("StringValue", slot).Name = 'ItemName' |
513 | + | obj.Pitch = pitch or 1 |
514 | - | Instance.new("StringValue", slot).Name = 'Description' |
514 | + | return obj |
515 | - | Instance.new("NumberValue", slot).Name = 'Stack' |
515 | + | |
516 | - | Instance.new("BoolValue", slot).Name = 'Functionable' |
516 | + | |
517 | - | Instance.new("StringValue", slot.Functionable).Name = 'Function' |
517 | + | slash_snd = Sound.new("http://www.roblox.com/Asset/?id=10209640",.5) |
518 | - | slot.Functionable.Value = false |
518 | + | shoot_snd = Sound.new("http://www.roblox.com/Asset/?id=10209897") |
519 | - | slot.Functionable.Changed:connect(function() |
519 | + | notar_snd = Sound.new("http://www.roblox.com/Asset/?id=10209771") |
520 | - | if slot.Functionable.Function.Value == 'Place' then |
520 | + | elec_snd = Sound.new("http://www.roblox.com/Asset/?id=11998777") |
521 | - | slot.MouseButton1Down:connect(function() |
521 | + | |
522 | - | InvVisible = false |
522 | + | function att() |
523 | - | InventoryGui:TweenPosition(UDim2.new(.2, 0, -1, 0), "Out", "Quad", .35, true) |
523 | + | con = tip.Touched:connect(function(hit) local hum = damage(hit.Parent,5,.05,'Bright red') |
524 | - | local PlaceObject |
524 | + | if hum then elec_snd:Play() spaas(hum.Torso.Position,3,2,2,'Bright red') end |
525 | - | for i,v in pairs(Buildings) do |
525 | + | |
526 | - | if v.Name == slot.Name.Value then |
526 | + | |
527 | - | PlaceObject = v:clone() |
527 | + | tw(rw,cfn()*ang(md(-140),md(20),0)) |
528 | - | PlabeObject.Parent = workspace |
528 | + | slash_snd:Play() |
529 | - | end |
529 | + | tw(rw,cfn()*ang(md(40),0,0),.2) |
530 | - | end |
530 | + | tw(rw,np) |
531 | - | local Placed = false |
531 | + | con:disconnect() |
532 | - | mouse.KeyDown:connect(function(k) |
532 | + | |
533 | - | if Placed then return end |
533 | + | |
534 | - | if k == "r" then |
534 | + | function spiker() r = 1 |
535 | - | if PlaceObject:IsA'Model' then |
535 | + | tw(rw,cfn()*ang(md(-90),0,0),.1,'') |
536 | - | PlabeObject.Dragger:AxisRotate() |
536 | + | tw(hw,cfn(0,-1,0)*ang(math.pi/2,0,0)) |
537 | - | end |
537 | + | local count = 0 |
538 | - | if PlaceObject:IsA'Part' then |
538 | + | spikes = Instance.new('Model',m) |
539 | - | PlaceObject.Rotation = Vector3.new(PlabeObject.Rotation.X, PlabeObject.Rotation.Y+90, PlabeObject.Rotation.Z) |
539 | + | for i = 1,360,30 do |
540 | - | end |
540 | + | sp = T.P(.4,.4,.4,'Magenta',1,false,false,spikes) local msh = T.FM(sp,'spike',.4,2,.4) |
541 | - | end |
541 | + | local w = T.W(sp,p2,mcos(md(i))*r,0,msin(md(i))*r,math.pi/2,0,math.pi/2+md(i)) |
542 | - | end) |
542 | + | w.C0 = cfn()*ang(math.pi,0,0) |
543 | - | mouse.Move:connect(function() |
543 | + | |
544 | - | if Placed then return end |
544 | + | fade(spikes:children(),1,0,-.1) |
545 | - | PlaceObject:TranslateBy(Vector3.new(mouse.Hit.x, mouse.Hit.y, mouse.Hit.z)) |
545 | + | shooting = true |
546 | - | end) |
546 | + | bg = T.BG(torso) |
547 | - | mouse.Button1Down:connect(function() |
547 | + | T.C(function() while shooting do wait() bg.cframe = calcp(torso.Position,mouse.hit.p) end end) |
548 | - | Placed = true |
548 | + | T.C(function() |
549 | - | end) |
549 | + | while shooting do |
550 | - | end) |
550 | + | local p = T.P(1,1,1,'White',0,true,false) T.FM(p,'skull',1,1,1,7920311) |
551 | p.CFrame = cyl.CFrame*cfn(0,1,0) | |
552 | - | end) |
552 | + | p.Touched:connect(function(hit) local h = damage(hit.Parent,3,.1,'Deep blue') if h then fade(p,0,1,.1) p:Destroy() end end) |
553 | - | slot.Stack.Changed:connect(function() |
553 | + | Instance.new("BodyForce",p).force = torso.CFrame.lookVector*30+v3n(0,p:GetMass()*floatforce,0) |
554 | - | if slot.Stack.Value == '0' then |
554 | + | debris:AddItem(p,2) shoot_snd:Play() wait(.2) |
555 | - | stack.Visible = false |
555 | + | end end) |
556 | ||
557 | - | stack.Visible = true |
557 | + | for i = 1,3 do |
558 | - | stack.Text = slot.Stack.Value |
558 | + | mot.DesiredAngle = md(360) |
559 | - | stack.Size = UDim2.new(0, -stack.TextBounds.x, 0, 25) |
559 | + | ventta(mot) |
560 | zeero(mot,0) | |
561 | - | end) |
561 | + | |
562 | - | slot.MouseEnter:connect(function() |
562 | + | notar_snd:Play() |
563 | - | if slot.Description.Value ~= '' then |
563 | + | shooting = false bg:Destroy() |
564 | - | WhatObjectI.Parent = slot |
564 | + | fade(spikes:GetChildren(),0,1,.1) spikes:Destroy() |
565 | - | WhatObjectI.Position = UDim2.new(0, 0, 1, 0) |
565 | + | tw(rw,np,.1,'') |
566 | - | WhatObjectI.Text = slot.Description.Value |
566 | + | tw(hw,cfn()) |
567 | - | wait(0) |
567 | + | |
568 | - | WhatObjectI.Size = UDim2.new(0, WhatObjectI.TextBounds.x, 0, WhatObjectI.TextBounds.Y) |
568 | + | |
569 | - | WhatObjectI.Visible = true |
569 | + | wing1 = T.P(5,3.5,1,'White',.3,false,false) T.FM(wing1,90821133,2,2,2,90782359) |
570 | w1 = T.W(wing1,torso,0,1,.5,-math.pi/2,0,0) | |
571 | - | end) |
571 | + | w1.C0 = cfn(2.5,0,0)*ang(-math.pi/2,0,0) |
572 | - | slot.MouseLeave:connect(function() |
572 | + | w1.DesiredAngle = .5 |
573 | - | WhatObjectI.Visible = false |
573 | + | |
574 | - | end) |
574 | + | wing1 = T.P(5,3.5,1,'White',.3,false,false) T.FM(wing1,90821193 or 92135556,2,2,2,90782359) |
575 | w2 = T.W(wing1,torso,0,1,.5,-math.pi/2,0,0) | |
576 | w2.C0 = cfn(-2.5,0,0)*ang(-math.pi/2,0,0) | |
577 | w2.DesiredAngle = -.5 | |
578 | - | InventoryGui.Slot1.Image = "rbxassetid://154927249" |
578 | + | |
579 | - | InventoryGui.Slot1.Description.Value = [[A regular flashlight, |
579 | + | fly_bp = _ |
580 | - | Equip with F.]] |
580 | + | flap = Sound.new('http://www.roblox.com/asset/?id=90820031') |
581 | function hover() | |
582 | - | InventoryGui.Slot2.Image = "rbxassetid://154931868" |
582 | + | if not fly_bp then |
583 | - | InventoryGui.Slot2.Description.Value = [[It's a survival knife, |
583 | + | fly_bp = T.BP(torso,torso.Position) |
584 | - | slaughter or gather materials! |
584 | + | T.C(function() |
585 | - | Equip with K.]] |
585 | + | while fly_bp do |
586 | w1.DesiredAngle = 1 | |
587 | - | InventoryGui.Slot3.Description.Value = [[It's wood, |
587 | + | w2.DesiredAngle = -1 |
588 | - | You can build or use it as material.]] |
588 | + | ventta(w1) |
589 | - | InventoryGui.Slot3.Stack.Value = 10 |
589 | + | flap:Play() |
590 | - | InventoryGui.Slot3.Image = "rbxassetid://154979500" |
590 | + | w1.DesiredAngle = .5 |
591 | w2.DesiredAngle = -.5 | |
592 | - | InventoryGui.Slot4.ItemName.Value = "Wooden Fence" |
592 | + | ventta(w1) |
593 | - | InventoryGui.Slot4.Description.Value = [[Defending building.]] |
593 | + | |
594 | - | InventoryGui.Slot4.Stack.Value = 1 |
594 | + | |
595 | - | InventoryGui.Slot4.Functionable.Function.Value = 'Place' |
595 | + | else fly_bp:Destroy() fly_bp = _ |
596 | end | |
597 | - | radiosound = Instance.new("Sound", head) |
597 | + | |
598 | - | radiosound.Volume = 1 |
598 | + | |
599 | - | radiosound.Name = 'IMPOSSIBRU' |
599 | + | function fly() |
600 | if fly_bp then | |
601 | - | Music = { |
601 | + | fly_bg = T.BG(torso) |
602 | - | ['1'] = function(plr) |
602 | + | holding = true |
603 | - | game:service'ContentProvider':Preload("rbxassetid://142386276") |
603 | + | while holding do wait() unit = (torso.Position-mouse.hit.p).unit |
604 | - | radiosound.SoundId = "rbxassetid://142386276" |
604 | + | fly_bg.cframe = calcp(torso.Position,mouse.hit.p) |
605 | - | radiosound.Pitch = 1 |
605 | + | fly_bp.position = fly_bp.position+unit*-5 |
606 | - | end; |
606 | + | |
607 | - | ['2'] = function(plr) |
607 | + | fly_bg:Destroy() |
608 | - | game:service'ContentProvider':Preload("rbxassetid://142329020") |
608 | + | |
609 | - | radiosound.SoundId = "rbxassetid://142329020" |
609 | + | |
610 | - | end; |
610 | + | cork = Sound.new("http://www.roblox.com/asset/?id=18426149") |
611 | - | ['3'] = function(plr) |
611 | + | function tablets() local r = 10 |
612 | - | game:service'ContentProvider':Preload("rbxassetid://145262991") |
612 | + | local tabs = Instance.new("Model",Workspace) |
613 | - | radiosound.SoundId = "rbxassetid://145262991" |
613 | + | for i = 36,360,360/30 do |
614 | - | end; |
614 | + | p = T.P(2.5,5,.5,'Deep blue',.5,false,true,tabs) |
615 | - | ['4'] = function(plr) |
615 | + | p.Name = 'MugTable' |
616 | - | game:service'ContentProvider':Preload("rbxassetid://142603004") |
616 | + | p.Touched:connect(function(hit) damage(hit.Parent,10,1,'New Yeller') end) |
617 | - | radiosound.SoundId = "rbxassetid://142603004" |
617 | + | pos = l(torso,mcos(md(i))*r,0,msin(md(i))*r).p |
618 | - | end; |
618 | + | p.CFrame = calcp(pos,torso.Position) |
619 | - | ['5'] = function(plr) |
619 | + | |
620 | - | game:service'ContentProvider':Preload("rbxassetid://143146783") |
620 | + | local box = Instance.new("SelectionBox",m) holding = true |
621 | - | radiosound.SoundId = "rbxassetid://143146783" |
621 | + | |
622 | - | end; |
622 | + | local all = tabs:children() |
623 | - | ['6'] = function(plr) |
623 | + | |
624 | - | game:service'ContentProvider':Preload("rbxassetid://27697392") |
624 | + | T.C(function() |
625 | - | radiosound.SoundId = "rbxassetid://27697392" |
625 | + | while holding do |
626 | - | end; |
626 | + | for i,v in pairs(all) do |
627 | - | ['7'] = function(plr) |
627 | + | a = 360/#all*i |
628 | - | game:service'ContentProvider':Preload("rbxassetid://142281425") |
628 | + | local pos = l(torso,mcos(md(a))*r,0,msin(md(a))*r).p |
629 | - | radiosound.SoundId = "rbxassetid://142281425" |
629 | + | v.CFrame = calcp(pos,torso.Position) |
630 | - | end; |
630 | + | |
631 | - | ['8'] = function(plr) |
631 | + | wait() |
632 | - | game:service'ContentProvider':Preload("rbxassetid://143654440") |
632 | + | |
633 | - | radiosound.SoundId = "rbxassetid://143654440" |
633 | + | end) |
634 | - | end; |
634 | + | |
635 | - | ['9'] = function(plr) |
635 | + | while holding do |
636 | - | game:service'ContentProvider':Preload("rbxassetid://142332086") |
636 | + | if mouse.Target.Name == 'MugTable' then |
637 | - | radiosound.SoundId = "rbxassetid://142332086" |
637 | + | box.Adornee = mouse.Target |
638 | - | end; |
638 | + | |
639 | - | ['10'] = function(plr) |
639 | + | wait() |
640 | - | game:service'ContentProvider':Preload("rbxassetid://142373420") |
640 | + | |
641 | - | radiosound.SoundId = "rbxassetid://142373420" |
641 | + | cork:Play() |
642 | - | radiosound.Pitch = .525 |
642 | + | local selected = box.Adornee or _ |
643 | - | end; |
643 | + | if not selected then tabs:Destroy() return end |
644 | - | ['11'] = function(plr) |
644 | + | selected.Anchored = false box:Destroy() |
645 | - | game:service'ContentProvider':Preload("rbxassetid://144003603") |
645 | + | for i,v in pairs(all) do if v ~= selected then v:Destroy() end end |
646 | - | radiosound.SoundId = "rbxassetid://144003603" |
646 | + | vel = Instance.new("BodyVelocity",selected) |
647 | - | radiosound.Pitch = 1 |
647 | + | vel.maxForce = v3n(1,0,1)*math.huge |
648 | - | end; |
648 | + | vel.velocity = selected.CFrame.lookVector*-60 |
649 | - | ['12'] = function(plr) |
649 | + | debris:AddItem(tabs,4) |
650 | - | game:service'ContentProvider':Preload("rbxassetid://149672967") |
650 | + | |
651 | - | radiosound.SoundId = "rbxassetid://149672967" |
651 | + | |
652 | - | end; |
652 | + | function dive() |
653 | - | ['13'] = function(plr) |
653 | + | if fly_bp then |
654 | - | game:service'ContentProvider':Preload("rbxassetid://153574819") |
654 | + | unit = (torso.Position-mouse.hit.p).unit |
655 | - | radiosound.SoundId = "rbxassetid://153574819" |
655 | + | fly_bp.Parent = _ |
656 | - | end; |
656 | + | torso.Anchored = true |
657 | - | ['14'] = function(plr) |
657 | + | oldp = torso.Position |
658 | - | game:service'ContentProvider':Preload("rbxassetid://152497436") |
658 | + | torso.CFrame = cfn((torso.Position + unit*-100),oldp)*ang(0,math.pi,0) |
659 | - | radiosound.SoundId = "rbxassetid://152497436" |
659 | + | mag = (oldp-torso.Position).magnitude |
660 | - | end; |
660 | + | local laz = T.P(1,mag,2,'Cyan',0,false,true) |
661 | - | ['15'] = function(plr) |
661 | + | laz.CFrame = cfn(oldp,torso.Position)*cfn(0,0,-mag/2)*ang(math.pi/2,0,0) |
662 | - | game:service'ContentProvider':Preload("rbxassetid://145183026") |
662 | + | T.C(function() fade(laz,0,1,.1) laz:Destroy() end) |
663 | - | radiosound.SoundId = "rbxassetid://145183026" |
663 | + | torso.Anchored = false |
664 | - | end; |
664 | + | fly_bp.Parent = torso fly_bp.position = torso.Position |
665 | - | ['16'] = function(plr) |
665 | + | |
666 | - | game:service'ContentProvider':Preload("rbxassetid://149069781") |
666 | + | |
667 | - | radiosound.SoundId = "rbxassetid://149069781" |
667 | + | |
668 | - | end; |
668 | + | klist = { |
669 | - | ['17'] = function(plr) |
669 | + | {'f',function() att() end}; |
670 | - | game:service'ContentProvider':Preload("rbxassetid://142290799") |
670 | + | {'q',function() spiker() end}; |
671 | - | radiosound.SoundId = "rbxassetid://142290799" |
671 | + | {'r',function() fly() end,''}; |
672 | - | end; |
672 | + | {'e',function() hover() end}; |
673 | - | ['18'] = function(plr) |
673 | + | {'c',function() tablets() end,''}; |
674 | - | game:service'ContentProvider':Preload("rbxassetid://142386784") |
674 | + | {'t',function() dive() end}; |
675 | - | radiosound.SoundId = "rbxassetid://142386784" |
675 | + | |
676 | - | end; |
676 | + | |
677 | - | ['19'] = function(plr) |
677 | + | mouse.Button1Up:connect(function() holding = false end) |
678 | - | game:service'ContentProvider':Preload("rbxassetid://144364636") |
678 | + | mouse.KeyUp:connect(function(a) for i,v in pairs(klist) do if a == v[1] and v[3] ~= nil then holding = false end end end) |
679 | - | radiosound.SoundId = "rbxassetid://144364636" |
679 | + | mouse.KeyDown:connect(function(key) |
680 | - | end; |
680 | + | if attacking then return end |
681 | - | ['20'] = function(plr) |
681 | + | for i,v in pairs(klist) do |
682 | - | game:service'ContentProvider':Preload("rbxassetid://153901645") |
682 | + | if key == v[1] then attacking = true v[2](mouse) attacking = false end |
683 | - | radiosound.SoundId = "rbxassetid://153901645" |
683 | + | |
684 | - | end; |
684 | + | |
685 | - | ['21'] = function(plr) |
685 | + | --mediafire |