View difference between Paste ID: p2WX2wKK and LY5fNpf1
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
Part2 = Instance.new("Part")
22
Part3 = Instance.new("Part")
23
Part4 = Instance.new("Part")
24
Part5 = Instance.new("Part")
25
Part6 = Instance.new("Part")
26
Part7 = Instance.new("Part")
27
Part8 = Instance.new("Part")
28-
Part9 = Instance.new("Part")
28+
Script9 = Instance.new("Script")
29
Script10 = Instance.new("Script")
30-
BoolValue11 = Instance.new("BoolValue")
30+
Model0.Name = "Purple Slime"
31-
Model0.Name = "Particle Pellets"
31+
32
Part1.Name = "Slimey"
33-
Script1.Parent = Model0
33+
Part1.Parent = Model0
34-
table.insert(cors,sandbox(Script1,function()
34+
Part1.BrickColor = BrickColor.new("Bright violet")
35-
--Particle Slime V2 by timwood1104--
35+
Part1.Anchored = true
36
Part1.Locked = true
37-
-- V2 includes more customizable options including "range, combine and ooze"! Enjoi :D
37+
Part1.FormFactor = Enum.FormFactor.Symmetric
38
Part1.Size = Vector3.new(1, 1, 1)
39
Part1.CFrame = CFrame.new(-129.5, 0.500010014, -37.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
40
Part1.BackSurface = Enum.SurfaceType.Glue
41
Part1.BottomSurface = Enum.SurfaceType.Glue
42
Part1.FrontSurface = Enum.SurfaceType.Glue
43
Part1.LeftSurface = Enum.SurfaceType.Glue
44
Part1.RightSurface = Enum.SurfaceType.Glue
45
Part1.TopSurface = Enum.SurfaceType.Glue
46
Part1.Color = Color3.new(0.419608, 0.196078, 0.486275)
47
Part1.Position = Vector3.new(-129.5, 0.500010014, -37.5)
48
Part1.Color = Color3.new(0.419608, 0.196078, 0.486275)
49-
speed = 6 -- How fast it goes, just put any number I guess :P
49+
50-
range = 75 -- How far the slime "sees"; if it can't see ya it won't get ya! lol
50+
51-
combine = false -- If there are multiple slimes of the same kind, they will combine together if this is true.
51+
Part2.BrickColor = BrickColor.new("Bright violet")
52-
ooze = true -- This is whether the slime will squeeze through thick walls or not.
52+
Part2.Anchored = true
53
Part2.Locked = true
54
Part2.FormFactor = Enum.FormFactor.Symmetric
55
Part2.Size = Vector3.new(1, 1, 1)
56
Part2.CFrame = CFrame.new(-129.5, 0.500010014, -36.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
57-
function findTarget() -- Ah, the findTarget() command. This command lets the slime find it's next victim.
57+
58
Part2.BottomSurface = Enum.SurfaceType.Glue
59
Part2.FrontSurface = Enum.SurfaceType.Glue
60
Part2.LeftSurface = Enum.SurfaceType.Glue
61-
		if (g[i].Torso.Position - script.Parent.Slimey.Position).magnitude < range then
61+
62-
			if T == nil then
62+
63
Part2.Color = Color3.new(0.419608, 0.196078, 0.486275)
64
Part2.Position = Vector3.new(-129.5, 0.500010014, -36.5)
65-
				if (g[i].Torso.Position - script.Parent.Slimey.Position).magnitude < (T.Position - script.Parent.Slimey.Position).magnitude then
65+
Part2.Color = Color3.new(0.419608, 0.196078, 0.486275)
66-
					T = g[i].Torso
66+
67-
				end
67+
68
Part3.BrickColor = BrickColor.new("Bright violet")
69
Part3.Anchored = true
70
Part3.Locked = true
71
Part3.FormFactor = Enum.FormFactor.Symmetric
72
Part3.Size = Vector3.new(1, 1, 1)
73
Part3.CFrame = CFrame.new(-129.5, 1.50001001, -37.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
74
Part3.BackSurface = Enum.SurfaceType.Glue
75
Part3.BottomSurface = Enum.SurfaceType.Glue
76
Part3.FrontSurface = Enum.SurfaceType.Glue
77
Part3.LeftSurface = Enum.SurfaceType.Glue
78
Part3.RightSurface = Enum.SurfaceType.Glue
79
Part3.TopSurface = Enum.SurfaceType.Glue
80
Part3.Color = Color3.new(0.419608, 0.196078, 0.486275)
81
Part3.Position = Vector3.new(-129.5, 1.50001001, -37.5)
82
Part3.Color = Color3.new(0.419608, 0.196078, 0.486275)
83
Part4.Name = "Slimey"
84
Part4.Parent = Model0
85
Part4.BrickColor = BrickColor.new("Bright violet")
86
Part4.Anchored = true
87
Part4.Locked = true
88
Part4.FormFactor = Enum.FormFactor.Symmetric
89
Part4.Size = Vector3.new(1, 1, 1)
90
Part4.CFrame = CFrame.new(-129.5, 1.50001001, -36.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
91
Part4.BackSurface = Enum.SurfaceType.Glue
92
Part4.BottomSurface = Enum.SurfaceType.Glue
93-
if combine == true then
93+
94-
k = game.Workspace:getChildren()
94+
95-
wait(math.random(1,10)/20)
95+
96-
for i=1, #k do
96+
97-
if k[i]:findFirstChild("Touch") ~= nil and k[i]:findFirstChild("Slimey") ~= nil and k[i] ~= script.Parent then
97+
Part4.Color = Color3.new(0.419608, 0.196078, 0.486275)
98-
if k[i]:findFirstChild("Slimey").BrickColor == script.Parent.Slimey.BrickColor then
98+
Part4.Position = Vector3.new(-129.5, 1.50001001, -36.5)
99-
h = k[i]:getChildren()
99+
Part4.Color = Color3.new(0.419608, 0.196078, 0.486275)
100-
for o=1, #h do
100+
101-
if h[o].Name == "Slimey" then 
101+
102-
h[o].Parent = script.Parent
102+
Part5.BrickColor = BrickColor.new("Bright violet")
103
Part5.Anchored = true
104
Part5.Locked = true
105-
k[i]:remove()
105+
106
Part5.Size = Vector3.new(1, 1, 1)
107
Part5.CFrame = CFrame.new(-128.5, 0.500010014, -36.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
108
Part5.BackSurface = Enum.SurfaceType.Glue
109
Part5.BottomSurface = Enum.SurfaceType.Glue
110
Part5.FrontSurface = Enum.SurfaceType.Glue
111
Part5.LeftSurface = Enum.SurfaceType.Glue
112
Part5.RightSurface = Enum.SurfaceType.Glue
113
Part5.TopSurface = Enum.SurfaceType.Glue
114
Part5.Color = Color3.new(0.419608, 0.196078, 0.486275)
115
Part5.Position = Vector3.new(-128.5, 0.500010014, -36.5)
116
Part5.Color = Color3.new(0.419608, 0.196078, 0.486275)
117-
	if ooze == true then
117+
118-
	r = math.random(1,36) --This little bit is supposed to allow the slime to take bigger "steps" every
118+
119
Part6.BrickColor = BrickColor.new("Bright violet")
120
Part6.Anchored = true
121
Part6.Locked = true
122
Part6.FormFactor = Enum.FormFactor.Symmetric
123
Part6.Size = Vector3.new(1, 1, 1)
124
Part6.CFrame = CFrame.new(-128.5, 1.50001001, -36.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
125
Part6.BackSurface = Enum.SurfaceType.Glue
126
Part6.BottomSurface = Enum.SurfaceType.Glue
127
Part6.FrontSurface = Enum.SurfaceType.Glue
128
Part6.LeftSurface = Enum.SurfaceType.Glue
129
Part6.RightSurface = Enum.SurfaceType.Glue
130-
	if T ~= nil and script.Parent:findFirstChild("on") ~= nil then --If target exists, then attack!		
130+
131-
		if script.Parent:findFirstChild("on").Value == true then
131+
Part6.Color = Color3.new(0.419608, 0.196078, 0.486275)
132-
			p = script.Parent:getChildren() -- Makes a list of the slime's "Slimeys"
132+
Part6.Position = Vector3.new(-128.5, 1.50001001, -36.5)
133-
			for i=1, #p do
133+
Part6.Color = Color3.new(0.419608, 0.196078, 0.486275)
134-
			if p[i].Name == "Slimey" then
134+
135-
				if prev == nil then
135+
136-
					prev = p[i]
136+
Part7.BrickColor = BrickColor.new("Bright violet")
137-
					prev2 = p[i]
137+
Part7.Anchored = true
138-
				end
138+
139-
				if (p[i].Position - T.Position).magnitude > (prev.Position - T.Position).magnitude then
139+
140-
					prev = p[i]   -- This finds the Slimey closest to the target.
140+
141-
				end
141+
Part7.CFrame = CFrame.new(-128.5, 1.50001001, -37.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
142-
				if (p[i].Position - T.Position).magnitude < (prev2.Position - T.Position).magnitude then
142+
143-
					prev2 = p[i] -- This finds the Slimey farthest away from the target.
143+
144-
				end
144+
145
Part7.LeftSurface = Enum.SurfaceType.Glue
146
Part7.RightSurface = Enum.SurfaceType.Glue
147-
				fade(prev) --Make Slimey dissappear.     VV- Make Slimey move closer to target.
147+
148-
				prev.Position = Vector3.new(prev2.Position.x+math.random(-space,space), prev2.Position.y-1, prev2.Position.z+math.random(-space,space))
148+
Part7.Color = Color3.new(0.419608, 0.196078, 0.486275)
149-
				unfade(prev) -- Make Slimey appear again.
149+
Part7.Position = Vector3.new(-128.5, 1.50001001, -37.5)
150
Part7.Color = Color3.new(0.419608, 0.196078, 0.486275)
151
Part8.Name = "Slimey"
152
Part8.Parent = Model0
153
Part8.BrickColor = BrickColor.new("Bright violet")
154
Part8.Anchored = true
155
Part8.Locked = true
156
Part8.FormFactor = Enum.FormFactor.Symmetric
157
Part8.Size = Vector3.new(1, 1, 1)
158
Part8.CFrame = CFrame.new(-128.5, 0.500010014, -37.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
159-
Part2.BrickColor = BrickColor.new("Bright bluish green")
159+
160
Part8.BottomSurface = Enum.SurfaceType.Glue
161
Part8.FrontSurface = Enum.SurfaceType.Glue
162-
Part2.Shape = Enum.PartType.Ball
162+
163
Part8.RightSurface = Enum.SurfaceType.Glue
164-
Part2.CFrame = CFrame.new(-76.5, 0.50001502, -24.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
164+
165
Part8.Color = Color3.new(0.419608, 0.196078, 0.486275)
166
Part8.Position = Vector3.new(-128.5, 0.500010014, -37.5)
167
Part8.Color = Color3.new(0.419608, 0.196078, 0.486275)
168
Script9.Parent = Model0
169
table.insert(cors,sandbox(Script9,function()
170
--Particle Slime by timwood1104--
171-
Part2.Color = Color3.new(0, 0.560784, 0.611765)
171+
172-
Part2.Position = Vector3.new(-76.5, 0.50001502, -24.5)
172+
173-
Part2.Color = Color3.new(0, 0.560784, 0.611765)
173+
174
-- To move closer to the target, the slime takes the particle farthest away and puts it in a random 
175
-- position closer to the target it is chasing. This causes the slime to move slowly, but surely towards it's
176-
Part3.BrickColor = BrickColor.new("Bright bluish green")
176+
177
-- constructs a specific tool to do so. Remember, I made this first! Enjoy :P 
178
179-
Part3.Shape = Enum.PartType.Ball
179+
180
spaces = 2 -- How many spaces it travels per move(1-3 is the best, preferably 2)
181-
Part3.CFrame = CFrame.new(-76.5, 0.50001502, -23.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
181+
speed = 8 -- How fast it goes, just put any number I guess :P
182
grabslime = true -- Whether the slime will grab Slimeys from Workspace or not; it doesn't affect much 
183
------------- though. Basically, if there is any bricks in Workspace named "Slimey", it will add them to itself.
184
185
186
function findTarget() -- Ah, the findTarget() command. This command lets the slime find it's next victem.
187
	g = game.Workspace:getChildren()
188-
Part3.Color = Color3.new(0, 0.560784, 0.611765)
188+
189-
Part3.Position = Vector3.new(-76.5, 0.50001502, -23.5)
189+
190-
Part3.Color = Color3.new(0, 0.560784, 0.611765)
190+
		if T == nil then
191
			T = g[i].Torso
192
		else
193-
Part4.BrickColor = BrickColor.new("Bright bluish green")
193+
			if (g[i].Torso.Position - script.Parent.Slimey.Position).magnitude < (T.Position - script.Parent.Slimey.Position).magnitude then
194
				T = g[i].Torso
195
			end
196-
Part4.Shape = Enum.PartType.Ball
196+
197
	end
198-
Part4.CFrame = CFrame.new(-76.5, 1.50001395, -24.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
198+
199
		g[i].Parent = script.Parent
200
	end
201
	end
202
end
203
204
function fade(b)-- This lets a brick disappear by "fading" into invisibility, but you can't see the effect very
205-
Part4.Color = Color3.new(0, 0.560784, 0.611765)
205+
206-
Part4.Position = Vector3.new(-76.5, 1.50001395, -24.5)
206+
207-
Part4.Color = Color3.new(0, 0.560784, 0.611765)
207+
208
	end
209
	b.Transparency = 1
210-
Part5.BrickColor = BrickColor.new("Bright bluish green")
210+
211
212
function unfade(b) -- This lets a brick appear by "fading" into visibility, but you can't see the effect very  
213-
Part5.Shape = Enum.PartType.Ball
213+
214
		b.Transparency = b.Transparency - 0.01*speed*#p/4
215-
Part5.CFrame = CFrame.new(-76.5, 1.50001395, -23.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
215+
216
	end
217
	b.Transparency = 0
218
end
219
220
while true do
221
222-
Part5.Color = Color3.new(0, 0.560784, 0.611765)
222+
223-
Part5.Position = Vector3.new(-76.5, 1.50001395, -23.5)
223+
224-
Part5.Color = Color3.new(0, 0.560784, 0.611765)
224+
225
	r = math.random(1,20) --This little bit is supposed to allow the slime to take bigger "steps" every
226
	if r == 1 or r == 2 or r == 3 then -- once and a while, thus allowing it to travel through thick walls.
227-
Part6.BrickColor = BrickColor.new("Bright bluish green")
227+
228
	elseif r == 4 or r == 5 then
229
		space = spaces + 2
230-
Part6.Shape = Enum.PartType.Ball
230+
231
		space = spaces + 3
232-
Part6.CFrame = CFrame.new(-75.5, 0.50001502, -23.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
232+
233
		space = spaces
234
	end
235
236
	if T ~= nil then --If target exists, then attack!		
237
		p = script.Parent:getChildren() -- Makes a list of the slime's "Slimeys"
238
		for i=1, #p do
239-
Part6.Color = Color3.new(0, 0.560784, 0.611765)
239+
		if p[i].Name == "Slimey" then
240-
Part6.Position = Vector3.new(-75.5, 0.50001502, -23.5)
240+
			if prev == nil then
241-
Part6.Color = Color3.new(0, 0.560784, 0.611765)
241+
				prev = p[i]
242
				prev2 = p[i]
243
			end
244-
Part7.BrickColor = BrickColor.new("Bright bluish green")
244+
			if (p[i].Position - T.Position).magnitude > (prev.Position - T.Position).magnitude then
245
				prev = p[i]   -- This finds the Slimey closest to the target.
246
			end
247-
Part7.Shape = Enum.PartType.Ball
247+
			if (p[i].Position - T.Position).magnitude < (prev2.Position - T.Position).magnitude then
248
				prev2 = p[i] -- This finds the Slimey farthest away from the target.
249-
Part7.CFrame = CFrame.new(-75.5, 1.50001395, -23.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
249+
250
		end
251
		end
252
			fade(prev) --Make Slimey dissappear.     VV- Make Slimey move closer to target.
253
			prev.Position = Vector3.new(prev2.Position.x+math.random(-space,space), prev2.Position.y-1, prev2.Position.z+math.random(-space,space))
254
			unfade(prev) -- Make Slimey appear again.
255
	end
256-
Part7.Color = Color3.new(0, 0.560784, 0.611765)
256+
257-
Part7.Position = Vector3.new(-75.5, 1.50001395, -23.5)
257+
258-
Part7.Color = Color3.new(0, 0.560784, 0.611765)
258+
259
260
end))
261-
Part8.BrickColor = BrickColor.new("Bright bluish green")
261+
262
Script10.Parent = Model0
263
table.insert(cors,sandbox(Script10,function()
264-
Part8.Shape = Enum.PartType.Ball
264+
265
function onTouched(p)
266-
Part8.CFrame = CFrame.new(-75.5, 1.50001395, -24.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
266+
267
ting = true
268
if p.Name == "Left Arm" or p.Name == "Right Arm" or p.Name == "Left Leg" or p.Name == "Right Leg" or p.Name == "Head" or p.Name == "Torso" or p.Name == "zarm" then
269
p.Anchored = true
270
reflect(p)
271
part = Instance.new("Part")
272
part.Parent = game.Workspace
273-
Part8.Color = Color3.new(0, 0.560784, 0.611765)
273+
274-
Part8.Position = Vector3.new(-75.5, 1.50001395, -24.5)
274+
275-
Part8.Color = Color3.new(0, 0.560784, 0.611765)
275+
276-
Part9.Name = "Slimey"
276+
277-
Part9.Parent = Model0
277+
278-
Part9.BrickColor = BrickColor.new("Bright bluish green")
278+
279-
Part9.Locked = true
279+
280-
Part9.FormFactor = Enum.FormFactor.Symmetric
280+
281-
Part9.Shape = Enum.PartType.Ball
281+
282-
Part9.Size = Vector3.new(1, 1, 1)
282+
283-
Part9.CFrame = CFrame.new(-75.5, 0.50001502, -24.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
283+
284-
Part9.BackSurface = Enum.SurfaceType.Glue
284+
285-
Part9.BottomSurface = Enum.SurfaceType.Glue
285+
286-
Part9.FrontSurface = Enum.SurfaceType.Glue
286+
287-
Part9.LeftSurface = Enum.SurfaceType.Glue
287+
288-
Part9.RightSurface = Enum.SurfaceType.Glue
288+
289-
Part9.TopSurface = Enum.SurfaceType.Glue
289+
290-
Part9.Color = Color3.new(0, 0.560784, 0.611765)
290+
291-
Part9.Position = Vector3.new(-75.5, 0.50001502, -24.5)
291+
292-
Part9.Color = Color3.new(0, 0.560784, 0.611765)
292+
293
end
294
end
295
296
function reflect(b)
297
while b.Reflectance < 1 do
298
b.Reflectance = b.Reflectance + 0.05
299
wait(0.01)
300
end
301-
p.Anchored = false --OMG!!
301+
302
end
303
304
function unreflect(b)
305
while b.Reflectance > 0 do
306
b.Reflectance = b.Reflectance - 0.05
307
wait(0.01)
308-
part.Shape = "Ball"
308+
309
b.Reflectance = 0
310
end
311
312
e = script.Parent:getChildren()
313
for i=1, #e do
314
if e[i].Name == "Slimey" then
315
e[i].Touched:connect(onTouched)
316
end
317
end
318
319
end))
320
for i,v in pairs(mas:GetChildren()) do
321
	v.Parent = workspace
322
	pcall(function() v:MakeJoints() end)
323
end
324
mas:Destroy()
325
for i,v in pairs(cors) do
326
	spawn(function()
327
		pcall(v)
328
	end)
329
end