· 5 years ago · Nov 19, 2020, 05:40 PM
1function LoadLibrary(a)
2local t = {}
3
4------------------------------------------------------------------------------------------------------------------------
5------------------------------------------------------------------------------------------------------------------------
6------------------------------------------------------------------------------------------------------------------------
7------------------------------------------------JSON Functions Begin----------------------------------------------------
8------------------------------------------------------------------------------------------------------------------------
9------------------------------------------------------------------------------------------------------------------------
10------------------------------------------------------------------------------------------------------------------------
11
12 --JSON Encoder and Parser for Lua 5.1
13 --
14 --Copyright 2007 Shaun Brown (http://www.chipmunkav.com)
15 --All Rights Reserved.
16
17 --Permission is hereby granted, free of charge, to any person
18 --obtaining a copy of this software to deal in the Software without
19 --restriction, including without limitation the rights to use,
20 --copy, modify, merge, publish, distribute, sublicense, and/or
21 --sell copies of the Software, and to permit persons to whom the
22 --Software is furnished to do so, subject to the following conditions:
23
24 --The above copyright notice and this permission notice shall be
25 --included in all copies or substantial portions of the Software.
26 --If you find this software useful please give www.chipmunkav.com a mention.
27
28 --THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29 --EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
30 --OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
31 --IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
32 --ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
33 --CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
34 --CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
36local string = string
37local math = math
38local table = table
39local error = error
40local tonumber = tonumber
41local tostring = tostring
42local type = type
43local setmetatable = setmetatable
44local pairs = pairs
45local ipairs = ipairs
46local assert = assert
47
48
49local StringBuilder = {
50 buffer = {}
51}
52
53function StringBuilder:New()
54 local o = {}
55 setmetatable(o, self)
56 self.__index = self
57 o.buffer = {}
58 return o
59end
60
61function StringBuilder:Append(s)
62 self.buffer[#self.buffer+1] = s
63end
64
65function StringBuilder:ToString()
66 return table.concat(self.buffer)
67end
68
69local JsonWriter = {
70 backslashes = {
71 ['\b'] = "\\b",
72 ['\t'] = "\\t",
73 ['\n'] = "\\n",
74 ['\f'] = "\\f",
75 ['\r'] = "\\r",
76 ['"'] = "\\\"",
77 ['\\'] = "\\\\",
78 ['/'] = "\\/"
79 }
80}
81
82function JsonWriter:New()
83 local o = {}
84 o.writer = StringBuilder:New()
85 setmetatable(o, self)
86 self.__index = self
87 return o
88end
89
90function JsonWriter:Append(s)
91 self.writer:Append(s)
92end
93
94function JsonWriter:ToString()
95 return self.writer:ToString()
96end
97
98function JsonWriter:Write(o)
99 local t = type(o)
100 if t == "nil" then
101 self:WriteNil()
102 elseif t == "boolean" then
103 self:WriteString(o)
104 elseif t == "number" then
105 self:WriteString(o)
106 elseif t == "string" then
107 self:ParseString(o)
108 elseif t == "table" then
109 self:WriteTable(o)
110 elseif t == "function" then
111 self:WriteFunction(o)
112 elseif t == "thread" then
113 self:WriteError(o)
114 elseif t == "userdata" then
115 self:WriteError(o)
116 end
117end
118
119function JsonWriter:WriteNil()
120 self:Append("null")
121end
122
123function JsonWriter:WriteString(o)
124 self:Append(tostring(o))
125end
126
127function JsonWriter:ParseString(s)
128 self:Append('"')
129 self:Append(string.gsub(s, "[%z%c\\\"/]", function(n)
130 local c = self.backslashes[n]
131 if c then return c end
132 return string.format("\\u%.4X", string.byte(n))
133 end))
134 self:Append('"')
135end
136
137function JsonWriter:IsArray(t)
138 local count = 0
139 local isindex = function(k)
140 if type(k) == "number" and k > 0 then
141 if math.floor(k) == k then
142 return true
143 end
144 end
145 return false
146 end
147 for k,v in pairs(t) do
148 if not isindex(k) then
149 return false, '{', '}'
150 else
151 count = math.max(count, k)
152 end
153 end
154 return true, '[', ']', count
155end
156
157function JsonWriter:WriteTable(t)
158 local ba, st, et, n = self:IsArray(t)
159 self:Append(st)
160 if ba then
161 for i = 1, n do
162 self:Write(t[i])
163 if i < n then
164 self:Append(',')
165 end
166 end
167 else
168 local first = true;
169 for k, v in pairs(t) do
170 if not first then
171 self:Append(',')
172 end
173 first = false;
174 self:ParseString(k)
175 self:Append(':')
176 self:Write(v)
177 end
178 end
179 self:Append(et)
180end
181
182function JsonWriter:WriteError(o)
183 error(string.format(
184 "Encoding of %s unsupported",
185 tostring(o)))
186end
187
188function JsonWriter:WriteFunction(o)
189 if o == Null then
190 self:WriteNil()
191 else
192 self:WriteError(o)
193 end
194end
195
196local StringReader = {
197 s = "",
198 i = 0
199}
200
201function StringReader:New(s)
202 local o = {}
203 setmetatable(o, self)
204 self.__index = self
205 o.s = s or o.s
206 return o
207end
208
209function StringReader:Peek()
210 local i = self.i + 1
211 if i <= #self.s then
212 return string.sub(self.s, i, i)
213 end
214 return nil
215end
216
217function StringReader:Next()
218 self.i = self.i+1
219 if self.i <= #self.s then
220 return string.sub(self.s, self.i, self.i)
221 end
222 return nil
223end
224
225function StringReader:All()
226 return self.s
227end
228
229local JsonReader = {
230 escapes = {
231 ['t'] = '\t',
232 ['n'] = '\n',
233 ['f'] = '\f',
234 ['r'] = '\r',
235 ['b'] = '\b',
236 }
237}
238
239function JsonReader:New(s)
240 local o = {}
241 o.reader = StringReader:New(s)
242 setmetatable(o, self)
243 self.__index = self
244 return o;
245end
246
247function JsonReader:Read()
248 self:SkipWhiteSpace()
249 local peek = self:Peek()
250 if peek == nil then
251 error(string.format(
252 "Nil string: '%s'",
253 self:All()))
254 elseif peek == '{' then
255 return self:ReadObject()
256 elseif peek == '[' then
257 return self:ReadArray()
258 elseif peek == '"' then
259 return self:ReadString()
260 elseif string.find(peek, "[%+%-%d]") then
261 return self:ReadNumber()
262 elseif peek == 't' then
263 return self:ReadTrue()
264 elseif peek == 'f' then
265 return self:ReadFalse()
266 elseif peek == 'n' then
267 return self:ReadNull()
268 elseif peek == '/' then
269 self:ReadComment()
270 return self:Read()
271 else
272 return nil
273 end
274end
275
276function JsonReader:ReadTrue()
277 self:TestReservedWord{'t','r','u','e'}
278 return true
279end
280
281function JsonReader:ReadFalse()
282 self:TestReservedWord{'f','a','l','s','e'}
283 return false
284end
285
286function JsonReader:ReadNull()
287 self:TestReservedWord{'n','u','l','l'}
288 return nil
289end
290
291function JsonReader:TestReservedWord(t)
292 for i, v in ipairs(t) do
293 if self:Next() ~= v then
294 error(string.format(
295 "Error reading '%s': %s",
296 table.concat(t),
297 self:All()))
298 end
299 end
300end
301
302function JsonReader:ReadNumber()
303 local result = self:Next()
304 local peek = self:Peek()
305 while peek ~= nil and string.find(
306 peek,
307 "[%+%-%d%.eE]") do
308 result = result .. self:Next()
309 peek = self:Peek()
310 end
311 result = tonumber(result)
312 if result == nil then
313 error(string.format(
314 "Invalid number: '%s'",
315 result))
316 else
317 return result
318 end
319end
320
321function JsonReader:ReadString()
322 local result = ""
323 assert(self:Next() == '"')
324 while self:Peek() ~= '"' do
325 local ch = self:Next()
326 if ch == '\\' then
327 ch = self:Next()
328 if self.escapes[ch] then
329 ch = self.escapes[ch]
330 end
331 end
332 result = result .. ch
333 end
334 assert(self:Next() == '"')
335 local fromunicode = function(m)
336 return string.char(tonumber(m, 16))
337 end
338 return string.gsub(
339 result,
340 "u%x%x(%x%x)",
341 fromunicode)
342end
343
344function JsonReader:ReadComment()
345 assert(self:Next() == '/')
346 local second = self:Next()
347 if second == '/' then
348 self:ReadSingleLineComment()
349 elseif second == '*' then
350 self:ReadBlockComment()
351 else
352 error(string.format(
353 "Invalid comment: %s",
354 self:All()))
355 end
356end
357
358function JsonReader:ReadBlockComment()
359 local done = false
360 while not done do
361 local ch = self:Next()
362 if ch == '*' and self:Peek() == '/' then
363 done = true
364 end
365 if not done and
366 ch == '/' and
367 self:Peek() == "*" then
368 error(string.format(
369 "Invalid comment: %s, '/*' illegal.",
370 self:All()))
371 end
372 end
373 self:Next()
374end
375
376function JsonReader:ReadSingleLineComment()
377 local ch = self:Next()
378 while ch ~= '\r' and ch ~= '\n' do
379 ch = self:Next()
380 end
381end
382
383function JsonReader:ReadArray()
384 local result = {}
385 assert(self:Next() == '[')
386 local done = false
387 if self:Peek() == ']' then
388 done = true;
389 end
390 while not done do
391 local item = self:Read()
392 result[#result+1] = item
393 self:SkipWhiteSpace()
394 if self:Peek() == ']' then
395 done = true
396 end
397 if not done then
398 local ch = self:Next()
399 if ch ~= ',' then
400 error(string.format(
401 "Invalid array: '%s' due to: '%s'",
402 self:All(), ch))
403 end
404 end
405 end
406 assert(']' == self:Next())
407 return result
408end
409
410function JsonReader:ReadObject()
411 local result = {}
412 assert(self:Next() == '{')
413 local done = false
414 if self:Peek() == '}' then
415 done = true
416 end
417 while not done do
418 local key = self:Read()
419 if type(key) ~= "string" then
420 error(string.format(
421 "Invalid non-string object key: %s",
422 key))
423 end
424 self:SkipWhiteSpace()
425 local ch = self:Next()
426 if ch ~= ':' then
427 error(string.format(
428 "Invalid object: '%s' due to: '%s'",
429 self:All(),
430 ch))
431 end
432 self:SkipWhiteSpace()
433 local val = self:Read()
434 result[key] = val
435 self:SkipWhiteSpace()
436 if self:Peek() == '}' then
437 done = true
438 end
439 if not done then
440 ch = self:Next()
441 if ch ~= ',' then
442 error(string.format(
443 "Invalid array: '%s' near: '%s'",
444 self:All(),
445 ch))
446 end
447 end
448 end
449 assert(self:Next() == "}")
450 return result
451end
452
453function JsonReader:SkipWhiteSpace()
454 local p = self:Peek()
455 while p ~= nil and string.find(p, "[%s/]") do
456 if p == '/' then
457 self:ReadComment()
458 else
459 self:Next()
460 end
461 p = self:Peek()
462 end
463end
464
465function JsonReader:Peek()
466 return self.reader:Peek()
467end
468
469function JsonReader:Next()
470 return self.reader:Next()
471end
472
473function JsonReader:All()
474 return self.reader:All()
475end
476
477function Encode(o)
478 local writer = JsonWriter:New()
479 writer:Write(o)
480 return writer:ToString()
481end
482
483function Decode(s)
484 local reader = JsonReader:New(s)
485 return reader:Read()
486end
487
488function Null()
489 return Null
490end
491-------------------- End JSON Parser ------------------------
492
493t.DecodeJSON = function(jsonString)
494 pcall(function() warn("RbxUtility.DecodeJSON is deprecated, please use Game:GetService('HttpService'):JSONDecode() instead.") end)
495
496 if type(jsonString) == "string" then
497 return Decode(jsonString)
498 end
499 print("RbxUtil.DecodeJSON expects string argument!")
500 return nil
501end
502
503t.EncodeJSON = function(jsonTable)
504 pcall(function() warn("RbxUtility.EncodeJSON is deprecated, please use Game:GetService('HttpService'):JSONEncode() instead.") end)
505 return Encode(jsonTable)
506end
507
508
509
510
511
512
513
514
515------------------------------------------------------------------------------------------------------------------------
516------------------------------------------------------------------------------------------------------------------------
517------------------------------------------------------------------------------------------------------------------------
518--------------------------------------------Terrain Utilities Begin-----------------------------------------------------
519------------------------------------------------------------------------------------------------------------------------
520------------------------------------------------------------------------------------------------------------------------
521------------------------------------------------------------------------------------------------------------------------
522--makes a wedge at location x, y, z
523--sets cell x, y, z to default material if parameter is provided, if not sets cell x, y, z to be whatever material it previously w
524--returns true if made a wedge, false if the cell remains a block
525t.MakeWedge = function(x, y, z, defaultmaterial)
526 return game:GetService("Terrain"):AutoWedgeCell(x,y,z)
527end
528
529t.SelectTerrainRegion = function(regionToSelect, color, selectEmptyCells, selectionParent)
530 local terrain = game:GetService("Workspace"):FindFirstChild("Terrain")
531 if not terrain then return end
532
533 assert(regionToSelect)
534 assert(color)
535
536 if not type(regionToSelect) == "Region3" then
537 error("regionToSelect (first arg), should be of type Region3, but is type",type(regionToSelect))
538 end
539 if not type(color) == "BrickColor" then
540 error("color (second arg), should be of type BrickColor, but is type",type(color))
541 end
542
543 -- frequently used terrain calls (speeds up call, no lookup necessary)
544 local GetCell = terrain.GetCell
545 local WorldToCellPreferSolid = terrain.WorldToCellPreferSolid
546 local CellCenterToWorld = terrain.CellCenterToWorld
547 local emptyMaterial = Enum.CellMaterial.Empty
548
549 -- container for all adornments, passed back to user
550 local selectionContainer = Instance.new("Model")
551 selectionContainer.Name = "SelectionContainer"
552 selectionContainer.Archivable = false
553 if selectionParent then
554 selectionContainer.Parent = selectionParent
555 else
556 selectionContainer.Parent = game:GetService("Workspace")
557 end
558
559 local updateSelection = nil -- function we return to allow user to update selection
560 local currentKeepAliveTag = nil -- a tag that determines whether adorns should be destroyed
561 local aliveCounter = 0 -- helper for currentKeepAliveTag
562 local lastRegion = nil -- used to stop updates that do nothing
563 local adornments = {} -- contains all adornments
564 local reusableAdorns = {}
565
566 local selectionPart = Instance.new("Part")
567 selectionPart.Name = "SelectionPart"
568 selectionPart.Transparency = 1
569 selectionPart.Anchored = true
570 selectionPart.Locked = true
571 selectionPart.CanCollide = false
572 selectionPart.Size = Vector3.new(4.2,4.2,4.2)
573
574 local selectionBox = Instance.new("SelectionBox")
575
576 -- srs translation from region3 to region3int16
577 local function Region3ToRegion3int16(region3)
578 local theLowVec = region3.CFrame.p - (region3.Size/2) + Vector3.new(2,2,2)
579 local lowCell = WorldToCellPreferSolid(terrain,theLowVec)
580
581 local theHighVec = region3.CFrame.p + (region3.Size/2) - Vector3.new(2,2,2)
582 local highCell = WorldToCellPreferSolid(terrain, theHighVec)
583
584 local highIntVec = Vector3int16.new(highCell.x,highCell.y,highCell.z)
585 local lowIntVec = Vector3int16.new(lowCell.x,lowCell.y,lowCell.z)
586
587 return Region3int16.new(lowIntVec,highIntVec)
588 end
589
590 -- helper function that creates the basis for a selection box
591 function createAdornment(theColor)
592 local selectionPartClone = nil
593 local selectionBoxClone = nil
594
595 if #reusableAdorns > 0 then
596 selectionPartClone = reusableAdorns[1]["part"]
597 selectionBoxClone = reusableAdorns[1]["box"]
598 table.remove(reusableAdorns,1)
599
600 selectionBoxClone.Visible = true
601 else
602 selectionPartClone = selectionPart:Clone()
603 selectionPartClone.Archivable = false
604
605 selectionBoxClone = selectionBox:Clone()
606 selectionBoxClone.Archivable = false
607
608 selectionBoxClone.Adornee = selectionPartClone
609 selectionBoxClone.Parent = selectionContainer
610
611 selectionBoxClone.Adornee = selectionPartClone
612
613 selectionBoxClone.Parent = selectionContainer
614 end
615
616 if theColor then
617 selectionBoxClone.Color = theColor
618 end
619
620 return selectionPartClone, selectionBoxClone
621 end
622
623 -- iterates through all current adornments and deletes any that don't have latest tag
624 function cleanUpAdornments()
625 for cellPos, adornTable in pairs(adornments) do
626
627 if adornTable.KeepAlive ~= currentKeepAliveTag then -- old news, we should get rid of this
628 adornTable.SelectionBox.Visible = false
629 table.insert(reusableAdorns,{part = adornTable.SelectionPart, box = adornTable.SelectionBox})
630 adornments[cellPos] = nil
631 end
632 end
633 end
634
635 -- helper function to update tag
636 function incrementAliveCounter()
637 aliveCounter = aliveCounter + 1
638 if aliveCounter > 1000000 then
639 aliveCounter = 0
640 end
641 return aliveCounter
642 end
643
644 -- finds full cells in region and adorns each cell with a box, with the argument color
645 function adornFullCellsInRegion(region, color)
646 local regionBegin = region.CFrame.p - (region.Size/2) + Vector3.new(2,2,2)
647 local regionEnd = region.CFrame.p + (region.Size/2) - Vector3.new(2,2,2)
648
649 local cellPosBegin = WorldToCellPreferSolid(terrain, regionBegin)
650 local cellPosEnd = WorldToCellPreferSolid(terrain, regionEnd)
651
652 currentKeepAliveTag = incrementAliveCounter()
653 for y = cellPosBegin.y, cellPosEnd.y do
654 for z = cellPosBegin.z, cellPosEnd.z do
655 for x = cellPosBegin.x, cellPosEnd.x do
656 local cellMaterial = GetCell(terrain, x, y, z)
657
658 if cellMaterial ~= emptyMaterial then
659 local cframePos = CellCenterToWorld(terrain, x, y, z)
660 local cellPos = Vector3int16.new(x,y,z)
661
662 local updated = false
663 for cellPosAdorn, adornTable in pairs(adornments) do
664 if cellPosAdorn == cellPos then
665 adornTable.KeepAlive = currentKeepAliveTag
666 if color then
667 adornTable.SelectionBox.Color = color
668 end
669 updated = true
670 break
671 end
672 end
673
674 if not updated then
675 local selectionPart, selectionBox = createAdornment(color)
676 selectionPart.Size = Vector3.new(4,4,4)
677 selectionPart.CFrame = CFrame.new(cframePos)
678 local adornTable = {SelectionPart = selectionPart, SelectionBox = selectionBox, KeepAlive = currentKeepAliveTag}
679 adornments[cellPos] = adornTable
680 end
681 end
682 end
683 end
684 end
685 cleanUpAdornments()
686 end
687
688
689 ------------------------------------- setup code ------------------------------
690 lastRegion = regionToSelect
691
692 if selectEmptyCells then -- use one big selection to represent the area selected
693 local selectionPart, selectionBox = createAdornment(color)
694
695 selectionPart.Size = regionToSelect.Size
696 selectionPart.CFrame = regionToSelect.CFrame
697
698 adornments.SelectionPart = selectionPart
699 adornments.SelectionBox = selectionBox
700
701 updateSelection =
702 function (newRegion, color)
703 if newRegion and newRegion ~= lastRegion then
704 lastRegion = newRegion
705 selectionPart.Size = newRegion.Size
706 selectionPart.CFrame = newRegion.CFrame
707 end
708 if color then
709 selectionBox.Color = color
710 end
711 end
712 else -- use individual cell adorns to represent the area selected
713 adornFullCellsInRegion(regionToSelect, color)
714 updateSelection =
715 function (newRegion, color)
716 if newRegion and newRegion ~= lastRegion then
717 lastRegion = newRegion
718 adornFullCellsInRegion(newRegion, color)
719 end
720 end
721
722 end
723
724 local destroyFunc = function()
725 updateSelection = nil
726 if selectionContainer then selectionContainer:Destroy() end
727 adornments = nil
728 end
729
730 return updateSelection, destroyFunc
731end
732
733-----------------------------Terrain Utilities End-----------------------------
734
735
736
737
738
739
740
741------------------------------------------------------------------------------------------------------------------------
742------------------------------------------------------------------------------------------------------------------------
743------------------------------------------------------------------------------------------------------------------------
744------------------------------------------------Signal class begin------------------------------------------------------
745------------------------------------------------------------------------------------------------------------------------
746------------------------------------------------------------------------------------------------------------------------
747------------------------------------------------------------------------------------------------------------------------
748--[[
749A 'Signal' object identical to the internal RBXScriptSignal object in it's public API and semantics. This function
750can be used to create "custom events" for user-made code.
751API:
752Method :connect( function handler )
753 Arguments: The function to connect to.
754 Returns: A new connection object which can be used to disconnect the connection
755 Description: Connects this signal to the function specified by |handler|. That is, when |fire( ... )| is called for
756 the signal the |handler| will be called with the arguments given to |fire( ... )|. Note, the functions
757 connected to a signal are called in NO PARTICULAR ORDER, so connecting one function after another does
758 NOT mean that the first will be called before the second as a result of a call to |fire|.
759
760Method :disconnect()
761 Arguments: None
762 Returns: None
763 Description: Disconnects all of the functions connected to this signal.
764
765Method :fire( ... )
766 Arguments: Any arguments are accepted
767 Returns: None
768 Description: Calls all of the currently connected functions with the given arguments.
769
770Method :wait()
771 Arguments: None
772 Returns: The arguments given to fire
773 Description: This call blocks until
774]]
775
776function t.CreateSignal()
777 local this = {}
778
779 local mBindableEvent = Instance.new('BindableEvent')
780 local mAllCns = {} --all connection objects returned by mBindableEvent::connect
781
782 --main functions
783 function this:connect(func)
784 if self ~= this then error("connect must be called with `:`, not `.`", 2) end
785 if type(func) ~= 'function' then
786 error("Argument #1 of connect must be a function, got a "..type(func), 2)
787 end
788 local cn = mBindableEvent.Event:Connect(func)
789 mAllCns[cn] = true
790 local pubCn = {}
791 function pubCn:disconnect()
792 cn:Disconnect()
793 mAllCns[cn] = nil
794 end
795 pubCn.Disconnect = pubCn.disconnect
796
797 return pubCn
798 end
799
800 function this:disconnect()
801 if self ~= this then error("disconnect must be called with `:`, not `.`", 2) end
802 for cn, _ in pairs(mAllCns) do
803 cn:Disconnect()
804 mAllCns[cn] = nil
805 end
806 end
807
808 function this:wait()
809 if self ~= this then error("wait must be called with `:`, not `.`", 2) end
810 return mBindableEvent.Event:Wait()
811 end
812
813 function this:fire(...)
814 if self ~= this then error("fire must be called with `:`, not `.`", 2) end
815 mBindableEvent:Fire(...)
816 end
817
818 this.Connect = this.connect
819 this.Disconnect = this.disconnect
820 this.Wait = this.wait
821 this.Fire = this.fire
822
823 return this
824end
825
826------------------------------------------------- Sigal class End ------------------------------------------------------
827
828
829
830
831------------------------------------------------------------------------------------------------------------------------
832------------------------------------------------------------------------------------------------------------------------
833------------------------------------------------------------------------------------------------------------------------
834-----------------------------------------------Create Function Begins---------------------------------------------------
835------------------------------------------------------------------------------------------------------------------------
836------------------------------------------------------------------------------------------------------------------------
837------------------------------------------------------------------------------------------------------------------------
838--[[
839A "Create" function for easy creation of Roblox instances. The function accepts a string which is the classname of
840the object to be created. The function then returns another function which either accepts accepts no arguments, in
841which case it simply creates an object of the given type, or a table argument that may contain several types of data,
842in which case it mutates the object in varying ways depending on the nature of the aggregate data. These are the
843type of data and what operation each will perform:
8441) A string key mapping to some value:
845 Key-Value pairs in this form will be treated as properties of the object, and will be assigned in NO PARTICULAR
846 ORDER. If the order in which properties is assigned matter, then they must be assigned somewhere else than the
847 |Create| call's body.
848
8492) An integral key mapping to another Instance:
850 Normal numeric keys mapping to Instances will be treated as children if the object being created, and will be
851 parented to it. This allows nice recursive calls to Create to create a whole hierarchy of objects without a
852 need for temporary variables to store references to those objects.
853
8543) A key which is a value returned from Create.Event( eventname ), and a value which is a function function
855 The Create.E( string ) function provides a limited way to connect to signals inside of a Create hierarchy
856 for those who really want such a functionality. The name of the event whose name is passed to
857 Create.E( string )
858
8594) A key which is the Create function itself, and a value which is a function
860 The function will be run with the argument of the object itself after all other initialization of the object is
861 done by create. This provides a way to do arbitrary things involving the object from withing the create
862 hierarchy.
863 Note: This function is called SYNCHRONOUSLY, that means that you should only so initialization in
864 it, not stuff which requires waiting, as the Create call will block until it returns. While waiting in the
865 constructor callback function is possible, it is probably not a good design choice.
866 Note: Since the constructor function is called after all other initialization, a Create block cannot have two
867 constructor functions, as it would not be possible to call both of them last, also, this would be unnecessary.
868
869
870Some example usages:
871
872A simple example which uses the Create function to create a model object and assign two of it's properties.
873local model = Create'Model'{
874 Name = 'A New model',
875 Parent = game.Workspace,
876}
877
878
879An example where a larger hierarchy of object is made. After the call the hierarchy will look like this:
880Model_Container
881 |-ObjectValue
882 | |
883 | `-BoolValueChild
884 `-IntValue
885
886local model = Create'Model'{
887 Name = 'Model_Container',
888 Create'ObjectValue'{
889 Create'BoolValue'{
890 Name = 'BoolValueChild',
891 },
892 },
893 Create'IntValue'{},
894}
895
896
897An example using the event syntax:
898
899local part = Create'Part'{
900 [Create.E'Touched'] = function(part)
901 print("I was touched by "..part.Name)
902 end,
903}
904
905
906An example using the general constructor syntax:
907
908local model = Create'Part'{
909 [Create] = function(this)
910 print("Constructor running!")
911 this.Name = GetGlobalFoosAndBars(this)
912 end,
913}
914
915
916Note: It is also perfectly legal to save a reference to the function returned by a call Create, this will not cause
917 any unexpected behavior. EG:
918 local partCreatingFunction = Create'Part'
919 local part = partCreatingFunction()
920]]
921
922--the Create function need to be created as a functor, not a function, in order to support the Create.E syntax, so it
923--will be created in several steps rather than as a single function declaration.
924local function Create_PrivImpl(objectType)
925 if type(objectType) ~= 'string' then
926 error("Argument of Create must be a string", 2)
927 end
928 --return the proxy function that gives us the nice Create'string'{data} syntax
929 --The first function call is a function call using Lua's single-string-argument syntax
930 --The second function call is using Lua's single-table-argument syntax
931 --Both can be chained together for the nice effect.
932 return function(dat)
933 --default to nothing, to handle the no argument given case
934 dat = dat or {}
935
936 --make the object to mutate
937 local obj = Instance.new(objectType)
938 local parent = nil
939
940 --stored constructor function to be called after other initialization
941 local ctor = nil
942
943 for k, v in pairs(dat) do
944 --add property
945 if type(k) == 'string' then
946 if k == 'Parent' then
947 -- Parent should always be set last, setting the Parent of a new object
948 -- immediately makes performance worse for all subsequent property updates.
949 parent = v
950 else
951 obj[k] = v
952 end
953
954
955 --add child
956 elseif type(k) == 'number' then
957 if type(v) ~= 'userdata' then
958 error("Bad entry in Create body: Numeric keys must be paired with children, got a: "..type(v), 2)
959 end
960 v.Parent = obj
961
962
963 --event connect
964 elseif type(k) == 'table' and k.__eventname then
965 if type(v) ~= 'function' then
966 error("Bad entry in Create body: Key `[Create.E\'"..k.__eventname.."\']` must have a function value\
967 got: "..tostring(v), 2)
968 end
969 obj[k.__eventname]:connect(v)
970
971
972 --define constructor function
973 elseif k == t.Create then
974 if type(v) ~= 'function' then
975 error("Bad entry in Create body: Key `[Create]` should be paired with a constructor function, \
976 got: "..tostring(v), 2)
977 elseif ctor then
978 --ctor already exists, only one allowed
979 error("Bad entry in Create body: Only one constructor function is allowed", 2)
980 end
981 ctor = v
982
983
984 else
985 error("Bad entry ("..tostring(k).." => "..tostring(v)..") in Create body", 2)
986 end
987 end
988
989 --apply constructor function if it exists
990 if ctor then
991 ctor(obj)
992 end
993
994 if parent then
995 obj.Parent = parent
996 end
997
998 --return the completed object
999 return obj
1000 end
1001end
1002
1003--now, create the functor:
1004t.Create = setmetatable({}, {__call = function(tb, ...) return Create_PrivImpl(...) end})
1005
1006--and create the "Event.E" syntax stub. Really it's just a stub to construct a table which our Create
1007--function can recognize as special.
1008t.Create.E = function(eventName)
1009 return {__eventname = eventName}
1010end
1011
1012-------------------------------------------------Create function End----------------------------------------------------
1013
1014
1015
1016
1017------------------------------------------------------------------------------------------------------------------------
1018------------------------------------------------------------------------------------------------------------------------
1019------------------------------------------------------------------------------------------------------------------------
1020------------------------------------------------Documentation Begin-----------------------------------------------------
1021------------------------------------------------------------------------------------------------------------------------
1022------------------------------------------------------------------------------------------------------------------------
1023------------------------------------------------------------------------------------------------------------------------
1024
1025t.Help =
1026 function(funcNameOrFunc)
1027 --input argument can be a string or a function. Should return a description (of arguments and expected side effects)
1028 if funcNameOrFunc == "DecodeJSON" or funcNameOrFunc == t.DecodeJSON then
1029 return "Function DecodeJSON. " ..
1030 "Arguments: (string). " ..
1031 "Side effect: returns a table with all parsed JSON values"
1032 end
1033 if funcNameOrFunc == "EncodeJSON" or funcNameOrFunc == t.EncodeJSON then
1034 return "Function EncodeJSON. " ..
1035 "Arguments: (table). " ..
1036 "Side effect: returns a string composed of argument table in JSON data format"
1037 end
1038 if funcNameOrFunc == "MakeWedge" or funcNameOrFunc == t.MakeWedge then
1039 return "Function MakeWedge. " ..
1040 "Arguments: (x, y, z, [default material]). " ..
1041 "Description: Makes a wedge at location x, y, z. Sets cell x, y, z to default material if "..
1042 "parameter is provided, if not sets cell x, y, z to be whatever material it previously was. "..
1043 "Returns true if made a wedge, false if the cell remains a block "
1044 end
1045 if funcNameOrFunc == "SelectTerrainRegion" or funcNameOrFunc == t.SelectTerrainRegion then
1046 return "Function SelectTerrainRegion. " ..
1047 "Arguments: (regionToSelect, color, selectEmptyCells, selectionParent). " ..
1048 "Description: Selects all terrain via a series of selection boxes within the regionToSelect " ..
1049 "(this should be a region3 value). The selection box color is detemined by the color argument " ..
1050 "(should be a brickcolor value). SelectionParent is the parent that the selection model gets placed to (optional)." ..
1051 "SelectEmptyCells is bool, when true will select all cells in the " ..
1052 "region, otherwise we only select non-empty cells. Returns a function that can update the selection," ..
1053 "arguments to said function are a new region3 to select, and the adornment color (color arg is optional). " ..
1054 "Also returns a second function that takes no arguments and destroys the selection"
1055 end
1056 if funcNameOrFunc == "CreateSignal" or funcNameOrFunc == t.CreateSignal then
1057 return "Function CreateSignal. "..
1058 "Arguments: None. "..
1059 "Returns: The newly created Signal object. This object is identical to the RBXScriptSignal class "..
1060 "used for events in Objects, but is a Lua-side object so it can be used to create custom events in"..
1061 "Lua code. "..
1062 "Methods of the Signal object: :connect, :wait, :fire, :disconnect. "..
1063 "For more info you can pass the method name to the Help function, or view the wiki page "..
1064 "for this library. EG: Help('Signal:connect')."
1065 end
1066 if funcNameOrFunc == "Signal:connect" then
1067 return "Method Signal:connect. "..
1068 "Arguments: (function handler). "..
1069 "Return: A connection object which can be used to disconnect the connection to this handler. "..
1070 "Description: Connectes a handler function to this Signal, so that when |fire| is called the "..
1071 "handler function will be called with the arguments passed to |fire|."
1072 end
1073 if funcNameOrFunc == "Signal:wait" then
1074 return "Method Signal:wait. "..
1075 "Arguments: None. "..
1076 "Returns: The arguments passed to the next call to |fire|. "..
1077 "Description: This call does not return until the next call to |fire| is made, at which point it "..
1078 "will return the values which were passed as arguments to that |fire| call."
1079 end
1080 if funcNameOrFunc == "Signal:fire" then
1081 return "Method Signal:fire. "..
1082 "Arguments: Any number of arguments of any type. "..
1083 "Returns: None. "..
1084 "Description: This call will invoke any connected handler functions, and notify any waiting code "..
1085 "attached to this Signal to continue, with the arguments passed to this function. Note: The calls "..
1086 "to handlers are made asynchronously, so this call will return immediately regardless of how long "..
1087 "it takes the connected handler functions to complete."
1088 end
1089 if funcNameOrFunc == "Signal:disconnect" then
1090 return "Method Signal:disconnect. "..
1091 "Arguments: None. "..
1092 "Returns: None. "..
1093 "Description: This call disconnects all handlers attacched to this function, note however, it "..
1094 "does NOT make waiting code continue, as is the behavior of normal Roblox events. This method "..
1095 "can also be called on the connection object which is returned from Signal:connect to only "..
1096 "disconnect a single handler, as opposed to this method, which will disconnect all handlers."
1097 end
1098 if funcNameOrFunc == "Create" then
1099 return "Function Create. "..
1100 "Arguments: A table containing information about how to construct a collection of objects. "..
1101 "Returns: The constructed objects. "..
1102 "Descrition: Create is a very powerfull function, whose description is too long to fit here, and "..
1103 "is best described via example, please see the wiki page for a description of how to use it."
1104 end
1105 end
1106
1107--------------------------------------------Documentation Ends----------------------------------------------------------
1108
1109return t
1110end
1111------------------------
1112--Aiju Love Trap Rifle--
1113----------------------------------------------------------------
1114--FE Trap Rifle uwu
1115----------------------------------------------------------------
1116
1117wait(1/60)
1118Effects = { }
1119local Player = game:service'Players'.localPlayer
1120local chara = Player.Character
1121local Humanoid = chara:FindFirstChildOfClass("Humanoid")
1122local Mouse = Player:GetMouse()
1123local LeftArm = chara["Left Arm"]
1124local RightArm = chara["Right Arm"]
1125local LeftLeg = chara["Left Leg"]
1126local RightLeg = chara["Right Leg"]
1127local Head = chara.Head
1128local Torso = chara.Torso
1129local Camera = workspace.CurrentCamera
1130local RootPart = chara.HumanoidRootPart
1131local RootJoint = RootPart.RootJoint
1132local attack = false
1133local Anim = 'Idle'
1134local attacktype = 1
1135local delays = false
1136local play = true
1137local targetted = nil
1138local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
1139local velocity = RootPart.Velocity.y
1140local sine = 0
1141local change = 1
1142local doe = 0
1143local Create = LoadLibrary("RbxUtility").Create
1144local debby = game:GetService("Debris")
1145Humanoid.WalkSpeed = 16
1146
1147Humanoid.Animator.Parent = nil
1148chara.Animate.Parent = nil
1149
1150local newMotor = function(part0, part1, c0, c1)
1151local w = Create('Motor'){
1152Parent = part0,
1153Part0 = part0,
1154Part1 = part1,
1155C0 = c0,
1156C1 = c1,
1157}
1158return w
1159end
1160
1161function clerp(a, b, t)
1162return a:lerp(b, t)
1163end
1164
1165RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
1166NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
1167
1168local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
1169local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
1170local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
1171local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), CFrame.new(0, 0, 0))
1172RootJoint.C1 = CFrame.new(0, 0, 0)
1173RootJoint.C0 = CFrame.new(0, 0, 0)
1174Torso.Neck.C1 = CFrame.new(0, 0, 0)
1175Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
1176
1177local rarmc1 = RW.C1
1178local larmc1 = LW.C1
1179local rlegc1 = RH.C1
1180local llegc1 = LH.C1
1181
1182local resetc1 = false
1183
1184function PlayAnimationFromTable(table, speed, bool)
1185RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
1186Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
1187RW.C0 = clerp(RW.C0, table[3], speed)
1188LW.C0 = clerp(LW.C0, table[4], speed)
1189RH.C0 = clerp(RH.C0, table[5], speed)
1190LH.C0 = clerp(LH.C0, table[6], speed)
1191if bool == true then
1192if resetc1 == false then
1193resetc1 = true
1194RootJoint.C1 = RootJoint.C1
1195Torso.Neck.C1 = Torso.Neck.C1
1196RW.C1 = rarmc1
1197LW.C1 = larmc1
1198RH.C1 = rlegc1
1199LH.C1 = llegc1
1200end
1201end
1202end
1203
1204ArtificialHB = Instance.new("BindableEvent", script)
1205ArtificialHB.Name = "Heartbeat"
1206script:WaitForChild("Heartbeat")
1207frame = 0.03333333333333
1208tf = 0
1209allowframeloss = false
1210tossremainder = false
1211lastframe = tick()
1212script.Heartbeat:Fire()
1213game:GetService("RunService").Heartbeat:connect(function(s, p)
1214tf = tf + s
1215if tf >= frame then
1216if allowframeloss then
1217script.Heartbeat:Fire()
1218lastframe = tick()
1219else
1220for i = 1, math.floor(tf / frame) do
1221script.Heartbeat:Fire()
1222end
1223lastframe = tick()
1224end
1225if tossremainder then
1226tf = 0
1227else
1228tf = tf - frame * math.floor(tf / frame)
1229end
1230end
1231end)
1232function swait(num)
1233if num == 0 or num == nil then
1234ArtificialHB.Event:wait()
1235else
1236for i = 0, num do
1237ArtificialHB.Event:wait()
1238end
1239end
1240end
1241
1242function RemoveOutlines(part)
1243part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
1244end
1245
1246function so(id,par,pit,vol)
1247local sou = Instance.new("Sound", par or workspace)
1248if par == chara then
1249sou.Parent = chara.Torso
1250end
1251sou.Volume = vol
1252sou.Pitch = pit or 1
1253sou.SoundId = "rbxassetid://" .. id
1254sou.PlayOnRemove = true
1255sou:Destroy()
1256end
1257
1258--This is just for builds--
1259New = function(Object, Parent, Name, Data)
1260local Object = Instance.new(Object)
1261for Index, Value in pairs(Data or {}) do
1262Object[Index] = Value
1263end
1264Object.Parent = Parent
1265Object.Name = Name
1266return Object
1267end
1268LuvGun = New("Model",chara,"LuvGun",{})
1269Handle = New("Part",LuvGun,"Handaru",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.199999809, 1.10000002, 0.50000006),CFrame = CFrame.new(-55.7999725, 3.16094255, -23.6752853, 1, 0, 0, 0, 0.984807849, -0.173647985, 0, 0.173647985, 0.984807849),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1270HWeld = New("ManualWeld",Handle,"HWeld",{Part0 = Handle,Part1 = RightArm,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),C1 = CFrame.new(-0.164215088, -1.07379532, 0.339058399, -1, 0, 0, 0, 0, -1, -0, -1, -0),})
1271Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.4999733, -22.25, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1272Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1273Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.56618547, 1.17111206, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1274Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.4999733, -22.0499992, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1275Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1276Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.60091519, 1.36807442, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1277Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999994278, 0.600000024, 0.600000024),CFrame = CFrame.new(-55.7999611, 2.34997582, -22.4000015, 0, 0, -1, 1.00000012, 0, 0, 0, -1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1278Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Cylinder,})
1279Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 1, 0, 0, 0, -1, -1, 0, 0),C1 = CFrame.new(1.14440918e-05, -0.577195883, 1.39673233, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1280Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.700000048, 0.199999988),CFrame = CFrame.new(-55.6999779, 4.59997463, -23.2499962, 1, 0, 0, 0, 0, -1.00000012, 0, 1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1281Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1282Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0),C1 = CFrame.new(0.0999946594, 1.49102044, 0.168943405, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1283Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.100000001, 0.800000012),CFrame = CFrame.new(-55.849968, 4.39997292, -20.2000103, 0, -1, 0, 0, 0, -1.00000012, 1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1284Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1285Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, 1, -1, 0, 0, 0, -1, 0),C1 = CFrame.new(-0.0499954224, 1.82368135, 3.20732307, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1286Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.100000001, 0.199999988),CFrame = CFrame.new(-55.7999725, 4.59997463, -23.5499954, 1, 0, 0, 0, 0, -1.00000012, 0, 1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1287Mesh = New("SpecialMesh",Part,"Mesh",{Scale = Vector3.new(0.200000003, 1, 1),MeshType = Enum.MeshType.Wedge,})
1288Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0),C1 = CFrame.new(0, 1.43892598, -0.126499176, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1289ShotPt = New("Part",LuvGun,"ShotPt",{Transparency = 1,Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999983624, 0.100000001, 0.100000001),CFrame = CFrame.new(-55.7999687, 3.84997725, -19.3500118, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,})
1290Weld = New("ManualWeld",ShotPt,"Weld",{Part0 = ShotPt,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(3.81469727e-06, 1.42964172, 4.13991356, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1291Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.399998486, 0.400000006, 0.100000001),CFrame = CFrame.new(-55.9499664, 3.89997602, -22.4000187, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1292Mesh = New("SpecialMesh",Part,"Mesh",{Scale = Vector3.new(1.20000005, 1, 1.20000005),MeshType = Enum.MeshType.Cylinder,})
1293Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(-0.149993896, 0.949253559, 1.12756157, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1294Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Lily white"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.599999428, 0.800000072, 0.600000024),CFrame = CFrame.new(-55.7999611, 2.79997706, -22.4000034, -1, 0, 0, 0, 1.00000012, 0, 0, 0, -1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.929412, 0.917647, 0.917647),})
1295Mesh = New("CylinderMesh",Part,"Mesh",{})
1296Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1),C1 = CFrame.new(1.14440918e-05, -0.134031534, 1.31858826, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1297Part = New("Part",LuvGun,"Part",{Transparency = 1,Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.600000024, 0.5, 0.600000024),CFrame = CFrame.new(-55.7999611, 2.79997706, -22.4000034, -1, 0, 0, 0, 1.00000012, 0, 0, 0, -1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,})
1298Mesh = New("CylinderMesh",Part,"Mesh",{})
1299Decal = New("Decal",Part,"Decal",{Face = Enum.NormalId.Left,Texture = "rbxassetid://52650427",})
1300Decal = New("Decal",Part,"Decal",{Face = Enum.NormalId.Right,Texture = "rbxassetid://52650427",})
1301Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1),C1 = CFrame.new(1.14440918e-05, -0.134031534, 1.31858826, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1302Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.100000001, 0.800000012),CFrame = CFrame.new(-55.7499695, 4.39997292, -20.2000103, 0, 1, 0, 0, 0, -1.00000012, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1303Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1304Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 1, 0, 0, 0, -1, 0),C1 = CFrame.new(0.0500030518, 1.82368135, 3.20732307, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1305Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.700000048, 0.199999988),CFrame = CFrame.new(-55.899971, 4.59997463, -23.2499962, 1, 0, 0, 0, 0, -1.00000012, 0, 1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1306Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1307Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0),C1 = CFrame.new(-0.0999984741, 1.49102044, 0.168943405, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1308Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.199999422, 0.400000006, 0.600000024),CFrame = CFrame.new(-55.7999611, 3.39997506, -22.4000015, 0, 0, -1, 1.00000012, 0, 0, 0, -1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1309Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Cylinder,})
1310Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 1, 0, 0, 0, -1, -1, 0, 0),C1 = CFrame.new(1.14440918e-05, 0.456851482, 1.21440125, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1311Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.0999998972, 1.70000017),CFrame = CFrame.new(-55.649971, 3.84997725, -24.8499966, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1312Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(0.150001526, 0.474580526, -1.27651405, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1313Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(3.8999989, 0.400000006, 0.400000006),CFrame = CFrame.new(-55.7999687, 3.89997602, -22.0499992, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1314Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Cylinder,})
1315Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(3.81469727e-06, 1.01003361, 1.47226334, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1316Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(1.90000045, 0.100000001, 0.0999998972),CFrame = CFrame.new(-55.5999718, 3.44997501, -21.1500034, 0, 1, 0, 0, 0, 1.00000012, 1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1317Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1318Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0),C1 = CFrame.new(0.200000763, 0.723151445, 2.43672752, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1319Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.0999998972, 0.100000001),CFrame = CFrame.new(-55.9499664, 3.84997725, -25.7500038, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1320Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1321Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(-0.149993896, 0.318296194, -2.16284752, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1322Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.100000001, 1.89999998),CFrame = CFrame.new(-55.7999687, 3.44997501, -21.1500034, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1323Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 0.723151445, 2.43672752, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1324Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.499999911, 0.100000001),CFrame = CFrame.new(-55.9499664, 3.54997826, -25.7500038, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1325Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(-0.149993896, 0.022854805, -2.11075401, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1326Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999994278, 0.600000024, 0.600000024),CFrame = CFrame.new(-55.7999611, 3.24997807, -22.4000015, 0, 0, -1, 1.00000012, 0, 0, 0, -1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1327Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Cylinder,})
1328Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 1, 0, 0, 0, -1, -1, 0, 0),C1 = CFrame.new(1.14440918e-05, 0.309133291, 1.240448, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1329Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.0999998972, 0.100000001),CFrame = CFrame.new(-55.9499664, 3.24997902, -25.7500019, 0, 0, -1, 0, -1.00000012, -0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1330Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1331Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -0, -0),C1 = CFrame.new(-0.149993896, -0.272586584, -2.0586586, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1332Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.0999998972, 0.100000001),CFrame = CFrame.new(-55.649971, 3.24997902, -25.7500019, 0, 0, -1, 0, -1.00000012, -0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1333Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1334Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -0, -0),C1 = CFrame.new(0.150001526, -0.272586584, -2.0586586, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1335Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.399998367, 0.300000012, 0.400000006),CFrame = CFrame.new(-55.7999687, 3.84997725, -19.6000099, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1336Mesh = New("SpecialMesh",Part,"Mesh",{Scale = Vector3.new(1, 1.20000005, 1),MeshType = Enum.MeshType.Cylinder,})
1337Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(3.81469727e-06, 1.38622999, 3.893713, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1338Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.299998373, 0.300000012, 0.400000006),CFrame = CFrame.new(-55.7999687, 3.84997702, -19.9500103, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1339Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Cylinder,})
1340Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(3.81469727e-06, 1.3254528, 3.5490303, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1341Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.499999911, 0.100000001),CFrame = CFrame.new(-55.649971, 3.54997826, -25.7500038, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1342Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(0.150001526, 0.022854805, -2.11075401, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1343Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.399999976, 0.100000001),CFrame = CFrame.new(-55.7999687, 3.39394569, -22.9842033, 1, 0, 0, 0, 0.939692855, 0.342019945, 0, -0.342019945, 0.939692855),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1344Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0.939692736, -0.342019916, 0, 0.342019886, 0.939692736),C1 = CFrame.new(3.81469727e-06, 0.349468231, 0.64012146, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1345Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999983624, 0.300000012, 0.400000006),CFrame = CFrame.new(-55.7999687, 3.84997654, -19.4500065, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
1346Mesh = New("SpecialMesh",Part,"Mesh",{Scale = Vector3.new(1.10000002, 1, 1),MeshType = Enum.MeshType.Cylinder,})
1347Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(3.81469727e-06, 1.41227698, 4.04143715, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1348Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.100000001, 0.5, 0.100000001),CFrame = CFrame.new(-55.7999687, 3.24997902, -23.2000008, -1, 0, 0, 0, 0, 1.00000012, 0, 1.00000012, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1349Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0),C1 = CFrame.new(3.81469727e-06, 0.170215845, 0.452602386, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1350Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.399999797, 0.399999917, 3.89999962),CFrame = CFrame.new(-55.7999687, 3.69997907, -22.0500031, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1351Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 0.81307435, 1.50698853, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1352Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.199999809, 0.0999999121, 0.100000001),CFrame = CFrame.new(-55.7999687, 3.24997902, -25.7500019, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1353Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, -0.272586584, -2.0586586, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1354Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.0999998972, 0.100000001),CFrame = CFrame.new(-55.649971, 3.84997725, -25.7500038, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1355Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1356Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(0.150001526, 0.318296194, -2.16284752, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1357Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.199998379, 0.200000018, 0.400000006),CFrame = CFrame.new(-55.7999687, 3.59997559, -20.0000114, 0, 0, 1, 0, 1.00000012, 0, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1358Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Cylinder,})
1359Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0),C1 = CFrame.new(3.81469727e-06, 1.07056713, 3.54320145, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1360Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.0999998078, 0.0999998972, 1.70000017),CFrame = CFrame.new(-55.9499702, 3.84997702, -24.8499966, 1, 0, 0, 0, 1, -3.7252903e-07, 0, 3.7252903e-07, 1),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1361Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(-0.149997711, 0.474580288, -1.27651405, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1362Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.5, 0.300000012, 1.89999998),CFrame = CFrame.new(-55.7999687, 3.64997578, -21.1500034, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1363Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 0.920113564, 2.40199661, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1364Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.5, 0.20000115),CFrame = CFrame.new(-55.7999687, 4.16505194, -21.5144958, 1, 0, 0, 0, 0.939692855, 0.342019945, 0, -0.342019945, 0.939692855),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1365Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 0.939692736, -0.342019916, 0, 0.342019886, 0.939692736),C1 = CFrame.new(3.81469727e-06, 1.36407137, 1.95359993, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1366Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 2.10000134),CFrame = CFrame.new(-55.7999687, 4.39997292, -22.5499954, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1367Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.41561127, 0.893039703, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1368Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.300000012, 0.20000115),CFrame = CFrame.new(-55.7999649, 4.14997578, -23.5, 1, 0, 0, 0, 1.00000012, 0, 0, 0, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1369Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C1 = CFrame.new(7.62939453e-06, 1.00444555, 0.00087928772, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1370Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.4999733, -21.6500015, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1371Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1372Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.67037416, 1.76199532, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1373Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.4999733, -21.8499985, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1374Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1375Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.63564491, 1.56503677, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1376Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.4999733, -22.4499969, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1377Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1378Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.53145647, 0.974153519, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1379Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.49997282, -22.6499939, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1380Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1381Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.49672723, 0.777194977, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1382Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(0.300000012, 0.200000003, 0.100000001),CFrame = CFrame.new(-55.7999687, 4.4999733, -22.8499947, 1, 0, 0, 0, 1.00000012, -3.87430191e-07, 0, 3.87430191e-07, 1.00000012),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.4, 0.8),})
1383Mesh = New("BlockMesh",Part,"Mesh",{Scale = Vector3.new(0.800000012, 0.5, 0.800000012),})
1384Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 3.7252903e-07, 0, -3.7252903e-07, 1),C1 = CFrame.new(3.81469727e-06, 1.46199775, 0.58023262, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1385Part = New("Part",LuvGun,"Part",{BrickColor = BrickColor.new("Carnation pink"),Material = Enum.Material.SmoothPlastic,Size = Vector3.new(1.90000045, 0.100000001, 0.0999998972),CFrame = CFrame.new(-55.9999657, 3.44997501, -21.1500034, 0, -1, 0, 0, 0, 1.00000012, -1.00000012, 0, 0),CanCollide = false,BackSurface = Enum.SurfaceType.SmoothNoOutlines,BottomSurface = Enum.SurfaceType.SmoothNoOutlines,FrontSurface = Enum.SurfaceType.SmoothNoOutlines,LeftSurface = Enum.SurfaceType.SmoothNoOutlines,RightSurface = Enum.SurfaceType.SmoothNoOutlines,TopSurface = Enum.SurfaceType.SmoothNoOutlines,Color = Color3.new(1, 0.596078, 0.862745),})
1386Mesh = New("SpecialMesh",Part,"Mesh",{MeshType = Enum.MeshType.Wedge,})
1387Weld = New("ManualWeld",Part,"Weld",{Part0 = Part,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 1, 0),C1 = CFrame.new(-0.199993134, 0.723151445, 2.43672752, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),})
1388---------------------------
1389
1390function rayCast(Position, Direction, Range, Ignore)
1391return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
1392end
1393
1394function FindNearestTorso(Position, Distance, SinglePlayer)
1395if SinglePlayer then
1396return (SinglePlayer.Head.CFrame.p - Position).magnitude < Distance
1397end
1398local List = {}
1399for i, v in pairs(workspace:GetDescendants()) do
1400if v:IsA("Model") then
1401if v:findFirstChild("Head") then
1402if v ~= chara then
1403if (v.Head.Position - Position).magnitude <= Distance then
1404table.insert(List, v)
1405end
1406end
1407end
1408end
1409end
1410return List
1411end
1412
1413EffectModel = Create("Model"){
1414Parent = chara,
1415Name = "Effects",
1416}
1417
1418--Effect Functions--
1419Effects = {
1420
1421Block = function(cf,partsize,meshstart,meshadd,matr,colour,spin,inverse,factor)
1422local p = Instance.new("Part",EffectModel)
1423p.BrickColor = BrickColor.new(colour)
1424p.Size = partsize
1425p.Anchored = true
1426p.CanCollide = false
1427p.Material = matr
1428p.CFrame = cf
1429if inverse == true then
1430p.Transparency = 1
1431else
1432p.Transparency = 0
1433end
1434local m = Instance.new("BlockMesh",p)
1435m.Scale = meshstart
1436coroutine.wrap(function()
1437for i=0,1,factor do
1438swait()
1439if inverse == true then
1440p.Transparency = 1-i
1441else
1442p.Transparency = i
1443end
1444m.Scale = m.Scale + meshadd
1445if spin == true then
1446p.CFrame = p.CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
1447end
1448end
1449p:Destroy()
1450end)()
1451return p
1452end,
1453
1454Sphere = function(cf,partsize,meshstart,meshadd,matr,colour,inverse,factor)
1455local p = Instance.new("Part",EffectModel)
1456p.BrickColor = BrickColor.new(colour)
1457p.Size = partsize
1458p.Anchored = true
1459p.CanCollide = false
1460p.Material = matr
1461p.CFrame = cf
1462if inverse == true then
1463p.Transparency = 1
1464else
1465p.Transparency = 0
1466end
1467local m = Instance.new("SpecialMesh",p)
1468m.MeshType = "Sphere"
1469m.Scale = meshstart
1470coroutine.wrap(function()
1471for i=0,1,factor do
1472swait()
1473if inverse == true then
1474p.Transparency = 1-i
1475else
1476p.Transparency = i
1477end
1478m.Scale = m.Scale + meshadd
1479end
1480p:Destroy()
1481end)()
1482return p
1483end,
1484
1485Cylinder = function(cf,partsize,meshstart,meshadd,matr,colour,inverse,factor)
1486local p = Instance.new("Part",EffectModel)
1487p.BrickColor = BrickColor.new(colour)
1488p.Size = partsize
1489p.Anchored = true
1490p.CanCollide = false
1491p.Material = matr
1492p.CFrame = cf
1493if inverse == true then
1494p.Transparency = 1
1495else
1496p.Transparency = 0
1497end
1498local m = Instance.new("CylinderMesh",p)
1499m.Scale = meshstart
1500coroutine.wrap(function()
1501for i=0,1,factor do
1502swait()
1503if inverse == true then
1504p.Transparency = 1-i
1505else
1506p.Transparency = i
1507end
1508m.Scale = m.Scale + meshadd
1509end
1510p:Destroy()
1511end)()
1512return p
1513end,
1514
1515Wave = function(cf,meshstart,meshadd,colour,spin,inverse,factor)
1516local p = Instance.new("Part",EffectModel)
1517p.BrickColor = BrickColor.new(colour)
1518p.Size = Vector3.new()
1519p.Anchored = true
1520p.CanCollide = false
1521p.CFrame = cf
1522if inverse == true then
1523p.Transparency = 1
1524else
1525p.Transparency = 0
1526end
1527local m = Instance.new("SpecialMesh",p)
1528m.MeshId = "rbxassetid://20329976"
1529m.Scale = meshstart
1530coroutine.wrap(function()
1531for i=0,1,factor do
1532swait()
1533if inverse == true then
1534p.Transparency = 1-i
1535else
1536p.Transparency = i
1537end
1538m.Scale = m.Scale + meshadd
1539p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(spin),0)
1540end
1541p:Destroy()
1542end)()
1543return p
1544end,
1545
1546Ring = function(cf,meshstart,meshadd,colour,inverse,factor)
1547local p = Instance.new("Part",EffectModel)
1548p.BrickColor = BrickColor.new(colour)
1549p.Size = Vector3.new()
1550p.Anchored = true
1551p.CanCollide = false
1552p.CFrame = cf
1553if inverse == true then
1554p.Transparency = 1
1555else
1556p.Transparency = 0
1557end
1558local m = Instance.new("SpecialMesh",p)
1559m.MeshId = "rbxassetid://3270017"
1560m.Scale = meshstart
1561coroutine.wrap(function()
1562for i=0,1,factor do
1563swait()
1564if inverse == true then
1565p.Transparency = 1-i
1566else
1567p.Transparency = i
1568end
1569m.Scale = m.Scale + meshadd
1570end
1571p:Destroy()
1572end)()
1573return p
1574end,
1575
1576Meshed = function(cf,meshstart,meshadd,colour,meshid,textid,spin,inverse,factor)
1577local p = Instance.new("Part",EffectModel)
1578p.BrickColor = BrickColor.new(colour)
1579p.Size = Vector3.new()
1580p.Anchored = true
1581p.CanCollide = false
1582p.CFrame = cf
1583if inverse == true then
1584p.Transparency = 1
1585else
1586p.Transparency = 0
1587end
1588local m = Instance.new("SpecialMesh",p)
1589m.MeshId = meshid
1590m.TextureId = textid
1591m.Scale = meshstart
1592coroutine.wrap(function()
1593for i=0,1,factor do
1594swait()
1595if inverse == true then
1596p.Transparency = 1-i
1597else
1598p.Transparency = i
1599end
1600m.Scale = m.Scale + meshadd
1601p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(spin),0)
1602end
1603p:Destroy()
1604end)()
1605return p
1606end,
1607
1608Explode = function(cf,partsize,meshstart,meshadd,matr,colour,move,inverse,factor)
1609local p = Instance.new("Part",EffectModel)
1610p.BrickColor = BrickColor.new(colour)
1611p.Size = partsize
1612p.Anchored = true
1613p.CanCollide = false
1614p.Material = matr
1615p.CFrame = cf * CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360)))
1616if inverse == true then
1617p.Transparency = 1
1618else
1619p.Transparency = 0
1620end
1621local m = Instance.new("SpecialMesh",p)
1622m.MeshType = "Sphere"
1623m.Scale = meshstart
1624coroutine.wrap(function()
1625for i=0,1,factor do
1626swait()
1627if inverse == true then
1628p.Transparency = 1-i
1629else
1630p.Transparency = i
1631end
1632m.Scale = m.Scale + meshadd
1633p.CFrame = p.CFrame * CFrame.new(0,move,0)
1634end
1635p:Destroy()
1636end)()
1637return p
1638end,
1639
1640}
1641
1642function GetDudesTorso(c)
1643local torsy = (c:findFirstChild("Torso") or c:findFirstChild("UpperTorso"))
1644if torsy ~= nil then
1645return torsy
1646end
1647end
1648
1649function BodyVel(part,faws)
1650local bodyvel = Instance.new("BodyVelocity",part)
1651local pep = 10000000
1652bodyvel.P = pep
1653bodyvel.MaxForce = Vector3.new(pep,pep,pep)
1654bodyvel.Velocity = faws
1655debby:AddItem(bodyvel,.2)
1656end
1657
1658function Dmg(dude)
1659if dude and dude ~= chara and dude.Name ~= "CKbackup" then
1660if dude:FindFirstChild("TURAPPU") then return end
1661local debounce = Instance.new("BoolValue",dude)
1662debounce.Name = "TURAPPU"
1663coroutine.wrap(function()
1664local torsy = GetDudesTorso(dude)
1665if torsy then
1666local b = Instance.new("Part",dude)
1667b.BrickColor = BrickColor.new("Pink")
1668b.Size = Vector3.new(.1,.1,.1)
1669b.CanCollide = false
1670b.Transparency = 1
1671b.Material = "Neon"
1672b:BreakJoints()
1673so(113952851,b,1,3)
1674local bw = Instance.new("Weld",b)
1675bw.Part0 = b
1676bw.Part1 = torsy
1677local bm = Instance.new("SpecialMesh",b)
1678bm.MeshType = "Sphere"
1679bm.Scale = Vector3.new()
1680for i=0,1,.05 do
1681swait()
1682b.Transparency = 1-i
1683bm.Scale = Vector3.new(65*i,65*i,65*i)
1684end
1685coroutine.wrap(function()
1686swait(20)
1687for i=0,1,.05 do
1688swait()
1689b.Transparency = i
1690bm.Scale = Vector3.new(65+100*i,65+100*i,65+100*i)
1691end
1692b:Destroy()
1693end)()
1694end
1695for i,v in pairs(dude:children()) do
1696if v:IsA("Clothing") or v:IsA("BodyColors") or v:IsA("Accoutrement") then v:Destroy() end
1697end
1698local hedcol = dude:FindFirstChild("Head").BrickColor
1699local bcols = Instance.new("BodyColors",dude)
1700bcols.Name = "NeoCols"
1701bcols.HeadColor = hedcol
1702bcols.LeftArmColor = hedcol
1703bcols.RightArmColor = hedcol
1704bcols.TorsoColor = hedcol
1705bcols.LeftLegColor = hedcol
1706bcols.RightLegColor = hedcol
1707local Heiru = nil
1708local hacho = math.random(1,6)
1709if hacho == 1 then
1710Heiru = New("Part",dude,"Heiru",{Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999847, 3.29998803, -42.2000351, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1711local HairMesh = New("SpecialMesh",Heiru,"Mesh",{Scale = Vector3.new(0.075000003, 0.0599999987, 0.0599999987),MeshId = "rbxassetid://506240548",MeshType = Enum.MeshType.FileMesh,})
1712local Werudo = New("ManualWeld",Heiru,"Weld",{Part0 = Heiru,Part1 = dude:FindFirstChild("Head"),C1 = CFrame.new(-7.62939453e-06, -1.19999862, 0.200000763, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1713elseif hacho == 2 then
1714Heiru = New("Part",dude,"Heiru",{Size = Vector3.new(0.5, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.5499878, 4.29998732, -42.1000366, -1, 0, 0, 0, 1, 0, 0, 0, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1715local HairMesh = New("SpecialMesh",Heiru,"Mesh",{Scale = Vector3.new(1.04999995, 1.04999995, 1.04999995),MeshId = "rbxassetid://398987591",MeshType = Enum.MeshType.FileMesh,})
1716local Werudo = New("ManualWeld",Heiru,"Weld",{Part0 = Heiru,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1),C1 = CFrame.new(0.0499954224, -0.199999332, 0.100002289, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1717elseif hacho == 3 then
1718Heiru = New("Part",dude,"Heiru",{Size = Vector3.new(0.5, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4499893, 3.89998746, -42.1000366, -1, 0, 0, 0, 1, 0, 0, 0, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1719local HairMesh = New("SpecialMesh",Heiru,"Mesh",{MeshId = "rbxassetid://164382853",MeshType = Enum.MeshType.FileMesh,})
1720local Werudo = New("ManualWeld",Heiru,"Weld",{Part0 = Heiru,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0, -1),C1 = CFrame.new(-0.0500030518, -0.599999189, 0.100002289, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1721elseif hacho == 4 then
1722Heiru = New("Part",dude,"Heiru",{Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999771, 2.79998851, -43.3000183, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1723local HairMesh = New("SpecialMesh",Heiru,"Mesh",{Scale = Vector3.new(0.109999999, 0.0799999982, 0.0850000009),MeshId = "rbxassetid://561963999",MeshType = Enum.MeshType.FileMesh,})
1724local Werudo = New("ManualWeld",Heiru,"Weld",{Part0 = Heiru,Part1 = dude:FindFirstChild("Head"),C1 = CFrame.new(-1.52587891e-05, -1.69999814, 1.29998398, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1725elseif hacho == 5 then
1726Heiru = New("Part",dude,"Heiru",{Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999847, 3.69998765, -42.600029, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1727local HairMesh = New("SpecialMesh",Heiru,"Mesh",{Scale = Vector3.new(0.0450000018, 0.0450000018, 0.0450000018),MeshId = "rbxassetid://487000462",MeshType = Enum.MeshType.FileMesh,})
1728local Werudo = New("ManualWeld",Heiru,"Weld",{Part0 = Heiru,Part1 = dude:FindFirstChild("Head"),C1 = CFrame.new(-7.62939453e-06, -0.799998999, 0.599994659, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1729elseif hacho == 6 then
1730Heiru = New("Part",dude,"Heiru",{Size = Vector3.new(0.5, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.5499802, 3.29998803, -42.0000381, 1, 0, 0, 0, 1, 0, 0, 0, 1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1731local HairMesh = New("SpecialMesh",Heiru,"Mesh",{Scale = Vector3.new(0.0649999976, 0.0599999987, 0.0599999987),MeshId = "rbxassetid://437152207",MeshType = Enum.MeshType.FileMesh,})
1732local Werudo = New("ManualWeld",Heiru,"Weld",{Part0 = Heiru,Part1 = dude:FindFirstChild("Head"),C1 = CFrame.new(0.049987793, -1.19999862, 3.81469727e-06, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1733end
1734local haircol = {"Pink","Baby blue","Magenta","Brown","Black","Really black","White","CGA brown","Cool yellow"}
1735Heiru.BrickColor = BrickColor.new(haircol[math.random(1,#haircol)])
1736local ercho = math.random(1,8)
1737if ercho == 1 then
1738local EIRO = New("Part",dude,"EIRO",{FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999924, 4.59999943, -42.0000229, -1, -1.50263801e-10, 0, 1.50264662e-10, 0.999993861, -1.78813892e-07, 0, 1.78812812e-07, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1739local Mesh = New("SpecialMesh",EIRO,"Mesh",{Scale = Vector3.new(1.04999995, 1, 1.04999995),MeshId = "rbxassetid://10871984",TextureId = "rbxassetid://10871968",MeshType = Enum.MeshType.FileMesh,})
1740local Weld = New("ManualWeld",EIRO,"Weld",{Part0 = EIRO,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 1.50264662e-10, 0, -1.50263801e-10, 0.999993861, 1.78812812e-07, 0, -1.78813892e-07, -1),C1 = CFrame.new(0, 0.100012779, -1.14440918e-05, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1741elseif ercho == 2 then
1742local EIRO = New("Part",dude,"EIRO",{FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999924, 5.39999866, -42.0000229, -1, -1.50263801e-10, 0, 1.50264662e-10, 0.999993861, -1.78813892e-07, 0, 1.78812812e-07, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1743local Mesh = New("SpecialMesh",EIRO,"Mesh",{MeshId = "rbxassetid://1072759",TextureId = "rbxassetid://1072760",MeshType = Enum.MeshType.FileMesh,})
1744local Weld = New("ManualWeld",EIRO,"Weld",{Part0 = EIRO,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 1.50264662e-10, 0, -1.50263801e-10, 0.999993861, 1.78812812e-07, 0, -1.78813892e-07, -1),C1 = CFrame.new(0, 0.900012016, -1.14440918e-05, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1745elseif ercho == 3 then
1746local EIRO = New("Part",dude,"EIRO",{FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.300000012, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.5499954, 5.29999876, -42.0000229, -1, -1.50263801e-10, 0, 1.50264662e-10, 0.999993861, -1.78813892e-07, 0, 1.78812812e-07, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1747local Mesh = New("SpecialMesh",EIRO,"Mesh",{Scale = Vector3.new(1.20000005, 1.20000005, 1.20000005),MeshId = "rbxassetid://1374148",TextureId = "rbxassetid://413143035",MeshType = Enum.MeshType.FileMesh,})
1748local Weld = New("ManualWeld",EIRO,"Weld",{Part0 = EIRO,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 1.50264662e-10, 0, -1.50263801e-10, 0.999993861, 1.78812812e-07, 0, -1.78813892e-07, -1),C1 = CFrame.new(0.0500030518, 0.800012112, -1.14440918e-05, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1749elseif ercho == 4 then
1750local EIRO = New("Part",dude,"EIRO",{FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999924, 5.29999876, -42.0000229, -1, -1.50263801e-10, 0, 1.50264662e-10, 0.999993861, -1.78813892e-07, 0, 1.78812812e-07, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1751local Mesh = New("SpecialMesh",EIRO,"Mesh",{Scale = Vector3.new(0.699999988, 0.5, 0.600000024),MeshId = "rbxassetid://361948302",TextureId = "rbxassetid://361948503",MeshType = Enum.MeshType.FileMesh,})
1752local Weld = New("ManualWeld",EIRO,"Weld",{Part0 = EIRO,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 1.50264662e-10, 0, -1.50263801e-10, 0.999993861, 1.78812812e-07, 0, -1.78813892e-07, -1),C1 = CFrame.new(0, 0.800012112, -1.14440918e-05, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1753elseif ercho == 5 then
1754local EIRO = New("Part",dude,"EIRO",{FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(-78.4999924, 5.09999895, -42.0000229, -1, -1.50263801e-10, 0, 1.50264662e-10, 0.999993861, -1.78813892e-07, 0, 1.78812812e-07, -1),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
1755local Mesh = New("SpecialMesh",EIRO,"Mesh",{MeshId = "rbxassetid://1095510",TextureId = "rbxassetid://1095511",MeshType = Enum.MeshType.FileMesh,})
1756local Weld = New("ManualWeld",EIRO,"Weld",{Part0 = EIRO,Part1 = dude:FindFirstChild("Head"),C0 = CFrame.new(0, 0, 0, -1, 1.50264662e-10, 0, -1.50263801e-10, 0.999993861, 1.78812812e-07, 0, -1.78813892e-07, -1),C1 = CFrame.new(0, 0.600012302, -1.14440918e-05, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
1757end
1758local oucho = math.random(1,6)
1759local sh = Instance.new("Shirt",dude)
1760local pn = Instance.new("Pants",dude)
1761if oucho == 1 then
1762pn.PantsTemplate = "rbxassetid://56903591"
1763sh:Destroy()
1764elseif oucho == 2 then
1765sh.ShirtTemplate = "rbxassetid://242933637"
1766pn.PantsTemplate = "rbxassetid://745334066"
1767elseif oucho == 3 then
1768sh.ShirtTemplate = "rbxassetid://1238151974"
1769pn.PantsTemplate = "rbxassetid://1340645290"
1770elseif oucho == 4 then
1771sh.ShirtTemplate = "rbxassetid://583471131"
1772pn.PantsTemplate = "rbxassetid://460147365"
1773elseif oucho == 5 then
1774pn.PantsTemplate = "rbxassetid://45541243"
1775sh:Destroy()
1776elseif oucho == 6 then
1777pn.PantsTemplate = "rbxassetid://41162775"
1778sh:Destroy()
1779end
1780Instance.new("Decal",dude:FindFirstChild("Head")).Texture = "rbxassetid://985062039"
1781coroutine.wrap(function()
1782swait(40)
1783local naeeym2 = Instance.new("BillboardGui",dude)
1784naeeym2.Size = UDim2.new(0,100,0,40)
1785naeeym2.StudsOffset = Vector3.new(0,3,0)
1786naeeym2.Adornee = dude:FindFirstChild("Head")
1787naeeym2.Name = "TalkingBillBoard"
1788local tecks2 = Instance.new("TextLabel",naeeym2)
1789tecks2.BackgroundTransparency = 1
1790tecks2.BorderSizePixel = 0
1791tecks2.Text = "Trapped! In another sense.."
1792tecks2.Font = "Cartoon"
1793tecks2.TextSize = 24
1794tecks2.TextStrokeTransparency = 0
1795tecks2.TextColor3 = Color3.new(1,.6,.7)
1796tecks2.TextStrokeColor3 = Color3.new(1,1,1)
1797tecks2.Size = UDim2.new(1,0,0.5,0)
1798swait(10)
1799for i = 0,1,.05 do
1800swait()
1801tecks2.Position = tecks2.Position - UDim2.new(0,0,.005,0)
1802tecks2.TextStrokeTransparency = i
1803tecks2.TextTransparency = i
1804end
1805naeeym2:Destroy()
1806end)()
1807end)()
1808end
1809end
1810
1811function MagnitudeDmg(par,magni)
1812for _, c in pairs(workspace:GetDescendants()) do
1813local hum = c:FindFirstChildOfClass("Humanoid")
1814if hum ~= nil and c:FindFirstChild("IsTeamMateOfCK")==nil then
1815local head = GetDudesTorso(c)
1816if head ~= nil then
1817local targ = head.Position - par.Position
1818local mag = targ.magnitude
1819if magni >= mag and c ~= chara then
1820Dmg(c)
1821end
1822end
1823end
1824end
1825end
1826
1827local mus = Instance.new("Sound",Head)
1828mus.Name = "mus"
1829mus.SoundId = "rbxassetid://2751415304"
1830mus.Looped = true
1831mus.Volume = 0.6
1832mus:Play()
1833
1834zhold = false
1835function shoot()
1836attack = true
1837for i=0,1,.3 do
1838swait()
1839PlayAnimationFromTable({
1840CFrame.new(0, 0, 0, 0.64278698, 0, -0.766044974, 0, 1, 0, 0.766044974, 0, 0.64278698),
1841CFrame.new(0.0823832005, 1.55974865, -0.0981806219, 0.604022264, 0.219845936, 0.766044974, -0.342019916, 0.939692736, 0, -0.719846904, -0.262002617, 0.64278698),
1842CFrame.new(1.02804303, 0.5, -0.52656126, 0.64278698, 0.766044974, 0, 0, 0, -1, -0.766044974, 0.64278698, 0),
1843CFrame.new(-1.28728318, 0.203263342, -0.756378591, 0.875030518, -0.0895627737, 0.475710154, 0.480547935, 0.0424276218, -0.875941575, 0.0582684875, 0.995077074, 0.0801646709),
1844CFrame.new(0.499997735, -1.99999893, -1.11758709e-06, 0.866025209, 0, -0.500000298, 0, 1, 0, 0.500000298, 0, 0.866025209),
1845CFrame.new(-0.500001431, -1.99999893, -9.983778e-07, 0.766043782, 0, 0.64278847, 0, 1, 0, -0.64278847, 0, 0.766043782),
1846}, .4, false)
1847end
1848Humanoid.WalkSpeed = 2
1849local ref = Instance.new("Part",chara)
1850ref.Size = Vector3.new(0,0,0)
1851ref.Anchored = true
1852ref.CanCollide = false
1853ref.Transparency = 1
1854repeat
1855so(1145251796,ShotPt,math.random(95,105)/100,3)
1856ref.CFrame = Mouse.Hit
1857MagnitudeDmg(ref,2)
1858Effects.Block(ShotPt.CFrame,Vector3.new(1,1,1),Vector3.new(),Vector3.new(.2,.2,.2),"Neon","Pink",true,false,.1)
1859Effects.Block(CFrame.new((ShotPt.Position + Mouse.Hit.p)/2,Mouse.Hit.p),Vector3.new(1,1,(ShotPt.Position - Mouse.Hit.p).magnitude),Vector3.new(.2,.2,1),Vector3.new(.1,.1,0),"Neon","Pink",false,false,.1)
1860Effects.Block(Mouse.Hit,Vector3.new(1,1,1),Vector3.new(),Vector3.new(.2,.2,.2),"Neon","Pink",true,false,.1)
1861for i=0,1,.5 do
1862swait()
1863PlayAnimationFromTable({
1864CFrame.new(2.25380063e-06, 0, 0.100001052, 0.64278698, 0, -0.766044974, 0, 1, 0, 0.766044974, 0, 0.64278698),
1865CFrame.new(0.0823859125, 1.55974913, -0.0981838703, 0.604022264, 0.219845936, 0.766044974, -0.342019916, 0.939692736, 0, -0.719846904, -0.262002617, 0.64278698),
1866CFrame.new(1.25785875, 0.5, -0.333723217, 0.64278698, 0.766044974, 0, 0, 0, -1, -0.766044974, 0.64278698, 0),
1867CFrame.new(-1.05747044, 0.203263938, -0.563540041, 0.875030518, -0.0895627737, 0.475710154, 0.480547935, 0.0424276218, -0.875941575, 0.0582684875, 0.995077074, 0.0801646709),
1868CFrame.new(0.423390329, -1.99999893, -0.0642812699, 0.866025209, 0, -0.500000298, 0, 1, 0, 0.500000298, 0, 0.866025209),
1869CFrame.new(-0.57660532, -1.99999893, -0.0642794371, 0.766043782, 0, 0.64278847, 0, 1, 0, -0.64278847, 0, 0.766043782),
1870}, .4, false)
1871end
1872for i=0,1,.5 do
1873swait()
1874PlayAnimationFromTable({
1875CFrame.new(0, 0, 0, 0.64278698, 0, -0.766044974, 0, 1, 0, 0.766044974, 0, 0.64278698),
1876CFrame.new(0.0823832005, 1.55974865, -0.0981806219, 0.604022264, 0.219845936, 0.766044974, -0.342019916, 0.939692736, 0, -0.719846904, -0.262002617, 0.64278698),
1877CFrame.new(1.02804303, 0.5, -0.52656126, 0.64278698, 0.766044974, 0, 0, 0, -1, -0.766044974, 0.64278698, 0),
1878CFrame.new(-1.28728318, 0.203263342, -0.756378591, 0.875030518, -0.0895627737, 0.475710154, 0.480547935, 0.0424276218, -0.875941575, 0.0582684875, 0.995077074, 0.0801646709),
1879CFrame.new(0.499997735, -1.99999893, -1.11758709e-06, 0.866025209, 0, -0.500000298, 0, 1, 0, 0.500000298, 0, 0.866025209),
1880CFrame.new(-0.500001431, -1.99999893, -9.983778e-07, 0.766043782, 0, 0.64278847, 0, 1, 0, -0.64278847, 0, 0.766043782),
1881}, .4, false)
1882end
1883until zhold == false
1884ref:Destroy()
1885Humanoid.WalkSpeed = 16
1886attack = false
1887end
1888
1889function doge()
1890attack = true
1891Humanoid.WalkSpeed = 0
1892so(536642316,Torso,1,1)
1893local bodyvel = Instance.new("BodyVelocity",RootPart)
1894local pep = 10000000
1895bodyvel.P = pep
1896bodyvel.MaxForce = Vector3.new(pep,pep,pep)
1897bodyvel.Velocity = RootPart.CFrame.lookVector*50
1898for i=0,1,.2 do
1899swait()
1900PlayAnimationFromTable({
1901CFrame.new(0, -0.413182259, -0.492409885, 1, 0, 0, 0, 0.173647001, 0.984807968, 0, -0.984807968, 0.173647001),
1902CFrame.new(0, 1.39017391, 0.409808099, 1, 0, 0, 0, 0.499998748, -0.866026163, 0, 0.866026163, 0.499998748),
1903CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
1904CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
1905CFrame.new(0.5, -2, -2.86102295e-06, 1, 0, 0, 0, 1, 0, 0, 0, 1),
1906CFrame.new(-0.5, -2, -2.86102295e-06, 1, 0, 0, 0, 1, 0, 0, 0, 1),
1907}, .4, false)
1908bodyvel.Velocity = RootPart.CFrame.lookVector*50
1909end
1910for i=0,1,.2 do
1911swait()
1912PlayAnimationFromTable({
1913CFrame.new(0, -1.30470812, -0.622091293, 1, 0, 0, 0, -0.866025984, 0.499998987, 0, -0.499998987, -0.866025984),
1914CFrame.new(0, 1.47984993, -0.230206192, 1, 0, 0, 0, 0.939693034, 0.34201926, 0, -0.34201926, 0.939693034),
1915CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
1916CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
1917CFrame.new(0.5, -1.19999313, -0.600002289, 1, 0, 0, 0, 1, 0, 0, 0, 1),
1918CFrame.new(-0.5, -1.19999313, -0.600002289, 1, 0, 0, 0, 1, 0, 0, 0, 1),
1919}, .4, false)
1920bodyvel.Velocity = RootPart.CFrame.lookVector*50
1921end
1922for i=0,1,.2 do
1923swait()
1924PlayAnimationFromTable({
1925CFrame.new(0, -2.22375727, 0.305265486, 1, 0, 0, 0, 0.500000238, -0.866025388, 0, 0.866025388, 0.500000238),
1926CFrame.new(0, 1.35128808, -0.383415997, 1, 0, 0, 0, 0.766043901, 0.642788529, 0, -0.64278847, 0.766043901),
1927CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
1928CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
1929CFrame.new(0.5, -1.19999337, -0.599998593, 1, 0, 0, 0, 1.00000024, 0, 0, 0, 1.00000024),
1930CFrame.new(-0.500003815, -1.35979521, -0.923200667, 1, 0, 0, 0, 0.866025388, -0.500000238, 0, 0.500000238, 0.866025388),
1931}, .4, false)
1932bodyvel.Velocity = RootPart.CFrame.lookVector*50
1933end
1934bodyvel:Destroy()
1935Humanoid.WalkSpeed = 16
1936attack = false
1937end
1938
1939function bdoge()
1940attack = true
1941Humanoid.WalkSpeed = 0
1942so(536642316,Torso,1,1)
1943local bodyvel = Instance.new("BodyVelocity",RootPart)
1944local pep = 10000000
1945bodyvel.P = pep
1946bodyvel.MaxForce = Vector3.new(pep,pep,pep)
1947bodyvel.Velocity = RootPart.CFrame.lookVector*-50
1948for i=0,1,.2 do
1949swait()
1950PlayAnimationFromTable({
1951CFrame.new(0, -2.22375727, 0.305265486, 1, 0, 0, 0, 0.500000238, -0.866025388, 0, 0.866025388, 0.500000238),
1952CFrame.new(0, 1.35128808, -0.383415997, 1, 0, 0, 0, 0.766043901, 0.642788529, 0, -0.64278847, 0.766043901),
1953CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
1954CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
1955CFrame.new(0.5, -1.19999337, -0.599998593, 1, 0, 0, 0, 1.00000024, 0, 0, 0, 1.00000024),
1956CFrame.new(-0.500003815, -1.35979521, -0.923200667, 1, 0, 0, 0, 0.866025388, -0.500000238, 0, 0.500000238, 0.866025388),
1957}, .4, false)
1958bodyvel.Velocity = RootPart.CFrame.lookVector*-50
1959end
1960for i=0,1,.2 do
1961swait()
1962PlayAnimationFromTable({
1963CFrame.new(0, -1.30470812, -0.622091293, 1, 0, 0, 0, -0.866025984, 0.499998987, 0, -0.499998987, -0.866025984),
1964CFrame.new(0, 1.47984993, -0.230206192, 1, 0, 0, 0, 0.939693034, 0.34201926, 0, -0.34201926, 0.939693034),
1965CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
1966CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
1967CFrame.new(0.5, -1.19999313, -0.600002289, 1, 0, 0, 0, 1, 0, 0, 0, 1),
1968CFrame.new(-0.5, -1.19999313, -0.600002289, 1, 0, 0, 0, 1, 0, 0, 0, 1),
1969}, .4, false)
1970bodyvel.Velocity = RootPart.CFrame.lookVector*-50
1971end
1972bodyvel:Destroy()
1973Humanoid.WalkSpeed = 16
1974attack = false
1975end
1976
1977function adoge()
1978attack = true
1979Humanoid.WalkSpeed = 0
1980so(536642316,Torso,1,1)
1981Effects.Wave(RootPart.CFrame*CFrame.Angles(math.rad(90),0,0),Vector3.new(),Vector3.new(1,.1,1),"White",math.random(-10,10),false,.1)
1982BodyVel(RootPart,RootPart.CFrame.lookVector*50)
1983for i=0,1,.1 do
1984swait()
1985PlayAnimationFromTable({
1986CFrame.new(0, -0.095761165, -0.251516223, 1, 0, 0, 0, 0.939692736, 0.342019886, 0, -0.342019916, 0.939692736),
1987CFrame.new(0, 1.43075883, 0.149916381, 1, 0, 0, 0, 0.939692736, -0.342019916, 0, 0.342019886, 0.939692736),
1988CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
1989CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
1990CFrame.new(0.5, -1.96527231, 0.196966231, 1, 0, 0, 0, 0.984807789, 0.173648685, 0, -0.173648715, 0.984807789),
1991CFrame.new(-0.5, -1.43618584, -0.205210268, 1, 0, 0, 0, 0.939692438, 0.342020929, 0, -0.342020959, 0.939692438),
1992}, .4, false)
1993end
1994Humanoid.WalkSpeed = 16
1995attack = false
1996end
1997
1998function badoge()
1999attack = true
2000Humanoid.WalkSpeed = 0
2001so(536642316,Torso,1,1)
2002Effects.Wave(RootPart.CFrame*CFrame.Angles(math.rad(-90),0,0),Vector3.new(),Vector3.new(1,.1,1),"White",math.random(-10,10),false,.1)
2003BodyVel(RootPart,RootPart.CFrame.lookVector*-50)
2004for i=0,1,.1 do
2005swait()
2006PlayAnimationFromTable({
2007CFrame.new(0, -0.210508779, 0.312937856, 1, 0, 0, 0, 0.866025388, -0.500000238, 0, 0.500000238, 0.866025388),
2008CFrame.new(0, 1.4075644, -0.288293391, 1, 0, 0, 0, 0.866025388, 0.500000238, 0, -0.500000238, 0.866025388),
2009CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
2010CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
2011CFrame.new(0.5, -1.9652698, 0.196958005, 1, 0, 0, 0, 0.984807789, 0.173648715, 0, -0.173648685, 0.984807789),
2012CFrame.new(-0.5, -1.43618536, -0.205215126, 1, 0, 0, 0, 0.939692676, 0.342020601, 0, -0.342020601, 0.939692676),
2013}, .4, false)
2014end
2015Humanoid.WalkSpeed = 16
2016attack = false
2017end
2018
2019Mouse.Button1Down:connect(function()
2020if attack == false then
2021zhold = true
2022shoot()
2023end
2024end)
2025
2026Mouse.Button1Up:connect(function()
2027zhold = false
2028end)
2029
2030local sprintt = 0
2031Mouse.KeyDown:connect(function(k)
2032k = k:lower()
2033if k=='m' then
2034if mus.IsPlaying == true then
2035mus:Stop()
2036elseif mus.IsPaused == true then
2037mus:Play()
2038end
2039end
2040if attack == false then
2041if k == 'q' then
2042if Anim == "Fall" or Anim == "Jump" then
2043badoge()
2044else
2045bdoge()
2046end
2047elseif k == 'e' then
2048if Anim == "Fall" or Anim == "Jump" then
2049adoge()
2050else
2051doge()
2052end
2053end
2054end
2055end)
2056
2057Mouse.KeyUp:connect(function(k)
2058k = k:lower()
2059if k == 'z' then
2060zhold = false
2061end
2062end)
2063
2064coroutine.wrap(function()
2065while 1 do
2066swait()
2067if doe <= 360 then
2068doe = doe + 2
2069else
2070doe = 0
2071end
2072end
2073end)()
2074while true do
2075swait()
2076while true do
2077swait()
2078if Head:FindFirstChild("mus")==nil then
2079mus = Instance.new("Sound",Head)
2080mus.Name = "mus"
2081mus.SoundId = "rbxassetid://1131624146"
2082mus.Looped = true
2083mus.Volume = 1
2084mus:Play()
2085end
2086if sprintt >= 1 then
2087sprintt = sprintt - 1
2088end
2089Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
2090velocity = RootPart.Velocity.y
2091sine = sine + change
2092local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, chara)
2093if RootPart.Velocity.y > 1 and hit == nil then
2094Anim = "Jump"
2095if attack == false then
2096PlayAnimationFromTable({
2097CFrame.new(0, 0.0382082276, -0.0403150208, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),
2098CFrame.new(0, 1.46579528, 0.0939689279, 1, 0, 0, 0, 0.939692855, -0.342019796, 0, 0.342019796, 0.939692855),
2099CFrame.new(1.20945489, -0.213504896, 3.55388607e-07, 0.939692736, 0.342019916, 1.53461215e-07, -0.342019945, 0.939692736, 1.93715096e-07, -8.56816769e-08, -2.23517418e-07, 1.00000012),
2100CFrame.new(-1.20945573, -0.213503733, 5.0439985e-07, 0.939692736, -0.342019916, -1.53461215e-07, 0.342019945, 0.939692736, 1.93715096e-07, 8.56816769e-08, -2.23517418e-07, 1.00000012),
2101CFrame.new(0.5, -1.99739456, -0.0180913229, 1, 0, 0, 0, 1.00000012, 0, 0, 0, 1.00000012),
2102CFrame.new(-0.5, -1.30000103, -0.39999947, 1, 0, 0, 0, 0.939692676, 0.342020601, 0, -0.342020601, 0.939692676),
2103}, .3, false)
2104end
2105elseif RootPart.Velocity.y < -1 and hit == nil then
2106Anim = "Fall"
2107if attack == false then
2108PlayAnimationFromTable({
2109CFrame.new(0, -0.0646628663, 0.0399149321, 1, 0, 0, 0, 0.984807849, -0.173647985, 0, 0.173647985, 0.984807849),
2110CFrame.new(0, 1.4913609, -0.128171027, 1, 0, 0, 0, 0.939692855, 0.342019796, 0, -0.342019796, 0.939692855),
2111CFrame.new(1.55285025, 0.466259956, -9.26282269e-08, 0.766043842, -0.642788351, -6.46188241e-08, 0.642788291, 0.766043961, -7.4505806e-08, 1.04308128e-07, 1.49011612e-08, 1.00000012),
2112CFrame.new(-1.5605253, 0.475036323, -2.10609159e-07, 0.766043842, 0.642788351, 6.46188241e-08, -0.642788291, 0.766043961, -7.4505806e-08, -1.04308128e-07, 1.49011612e-08, 1.00000012),
2113CFrame.new(0.500000954, -1.9973948, -0.0180922765, 1, 0, 0, 0, 1.00000012, 0, 0, 0, 1.00000012),
2114CFrame.new(-0.499999046, -1.30000043, -0.400000483, 1, 0, 0, 0, 0.939692855, 0.342019796, 0, -0.342019796, 0.939692855),
2115}, .3, false)
2116end
2117elseif Torsovelocity < 1 and hit ~= nil then
2118Anim = "Idle"
2119if attack == false then
2120change = 1
2121PlayAnimationFromTable({
2122CFrame.new(-0.0769465268, -7.7815578e-08, -0.031559173, 0.939695537, 1.01607293e-06, 0.342021346, 7.9855522e-07, 1.00000191, 5.12654879e-07, -0.342019558, 2.16066837e-07, 0.939692855) * CFrame.new(0,.05 * math.cos((sine)/10), 0),
2123CFrame.new(0.0615186803, 1.4999913, 0.0559706129, 0.939695537, 7.9855522e-07, -0.342019558, 1.01607293e-06, 1.00000191, 2.16066837e-07, 0.342021346, 5.12654879e-07, 0.939692855),
2124CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
2125CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
2126CFrame.new(0.500003159, -2.00000715, -1.98185444e-06, 0.939692736, 0, -0.342019916, 0, 1, 0, 0.342019886, 0, 0.939692736) * CFrame.new(0,-.05 * math.cos((sine)/10), 0),
2127CFrame.new(-0.500018835, -2.0000062, 2.08616257e-07, 0.939692438, 0, 0.342020929, 0, 1, 0, -0.342020959, 0, 0.939692438) * CFrame.new(0,-.05 * math.cos((sine)/10), 0),
2128}, .3, false)
2129end
2130elseif Torsovelocity > 2 and hit ~= nil then
2131Anim = "Walk"
2132if attack == false then
2133Humanoid.WalkSpeed = 16
2134PlayAnimationFromTable({
2135CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0- .08 * math.cos((sine) / 2.5), 0) * CFrame.Angles(0, 0, 0),
2136CFrame.new(0, 1.48263013, -0.0984808952, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849),
2137CFrame.new(0.858022809, 0.339910388, -0.78796947, 0.296197057, 0.813798428, 0.499999553, 0.171009049, 0.469846249, -0.866025627, -0.939693213, 0.342018723, 1.7801861e-07),
2138CFrame.new(-1.12680423, -0.351213962, -0.287614167, 0.0669000372, 0.109107949, 0.991776109, 0.843825459, 0.52423954, -0.114593051, -0.532431304, 0.844552159, -0.05699642),
2139CFrame.new(0.540300786, -1.99793816, -9.82598067e-07, 0.998698533, -0.0510031395, 6.36324955e-07, 0.0510031395, 0.998698533, -1.00461093e-05, -8.35937328e-08, 1.08393433e-05, 1.00000024) * CFrame.new(0, 0, 0+ .5 * math.cos((sine) / 5)) * CFrame.Angles(math.rad(0 - 30 * math.cos((sine) / 5)), 0, 0),
2140CFrame.new(-0.539563596, -1.99794078, 1.12228372e-06, 0.998635888, 0.0523072146, -1.77852357e-07, -0.0523072146, 0.998635888, -1.00715051e-05, -3.89727461e-07, 1.08406466e-05, 1.00000024) * CFrame.new(0, 0, 0- .5 * math.cos((sine) / 5)) * CFrame.Angles(math.rad(0 + 30 * math.cos((sine) / 5)), 0, 0),
2141}, .3, false)
2142end
2143end
2144end
2145end