SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | --Converted with ttyyuu12345's model to script plugin v4 | |
3 | function sandbox(var,func) | |
4 | local env = getfenv(func) | |
5 | local newenv = setmetatable({},{ | |
6 | __index = function(self,k) | |
7 | if k=="script" then | |
8 | return var | |
9 | else | |
10 | return env[k] | |
11 | end | |
12 | end, | |
13 | }) | |
14 | setfenv(func,newenv) | |
15 | return func | |
16 | end | |
17 | cors = {} | |
18 | mas = Instance.new("Model",game:GetService("Lighting")) | |
19 | Model0 = Instance.new("Model") | |
20 | - | Script1 = Instance.new("Script") |
20 | + | Part1 = Instance.new("Part") |
21 | - | ModuleScript2 = Instance.new("ModuleScript") |
21 | + | Script2 = Instance.new("Script") |
22 | - | ModuleScript3 = Instance.new("ModuleScript") |
22 | + | ScreenGui3 = Instance.new("ScreenGui") |
23 | - | Camera4 = Instance.new("Camera") |
23 | + | Frame4 = Instance.new("Frame") |
24 | - | Part5 = Instance.new("Part") |
24 | + | ImageLabel5 = Instance.new("ImageLabel") |
25 | - | Decal6 = Instance.new("Decal") |
25 | + | Script6 = Instance.new("Script") |
26 | - | BlockMesh7 = Instance.new("BlockMesh") |
26 | + | Script7 = Instance.new("Script") |
27 | - | PointLight8 = Instance.new("PointLight") |
27 | + | Script8 = Instance.new("Script") |
28 | - | Model0.Name = "Kohl's Admin Infinite" |
28 | + | Sound9 = Instance.new("Sound") |
29 | ImageLabel10 = Instance.new("ImageLabel") | |
30 | - | Script1.Name = "Credit" |
30 | + | Script11 = Instance.new("Script") |
31 | - | Script1.Parent = Model0 |
31 | + | Script12 = Instance.new("Script") |
32 | - | table.insert(cors,sandbox(Script1,function() |
32 | + | Sound13 = Instance.new("Sound") |
33 | - | --[[ ]]if _G.KAU then script:Destroy() end _G.KAU=0 script.Name,script.Parent='Kohl\'s Admin Infinite',game:service'ServerScriptService' while require(306895131)~='badpotato' do wait(1) end --[[ Looking for me? ;) |
33 | + | Part14 = Instance.new("Part") |
34 | - | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
34 | + | Motor6D15 = Instance.new("Motor6D") |
35 | - | ::::::::'##:::'##::'#######::'##::::'##:'##:::::::'####::'######::::::::: |
35 | + | Motor6D16 = Instance.new("Motor6D") |
36 | - | :::::::: ##::'##::'##.... ##: ##:::: ##: ##::::::: ####:'##... ##:::::::: |
36 | + | Motor6D17 = Instance.new("Motor6D") |
37 | - | :::::::: ##:'##::: ##:::: ##: ##:::: ##: ##:::::::. ##:: ##:::..::::::::: |
37 | + | Motor6D18 = Instance.new("Motor6D") |
38 | - | :::::::: #####:::: ##:::: ##: #########: ##:::::::'##:::. ######::::::::: |
38 | + | Motor6D19 = Instance.new("Motor6D") |
39 | - | :::::::: ##. ##::: ##:::: ##: ##.... ##: ##:::::::..:::::..... ##:::::::: |
39 | + | BodyForce20 = Instance.new("BodyForce") |
40 | - | :::::::: ##:. ##:: ##:::: ##: ##:::: ##: ##:::::::::::::'##::: ##:::::::: |
40 | + | Part21 = Instance.new("Part") |
41 | - | :::::::: ##::. ##:. #######:: ##:::: ##: ########:::::::. ######::::::::: |
41 | + | Part22 = Instance.new("Part") |
42 | - | ::::::::..::::..:::.......:::..:::::..::........:::::::::......:::::::::: |
42 | + | Part23 = Instance.new("Part") |
43 | - | :::::::::::::::'###::::'########::'##::::'##:'####:'##::: ##::::::::::::: |
43 | + | Part24 = Instance.new("Part") |
44 | - | ::::::::::::::'## ##::: ##.... ##: ###::'###:. ##:: ###:: ##::::::::::::: |
44 | + | Part25 = Instance.new("Part") |
45 | - | :::::::::::::'##:. ##:: ##:::: ##: ####'####:: ##:: ####: ##::::::::::::: |
45 | + | SpecialMesh26 = Instance.new("SpecialMesh") |
46 | - | ::::::::::::'##:::. ##: ##:::: ##: ## ### ##:: ##:: ## ## ##::::::::::::: |
46 | + | SpotLight27 = Instance.new("SpotLight") |
47 | - | :::::::::::: #########: ##:::: ##: ##. #: ##:: ##:: ##. ####::::::::::::: |
47 | + | Humanoid28 = Instance.new("Humanoid") |
48 | - | :::::::::::: ##.... ##: ##:::: ##: ##:.:: ##:: ##:: ##:. ###::::::::::::: |
48 | + | Backpack29 = Instance.new("Backpack") |
49 | - | :::::::::::: ##:::: ##: ########:: ##:::: ##:'####: ##::. ##::::::::::::: |
49 | + | Script30 = Instance.new("Script") |
50 | - | ::::::::::::..:::::..::........:::..:::::..::....::..::::..:::::::::::::: |
50 | + | Script31 = Instance.new("Script") |
51 | - | :::'####:'##::: ##:'########:'####:'##::: ##:'####:'########:'########::: |
51 | + | ObjectValue32 = Instance.new("ObjectValue") |
52 | - | :::. ##:: ###:: ##: ##.....::. ##:: ###:: ##:. ##::... ##..:: ##.....:::: |
52 | + | Script33 = Instance.new("Script") |
53 | - | :::: ##:: ####: ##: ##:::::::: ##:: ####: ##:: ##::::: ##:::: ##::::::::: |
53 | + | StringValue34 = Instance.new("StringValue") |
54 | - | :::: ##:: ## ## ##: ######:::: ##:: ## ## ##:: ##::::: ##:::: ######::::: |
54 | + | Animation35 = Instance.new("Animation") |
55 | - | :::: ##:: ##. ####: ##...::::: ##:: ##. ####:: ##::::: ##:::: ##...:::::: |
55 | + | StringValue36 = Instance.new("StringValue") |
56 | - | :::: ##:: ##:. ###: ##:::::::: ##:: ##:. ###:: ##::::: ##:::: ##::::::::: |
56 | + | Animation37 = Instance.new("Animation") |
57 | - | :::'####: ##::. ##: ##:::::::'####: ##::. ##:'####:::: ##:::: ########::: |
57 | + | StringValue38 = Instance.new("StringValue") |
58 | - | :::....::..::::..::..::::::::....::..::::..::....:::::..:::::........:::: |
58 | + | Animation39 = Instance.new("Animation") |
59 | - | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
59 | + | NumberValue40 = Instance.new("NumberValue") |
60 | - | :::::::::::: Thanks for using Kohl's Admin Infinite Edition! :::::::::::: |
60 | + | Animation41 = Instance.new("Animation") |
61 | - | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
61 | + | NumberValue42 = Instance.new("NumberValue") |
62 | - | :::::::::::::::::::: This script is developed by Kohl ::::::::::::::::::: |
62 | + | StringValue43 = Instance.new("StringValue") |
63 | - | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
63 | + | Animation44 = Instance.new("Animation") |
64 | - | : To configure the admin open the Settings module inside of this script : |
64 | + | StringValue45 = Instance.new("StringValue") |
65 | - | ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: |
65 | + | Animation46 = Instance.new("Animation") |
66 | - | ]] |
66 | + | StringValue47 = Instance.new("StringValue") |
67 | Animation48 = Instance.new("Animation") | |
68 | - | ModuleScript2.Name = "Settings" |
68 | + | StringValue49 = Instance.new("StringValue") |
69 | - | ModuleScript2.Parent = Script1 |
69 | + | Animation50 = Instance.new("Animation") |
70 | - | table.insert(cors,sandbox(ModuleScript2,function() |
70 | + | StringValue51 = Instance.new("StringValue") |
71 | - | --[[ |
71 | + | Animation52 = Instance.new("Animation") |
72 | - | Use usernames or userIds to add a user to a list |
72 | + | Script53 = Instance.new("Script") |
73 | - | For example; Admins={'MyBestFriend','Telamon',261} ]] |
73 | + | Script54 = Instance.new("Script") |
74 | Script55 = Instance.new("Script") | |
75 | - | local Banned={'someoneyoudislike'} -- For those who have wronged you, & this guy |
75 | + | Script56 = Instance.new("Script") |
76 | Part57 = Instance.new("Part") | |
77 | - | -------------------------------------------------------------- |
77 | + | Motor6D58 = Instance.new("Motor6D") |
78 | - | -- You DO NOT need to add yourself to any of these lists!!! -- |
78 | + | SpecialMesh59 = Instance.new("SpecialMesh") |
79 | - | -------------------------------------------------------------- |
79 | + | Part60 = Instance.new("Part") |
80 | BillboardGui61 = Instance.new("BillboardGui") | |
81 | - | local Owners={XXleo29maxXX,Iamapoopyturd} -- Can set SuperAdmins, & use all the commands |
81 | + | ImageLabel62 = Instance.new("ImageLabel") |
82 | - | local SuperAdmins={} -- Can set permanent admins, & shutdown the game |
82 | + | Script63 = Instance.new("Script") |
83 | - | local Admins={} -- Can ban, crash, & set Moderators/VIP |
83 | + | Part64 = Instance.new("Part") |
84 | - | local Mods={} -- Can kick, mute, & use most commands |
84 | + | Part65 = Instance.new("Part") |
85 | - | local VIP={} -- Can use nonabusive commands only on self |
85 | + | Part66 = Instance.new("Part") |
86 | BillboardGui67 = Instance.new("BillboardGui") | |
87 | - | -- THESE ARE THE CORE SETTINGS |
87 | + | ImageLabel68 = Instance.new("ImageLabel") |
88 | - | -- YOU WILL NOT BE ABLE TO CHANGE THEM IN-GAME |
88 | + | Script69 = Instance.new("Script") |
89 | - | local Settings={ |
89 | + | Camera70 = Instance.new("Camera") |
90 | - | --[[ |
90 | + | Model0.Name = "Ignited Bonnie" |
91 | - | Style Options |
91 | + | |
92 | - | ������������� ]] |
92 | + | Part1.Name = "Jumpscare Box" |
93 | - | Flat=false; -- Enables Flat theme / Disables Aero theme |
93 | + | Part1.Parent = Model0 |
94 | - | ForcedColor=false; -- Forces everyone to have set color & transparency |
94 | + | Part1.CFrame = CFrame.new(-18.7641983, 3.59502602, 236.232513, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21) |
95 | - | Color=Color3.new(0,0,0); -- Changes the Color of the user interface |
95 | + | Part1.Orientation = Vector3.new(0, -90, 0) |
96 | - | ColorTransparency=.75; -- Changes the Transparency of the user interface |
96 | + | Part1.Position = Vector3.new(-18.7641983, 3.59502602, 236.232513) |
97 | - | Chat=false; -- Enables the custom chat |
97 | + | Part1.Rotation = Vector3.new(0, -90, 0) |
98 | - | BubbleChat=false; -- Enables the custom bubble chat |
98 | + | Part1.Color = Color3.new(0.152941, 0.27451, 0.176471) |
99 | - | --[[ |
99 | + | Part1.Transparency = 1 |
100 | - | Basic Settings |
100 | + | Part1.Size = Vector3.new(3.43617249, 7.18966675, 3.5197773) |
101 | - | �������������� ]] |
101 | + | Part1.BottomSurface = Enum.SurfaceType.Smooth |
102 | - | AdminCredit=true; -- Enables the credit GUI for that appears in the bottom right |
102 | + | Part1.BrickColor = BrickColor.new("Earth green") |
103 | - | AutoClean=false; -- Enables automatic cleaning of hats & tools in the Workspace |
103 | + | Part1.CanCollide = false |
104 | - | AutoCleanDelay=60; -- The delay between each AutoClean routine |
104 | + | Part1.Material = Enum.Material.WoodPlanks |
105 | - | CommandBar=true; -- Enables the Command Bar | GLOBAL KEYBIND: \ |
105 | + | Part1.TopSurface = Enum.SurfaceType.Smooth |
106 | - | FunCommands=true; -- Enables fun yet unnecessary commands |
106 | + | Part1.brickColor = BrickColor.new("Earth green") |
107 | - | FreeAdmin=false; -- Set to 1-5 to grant admin powers to all, otherwise set to false |
107 | + | Part1.FormFactor = Enum.FormFactor.Symmetric |
108 | - | PublicLogs=false; -- Allows all users to see the command & chat logs |
108 | + | Part1.formFactor = Enum.FormFactor.Symmetric |
109 | - | Prefix=':'; -- Character to begin a command |
109 | + | Script2.Name = "S2" |
110 | - | --[[ |
110 | + | Script2.Parent = Part1 |
111 | - | Admin Powers |
111 | + | table.insert(cors,sandbox(Script2,function() |
112 | - | ������������ |
112 | + | |
113 | - | 0 Player |
113 | + | Popup = script.Parent.Popup |
114 | - | 1 VIP Can use nonabusive commands only on self |
114 | + | Ready = true |
115 | - | 2 Moderator Can kick, mute, & use most commands |
115 | + | function onTouch(hit) |
116 | - | 3 Administrator Can ban, crash, & set Moderators/VIP |
116 | + | local h = hit.Parent:FindFirstChild("Humanoid") |
117 | - | 4 SuperAdmin Can grant permanent powers, & shutdown the game |
117 | + | if h ~= nil and Ready == true then |
118 | - | 5 Owner Can set SuperAdmins, & use all the commands |
118 | + | Ready = false |
119 | - | 6 Game Creator Can set owners & use all the commands |
119 | + | local plyr = game.Players:FindFirstChild(h.Parent.Name) |
120 | wait() | |
121 | - | Group & VIP Admin |
121 | + | local c = Popup:clone() |
122 | - | ����������������� |
122 | + | c.Parent = plyr.PlayerGui |
123 | - | You can set multiple Groups & Ranks to grant users admin powers |
123 | + | c.BackGround.Image.StuffScript.Disabled=false |
124 | - | GroupAdmin={ |
124 | + | h.Health=0 |
125 | - | [12345]={[254]=4,[253]=3}; |
125 | + | wait(1) |
126 | - | [GROUPID]={[RANK]=ADMINPOWER} |
126 | + | wait(.1) |
127 | - | }; |
127 | + | |
128 | - | You can set multiple Assets to grant users admin powers |
128 | + | c:remove() |
129 | - | VIPAdmin={ |
129 | + | wait(1) |
130 | - | [12345]=3; |
130 | + | Ready = true |
131 | - | [54321]=4; |
131 | + | |
132 | - | [ITEMID]=ADMINPOWER; |
132 | + | |
133 | - | }; ]] |
133 | + | |
134 | script.Parent.Touched:connect(onTouch) | |
135 | - | GroupAdmin={ |
135 | + | |
136 | end)) | |
137 | - | }; |
137 | + | ScreenGui3.Name = "Popup" |
138 | ScreenGui3.Parent = Part1 | |
139 | - | VIPAdmin={ |
139 | + | Frame4.Name = "BackGround" |
140 | Frame4.Parent = ScreenGui3 | |
141 | - | }; |
141 | + | Frame4.Position = UDim2.new(0, 0, -0.100000001, 0) |
142 | Frame4.Size = UDim2.new(1.10000002, 0, 1.20000005, 0) | |
143 | - | --[[ |
143 | + | Frame4.BackgroundColor = BrickColor.new("Black metallic") |
144 | - | Permissions |
144 | + | Frame4.BackgroundColor3 = Color3.new(0.109804, 0.109804, 0.109804) |
145 | - | ����������� |
145 | + | Frame4.BackgroundTransparency = 1 |
146 | - | -- You can set the admin power required to use a command |
146 | + | ImageLabel5.Name = "Image" |
147 | - | -- COMMANDNAME=ADMINPOWER; ]] |
147 | + | ImageLabel5.Parent = Frame4 |
148 | ImageLabel5.Position = UDim2.new(-0.200000003, -66, -0.100000001, -9) | |
149 | - | Permissions={ |
149 | + | ImageLabel5.Rotation = 4.6521444320679 |
150 | ImageLabel5.Size = UDim2.new(1.29999995, 0, 1.29999995, 0) | |
151 | - | }; |
151 | + | ImageLabel5.BackgroundColor = BrickColor.new("Really black") |
152 | ImageLabel5.BackgroundColor3 = Color3.new(0, 0, 0) | |
153 | ImageLabel5.BackgroundTransparency = 1 | |
154 | ImageLabel5.Image = "rbxassetid://940919723" | |
155 | - | return {Settings,{Owners,SuperAdmins,Admins,Mods,VIP,Banned}} |
155 | + | Script6.Parent = ImageLabel5 |
156 | table.insert(cors,sandbox(Script6,function() | |
157 | - | ModuleScript3.Name = "Custom Commands" |
157 | + | while wait() do |
158 | - | ModuleScript3.Parent = Script1 |
158 | + | script.Parent.Rotation = math.sin(tick() * 50) * 10 |
159 | - | table.insert(cors,sandbox(ModuleScript3,function() |
159 | + | |
160 | - | --[[ |
160 | + | |
161 | Script7.Name = "IntroGUI Script [READ]" | |
162 | - | ADMIN POWERS |
162 | + | Script7.Parent = ImageLabel5 |
163 | table.insert(cors,sandbox(Script7,function() | |
164 | - | 0 Player |
164 | + | |
165 | - | 1 VIP/Donor |
165 | + | while true do |
166 | - | 2 Moderator |
166 | + | script.Parent.Position = script.Parent.Position + UDim2.new(0, math.random(-100, 100), 0, math.random(-100, 100)) |
167 | - | 3 Administrator |
167 | + | wait(0.02) |
168 | - | 4 Super Administrator |
168 | + | script.Parent.Position = UDim2.new(-0.2, 0,-0.1, 0) |
169 | - | 5 Owner |
169 | + | wait(0.02) |
170 | - | 6 Game Creator |
170 | + | |
171 | ||
172 | - | First table consists of the different variations of the command. |
172 | + | |
173 | Script8.Name = "StuffScript" | |
174 | - | Second table consists of the description and an example of how to use it. |
174 | + | Script8.Parent = ImageLabel5 |
175 | table.insert(cors,sandbox(Script8,function() | |
176 | - | Third index is the ADMIN POWER required to use the command. |
176 | + | script.Sound:play() |
177 | de = 0 | |
178 | - | Fourth table consists of the arguments that will be returned in the args table. |
178 | + | repeat wait() de = de + 1 script.Parent.Parent.Size = script.Parent.Parent.Size + UDim2.new(0, 60, 0, 40) |
179 | - | 'player' -- returns an array of Players |
179 | + | script.Parent.Parent.Position = script.Parent.Parent.Position + UDim2.new(0, -30, 0, -20) until de == 40 |
180 | - | 'userid' -- returns an array of userIds |
180 | + | |
181 | - | 'boolean' -- returns a Boolean value |
181 | + | |
182 | - | 'color' -- returns a Color3 value |
182 | + | script.Parent.Parent.Static.Visible=true |
183 | - | 'number' -- returns a Number value |
183 | + | script.Parent.Parent.Scream2:play() |
184 | - | 'string' -- returns a String value |
184 | + | wait(.1) |
185 | - | 'time' -- returns # of seconds |
185 | + | script.Sound:stop() |
186 | - | 'banned' -- returns a value from Bans table |
186 | + | wait(.1) |
187 | - | 'admin' -- returns a value from Admins table |
187 | + | script.Parent:remove() |
188 | - | -- Adding / to any argument will make it optional; can return nil!!! |
188 | + | |
189 | Script8.Disabled = true | |
190 | - | Fifth index consists of the function that will run when the command is executed properly. ]] |
190 | + | Sound9.Parent = Script8 |
191 | - | return { |
191 | + | Sound9.EmitterSize = 0 |
192 | Sound9.MinDistance = 0 | |
193 | - | {{'test','othertest'},{'Test command.','Example'},6,{'number','string/'},function(pl,args) |
193 | + | Sound9.Pitch = 1.5 |
194 | - | print(pl,args[1],args[2]) |
194 | + | Sound9.PlaybackSpeed = 1.5 |
195 | - | end} |
195 | + | Sound9.SoundId = "rbxassetid://752370783" |
196 | Sound9.Volume = 1 | |
197 | - | }; |
197 | + | ImageLabel10.Name = "Static" |
198 | ImageLabel10.Parent = Frame4 | |
199 | - | Camera4.Name = "ThumbnailCamera" |
199 | + | ImageLabel10.Position = UDim2.new(-0.200000003, -56, -0.100000001, 65) |
200 | - | Camera4.Parent = Model0 |
200 | + | ImageLabel10.Rotation = 4.6577825546265 |
201 | - | Camera4.CFrame = CFrame.new(98, 90.9000015, -125.5, -1, 0, 0, 0, 1, 0, 0, 0, -1) |
201 | + | ImageLabel10.Visible = false |
202 | - | Camera4.CoordinateFrame = CFrame.new(98, 90.9000015, -125.5, -1, 0, 0, 0, 1, 0, 0, 0, -1) |
202 | + | ImageLabel10.Size = UDim2.new(1, 0, 1, 0) |
203 | - | Camera4.Focus = CFrame.new(98, 90.9000015, -123, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
203 | + | ImageLabel10.BackgroundColor = BrickColor.new("Dark grey metallic") |
204 | - | Camera4.focus = CFrame.new(98, 90.9000015, -123, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
204 | + | ImageLabel10.BackgroundColor3 = Color3.new(0.356863, 0.356863, 0.364706) |
205 | - | Part5.Parent = Camera4 |
205 | + | ImageLabel10.BorderSizePixel = 0 |
206 | - | Part5.CFrame = CFrame.new(-14.25, 2.1000061, 63.25, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
206 | + | ImageLabel10.ZIndex = 10 |
207 | - | Part5.Position = Vector3.new(-14.25, 2.1000061, 63.25) |
207 | + | ImageLabel10.Image = "rbxassetid://125514848" |
208 | - | Part5.Color = Color3.new(0.972549, 0.972549, 0.972549) |
208 | + | ImageLabel10.ImageColor3 = Color3.new(0, 0, 0) |
209 | - | Part5.Transparency = 1 |
209 | + | Script11.Name = "IntroGUI Script [READ]" |
210 | - | Part5.Size = Vector3.new(4.19999981, 4.19999981, 0.200000003) |
210 | + | Script11.Parent = ImageLabel10 |
211 | - | Part5.Anchored = true |
211 | + | table.insert(cors,sandbox(Script11,function() |
212 | - | Part5.BottomSurface = Enum.SurfaceType.Smooth |
212 | + | |
213 | - | Part5.BrickColor = BrickColor.new("Institutional white") |
213 | + | while true do |
214 | - | Part5.CanCollide = false |
214 | + | script.Parent.Position = script.Parent.Position + UDim2.new(0, math.random(-100, 100), 0, math.random(-100, 100)) |
215 | - | Part5.Locked = true |
215 | + | wait(0.05) |
216 | - | Part5.Material = Enum.Material.Slate |
216 | + | script.Parent.Position = UDim2.new(-0.2, 0,-0.1, 0) |
217 | - | Part5.TopSurface = Enum.SurfaceType.Smooth |
217 | + | wait(0.05) |
218 | - | Part5.brickColor = BrickColor.new("Institutional white") |
218 | + | |
219 | - | Part5.FormFactor = Enum.FormFactor.Custom |
219 | + | |
220 | - | Part5.formFactor = Enum.FormFactor.Custom |
220 | + | |
221 | - | Decal6.Parent = Part5 |
221 | + | Script12.Parent = ImageLabel10 |
222 | - | Decal6.Texture = "rbxassetid://314925538" |
222 | + | table.insert(cors,sandbox(Script12,function() |
223 | - | BlockMesh7.Parent = Part5 |
223 | + | while wait() do |
224 | - | BlockMesh7.Scale = Vector3.new(1, 1, 0) |
224 | + | script.Parent.Rotation = math.sin(tick() * 0) * 10 |
225 | - | PointLight8.Parent = Part5 |
225 | + | |
226 | - | PointLight8.Range = 10 |
226 | + | |
227 | - | PointLight8.Brightness = 100 |
227 | + | Sound13.Name = "Scream2" |
228 | Sound13.Parent = Frame4 | |
229 | Sound13.Looped = true | |
230 | Sound13.EmitterSize = 0 | |
231 | Sound13.MinDistance = 0 | |
232 | Sound13.Volume = 1 | |
233 | Part14.Name = "Torso" | |
234 | Part14.Parent = Model0 | |
235 | Part14.CFrame = CFrame.new(-18.7492905, 3.00002193, 236.262543, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21) | |
236 | Part14.Orientation = Vector3.new(0, -90, 0) | |
237 | Part14.Position = Vector3.new(-18.7492905, 3.00002193, 236.262543) | |
238 | Part14.Rotation = Vector3.new(0, -90, 0) | |
239 | Part14.Color = Color3.new(0.152941, 0.27451, 0.176471) | |
240 | Part14.Transparency = 1 | |
241 | Part14.Size = Vector3.new(2, 2, 1) | |
242 | Part14.BottomSurface = Enum.SurfaceType.Smooth | |
243 | Part14.BrickColor = BrickColor.new("Earth green") | |
244 | Part14.Material = Enum.Material.WoodPlanks | |
245 | Part14.TopSurface = Enum.SurfaceType.Smooth | |
246 | Part14.brickColor = BrickColor.new("Earth green") | |
247 | Part14.FormFactor = Enum.FormFactor.Symmetric | |
248 | Part14.formFactor = Enum.FormFactor.Symmetric | |
249 | Motor6D15.Name = "Left Hip" | |
250 | Motor6D15.Parent = Part14 | |
251 | Motor6D15.MaxVelocity = 0.10000000149012 | |
252 | Motor6D15.C0 = CFrame.new(-1, -1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08) | |
253 | Motor6D15.C1 = CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08) | |
254 | Motor6D15.Part0 = Part14 | |
255 | Motor6D15.Part1 = Part21 | |
256 | Motor6D15.part1 = Part21 | |
257 | Motor6D16.Name = "Right Hip" | |
258 | Motor6D16.Parent = Part14 | |
259 | Motor6D16.MaxVelocity = 0.10000000149012 | |
260 | Motor6D16.C0 = CFrame.new(1, -1, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08) | |
261 | Motor6D16.C1 = CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08) | |
262 | Motor6D16.Part0 = Part14 | |
263 | Motor6D16.Part1 = Part22 | |
264 | Motor6D16.part1 = Part22 | |
265 | Motor6D17.Name = "Left Shoulder" | |
266 | Motor6D17.Parent = Part14 | |
267 | Motor6D17.MaxVelocity = 0.10000000149012 | |
268 | Motor6D17.C0 = CFrame.new(-1, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08) | |
269 | Motor6D17.C1 = CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 0.99999994, 0, 1, 0, -4.37113883e-08) | |
270 | Motor6D17.Part0 = Part14 | |
271 | Motor6D17.Part1 = Part23 | |
272 | Motor6D17.part1 = Part23 | |
273 | Motor6D18.Name = "Right Shoulder" | |
274 | Motor6D18.Parent = Part14 | |
275 | Motor6D18.MaxVelocity = 0.10000000149012 | |
276 | Motor6D18.C0 = CFrame.new(1, 0.5, 0, -4.37113883e-08, 0, 1, -0, 0.99999994, 0, -1, 0, -4.37113883e-08) | |
277 | Motor6D18.C1 = CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 0.99999994, 0, -1, 0, -4.37113883e-08) | |
278 | Motor6D18.Part0 = Part14 | |
279 | Motor6D18.Part1 = Part24 | |
280 | Motor6D18.part1 = Part24 | |
281 | Motor6D19.Name = "Neck" | |
282 | Motor6D19.Parent = Part14 | |
283 | Motor6D19.MaxVelocity = 0.10000000149012 | |
284 | Motor6D19.C0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
285 | Motor6D19.C1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
286 | Motor6D19.Part0 = Part14 | |
287 | Motor6D19.Part1 = Part25 | |
288 | Motor6D19.part1 = Part25 | |
289 | BodyForce20.Name = "RepulsionForce" | |
290 | BodyForce20.Parent = Part14 | |
291 | BodyForce20.Force = Vector3.new(0, 0, 0) | |
292 | BodyForce20.force = Vector3.new(0, 0, 0) | |
293 | Part21.Name = "Left Leg" | |
294 | Part21.Parent = Model0 | |
295 | Part21.CFrame = CFrame.new(-18.7492905, 1.00002205, 235.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21) | |
296 | Part21.Orientation = Vector3.new(0, -90, 0) | |
297 | Part21.Position = Vector3.new(-18.7492905, 1.00002205, 235.762543) | |
298 | Part21.Rotation = Vector3.new(0, -90, 0) | |
299 | Part21.Color = Color3.new(0.152941, 0.27451, 0.176471) | |
300 | Part21.Transparency = 1 | |
301 | Part21.Size = Vector3.new(1, 2, 1) | |
302 | Part21.BottomSurface = Enum.SurfaceType.Smooth | |
303 | Part21.BrickColor = BrickColor.new("Earth green") | |
304 | Part21.CanCollide = false | |
305 | Part21.Material = Enum.Material.WoodPlanks | |
306 | Part21.TopSurface = Enum.SurfaceType.Smooth | |
307 | Part21.brickColor = BrickColor.new("Earth green") | |
308 | Part21.FormFactor = Enum.FormFactor.Symmetric | |
309 | Part21.formFactor = Enum.FormFactor.Symmetric | |
310 | Part22.Name = "Right Leg" | |
311 | Part22.Parent = Model0 | |
312 | Part22.CFrame = CFrame.new(-18.7492905, 1.00002205, 236.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21) | |
313 | Part22.Orientation = Vector3.new(0, -90, 0) | |
314 | Part22.Position = Vector3.new(-18.7492905, 1.00002205, 236.762543) | |
315 | Part22.Rotation = Vector3.new(0, -90, 0) | |
316 | Part22.Color = Color3.new(0.152941, 0.27451, 0.176471) | |
317 | Part22.Transparency = 1 | |
318 | Part22.Size = Vector3.new(1, 2, 1) | |
319 | Part22.BottomSurface = Enum.SurfaceType.Smooth | |
320 | Part22.BrickColor = BrickColor.new("Earth green") | |
321 | Part22.CanCollide = false | |
322 | Part22.Material = Enum.Material.WoodPlanks | |
323 | Part22.TopSurface = Enum.SurfaceType.Smooth | |
324 | Part22.brickColor = BrickColor.new("Earth green") | |
325 | Part22.FormFactor = Enum.FormFactor.Symmetric | |
326 | Part22.formFactor = Enum.FormFactor.Symmetric | |
327 | Part23.Name = "Left Arm" | |
328 | Part23.Parent = Model0 | |
329 | Part23.CFrame = CFrame.new(-18.7492905, 3.00002193, 234.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21) | |
330 | Part23.Orientation = Vector3.new(0, -90, 0) | |
331 | Part23.Position = Vector3.new(-18.7492905, 3.00002193, 234.762543) | |
332 | Part23.Rotation = Vector3.new(0, -90, 0) | |
333 | Part23.Color = Color3.new(0.152941, 0.27451, 0.176471) | |
334 | Part23.Transparency = 1 | |
335 | Part23.Size = Vector3.new(1, 2, 1) | |
336 | Part23.BottomSurface = Enum.SurfaceType.Smooth | |
337 | Part23.BrickColor = BrickColor.new("Earth green") | |
338 | Part23.CanCollide = false | |
339 | Part23.Material = Enum.Material.WoodPlanks | |
340 | Part23.TopSurface = Enum.SurfaceType.Smooth | |
341 | Part23.brickColor = BrickColor.new("Earth green") | |
342 | Part23.FormFactor = Enum.FormFactor.Symmetric | |
343 | Part23.formFactor = Enum.FormFactor.Symmetric | |
344 | Part24.Name = "Right Arm" | |
345 | Part24.Parent = Model0 | |
346 | Part24.CFrame = CFrame.new(-18.7492905, 3.00002193, 237.762543, 4.49431016e-21, -6.79974422e-22, -1, 4.72251821e-22, 0.999999881, -6.79974523e-22, 1, -4.7225177e-22, 4.49431016e-21) | |
347 | Part24.Orientation = Vector3.new(0, -90, 0) | |
348 | Part24.Position = Vector3.new(-18.7492905, 3.00002193, 237.762543) | |
349 | Part24.Rotation = Vector3.new(0, -90, 0) | |
350 | Part24.Color = Color3.new(0.152941, 0.27451, 0.176471) | |
351 | Part24.Transparency = 1 | |
352 | Part24.Size = Vector3.new(1, 2, 1) | |
353 | Part24.BottomSurface = Enum.SurfaceType.Smooth | |
354 | Part24.BrickColor = BrickColor.new("Earth green") | |
355 | Part24.CanCollide = false | |
356 | Part24.Material = Enum.Material.WoodPlanks | |
357 | Part24.TopSurface = Enum.SurfaceType.Smooth | |
358 | Part24.brickColor = BrickColor.new("Earth green") | |
359 | Part24.FormFactor = Enum.FormFactor.Symmetric | |
360 | Part24.formFactor = Enum.FormFactor.Symmetric | |
361 | Part25.Name = "Head" | |
362 | Part25.Parent = Model0 | |
363 | Part25.CFrame = CFrame.new(-18.7492905, 4.50002193, 236.262543, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21) | |
364 | Part25.Orientation = Vector3.new(0, -90, 0) | |
365 | Part25.Position = Vector3.new(-18.7492905, 4.50002193, 236.262543) | |
366 | Part25.Rotation = Vector3.new(0, -90, 0) | |
367 | Part25.Color = Color3.new(0.227451, 0.490196, 0.0823529) | |
368 | Part25.Transparency = 1 | |
369 | Part25.Size = Vector3.new(2, 1, 1) | |
370 | Part25.BottomSurface = Enum.SurfaceType.Smooth | |
371 | Part25.BrickColor = BrickColor.new("Camo") | |
372 | Part25.Material = Enum.Material.WoodPlanks | |
373 | Part25.TopSurface = Enum.SurfaceType.Smooth | |
374 | Part25.brickColor = BrickColor.new("Camo") | |
375 | Part25.FormFactor = Enum.FormFactor.Symmetric | |
376 | Part25.formFactor = Enum.FormFactor.Symmetric | |
377 | SpecialMesh26.Parent = Part25 | |
378 | SpecialMesh26.Scale = Vector3.new(1.25, 1.25, 1.25) | |
379 | SpotLight27.Parent = Part25 | |
380 | SpotLight27.Color = Color3.new(1, 0, 0) | |
381 | SpotLight27.Range = 30 | |
382 | SpotLight27.Brightness = inf | |
383 | Humanoid28.Parent = Model0 | |
384 | Humanoid28.Health = inf | |
385 | Humanoid28.JumpPower = 20 | |
386 | Humanoid28.LeftLeg = Part21 | |
387 | Humanoid28.MaxHealth = inf | |
388 | Humanoid28.RightLeg = Part22 | |
389 | Humanoid28.Torso = Part57 | |
390 | Humanoid28.WalkSpeed = 30 | |
391 | Humanoid28.maxHealth = inf | |
392 | Backpack29.Name = "AI" | |
393 | Backpack29.Parent = Model0 | |
394 | Script30.Name = "Pathfinding" | |
395 | Script30.Parent = Backpack29 | |
396 | table.insert(cors,sandbox(Script30,function() | |
397 | debugMode = false | |
398 | targetNPCs = false | |
399 | ||
400 | -- | |
401 | ||
402 | h = script.Parent.Parent:WaitForChild("Humanoid") | |
403 | pathService = game:GetService("PathfindingService") | |
404 | targetV = script.Parent:WaitForChild("Target") | |
405 | ||
406 | function closestTargetAndPath() | |
407 | local humanoids = {} | |
408 | if targetNPCs then | |
409 | local function recurse(o) | |
410 | for _,obj in pairs(o:GetChildren()) do | |
411 | if obj:IsA("Model") then | |
412 | if obj:findFirstChild("Humanoid") and obj:findFirstChild("Torso") and obj.Humanoid ~= h and obj.Humanoid.Health > 0 and not obj:findFirstChild("ForceField") then | |
413 | table.insert(humanoids,obj.Humanoid) | |
414 | end | |
415 | end | |
416 | recurse(obj) | |
417 | end | |
418 | end | |
419 | recurse(workspace) | |
420 | else | |
421 | for _,v in pairs(game.Players:GetPlayers()) do | |
422 | if v.Character and v.Character:findFirstChild("HumanoidRootPart") and v.Character:findFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 and not v:findFirstChild("ForceField") then | |
423 | table.insert(humanoids,v.Character.Humanoid) | |
424 | end | |
425 | end | |
426 | end | |
427 | local closest,path,dist | |
428 | for _,humanoid in pairs(humanoids) do | |
429 | local myPath = pathService:ComputeRawPathAsync(h.Torso.Position,humanoid.Torso.Position,500) | |
430 | if myPath.Status ~= Enum.PathStatus.FailFinishNotEmpty then | |
431 | -- Now that we have a successful path, we need to figure out how far we need to actually travel to reach this point. | |
432 | local myDist = 0 | |
433 | local previous = h.Torso.Position | |
434 | for _,point in pairs(myPath:GetPointCoordinates()) do | |
435 | myDist = myDist + (point-previous).magnitude | |
436 | previous = point | |
437 | end | |
438 | if not dist or myDist < dist then -- if true, this is the closest path so far. | |
439 | closest = humanoid | |
440 | path = myPath | |
441 | dist = myDist | |
442 | end | |
443 | end | |
444 | end | |
445 | return closest,path | |
446 | end | |
447 | ||
448 | function goToPos(loc) | |
449 | h:MoveTo(loc) | |
450 | local distance = (loc-h.Torso.Position).magnitude | |
451 | local start = tick() | |
452 | while distance > 4 do | |
453 | if tick()-start > distance/h.WalkSpeed then -- Something may have gone wrong. Just break. | |
454 | break | |
455 | end | |
456 | distance = (loc-h.Torso.Position).magnitude | |
457 | wait() | |
458 | end | |
459 | end | |
460 | ||
461 | while wait() do | |
462 | local target,path = closestTargetAndPath() | |
463 | local didBreak = false | |
464 | local targetStart | |
465 | if target and h.Torso then | |
466 | targetV.Value = target | |
467 | targetStart = target.Torso.Position | |
468 | roaming = false | |
469 | local previous = h.Torso.Position | |
470 | local points = path:GetPointCoordinates() | |
471 | local s = #points > 1 and 2 or 1 | |
472 | for i = s,#points do | |
473 | local point = points[i] | |
474 | if didBreak then | |
475 | break | |
476 | end | |
477 | if target and target.Torso and target.Health > 0 then | |
478 | if (target.Torso.Position-targetStart).magnitude < 1.5 then | |
479 | local pos = previous:lerp(point,.5) | |
480 | local moveDir = ((pos - h.Torso.Position).unit * 2) | |
481 | goToPos(previous:lerp(point,.5)) | |
482 | previous = point | |
483 | end | |
484 | else | |
485 | didBreak = true | |
486 | break | |
487 | end | |
488 | end | |
489 | else | |
490 | targetV.Value = nil | |
491 | end | |
492 | if not didBreak and targetStart then | |
493 | goToPos(targetStart) | |
494 | end | |
495 | end | |
496 | end)) | |
497 | Script31.Name = "AutoJump" | |
498 | Script31.Parent = Backpack29 | |
499 | table.insert(cors,sandbox(Script31,function() | |
500 | local h = script.Parent.Parent:WaitForChild("Humanoid") | |
501 | ||
502 | while wait(math.random()/4) do | |
503 | local check1 = game.Workspace:FindPartOnRay(Ray.new(h.Torso.Position-Vector3.new(0,1.5,0), h.Torso.CFrame.lookVector*3), h.Parent) | |
504 | local check2 = game.Workspace:FindPartOnRay(Ray.new(h.Torso.Position+Vector3.new(0,1.5,0), h.Torso.CFrame.lookVector*3), h.Parent) | |
505 | if check1 or check2 then | |
506 | h.Jump = true | |
507 | end | |
508 | end | |
509 | end)) | |
510 | ObjectValue32.Name = "Target" | |
511 | ObjectValue32.Parent = Backpack29 | |
512 | Script33.Name = "Animate" | |
513 | Script33.Parent = Model0 | |
514 | table.insert(cors,sandbox(Script33,function() | |
515 | -- This is in charge of the animations for the character. Pretty much stole it from the default character. Removed emote stuff. | |
516 | function waitForChild(parent, childName) | |
517 | local child = parent:findFirstChild(childName) | |
518 | if child then return child end | |
519 | while true do | |
520 | child = parent.ChildAdded:wait() | |
521 | if child.Name==childName then return child end | |
522 | end | |
523 | end | |
524 | ||
525 | local Figure = script.Parent | |
526 | local Torso = waitForChild(Figure, "Torso") | |
527 | local RightShoulder = waitForChild(Torso, "Right Shoulder") | |
528 | local LeftShoulder = waitForChild(Torso, "Left Shoulder") | |
529 | local RightHip = waitForChild(Torso, "Right Hip") | |
530 | local LeftHip = waitForChild(Torso, "Left Hip") | |
531 | local Neck = waitForChild(Torso, "Neck") | |
532 | local Humanoid = waitForChild(Figure, "Humanoid") | |
533 | local pose = "Standing" | |
534 | ||
535 | local currentAnim = "" | |
536 | local currentAnimInstance = nil | |
537 | local currentAnimTrack = nil | |
538 | local currentAnimKeyframeHandler = nil | |
539 | local currentAnimSpeed = 1.0 | |
540 | local animTable = {} | |
541 | local animNames = { | |
542 | idle = { | |
543 | { id = "http://www.roblox.com/asset/?id=180435571", weight = 9 }, | |
544 | { id = "http://www.roblox.com/asset/?id=180435792", weight = 1 } | |
545 | }, | |
546 | walk = { | |
547 | { id = "http://www.roblox.com/asset/?id=180426354", weight = 10 } | |
548 | }, | |
549 | run = { | |
550 | { id = "run.xml", weight = 10 } | |
551 | }, | |
552 | jump = { | |
553 | { id = "http://www.roblox.com/asset/?id=125750702", weight = 10 } | |
554 | }, | |
555 | fall = { | |
556 | { id = "http://www.roblox.com/asset/?id=180436148", weight = 10 } | |
557 | }, | |
558 | climb = { | |
559 | { id = "http://www.roblox.com/asset/?id=180436334", weight = 10 } | |
560 | }, | |
561 | sit = { | |
562 | { id = "http://www.roblox.com/asset/?id=178130996", weight = 10 } | |
563 | }, | |
564 | toolnone = { | |
565 | { id = "http://www.roblox.com/asset/?id=182393478", weight = 10 } | |
566 | }, | |
567 | toolslash = { | |
568 | { id = "http://www.roblox.com/asset/?id=129967390", weight = 10 } | |
569 | -- { id = "slash.xml", weight = 10 } | |
570 | }, | |
571 | toollunge = { | |
572 | { id = "http://www.roblox.com/asset/?id=129967478", weight = 10 } | |
573 | }, | |
574 | wave = { | |
575 | { id = "http://www.roblox.com/asset/?id=128777973", weight = 10 } | |
576 | }, | |
577 | point = { | |
578 | { id = "http://www.roblox.com/asset/?id=128853357", weight = 10 } | |
579 | }, | |
580 | dance = { | |
581 | { id = "http://www.roblox.com/asset/?id=182435998", weight = 10 }, | |
582 | { id = "http://www.roblox.com/asset/?id=182491037", weight = 10 }, | |
583 | { id = "http://www.roblox.com/asset/?id=182491065", weight = 10 } | |
584 | }, | |
585 | dance2 = { | |
586 | { id = "http://www.roblox.com/asset/?id=182436842", weight = 10 }, | |
587 | { id = "http://www.roblox.com/asset/?id=182491248", weight = 10 }, | |
588 | { id = "http://www.roblox.com/asset/?id=182491277", weight = 10 } | |
589 | }, | |
590 | dance3 = { | |
591 | { id = "http://www.roblox.com/asset/?id=182436935", weight = 10 }, | |
592 | { id = "http://www.roblox.com/asset/?id=182491368", weight = 10 }, | |
593 | { id = "http://www.roblox.com/asset/?id=182491423", weight = 10 } | |
594 | }, | |
595 | laugh = { | |
596 | { id = "http://www.roblox.com/asset/?id=129423131", weight = 10 } | |
597 | }, | |
598 | cheer = { | |
599 | { id = "http://www.roblox.com/asset/?id=129423030", weight = 10 } | |
600 | }, | |
601 | } | |
602 | ||
603 | math.randomseed(tick()) | |
604 | ||
605 | function configureAnimationSet(name, fileList) | |
606 | if (animTable[name] ~= nil) then | |
607 | for _, connection in pairs(animTable[name].connections) do | |
608 | connection:disconnect() | |
609 | end | |
610 | end | |
611 | animTable[name] = {} | |
612 | animTable[name].count = 0 | |
613 | animTable[name].totalWeight = 0 | |
614 | animTable[name].connections = {} | |
615 | ||
616 | -- check for config values | |
617 | local config = script:FindFirstChild(name) | |
618 | if (config ~= nil) then | |
619 | -- print("Loading anims " .. name) | |
620 | table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end)) | |
621 | table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end)) | |
622 | local idx = 1 | |
623 | for _, childPart in pairs(config:GetChildren()) do | |
624 | if (childPart:IsA("Animation")) then | |
625 | table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end)) | |
626 | animTable[name][idx] = {} | |
627 | animTable[name][idx].anim = childPart | |
628 | local weightObject = childPart:FindFirstChild("Weight") | |
629 | if (weightObject == nil) then | |
630 | animTable[name][idx].weight = 1 | |
631 | else | |
632 | animTable[name][idx].weight = weightObject.Value | |
633 | end | |
634 | animTable[name].count = animTable[name].count + 1 | |
635 | animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight | |
636 | -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")") | |
637 | idx = idx + 1 | |
638 | end | |
639 | end | |
640 | end | |
641 | ||
642 | -- fallback to defaults | |
643 | if (animTable[name].count <= 0) then | |
644 | for idx, anim in pairs(fileList) do | |
645 | animTable[name][idx] = {} | |
646 | animTable[name][idx].anim = Instance.new("Animation") | |
647 | animTable[name][idx].anim.Name = name | |
648 | animTable[name][idx].anim.AnimationId = anim.id | |
649 | animTable[name][idx].weight = anim.weight | |
650 | animTable[name].count = animTable[name].count + 1 | |
651 | animTable[name].totalWeight = animTable[name].totalWeight + anim.weight | |
652 | -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")") | |
653 | end | |
654 | end | |
655 | end | |
656 | ||
657 | -- Setup animation objects | |
658 | function scriptChildModified(child) | |
659 | local fileList = animNames[child.Name] | |
660 | if (fileList ~= nil) then | |
661 | configureAnimationSet(child.Name, fileList) | |
662 | end | |
663 | end | |
664 | ||
665 | script.ChildAdded:connect(scriptChildModified) | |
666 | script.ChildRemoved:connect(scriptChildModified) | |
667 | ||
668 | ||
669 | for name, fileList in pairs(animNames) do | |
670 | configureAnimationSet(name, fileList) | |
671 | end | |
672 | ||
673 | -- ANIMATION | |
674 | ||
675 | -- declarations | |
676 | local toolAnim = "None" | |
677 | local toolAnimTime = 0 | |
678 | ||
679 | local jumpAnimTime = 0 | |
680 | local jumpAnimDuration = 0.3 | |
681 | ||
682 | local toolTransitionTime = 0.1 | |
683 | local fallTransitionTime = 0.3 | |
684 | local jumpMaxLimbVelocity = 0.75 | |
685 | ||
686 | -- functions | |
687 | ||
688 | function stopAllAnimations() | |
689 | local oldAnim = currentAnim | |
690 | ||
691 | currentAnim = "" | |
692 | currentAnimInstance = nil | |
693 | if (currentAnimKeyframeHandler ~= nil) then | |
694 | currentAnimKeyframeHandler:disconnect() | |
695 | end | |
696 | ||
697 | if (currentAnimTrack ~= nil) then | |
698 | currentAnimTrack:Stop() | |
699 | currentAnimTrack:Destroy() | |
700 | currentAnimTrack = nil | |
701 | end | |
702 | return oldAnim | |
703 | end | |
704 | ||
705 | function setAnimationSpeed(speed) | |
706 | if speed ~= currentAnimSpeed then | |
707 | currentAnimSpeed = speed | |
708 | currentAnimTrack:AdjustSpeed(currentAnimSpeed) | |
709 | end | |
710 | end | |
711 | ||
712 | function keyFrameReachedFunc(frameName) | |
713 | if (frameName == "End") then | |
714 | -- print("Keyframe : ".. frameName) | |
715 | ||
716 | local repeatAnim = currentAnim | |
717 | ||
718 | local animSpeed = currentAnimSpeed | |
719 | playAnimation(repeatAnim, 0.0, Humanoid) | |
720 | setAnimationSpeed(animSpeed) | |
721 | end | |
722 | end | |
723 | ||
724 | -- Preload animations | |
725 | function playAnimation(animName, transitionTime, humanoid) | |
726 | ||
727 | local roll = math.random(1, animTable[animName].totalWeight) | |
728 | local origRoll = roll | |
729 | local idx = 1 | |
730 | while (roll > animTable[animName][idx].weight) do | |
731 | roll = roll - animTable[animName][idx].weight | |
732 | idx = idx + 1 | |
733 | end | |
734 | -- print(animName .. " " .. idx .. " [" .. origRoll .. "]") | |
735 | local anim = animTable[animName][idx].anim | |
736 | ||
737 | -- switch animation | |
738 | if (anim ~= currentAnimInstance) then | |
739 | ||
740 | if (currentAnimTrack ~= nil) then | |
741 | currentAnimTrack:Stop(transitionTime) | |
742 | currentAnimTrack:Destroy() | |
743 | end | |
744 | ||
745 | currentAnimSpeed = 1.0 | |
746 | ||
747 | -- load it to the humanoid; get AnimationTrack | |
748 | currentAnimTrack = humanoid:LoadAnimation(anim) | |
749 | ||
750 | -- play the animation | |
751 | currentAnimTrack:Play(transitionTime) | |
752 | currentAnim = animName | |
753 | currentAnimInstance = anim | |
754 | ||
755 | -- set up keyframe name triggers | |
756 | if (currentAnimKeyframeHandler ~= nil) then | |
757 | currentAnimKeyframeHandler:disconnect() | |
758 | end | |
759 | currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc) | |
760 | ||
761 | end | |
762 | ||
763 | end | |
764 | ||
765 | ------------------------------------------------------------------------------------------- | |
766 | ------------------------------------------------------------------------------------------- | |
767 | ||
768 | local toolAnimName = "" | |
769 | local toolAnimTrack = nil | |
770 | local toolAnimInstance = nil | |
771 | local currentToolAnimKeyframeHandler = nil | |
772 | ||
773 | function toolKeyFrameReachedFunc(frameName) | |
774 | if (frameName == "End") then | |
775 | -- print("Keyframe : ".. frameName) | |
776 | playToolAnimation(toolAnimName, 0.0, Humanoid) | |
777 | end | |
778 | end | |
779 | ||
780 | ||
781 | function playToolAnimation(animName, transitionTime, humanoid) | |
782 | ||
783 | local roll = math.random(1, animTable[animName].totalWeight) | |
784 | local origRoll = roll | |
785 | local idx = 1 | |
786 | while (roll > animTable[animName][idx].weight) do | |
787 | roll = roll - animTable[animName][idx].weight | |
788 | idx = idx + 1 | |
789 | end | |
790 | -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]") | |
791 | local anim = animTable[animName][idx].anim | |
792 | ||
793 | if (toolAnimInstance ~= anim) then | |
794 | ||
795 | if (toolAnimTrack ~= nil) then | |
796 | toolAnimTrack:Stop() | |
797 | toolAnimTrack:Destroy() | |
798 | transitionTime = 0 | |
799 | end | |
800 | ||
801 | -- load it to the humanoid; get AnimationTrack | |
802 | toolAnimTrack = humanoid:LoadAnimation(anim) | |
803 | ||
804 | -- play the animation | |
805 | toolAnimTrack:Play(transitionTime) | |
806 | toolAnimName = animName | |
807 | toolAnimInstance = anim | |
808 | ||
809 | currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc) | |
810 | end | |
811 | end | |
812 | ||
813 | function stopToolAnimations() | |
814 | local oldAnim = toolAnimName | |
815 | ||
816 | if (currentToolAnimKeyframeHandler ~= nil) then | |
817 | currentToolAnimKeyframeHandler:disconnect() | |
818 | end | |
819 | ||
820 | toolAnimName = "" | |
821 | toolAnimInstance = nil | |
822 | if (toolAnimTrack ~= nil) then | |
823 | toolAnimTrack:Stop() | |
824 | toolAnimTrack:Destroy() | |
825 | toolAnimTrack = nil | |
826 | end | |
827 | ||
828 | ||
829 | return oldAnim | |
830 | end | |
831 | ||
832 | ------------------------------------------------------------------------------------------- | |
833 | ------------------------------------------------------------------------------------------- | |
834 | ||
835 | ||
836 | function onRunning(speed) | |
837 | if speed>0.01 then | |
838 | playAnimation("walk", 0.1, Humanoid) | |
839 | pose = "Running" | |
840 | else | |
841 | playAnimation("idle", 0.1, Humanoid) | |
842 | pose = "Standing" | |
843 | end | |
844 | end | |
845 | ||
846 | function onDied() | |
847 | pose = "Dead" | |
848 | end | |
849 | ||
850 | function onJumping() | |
851 | playAnimation("jump", 0.1, Humanoid) | |
852 | jumpAnimTime = jumpAnimDuration | |
853 | pose = "Jumping" | |
854 | end | |
855 | ||
856 | function onClimbing(speed) | |
857 | playAnimation("climb", 0.1, Humanoid) | |
858 | setAnimationSpeed(speed / 12.0) | |
859 | pose = "Climbing" | |
860 | end | |
861 | ||
862 | function onGettingUp() | |
863 | pose = "GettingUp" | |
864 | end | |
865 | ||
866 | function onFreeFall() | |
867 | if (jumpAnimTime <= 0) then | |
868 | playAnimation("fall", fallTransitionTime, Humanoid) | |
869 | end | |
870 | pose = "FreeFall" | |
871 | end | |
872 | ||
873 | function onFallingDown() | |
874 | pose = "FallingDown" | |
875 | end | |
876 | ||
877 | function onSeated() | |
878 | pose = "Seated" | |
879 | end | |
880 | ||
881 | function onPlatformStanding() | |
882 | pose = "PlatformStanding" | |
883 | end | |
884 | ||
885 | function onSwimming(speed) | |
886 | if speed>0 then | |
887 | pose = "Running" | |
888 | else | |
889 | pose = "Standing" | |
890 | end | |
891 | end | |
892 | ||
893 | function getTool() | |
894 | for _, kid in ipairs(Figure:GetChildren()) do | |
895 | if kid.className == "Tool" then return kid end | |
896 | end | |
897 | return nil | |
898 | end | |
899 | ||
900 | function getToolAnim(tool) | |
901 | for _, c in ipairs(tool:GetChildren()) do | |
902 | if c.Name == "toolanim" and c.className == "StringValue" then | |
903 | return c | |
904 | end | |
905 | end | |
906 | return nil | |
907 | end | |
908 | ||
909 | function animateTool() | |
910 | ||
911 | if (toolAnim == "None") then | |
912 | playToolAnimation("toolnone", toolTransitionTime, Humanoid) | |
913 | return | |
914 | end | |
915 | ||
916 | if (toolAnim == "Slash") then | |
917 | playToolAnimation("toolslash", 0, Humanoid) | |
918 | return | |
919 | end | |
920 | ||
921 | if (toolAnim == "Lunge") then | |
922 | playToolAnimation("toollunge", 0, Humanoid) | |
923 | return | |
924 | end | |
925 | end | |
926 | ||
927 | function moveSit() | |
928 | RightShoulder.MaxVelocity = 0.15 | |
929 | LeftShoulder.MaxVelocity = 0.15 | |
930 | RightShoulder:SetDesiredAngle(3.14 /2) | |
931 | LeftShoulder:SetDesiredAngle(-3.14 /2) | |
932 | RightHip:SetDesiredAngle(3.14 /2) | |
933 | LeftHip:SetDesiredAngle(-3.14 /2) | |
934 | end | |
935 | ||
936 | local lastTick = 0 | |
937 | ||
938 | function move(time) | |
939 | local amplitude = 1 | |
940 | local frequency = 1 | |
941 | local deltaTime = time - lastTick | |
942 | lastTick = time | |
943 | ||
944 | local climbFudge = 0 | |
945 | local setAngles = false | |
946 | ||
947 | if (jumpAnimTime > 0) then | |
948 | jumpAnimTime = jumpAnimTime - deltaTime | |
949 | end | |
950 | ||
951 | if (pose == "FreeFall" and jumpAnimTime <= 0) then | |
952 | playAnimation("fall", fallTransitionTime, Humanoid) | |
953 | elseif (pose == "Seated") then | |
954 | playAnimation("sit", 0.5, Humanoid) | |
955 | return | |
956 | elseif (pose == "Running") then | |
957 | playAnimation("walk", 0.1, Humanoid) | |
958 | elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then | |
959 | -- print("Wha " .. pose) | |
960 | stopAllAnimations() | |
961 | amplitude = 0.1 | |
962 | frequency = 1 | |
963 | setAngles = true | |
964 | end | |
965 | ||
966 | if (setAngles) then | |
967 | desiredAngle = amplitude * math.sin(time * frequency) | |
968 | ||
969 | RightShoulder:SetDesiredAngle(desiredAngle + climbFudge) | |
970 | LeftShoulder:SetDesiredAngle(desiredAngle - climbFudge) | |
971 | RightHip:SetDesiredAngle(-desiredAngle) | |
972 | LeftHip:SetDesiredAngle(-desiredAngle) | |
973 | end | |
974 | ||
975 | -- Tool Animation handling | |
976 | local tool = getTool() | |
977 | if tool then | |
978 | ||
979 | animStringValueObject = getToolAnim(tool) | |
980 | ||
981 | if animStringValueObject then | |
982 | toolAnim = animStringValueObject.Value | |
983 | -- message recieved, delete StringValue | |
984 | animStringValueObject.Parent = nil | |
985 | toolAnimTime = time + .3 | |
986 | end | |
987 | ||
988 | if time > toolAnimTime then | |
989 | toolAnimTime = 0 | |
990 | toolAnim = "None" | |
991 | end | |
992 | ||
993 | animateTool() | |
994 | else | |
995 | stopToolAnimations() | |
996 | toolAnim = "None" | |
997 | toolAnimInstance = nil | |
998 | toolAnimTime = 0 | |
999 | end | |
1000 | end | |
1001 | ||
1002 | -- connect events | |
1003 | Humanoid.Died:connect(onDied) | |
1004 | Humanoid.Running:connect(onRunning) | |
1005 | Humanoid.Jumping:connect(onJumping) | |
1006 | Humanoid.Climbing:connect(onClimbing) | |
1007 | Humanoid.GettingUp:connect(onGettingUp) | |
1008 | Humanoid.FreeFalling:connect(onFreeFall) | |
1009 | Humanoid.FallingDown:connect(onFallingDown) | |
1010 | Humanoid.Seated:connect(onSeated) | |
1011 | Humanoid.PlatformStanding:connect(onPlatformStanding) | |
1012 | Humanoid.Swimming:connect(onSwimming) | |
1013 | ||
1014 | ||
1015 | -- main program | |
1016 | ||
1017 | local runService = game:service("RunService"); | |
1018 | ||
1019 | -- initialize to idle | |
1020 | playAnimation("idle", 0.1, Humanoid) | |
1021 | pose = "Standing" | |
1022 | ||
1023 | while Figure.Parent~=nil do | |
1024 | local _, time = wait(0.1) | |
1025 | move(time) | |
1026 | end | |
1027 | ||
1028 | ||
1029 | ||
1030 | end)) | |
1031 | StringValue34.Name = "climb" | |
1032 | StringValue34.Parent = Script33 | |
1033 | Animation35.Name = "ClimbAnim" | |
1034 | Animation35.Parent = StringValue34 | |
1035 | Animation35.AnimationId = "http://www.roblox.com/asset/?id=180436334" | |
1036 | StringValue36.Name = "fall" | |
1037 | StringValue36.Parent = Script33 | |
1038 | Animation37.Name = "FallAnim" | |
1039 | Animation37.Parent = StringValue36 | |
1040 | Animation37.AnimationId = "http://www.roblox.com/asset/?id=180436148" | |
1041 | StringValue38.Name = "idle" | |
1042 | StringValue38.Parent = Script33 | |
1043 | Animation39.Name = "Animation1" | |
1044 | Animation39.Parent = StringValue38 | |
1045 | Animation39.AnimationId = "http://www.roblox.com/asset/?id=180435571" | |
1046 | NumberValue40.Name = "Weight" | |
1047 | NumberValue40.Parent = Animation39 | |
1048 | NumberValue40.Value = 9 | |
1049 | Animation41.Name = "Animation2" | |
1050 | Animation41.Parent = StringValue38 | |
1051 | Animation41.AnimationId = "http://www.roblox.com/asset/?id=180435792" | |
1052 | NumberValue42.Name = "Weight" | |
1053 | NumberValue42.Parent = Animation41 | |
1054 | NumberValue42.Value = 1 | |
1055 | StringValue43.Name = "jump" | |
1056 | StringValue43.Parent = Script33 | |
1057 | Animation44.Name = "JumpAnim" | |
1058 | Animation44.Parent = StringValue43 | |
1059 | Animation44.AnimationId = "http://www.roblox.com/asset/?id=125750702" | |
1060 | StringValue45.Name = "run" | |
1061 | StringValue45.Parent = Script33 | |
1062 | Animation46.Name = "RunAnim" | |
1063 | Animation46.Parent = StringValue45 | |
1064 | Animation46.AnimationId = "http://www.roblox.com/asset/?id=180426354" | |
1065 | StringValue47.Name = "sit" | |
1066 | StringValue47.Parent = Script33 | |
1067 | Animation48.Name = "SitAnim" | |
1068 | Animation48.Parent = StringValue47 | |
1069 | Animation48.AnimationId = "http://www.roblox.com/asset/?id=178130996" | |
1070 | StringValue49.Name = "toolnone" | |
1071 | StringValue49.Parent = Script33 | |
1072 | Animation50.Name = "ToolNoneAnim" | |
1073 | Animation50.Parent = StringValue49 | |
1074 | Animation50.AnimationId = "http://www.roblox.com/asset/?id=182393478" | |
1075 | StringValue51.Name = "walk" | |
1076 | StringValue51.Parent = Script33 | |
1077 | Animation52.Name = "WalkAnim" | |
1078 | Animation52.Parent = StringValue51 | |
1079 | Animation52.AnimationId = "http://www.roblox.com/asset/?id=180426354" | |
1080 | Script53.Name = "Respawn" | |
1081 | Script53.Parent = Model0 | |
1082 | table.insert(cors,sandbox(Script53,function() | |
1083 | local humanoid = script.Parent:WaitForChild("Humanoid") | |
1084 | local backup = script.Parent:clone() | |
1085 | ||
1086 | humanoid.Died:connect(function () | |
1087 | wait(5) | |
1088 | backup.Parent = workspace | |
1089 | if script.Parent then | |
1090 | script.Parent:Destroy() | |
1091 | end | |
1092 | end) | |
1093 | ||
1094 | ||
1095 | ||
1096 | end)) | |
1097 | Script54.Name = "Sound" | |
1098 | Script54.Parent = Model0 | |
1099 | table.insert(cors,sandbox(Script54,function() | |
1100 | -- util | |
1101 | ||
1102 | function waitForChild(parent, childName) | |
1103 | local child = parent:findFirstChild(childName) | |
1104 | if child then return child end | |
1105 | while true do | |
1106 | child = parent.ChildAdded:wait() | |
1107 | if child.Name==childName then return child end | |
1108 | end | |
1109 | end | |
1110 | ||
1111 | function newSound(id) | |
1112 | local sound = Instance.new("Sound") | |
1113 | sound.SoundId = id | |
1114 | sound.archivable = false | |
1115 | sound.Parent = script.Parent.Head | |
1116 | return sound | |
1117 | end | |
1118 | ||
1119 | -- declarations | |
1120 | ||
1121 | local sDied = newSound("") | |
1122 | local sFallingDown = newSound("") | |
1123 | local sFreeFalling = newSound("") | |
1124 | local sGettingUp = newSound("") | |
1125 | local sJumping = newSound("") | |
1126 | local sRunning = newSound("rbxassetid://429934509") | |
1127 | sRunning.Looped = true | |
1128 | ||
1129 | local Figure = script.Parent | |
1130 | local Head = waitForChild(Figure, "Head") | |
1131 | local Humanoid = waitForChild(Figure, "Humanoid") | |
1132 | ||
1133 | -- functions | |
1134 | ||
1135 | function onDied() | |
1136 | sDied:Play() | |
1137 | end | |
1138 | ||
1139 | function onState(state, sound) | |
1140 | if state then | |
1141 | sound:Play() | |
1142 | else | |
1143 | sound:Pause() | |
1144 | end | |
1145 | end | |
1146 | ||
1147 | function onRunning(speed) | |
1148 | if speed>0 then | |
1149 | sRunning:Play() | |
1150 | else | |
1151 | sRunning:Pause() | |
1152 | end | |
1153 | end | |
1154 | ||
1155 | -- connect up | |
1156 | ||
1157 | Humanoid.Died:connect(onDied) | |
1158 | Humanoid.Running:connect(onRunning) | |
1159 | Humanoid.Jumping:connect(function(state) onState(state, sJumping) end) | |
1160 | Humanoid.GettingUp:connect(function(state) onState(state, sGettingUp) end) | |
1161 | Humanoid.FreeFalling:connect(function(state) onState(state, sFreeFalling) end) | |
1162 | Humanoid.FallingDown:connect(function(state) onState(state, sFallingDown) end) | |
1163 | ||
1164 | end)) | |
1165 | Script55.Name = "Weld" | |
1166 | Script55.Parent = Model0 | |
1167 | table.insert(cors,sandbox(Script55,function() | |
1168 | local prev | |
1169 | local parts = script.Parent:GetChildren() | |
1170 | for i = 1,#parts do | |
1171 | --remove any of the following parts that say "(parts[i].className == [className])" if you want to exclude that particular className type from the Weld | |
1172 | if ((parts[i].className == "Part") or (parts[i].className == "Handle") or (parts[i].className == "TrussPart") or (parts[i].className == "VehicleSeat") or (parts[i].className == "SkateboardPlatform")) then | |
1173 | if (prev ~= nil) then | |
1174 | local weld = Instance.new("Weld") | |
1175 | weld.Part0 = prev | |
1176 | weld.Part1 = parts[i] | |
1177 | weld.C0 = prev.CFrame:inverse() | |
1178 | weld.C1 = parts[i].CFrame:inverse() | |
1179 | weld.Parent = prev | |
1180 | parts[i].Anchored = false | |
1181 | end | |
1182 | prev = parts[i] | |
1183 | end | |
1184 | end | |
1185 | wait(3) | |
1186 | ||
1187 | end)) | |
1188 | Script56.Name = "Weld Script" | |
1189 | Script56.Parent = Model0 | |
1190 | table.insert(cors,sandbox(Script56,function() | |
1191 | --Simply put it inside any model with bricks inside | |
1192 | ||
1193 | ||
1194 | local prev | |
1195 | local parts = script.Parent:GetChildren() | |
1196 | ||
1197 | for i = 1,#parts do | |
1198 | if (parts[i].className == "Part") or (parts[i].className == "WedgePart") or (parts[i].className == "Seat") or (parts[i].className == "VehicleSeat") or (parts[i].className == "CornerWedgePart") or (parts[i].className == "WedgePart") or (parts[i].className == "UnionOperation") then | |
1199 | if (prev ~= nil)then | |
1200 | local weld = Instance.new("Weld") | |
1201 | weld.Part0 = prev | |
1202 | weld.Part1 = parts[i] | |
1203 | weld.C0 = prev.CFrame:inverse() | |
1204 | weld.C1 = parts[i].CFrame:inverse() | |
1205 | weld.Parent = prev | |
1206 | end | |
1207 | prev = parts[i] | |
1208 | end | |
1209 | end | |
1210 | ||
1211 | --Credits to NyroKoSu and OrientalAura | |
1212 | end)) | |
1213 | Part57.Name = "HumanoidRootPart" | |
1214 | Part57.Parent = Model0 | |
1215 | Part57.CFrame = CFrame.new(-18.7492905, 3.00002193, 236.262543, 4.49431016e-21, -6.79974523e-22, -1, 4.72251821e-22, 1, -6.79974523e-22, 1, -4.72251821e-22, 4.49431016e-21) | |
1216 | Part57.Orientation = Vector3.new(0, -90, 0) | |
1217 | Part57.Position = Vector3.new(-18.7492905, 3.00002193, 236.262543) | |
1218 | Part57.Rotation = Vector3.new(0, -90, 0) | |
1219 | Part57.Color = Color3.new(0.152941, 0.27451, 0.176471) | |
1220 | Part57.Size = Vector3.new(2, 2, 1) | |
1221 | Part57.BottomSurface = Enum.SurfaceType.Smooth | |
1222 | Part57.BrickColor = BrickColor.new("Earth green") | |
1223 | Part57.Material = Enum.Material.WoodPlanks | |
1224 | Part57.TopSurface = Enum.SurfaceType.Smooth | |
1225 | Part57.brickColor = BrickColor.new("Earth green") | |
1226 | Part57.FormFactor = Enum.FormFactor.Symmetric | |
1227 | Part57.formFactor = Enum.FormFactor.Symmetric | |
1228 | Motor6D58.Name = "Root Hip" | |
1229 | Motor6D58.Parent = Part57 | |
1230 | Motor6D58.MaxVelocity = 0.10000000149012 | |
1231 | Motor6D58.C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
1232 | Motor6D58.C1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
1233 | Motor6D58.Part0 = Part57 | |
1234 | Motor6D58.Part1 = Part14 | |
1235 | Motor6D58.part1 = Part14 | |
1236 | SpecialMesh59.Parent = Part57 | |
1237 | SpecialMesh59.MeshId = "rbxassetid://506632650" | |
1238 | SpecialMesh59.Offset = Vector3.new(0, 0.600000024, -0.300000012) | |
1239 | SpecialMesh59.Scale = Vector3.new(0.109999999, 0.109999999, 0.109999999) | |
1240 | SpecialMesh59.TextureId = "rbxassetid://506632671" | |
1241 | SpecialMesh59.MeshType = Enum.MeshType.FileMesh | |
1242 | Part60.Name = "Eye Light" | |
1243 | Part60.Parent = Model0 | |
1244 | Part60.CFrame = CFrame.new(-18.6082211, 5.92569208, 236.258713, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1) | |
1245 | Part60.Position = Vector3.new(-18.6082211, 5.92569208, 236.258713) | |
1246 | Part60.Color = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
1247 | Part60.Transparency = 1 | |
1248 | Part60.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022) | |
1249 | Part60.BottomSurface = Enum.SurfaceType.Smooth | |
1250 | Part60.BrickColor = BrickColor.new("Really black") | |
1251 | Part60.Material = Enum.Material.SmoothPlastic | |
1252 | Part60.TopSurface = Enum.SurfaceType.Smooth | |
1253 | Part60.brickColor = BrickColor.new("Really black") | |
1254 | Part60.Shape = Enum.PartType.Ball | |
1255 | BillboardGui61.Name = "LightGUI" | |
1256 | BillboardGui61.Parent = Part60 | |
1257 | BillboardGui61.Size = UDim2.new(2, 0, 2, 0) | |
1258 | ImageLabel62.Name = "Light" | |
1259 | ImageLabel62.Parent = BillboardGui61 | |
1260 | ImageLabel62.Size = UDim2.new(1, 0, 1, 0) | |
1261 | ImageLabel62.BackgroundColor = BrickColor.new("New Yeller") | |
1262 | ImageLabel62.BackgroundColor3 = Color3.new(1, 1, 0) | |
1263 | ImageLabel62.BackgroundTransparency = 1 | |
1264 | ImageLabel62.BorderColor = BrickColor.new("New Yeller") | |
1265 | ImageLabel62.BorderColor3 = Color3.new(1, 1, 0) | |
1266 | ImageLabel62.Image = "rbxasset://textures/particles/sparkles_main.dds" | |
1267 | ImageLabel62.ImageColor3 = Color3.new(1, 0, 0) | |
1268 | Script63.Parent = BillboardGui61 | |
1269 | table.insert(cors,sandbox(Script63,function() | |
1270 | script.Parent.Adornee = script.Parent.Parent | |
1271 | end)) | |
1272 | Part64.Name = "Eye" | |
1273 | Part64.Parent = Model0 | |
1274 | Part64.CFrame = CFrame.new(-18.8107071, 5.84770679, 235.769287, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1) | |
1275 | Part64.Position = Vector3.new(-18.8107071, 5.84770679, 235.769287) | |
1276 | Part64.Color = Color3.new(1, 0, 0) | |
1277 | Part64.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022) | |
1278 | Part64.BottomSurface = Enum.SurfaceType.Smooth | |
1279 | Part64.BrickColor = BrickColor.new("Really red") | |
1280 | Part64.Material = Enum.Material.Neon | |
1281 | Part64.TopSurface = Enum.SurfaceType.Smooth | |
1282 | Part64.brickColor = BrickColor.new("Really red") | |
1283 | Part64.Shape = Enum.PartType.Ball | |
1284 | Part65.Name = "Eye" | |
1285 | Part65.Parent = Model0 | |
1286 | Part65.CFrame = CFrame.new(-18.7432938, 5.92569208, 236.258713, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1) | |
1287 | Part65.Position = Vector3.new(-18.7432938, 5.92569208, 236.258713) | |
1288 | Part65.Color = Color3.new(1, 0, 0) | |
1289 | Part65.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022) | |
1290 | Part65.BottomSurface = Enum.SurfaceType.Smooth | |
1291 | Part65.BrickColor = BrickColor.new("Really red") | |
1292 | Part65.Material = Enum.Material.Neon | |
1293 | Part65.TopSurface = Enum.SurfaceType.Smooth | |
1294 | Part65.brickColor = BrickColor.new("Really red") | |
1295 | Part65.Shape = Enum.PartType.Ball | |
1296 | Part66.Name = "Eye Light" | |
1297 | Part66.Parent = Model0 | |
1298 | Part66.CFrame = CFrame.new(-18.7026634, 5.84770679, 235.769287, 1, 0, 0, 0, 1, -3.05623195e-42, 0, -3.05623195e-42, 1) | |
1299 | Part66.Position = Vector3.new(-18.7026634, 5.84770679, 235.769287) | |
1300 | Part66.Color = Color3.new(0.0666667, 0.0666667, 0.0666667) | |
1301 | Part66.Transparency = 1 | |
1302 | Part66.Size = Vector3.new(0.180000022, 0.180000022, 0.180000022) | |
1303 | Part66.BottomSurface = Enum.SurfaceType.Smooth | |
1304 | Part66.BrickColor = BrickColor.new("Really black") | |
1305 | Part66.Material = Enum.Material.SmoothPlastic | |
1306 | Part66.TopSurface = Enum.SurfaceType.Smooth | |
1307 | Part66.brickColor = BrickColor.new("Really black") | |
1308 | Part66.Shape = Enum.PartType.Ball | |
1309 | BillboardGui67.Name = "LightGUI" | |
1310 | BillboardGui67.Parent = Part66 | |
1311 | BillboardGui67.Size = UDim2.new(2, 0, 2, 0) | |
1312 | ImageLabel68.Name = "Light" | |
1313 | ImageLabel68.Parent = BillboardGui67 | |
1314 | ImageLabel68.Size = UDim2.new(1, 0, 1, 0) | |
1315 | ImageLabel68.BackgroundColor = BrickColor.new("New Yeller") | |
1316 | ImageLabel68.BackgroundColor3 = Color3.new(1, 1, 0) | |
1317 | ImageLabel68.BackgroundTransparency = 1 | |
1318 | ImageLabel68.BorderColor = BrickColor.new("New Yeller") | |
1319 | ImageLabel68.BorderColor3 = Color3.new(1, 1, 0) | |
1320 | ImageLabel68.Image = "rbxasset://textures/particles/sparkles_main.dds" | |
1321 | ImageLabel68.ImageColor3 = Color3.new(1, 0, 0) | |
1322 | Script69.Parent = BillboardGui67 | |
1323 | table.insert(cors,sandbox(Script69,function() | |
1324 | script.Parent.Adornee = script.Parent.Parent | |
1325 | end)) | |
1326 | Camera70.Name = "ThumbnailCamera" | |
1327 | Camera70.Parent = Model0 | |
1328 | Camera70.CFrame = CFrame.new(-53.2237892, 5.91876936, -106.117729, 0.412863821, -0.0688619316, 0.90818584, -1.86264515e-09, 0.997137785, 0.0756065771, -0.910792828, -0.0312152226, 0.411682069) | |
1329 | Camera70.CoordinateFrame = CFrame.new(-53.2237892, 5.91876936, -106.117729, 0.412863821, -0.0688619316, 0.90818584, -1.86264515e-09, 0.997137785, 0.0756065771, -0.910792828, -0.0312152226, 0.411682069) | |
1330 | Camera70.Focus = CFrame.new(-55.0401611, 5.76755619, -106.941093, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1331 | Camera70.focus = CFrame.new(-55.0401611, 5.76755619, -106.941093, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1332 | for i,v in pairs(mas:GetChildren()) do | |
1333 | v.Parent = workspace | |
1334 | pcall(function() v:MakeJoints() end) | |
1335 | end | |
1336 | mas:Destroy() | |
1337 | for i,v in pairs(cors) do | |
1338 | spawn(function() | |
1339 | pcall(v) | |
1340 | end) | |
1341 | end |