· 4 years ago · Jun 11, 2021, 10:42 PM
1if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2local Player,game,owner = owner,game
3local RealPlayer = Player
4do
5 print("FE Compatibility code by Mokiros")
6 local rp = RealPlayer
7 script.Parent = rp.Character
8
9 --RemoteEvent for communicating
10 local Event = Instance.new("RemoteEvent")
11 Event.Name = "UserInput_Event"
12
13 --Fake event to make stuff like Mouse.KeyDown work
14 local function fakeEvent()
15 local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
16 t.connect = t.Connect
17 return t
18 end
19
20 --Creating fake input objects with fake variables
21 local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
22 local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
23 local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
24 CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
25 end}
26 --Merged 2 functions into one by checking amount of arguments
27 CAS.UnbindAction = CAS.BindAction
28
29 --This function will trigger the events that have been :Connect()'ed
30 local function te(self,ev,...)
31 local t = m[ev]
32 if t and t._fakeEvent then
33 for _,f in pairs(t.Functions) do
34 f(...)
35 end
36 end
37 end
38 m.TrigEvent = te
39 UIS.TrigEvent = te
40
41 Event.OnServerEvent:Connect(function(plr,io)
42 if plr~=rp then return end
43 m.Target = io.Target
44 m.Hit = io.Hit
45 if not io.isMouse then
46 local b = io.UserInputState == Enum.UserInputState.Begin
47 if io.UserInputType == Enum.UserInputType.MouseButton1 then
48 return m:TrigEvent(b and "Button1Down" or "Button1Up")
49 end
50 for _,t in pairs(CAS.Actions) do
51 for _,k in pairs(t.Keys) do
52 if k==io.KeyCode then
53 t.Function(t.Name,io.UserInputState,io)
54 end
55 end
56 end
57 m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58 UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59 end
60 end)
61 Event.Parent = NLS([==[
62 local Player = game:GetService("Players").LocalPlayer
63 local Event = script:WaitForChild("UserInput_Event")
64
65 local Mouse = Player:GetMouse()
66 local UIS = game:GetService("UserInputService")
67 local input = function(io,a)
68 if a then return end
69 --Since InputObject is a client-side instance, we create and pass table instead
70 Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
71 end
72 UIS.InputBegan:Connect(input)
73 UIS.InputEnded:Connect(input)
74
75 local h,t
76 --Give the server mouse data 30 times every second, but only if the values changed
77 --If player is not moving their mouse, client won't fire events
78 while wait(1/30) do
79 if h~=Mouse.Hit or t~=Mouse.Target then
80 h,t=Mouse.Hit,Mouse.Target
81 Event:FireServer({isMouse=true,Target=t,Hit=h})
82 end
83 end]==],Player.Character)
84
85 ----Sandboxed game object that allows the usage of client-side methods and services
86 --Real game object
87 local _rg = game
88
89 --Metatable for fake service
90 local fsmt = {
91 __index = function(self,k)
92 local s = rawget(self,"_RealService")
93 if s then return s[k] end
94 end,
95 __newindex = function(self,k,v)
96 local s = rawget(self,"_RealService")
97 if s then s[k]=v end
98 end,
99 __call = function(self,...)
100 local s = rawget(self,"_RealService")
101 if s then return s(...) end
102 end
103 }
104 local function FakeService(t,RealService)
105 t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
106 return setmetatable(t,fsmt)
107 end
108
109 --Fake game object
110 local g = {
111 GetService = function(self,s)
112 return self[s]
113 end,
114 Players = FakeService({
115 LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
116 },"Players"),
117 UserInputService = FakeService(UIS,"UserInputService"),
118 ContextActionService = FakeService(CAS,"ContextActionService"),
119 }
120 rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
121 g.service = g.GetService
122
123 g.RunService = FakeService({
124 RenderStepped = _rg:GetService("RunService").Heartbeat,
125 BindToRenderStep = function(self,name,_,fun)
126 self._btrs[name] = self.Heartbeat:Connect(fun)
127 end,
128 UnbindFromRenderStep = function(self,name)
129 self._btrs[name]:Disconnect()
130 end,
131 },"RunService")
132
133 setmetatable(g,{
134 __index=function(self,s)
135 return _rg:GetService(s) or typeof(_rg[s])=="function"
136 and function(_,...)return _rg[s](_rg,...)end or _rg[s]
137 end,
138 __newindex = fsmt.__newindex,
139 __call = fsmt.__call
140 })
141 --Changing owner to fake player object to support owner:GetMouse()
142 game,owner = g,g.Players.LocalPlayer
143end
144
145
146--[[ Options ]]--
147_G.CharacterBug = false --Set to true if your uppertorso floats when you use the script with R15.
148_G.GodMode = true --Set to true if you want godmode.
149_G.R6 = true --Set to true if you wanna enable R15 to R6 when your R15.
150--[[Reanimate]]--
151loadstring(game:HttpGet("https://paste.ee/r/uk77k/0"))()
152-----------------
153repeat wait() until _G.MSG ~= nil
154repeat wait() until _G.MSG.Text == ""
155-----------------
156
157function LoadLibrary(a)
158local t = {}
159
160------------------------------------------------------------------------------------------------------------------------
161------------------------------------------------------------------------------------------------------------------------
162------------------------------------------------------------------------------------------------------------------------
163------------------------------------------------JSON Functions Begin----------------------------------------------------
164------------------------------------------------------------------------------------------------------------------------
165------------------------------------------------------------------------------------------------------------------------
166------------------------------------------------------------------------------------------------------------------------
167
168--JSON Encoder and Parser for Lua 5.1
169--
170--Copyright 2007 Shaun Brown (http://www.chipmunkav.com)
171--All Rights Reserved.
172
173--Permission is hereby granted, free of charge, to any person
174--obtaining a copy of this software to deal in the Software without
175--restriction, including without limitation the rights to use,
176--copy, modify, merge, publish, distribute, sublicense, and/or
177--sell copies of the Software, and to permit persons to whom the
178--Software is furnished to do so, subject to the following conditions:
179
180--The above copyright notice and this permission notice shall be
181--included in all copies or substantial portions of the Software.
182--If you find this software useful please give www.chipmunkav.com a mention.
183
184--THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
185--EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
186--OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
187--IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
188--ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
189--CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
190--CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
191
192local string = string
193local math = math
194local table = table
195local error = error
196local tonumber = tonumber
197local tostring = tostring
198local type = type
199local setmetatable = setmetatable
200local pairs = pairs
201local ipairs = ipairs
202local assert = assert
203
204
205local StringBuilder = {
206buffer = {}
207}
208
209function StringBuilder:New()
210local o = {}
211setmetatable(o, self)
212self.__index = self
213o.buffer = {}
214return o
215end
216
217function StringBuilder:Append(s)
218self.buffer[#self.buffer+1] = s
219end
220
221function StringBuilder:ToString()
222return table.concat(self.buffer)
223end
224
225local JsonWriter = {
226backslashes = {
227['\b'] = "\\b",
228['\t'] = "\\t",
229['\n'] = "\\n",
230['\f'] = "\\f",
231['\r'] = "\\r",
232['"'] = "\\\"",
233['\\'] = "\\\\",
234['/'] = "\\/"
235}
236}
237
238function JsonWriter:New()
239local o = {}
240o.writer = StringBuilder:New()
241setmetatable(o, self)
242self.__index = self
243return o
244end
245
246function JsonWriter:Append(s)
247self.writer:Append(s)
248end
249
250function JsonWriter:ToString()
251return self.writer:ToString()
252end
253
254function JsonWriter:Write(o)
255local t = type(o)
256if t == "nil" then
257self:WriteNil()
258elseif t == "boolean" then
259self:WriteString(o)
260elseif t == "number" then
261self:WriteString(o)
262elseif t == "string" then
263self:ParseString(o)
264elseif t == "table" then
265self:WriteTable(o)
266elseif t == "function" then
267self:WriteFunction(o)
268elseif t == "thread" then
269self:WriteError(o)
270elseif t == "userdata" then
271self:WriteError(o)
272end
273end
274
275function JsonWriter:WriteNil()
276self:Append("null")
277end
278
279function JsonWriter:WriteString(o)
280self:Append(tostring(o))
281end
282
283function JsonWriter:ParseString(s)
284self:Append('"')
285self:Append(string.gsub(s, "[%z%c\\\"/]", function(n)
286local c = self.backslashes[n]
287if c then return c end
288return string.format("\\u%.4X", string.byte(n))
289end))
290self:Append('"')
291end
292
293function JsonWriter:IsArray(t)
294local count = 0
295local isindex = function(k)
296if type(k) == "number" and k > 0 then
297if math.floor(k) == k then
298return true
299end
300end
301return false
302end
303for k,v in pairs(t) do
304if not isindex(k) then
305return false, '{', '}'
306else
307count = math.max(count, k)
308end
309end
310return true, '[', ']', count
311end
312
313function JsonWriter:WriteTable(t)
314local ba, st, et, n = self:IsArray(t)
315self:Append(st)
316if ba then
317for i = 1, n do
318self:Write(t[i])
319if i < n then
320self:Append(',')
321end
322end
323else
324local first = true;
325for k, v in pairs(t) do
326if not first then
327self:Append(',')
328end
329first = false;
330self:ParseString(k)
331self:Append(':')
332self:Write(v)
333end
334end
335self:Append(et)
336end
337
338function JsonWriter:WriteError(o)
339error(string.format(
340"Encoding of %s unsupported",
341tostring(o)))
342end
343
344function JsonWriter:WriteFunction(o)
345if o == Null then
346self:WriteNil()
347else
348self:WriteError(o)
349end
350end
351
352local StringReader = {
353s = "",
354i = 0
355}
356
357function StringReader:New(s)
358local o = {}
359setmetatable(o, self)
360self.__index = self
361o.s = s or o.s
362return o
363end
364
365function StringReader:Peek()
366local i = self.i + 1
367if i <= #self.s then
368return string.sub(self.s, i, i)
369end
370return nil
371end
372
373function StringReader:Next()
374self.i = self.i+1
375if self.i <= #self.s then
376return string.sub(self.s, self.i, self.i)
377end
378return nil
379end
380
381function StringReader:All()
382return self.s
383end
384
385local JsonReader = {
386escapes = {
387['t'] = '\t',
388['n'] = '\n',
389['f'] = '\f',
390['r'] = '\r',
391['b'] = '\b',
392}
393}
394
395function JsonReader:New(s)
396local o = {}
397o.reader = StringReader:New(s)
398setmetatable(o, self)
399self.__index = self
400return o;
401end
402
403function JsonReader:Read()
404self:SkipWhiteSpace()
405local peek = self:Peek()
406if peek == nil then
407error(string.format(
408"Nil string: '%s'",
409self:All()))
410elseif peek == '{' then
411return self:ReadObject()
412elseif peek == '[' then
413return self:ReadArray()
414elseif peek == '"' then
415return self:ReadString()
416elseif string.find(peek, "[%+%-%d]") then
417return self:ReadNumber()
418elseif peek == 't' then
419return self:ReadTrue()
420elseif peek == 'f' then
421return self:ReadFalse()
422elseif peek == 'n' then
423return self:ReadNull()
424elseif peek == '/' then
425self:ReadComment()
426return self:Read()
427else
428return nil
429end
430end
431
432function JsonReader:ReadTrue()
433self:TestReservedWord{'t','r','u','e'}
434return true
435end
436
437function JsonReader:ReadFalse()
438self:TestReservedWord{'f','a','l','s','e'}
439return false
440end
441
442function JsonReader:ReadNull()
443self:TestReservedWord{'n','u','l','l'}
444return nil
445end
446
447function JsonReader:TestReservedWord(t)
448for i, v in ipairs(t) do
449if self:Next() ~= v then
450error(string.format(
451"Error reading '%s': %s",
452table.concat(t),
453self:All()))
454end
455end
456end
457
458function JsonReader:ReadNumber()
459local result = self:Next()
460local peek = self:Peek()
461while peek ~= nil and string.find(
462peek,
463"[%+%-%d%.eE]") do
464result = result .. self:Next()
465peek = self:Peek()
466end
467result = tonumber(result)
468if result == nil then
469error(string.format(
470"Invalid number: '%s'",
471result))
472else
473return result
474end
475end
476
477function JsonReader:ReadString()
478local result = ""
479assert(self:Next() == '"')
480while self:Peek() ~= '"' do
481local ch = self:Next()
482if ch == '\\' then
483ch = self:Next()
484if self.escapes[ch] then
485ch = self.escapes[ch]
486end
487end
488result = result .. ch
489end
490assert(self:Next() == '"')
491local fromunicode = function(m)
492return string.char(tonumber(m, 16))
493end
494return string.gsub(
495result,
496"u%x%x(%x%x)",
497fromunicode)
498end
499
500function JsonReader:ReadComment()
501assert(self:Next() == '/')
502local second = self:Next()
503if second == '/' then
504self:ReadSingleLineComment()
505elseif second == '*' then
506self:ReadBlockComment()
507else
508error(string.format(
509"Invalid comment: %s",
510self:All()))
511end
512end
513
514function JsonReader:ReadBlockComment()
515local done = false
516while not done do
517local ch = self:Next()
518if ch == '*' and self:Peek() == '/' then
519done = true
520end
521if not done and
522ch == '/' and
523self:Peek() == "*" then
524error(string.format(
525"Invalid comment: %s, '/*' illegal.",
526self:All()))
527end
528end
529self:Next()
530end
531
532function JsonReader:ReadSingleLineComment()
533local ch = self:Next()
534while ch ~= '\r' and ch ~= '\n' do
535ch = self:Next()
536end
537end
538
539function JsonReader:ReadArray()
540local result = {}
541assert(self:Next() == '[')
542local done = false
543if self:Peek() == ']' then
544done = true;
545end
546while not done do
547local item = self:Read()
548result[#result+1] = item
549self:SkipWhiteSpace()
550if self:Peek() == ']' then
551done = true
552end
553if not done then
554local ch = self:Next()
555if ch ~= ',' then
556error(string.format(
557"Invalid array: '%s' due to: '%s'",
558self:All(), ch))
559end
560end
561end
562assert(']' == self:Next())
563return result
564end
565
566function JsonReader:ReadObject()
567local result = {}
568assert(self:Next() == '{')
569local done = false
570if self:Peek() == '}' then
571done = true
572end
573while not done do
574local key = self:Read()
575if type(key) ~= "string" then
576error(string.format(
577"Invalid non-string object key: %s",
578key))
579end
580self:SkipWhiteSpace()
581local ch = self:Next()
582if ch ~= ':' then
583error(string.format(
584"Invalid object: '%s' due to: '%s'",
585self:All(),
586ch))
587end
588self:SkipWhiteSpace()
589local val = self:Read()
590result[key] = val
591self:SkipWhiteSpace()
592if self:Peek() == '}' then
593done = true
594end
595if not done then
596ch = self:Next()
597if ch ~= ',' then
598error(string.format(
599"Invalid array: '%s' near: '%s'",
600self:All(),
601ch))
602end
603end
604end
605assert(self:Next() == "}")
606return result
607end
608
609function JsonReader:SkipWhiteSpace()
610local p = self:Peek()
611while p ~= nil and string.find(p, "[%s/]") do
612if p == '/' then
613self:ReadComment()
614else
615self:Next()
616end
617p = self:Peek()
618end
619end
620
621function JsonReader:Peek()
622return self.reader:Peek()
623end
624
625function JsonReader:Next()
626return self.reader:Next()
627end
628
629function JsonReader:All()
630return self.reader:All()
631end
632
633function Encode(o)
634local writer = JsonWriter:New()
635writer:Write(o)
636return writer:ToString()
637end
638
639function Decode(s)
640local reader = JsonReader:New(s)
641return reader:Read()
642end
643
644function Null()
645return Null
646end
647-------------------- End JSON Parser ------------------------
648
649t.DecodeJSON = function(jsonString)
650pcall(function() warn("RbxUtility.DecodeJSON is deprecated, please use Game:GetService('HttpService'):JSONDecode() instead.") end)
651
652if type(jsonString) == "string" then
653return Decode(jsonString)
654end
655print("RbxUtil.DecodeJSON expects string argument!")
656return nil
657end
658
659t.EncodeJSON = function(jsonTable)
660pcall(function() warn("RbxUtility.EncodeJSON is deprecated, please use Game:GetService('HttpService'):JSONEncode() instead.") end)
661return Encode(jsonTable)
662end
663
664
665
666
667
668
669
670
671------------------------------------------------------------------------------------------------------------------------
672------------------------------------------------------------------------------------------------------------------------
673------------------------------------------------------------------------------------------------------------------------
674--------------------------------------------Terrain Utilities Begin-----------------------------------------------------
675------------------------------------------------------------------------------------------------------------------------
676------------------------------------------------------------------------------------------------------------------------
677------------------------------------------------------------------------------------------------------------------------
678--makes a wedge at location x, y, z
679--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
680--returns true if made a wedge, false if the cell remains a block
681t.MakeWedge = function(x, y, z, defaultmaterial)
682return game:GetService("Terrain"):AutoWedgeCell(x,y,z)
683end
684
685t.SelectTerrainRegion = function(regionToSelect, color, selectEmptyCells, selectionParent)
686local terrain = game:GetService("Workspace"):FindFirstChild("Terrain")
687if not terrain then return end
688
689assert(regionToSelect)
690assert(color)
691
692if not type(regionToSelect) == "Region3" then
693error("regionToSelect (first arg), should be of type Region3, but is type",type(regionToSelect))
694end
695if not type(color) == "BrickColor" then
696error("color (second arg), should be of type BrickColor, but is type",type(color))
697end
698
699-- frequently used terrain calls (speeds up call, no lookup necessary)
700local GetCell = terrain.GetCell
701local WorldToCellPreferSolid = terrain.WorldToCellPreferSolid
702local CellCenterToWorld = terrain.CellCenterToWorld
703local emptyMaterial = Enum.CellMaterial.Empty
704
705-- container for all adornments, passed back to user
706local selectionContainer = Instance.new("Model")
707selectionContainer.Name = "SelectionContainer"
708selectionContainer.Archivable = false
709if selectionParent then
710selectionContainer.Parent = selectionParent
711else
712selectionContainer.Parent = game:GetService("Workspace")
713end
714
715local updateSelection = nil -- function we return to allow user to update selection
716local currentKeepAliveTag = nil -- a tag that determines whether adorns should be destroyed
717local aliveCounter = 0 -- helper for currentKeepAliveTag
718local lastRegion = nil -- used to stop updates that do nothing
719local adornments = {} -- contains all adornments
720local reusableAdorns = {}
721
722local selectionPart = Instance.new("Part")
723selectionPart.Name = "SelectionPart"
724selectionPart.Transparency = 1
725selectionPart.Anchored = true
726selectionPart.Locked = true
727selectionPart.CanCollide = false
728selectionPart.Size = Vector3.new(4.2,4.2,4.2)
729
730local selectionBox = Instance.new("SelectionBox")
731
732-- srs translation from region3 to region3int16
733local function Region3ToRegion3int16(region3)
734local theLowVec = region3.CFrame.p - (region3.Size/2) + Vector3.new(2,2,2)
735local lowCell = WorldToCellPreferSolid(terrain,theLowVec)
736
737local theHighVec = region3.CFrame.p + (region3.Size/2) - Vector3.new(2,2,2)
738local highCell = WorldToCellPreferSolid(terrain, theHighVec)
739
740local highIntVec = Vector3int16.new(highCell.x,highCell.y,highCell.z)
741local lowIntVec = Vector3int16.new(lowCell.x,lowCell.y,lowCell.z)
742
743return Region3int16.new(lowIntVec,highIntVec)
744end
745
746-- helper function that creates the basis for a selection box
747function createAdornment(theColor)
748local selectionPartClone = nil
749local selectionBoxClone = nil
750
751if #reusableAdorns > 0 then
752selectionPartClone = reusableAdorns[1]["part"]
753selectionBoxClone = reusableAdorns[1]["box"]
754table.remove(reusableAdorns,1)
755
756selectionBoxClone.Visible = true
757else
758selectionPartClone = selectionPart:Clone()
759selectionPartClone.Archivable = false
760
761selectionBoxClone = selectionBox:Clone()
762selectionBoxClone.Archivable = false
763
764selectionBoxClone.Adornee = selectionPartClone
765selectionBoxClone.Parent = selectionContainer
766
767selectionBoxClone.Adornee = selectionPartClone
768
769selectionBoxClone.Parent = selectionContainer
770end
771
772if theColor then
773selectionBoxClone.Color = theColor
774end
775
776return selectionPartClone, selectionBoxClone
777end
778
779-- iterates through all current adornments and deletes any that don't have latest tag
780function cleanUpAdornments()
781for cellPos, adornTable in pairs(adornments) do
782
783if adornTable.KeepAlive ~= currentKeepAliveTag then -- old news, we should get rid of this
784adornTable.SelectionBox.Visible = false
785table.insert(reusableAdorns,{part = adornTable.SelectionPart, box = adornTable.SelectionBox})
786adornments[cellPos] = nil
787end
788end
789end
790
791-- helper function to update tag
792function incrementAliveCounter()
793aliveCounter = aliveCounter + 1
794if aliveCounter > 1000000 then
795aliveCounter = 0
796end
797return aliveCounter
798end
799
800-- finds full cells in region and adorns each cell with a box, with the argument color
801function adornFullCellsInRegion(region, color)
802local regionBegin = region.CFrame.p - (region.Size/2) + Vector3.new(2,2,2)
803local regionEnd = region.CFrame.p + (region.Size/2) - Vector3.new(2,2,2)
804
805local cellPosBegin = WorldToCellPreferSolid(terrain, regionBegin)
806local cellPosEnd = WorldToCellPreferSolid(terrain, regionEnd)
807
808currentKeepAliveTag = incrementAliveCounter()
809for y = cellPosBegin.y, cellPosEnd.y do
810for z = cellPosBegin.z, cellPosEnd.z do
811for x = cellPosBegin.x, cellPosEnd.x do
812local cellMaterial = GetCell(terrain, x, y, z)
813
814if cellMaterial ~= emptyMaterial then
815local cframePos = CellCenterToWorld(terrain, x, y, z)
816local cellPos = Vector3int16.new(x,y,z)
817
818local updated = false
819for cellPosAdorn, adornTable in pairs(adornments) do
820if cellPosAdorn == cellPos then
821adornTable.KeepAlive = currentKeepAliveTag
822if color then
823adornTable.SelectionBox.Color = color
824end
825updated = true
826break
827end
828end
829
830if not updated then
831local selectionPart, selectionBox = createAdornment(color)
832selectionPart.Size = Vector3.new(4,4,4)
833selectionPart.CFrame = CFrame.new(cframePos)
834local adornTable = {SelectionPart = selectionPart, SelectionBox = selectionBox, KeepAlive = currentKeepAliveTag}
835adornments[cellPos] = adornTable
836end
837end
838end
839end
840end
841cleanUpAdornments()
842end
843
844
845------------------------------------- setup code ------------------------------
846lastRegion = regionToSelect
847
848if selectEmptyCells then -- use one big selection to represent the area selected
849local selectionPart, selectionBox = createAdornment(color)
850
851selectionPart.Size = regionToSelect.Size
852selectionPart.CFrame = regionToSelect.CFrame
853
854adornments.SelectionPart = selectionPart
855adornments.SelectionBox = selectionBox
856
857updateSelection =
858function (newRegion, color)
859if newRegion and newRegion ~= lastRegion then
860lastRegion = newRegion
861selectionPart.Size = newRegion.Size
862selectionPart.CFrame = newRegion.CFrame
863end
864if color then
865selectionBox.Color = color
866end
867end
868else -- use individual cell adorns to represent the area selected
869adornFullCellsInRegion(regionToSelect, color)
870updateSelection =
871function (newRegion, color)
872if newRegion and newRegion ~= lastRegion then
873lastRegion = newRegion
874adornFullCellsInRegion(newRegion, color)
875end
876end
877
878end
879
880local destroyFunc = function()
881updateSelection = nil
882if selectionContainer then selectionContainer:Destroy() end
883adornments = nil
884end
885
886return updateSelection, destroyFunc
887end
888
889-----------------------------Terrain Utilities End-----------------------------
890
891
892
893
894
895
896
897------------------------------------------------------------------------------------------------------------------------
898------------------------------------------------------------------------------------------------------------------------
899------------------------------------------------------------------------------------------------------------------------
900------------------------------------------------Signal class begin------------------------------------------------------
901------------------------------------------------------------------------------------------------------------------------
902------------------------------------------------------------------------------------------------------------------------
903------------------------------------------------------------------------------------------------------------------------
904--[[
905A 'Signal' object identical to the internal RBXScriptSignal object in it's public API and semantics. This function
906can be used to create "custom events" for user-made code.
907API:
908Method :connect( function handler )
909Arguments: The function to connect to.
910Returns: A new connection object which can be used to disconnect the connection
911Description: Connects this signal to the function specified by |handler|. That is, when |fire( ... )| is called for
912the signal the |handler| will be called with the arguments given to |fire( ... )|. Note, the functions
913connected to a signal are called in NO PARTICULAR ORDER, so connecting one function after another does
914NOT mean that the first will be called before the second as a result of a call to |fire|.
915
916Method :disconnect()
917Arguments: None
918Returns: None
919Description: Disconnects all of the functions connected to this signal.
920
921Method :fire( ... )
922Arguments: Any arguments are accepted
923Returns: None
924Description: Calls all of the currently connected functions with the given arguments.
925
926Method :wait()
927Arguments: None
928Returns: The arguments given to fire
929Description: This call blocks until
930]]
931
932function t.CreateSignal()
933local this = {}
934
935local mBindableEvent = Instance.new('BindableEvent')
936local mAllCns = {} --all connection objects returned by mBindableEvent::connect
937
938--main functions
939function this:connect(func)
940if self ~= this then error("connect must be called with `:`, not `.`", 2) end
941if type(func) ~= 'function' then
942error("Argument #1 of connect must be a function, got a "..type(func), 2)
943end
944local cn = mBindableEvent.Event:Connect(func)
945mAllCns[cn] = true
946local pubCn = {}
947function pubCn:disconnect()
948cn:Disconnect()
949mAllCns[cn] = nil
950end
951pubCn.Disconnect = pubCn.disconnect
952
953return pubCn
954end
955
956function this:disconnect()
957if self ~= this then error("disconnect must be called with `:`, not `.`", 2) end
958for cn, _ in pairs(mAllCns) do
959cn:Disconnect()
960mAllCns[cn] = nil
961end
962end
963
964function this:wait()
965if self ~= this then error("wait must be called with `:`, not `.`", 2) end
966return mBindableEvent.Event:Wait()
967end
968
969function this:fire(...)
970if self ~= this then error("fire must be called with `:`, not `.`", 2) end
971mBindableEvent:Fire(...)
972end
973
974this.Connect = this.connect
975this.Disconnect = this.disconnect
976this.Wait = this.wait
977this.Fire = this.fire
978
979return this
980end
981
982------------------------------------------------- Sigal class End ------------------------------------------------------
983
984
985
986
987------------------------------------------------------------------------------------------------------------------------
988------------------------------------------------------------------------------------------------------------------------
989------------------------------------------------------------------------------------------------------------------------
990-----------------------------------------------Create Function Begins---------------------------------------------------
991------------------------------------------------------------------------------------------------------------------------
992------------------------------------------------------------------------------------------------------------------------
993------------------------------------------------------------------------------------------------------------------------
994--[[
995A "Create" function for easy creation of Roblox instances. The function accepts a string which is the classname of
996the object to be created. The function then returns another function which either accepts accepts no arguments, in
997which case it simply creates an object of the given type, or a table argument that may contain several types of data,
998in which case it mutates the object in varying ways depending on the nature of the aggregate data. These are the
999type of data and what operation each will perform:
10001) A string key mapping to some value:
1001Key-Value pairs in this form will be treated as properties of the object, and will be assigned in NO PARTICULAR
1002ORDER. If the order in which properties is assigned matter, then they must be assigned somewhere else than the
1003|Create| call's body.
1004
10052) An integral key mapping to another Instance:
1006Normal numeric keys mapping to Instances will be treated as children if the object being created, and will be
1007parented to it. This allows nice recursive calls to Create to create a whole hierarchy of objects without a
1008need for temporary variables to store references to those objects.
1009
10103) A key which is a value returned from Create.Event( eventname ), and a value which is a function function
1011The Create.E( string ) function provides a limited way to connect to signals inside of a Create hierarchy
1012for those who really want such a functionality. The name of the event whose name is passed to
1013Create.E( string )
1014
10154) A key which is the Create function itself, and a value which is a function
1016The function will be run with the argument of the object itself after all other initialization of the object is
1017done by create. This provides a way to do arbitrary things involving the object from withing the create
1018hierarchy.
1019Note: This function is called SYNCHRONOUSLY, that means that you should only so initialization in
1020it, not stuff which requires waiting, as the Create call will block until it returns. While waiting in the
1021constructor callback function is possible, it is probably not a good design choice.
1022Note: Since the constructor function is called after all other initialization, a Create block cannot have two
1023constructor functions, as it would not be possible to call both of them last, also, this would be unnecessary.
1024
1025
1026Some example usages:
1027
1028A simple example which uses the Create function to create a model object and assign two of it's properties.
1029local model = Create'Model'{
1030Name = 'A New model',
1031Parent = game.Workspace,
1032}
1033
1034
1035An example where a larger hierarchy of object is made. After the call the hierarchy will look like this:
1036Model_Container
1037|-ObjectValue
1038| |
1039| `-BoolValueChild
1040`-IntValue
1041
1042local model = Create'Model'{
1043Name = 'Model_Container',
1044Create'ObjectValue'{
1045Create'BoolValue'{
1046Name = 'BoolValueChild',
1047},
1048},
1049Create'IntValue'{},
1050}
1051
1052
1053An example using the event syntax:
1054
1055local part = Create'Part'{
1056[Create.E'Touched'] = function(part)
1057print("I was touched by "..part.Name)
1058end,
1059}
1060
1061
1062An example using the general constructor syntax:
1063
1064local model = Create'Part'{
1065[Create] = function(this)
1066print("Constructor running!")
1067this.Name = GetGlobalFoosAndBars(this)
1068end,
1069}
1070
1071
1072Note: It is also perfectly legal to save a reference to the function returned by a call Create, this will not cause
1073any unexpected behavior. EG:
1074local partCreatingFunction = Create'Part'
1075local part = partCreatingFunction()
1076]]
1077
1078--the Create function need to be created as a functor, not a function, in order to support the Create.E syntax, so it
1079--will be created in several steps rather than as a single function declaration.
1080local function Create_PrivImpl(objectType)
1081if type(objectType) ~= 'string' then
1082error("Argument of Create must be a string", 2)
1083end
1084--return the proxy function that gives us the nice Create'string'{data} syntax
1085--The first function call is a function call using Lua's single-string-argument syntax
1086--The second function call is using Lua's single-table-argument syntax
1087--Both can be chained together for the nice effect.
1088return function(dat)
1089--default to nothing, to handle the no argument given case
1090dat = dat or {}
1091
1092--make the object to mutate
1093local obj = Instance.new(objectType)
1094local parent = nil
1095
1096--stored constructor function to be called after other initialization
1097local ctor = nil
1098
1099for k, v in pairs(dat) do
1100--add property
1101if type(k) == 'string' then
1102if k == 'Parent' then
1103-- Parent should always be set last, setting the Parent of a new object
1104-- immediately makes performance worse for all subsequent property updates.
1105parent = v
1106else
1107obj[k] = v
1108end
1109
1110
1111--add child
1112elseif type(k) == 'number' then
1113if type(v) ~= 'userdata' then
1114error("Bad entry in Create body: Numeric keys must be paired with children, got a: "..type(v), 2)
1115end
1116v.Parent = obj
1117
1118
1119--event connect
1120elseif type(k) == 'table' and k.__eventname then
1121if type(v) ~= 'function' then
1122error("Bad entry in Create body: Key `[Create.E\'"..k.__eventname.."\']` must have a function value\
1123got: "..tostring(v), 2)
1124end
1125obj[k.__eventname]:connect(v)
1126
1127
1128--define constructor function
1129elseif k == t.Create then
1130if type(v) ~= 'function' then
1131error("Bad entry in Create body: Key `[Create]` should be paired with a constructor function, \
1132got: "..tostring(v), 2)
1133elseif ctor then
1134--ctor already exists, only one allowed
1135error("Bad entry in Create body: Only one constructor function is allowed", 2)
1136end
1137ctor = v
1138
1139
1140else
1141error("Bad entry ("..tostring(k).." => "..tostring(v)..") in Create body", 2)
1142end
1143end
1144
1145--apply constructor function if it exists
1146if ctor then
1147ctor(obj)
1148end
1149
1150if parent then
1151obj.Parent = parent
1152end
1153
1154--return the completed object
1155return obj
1156end
1157end
1158
1159--now, create the functor:
1160t.Create = setmetatable({}, {__call = function(tb, ...) return Create_PrivImpl(...) end})
1161
1162--and create the "Event.E" syntax stub. Really it's just a stub to construct a table which our Create
1163--function can recognize as special.
1164t.Create.E = function(eventName)
1165return {__eventname = eventName}
1166end
1167
1168-------------------------------------------------Create function End----------------------------------------------------
1169
1170
1171
1172
1173------------------------------------------------------------------------------------------------------------------------
1174------------------------------------------------------------------------------------------------------------------------
1175------------------------------------------------------------------------------------------------------------------------
1176------------------------------------------------Documentation Begin-----------------------------------------------------
1177------------------------------------------------------------------------------------------------------------------------
1178------------------------------------------------------------------------------------------------------------------------
1179------------------------------------------------------------------------------------------------------------------------
1180
1181t.Help =
1182function(funcNameOrFunc)
1183--input argument can be a string or a function. Should return a description (of arguments and expected side effects)
1184if funcNameOrFunc == "DecodeJSON" or funcNameOrFunc == t.DecodeJSON then
1185return "Function DecodeJSON. " ..
1186"Arguments: (string). " ..
1187"Side effect: returns a table with all parsed JSON values"
1188end
1189if funcNameOrFunc == "EncodeJSON" or funcNameOrFunc == t.EncodeJSON then
1190return "Function EncodeJSON. " ..
1191"Arguments: (table). " ..
1192"Side effect: returns a string composed of argument table in JSON data format"
1193end
1194if funcNameOrFunc == "MakeWedge" or funcNameOrFunc == t.MakeWedge then
1195return "Function MakeWedge. " ..
1196"Arguments: (x, y, z, [default material]). " ..
1197"Description: Makes a wedge at location x, y, z. Sets cell x, y, z to default material if "..
1198"parameter is provided, if not sets cell x, y, z to be whatever material it previously was. "..
1199"Returns true if made a wedge, false if the cell remains a block "
1200end
1201if funcNameOrFunc == "SelectTerrainRegion" or funcNameOrFunc == t.SelectTerrainRegion then
1202return "Function SelectTerrainRegion. " ..
1203"Arguments: (regionToSelect, color, selectEmptyCells, selectionParent). " ..
1204"Description: Selects all terrain via a series of selection boxes within the regionToSelect " ..
1205"(this should be a region3 value). The selection box color is detemined by the color argument " ..
1206"(should be a brickcolor value). SelectionParent is the parent that the selection model gets placed to (optional)." ..
1207"SelectEmptyCells is bool, when true will select all cells in the " ..
1208"region, otherwise we only select non-empty cells. Returns a function that can update the selection," ..
1209"arguments to said function are a new region3 to select, and the adornment color (color arg is optional). " ..
1210"Also returns a second function that takes no arguments and destroys the selection"
1211end
1212if funcNameOrFunc == "CreateSignal" or funcNameOrFunc == t.CreateSignal then
1213return "Function CreateSignal. "..
1214"Arguments: None. "..
1215"Returns: The newly created Signal object. This object is identical to the RBXScriptSignal class "..
1216"used for events in Objects, but is a Lua-side object so it can be used to create custom events in"..
1217"Lua code. "..
1218"Methods of the Signal object: :connect, :wait, :fire, :disconnect. "..
1219"For more info you can pass the method name to the Help function, or view the wiki page "..
1220"for this library. EG: Help('Signal:connect')."
1221end
1222if funcNameOrFunc == "Signal:connect" then
1223return "Method Signal:connect. "..
1224"Arguments: (function handler). "..
1225"Return: A connection object which can be used to disconnect the connection to this handler. "..
1226"Description: Connectes a handler function to this Signal, so that when |fire| is called the "..
1227"handler function will be called with the arguments passed to |fire|."
1228end
1229if funcNameOrFunc == "Signal:wait" then
1230return "Method Signal:wait. "..
1231"Arguments: None. "..
1232"Returns: The arguments passed to the next call to |fire|. "..
1233"Description: This call does not return until the next call to |fire| is made, at which point it "..
1234"will return the values which were passed as arguments to that |fire| call."
1235end
1236if funcNameOrFunc == "Signal:fire" then
1237return "Method Signal:fire. "..
1238"Arguments: Any number of arguments of any type. "..
1239"Returns: None. "..
1240"Description: This call will invoke any connected handler functions, and notify any waiting code "..
1241"attached to this Signal to continue, with the arguments passed to this function. Note: The calls "..
1242"to handlers are made asynchronously, so this call will return immediately regardless of how long "..
1243"it takes the connected handler functions to complete."
1244end
1245if funcNameOrFunc == "Signal:disconnect" then
1246return "Method Signal:disconnect. "..
1247"Arguments: None. "..
1248"Returns: None. "..
1249"Description: This call disconnects all handlers attacched to this function, note however, it "..
1250"does NOT make waiting code continue, as is the behavior of normal Roblox events. This method "..
1251"can also be called on the connection object which is returned from Signal:connect to only "..
1252"disconnect a single handler, as opposed to this method, which will disconnect all handlers."
1253end
1254if funcNameOrFunc == "Create" then
1255return "Function Create. "..
1256"Arguments: A table containing information about how to construct a collection of objects. "..
1257"Returns: The constructed objects. "..
1258"Descrition: Create is a very powerfull function, whose description is too long to fit here, and "..
1259"is best described via example, please see the wiki page for a description of how to use it."
1260end
1261end
1262
1263--------------------------------------------Documentation Ends----------------------------------------------------------
1264
1265return t
1266end
1267
1268--[[ Name : Gale Fighter ]]--
1269-------------------------------------------------------
1270--A Collaboration Between makhail07 and KillerDarkness0105
1271
1272--Base Animaion by makhail07, attacks by KillerDarkness0105
1273-------------------------------------------------------
1274
1275
1276local FavIDs = {
1277340106355, --Nefl Crystals
1278927529620, --Dimension
1279876981900, --Fantasy
1280398987889, --Ordinary Days
12811117396305, --Oh wait, it's you.
1282885996042, --Action Winter Journey
1283919231299, --Sprawling Idiot Effigy
1284743466274, --Good Day Sunshine
1285727411183, --Knife Fight
12861402748531, --The Earth Is Counting On You!
1287595230126 --Robot Language
1288}
1289
1290
1291
1292--The reality of my life isn't real but a Universe -makhail07
1293wait(0.2)
1294local plr = game:GetService("Players").LocalPlayer
1295print('Local User is '..plr.Name)
1296print('Gale Fighter Loaded')
1297print('The Fighter that is as fast as wind, a true Fighter')
1298local char = plr.Character.NullwareReanim
1299local hum = char.Humanoid
1300local hed = char.Head
1301local root = char.HumanoidRootPart
1302local rootj = root.RootJoint
1303local tors = char.Torso
1304local ra = char["Right Arm"]
1305local la = char["Left Arm"]
1306local rl = char["Right Leg"]
1307local ll = char["Left Leg"]
1308local neck = tors["Neck"]
1309local mouse = plr:GetMouse()
1310local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
1311local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
1312local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
1313local maincolor = BrickColor.new("Institutional white")
1314hum.MaxHealth = 200
1315hum.Health = 200
1316
1317local hrp = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart
1318
1319hrp.Name = "HumanoidRootPart"
1320hrp.Transparency = 0.5
1321hrp.Anchored = false
1322if hrp:FindFirstChildOfClass("AlignPosition") then
1323hrp:FindFirstChildOfClass("AlignPosition"):Destroy()
1324end
1325if hrp:FindFirstChildOfClass("AlignOrientation") then
1326hrp:FindFirstChildOfClass("AlignOrientation"):Destroy()
1327end
1328local bp = Instance.new("BodyPosition", hrp)
1329bp.Position = hrp.Position
1330bp.D = 9999999
1331bp.P = 999999999999999
1332bp.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
1333local flinger = Instance.new("BodyAngularVelocity",hrp)
1334flinger.MaxTorque = Vector3.new(math.huge,math.huge,math.huge)
1335flinger.P = 1000000000000000000000000000
1336flinger.AngularVelocity = Vector3.new(10000,10000,10000)
1337
1338spawn(function()
1339while game:GetService("RunService").Heartbeat:Wait() do
1340bp.Position = game:GetService("Players").LocalPlayer.Character["NullwareReanim"].Torso.Position
1341end
1342end)
1343
1344-------------------------------------------------------
1345--Start Good Stuff--
1346-------------------------------------------------------
1347cam = game.Workspace.CurrentCamera
1348CF = CFrame.new
1349angles = CFrame.Angles
1350attack = false
1351Euler = CFrame.fromEulerAnglesXYZ
1352Rad = math.rad
1353IT = Instance.new
1354BrickC = BrickColor.new
1355Cos = math.cos
1356Acos = math.acos
1357Sin = math.sin
1358Asin = math.asin
1359Abs = math.abs
1360Mrandom = math.random
1361Floor = math.floor
1362-------------------------------------------------------
1363--End Good Stuff--
1364-------------------------------------------------------
1365necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
1366RSH, LSH = nil, nil
1367RW = Instance.new("Weld")
1368LW = Instance.new("Weld")
1369RH = tors["Right Hip"]
1370LH = tors["Left Hip"]
1371RSH = tors["Right Shoulder"]
1372LSH = tors["Left Shoulder"]
1373RSH.Parent = nil
1374LSH.Parent = nil
1375RW.Name = "RW"
1376RW.Part0 = tors
1377RW.C0 = CF(1.5, 0.5, 0)
1378RW.C1 = CF(0, 0.5, 0)
1379RW.Part1 = ra
1380RW.Parent = tors
1381LW.Name = "LW"
1382LW.Part0 = tors
1383LW.C0 = CF(-1.5, 0.5, 0)
1384LW.C1 = CF(0, 0.5, 0)
1385LW.Part1 = la
1386LW.Parent = tors
1387vt = Vector3.new
1388Effects = {}
1389-------------------------------------------------------
1390--Start HeartBeat--
1391-------------------------------------------------------
1392ArtificialHB = Instance.new("BindableEvent", script)
1393ArtificialHB.Name = "Heartbeat"
1394script:WaitForChild("Heartbeat")
1395
1396frame = 1 / 90
1397tf = 0
1398allowframeloss = false
1399tossremainder = false
1400
1401
1402lastframe = tick()
1403script.Heartbeat:Fire()
1404
1405
1406game:GetService("RunService").Heartbeat:connect(function(s, p)
1407tf = tf + s
1408if tf >= frame then
1409if allowframeloss then
1410script.Heartbeat:Fire()
1411lastframe = tick()
1412else
1413for i = 1, math.floor(tf / frame) do
1414script.Heartbeat:Fire()
1415end
1416lastframe = tick()
1417end
1418if tossremainder then
1419tf = 0
1420else
1421tf = tf - frame * math.floor(tf / frame)
1422end
1423end
1424end)
1425-------------------------------------------------------
1426--End HeartBeat--
1427-------------------------------------------------------
1428
1429
1430
1431-------------------------------------------------------
1432--Start Combo Function--
1433-------------------------------------------------------
1434local comboing = false
1435local combohits = 0
1436local combotime = 0
1437local maxtime = 65
1438
1439
1440
1441function sandbox(var,func)
1442local env = getfenv(func)
1443local newenv = setmetatable({},{
1444__index = function(self,k)
1445if k=="script" then
1446return var
1447else
1448return env[k]
1449end
1450end,
1451})
1452setfenv(func,newenv)
1453return func
1454end
1455cors = {}
1456mas = Instance.new("Model",game:GetService("Lighting"))
1457comboframe = Instance.new("ScreenGui")
1458Frame1 = Instance.new("Frame")
1459Frame2 = Instance.new("Frame")
1460TextLabel3 = Instance.new("TextLabel")
1461comboframe.Name = "combinserter"
1462comboframe.Parent = mas
1463Frame1.Name = "combtimegui"
1464Frame1.Parent = comboframe
1465Frame1.Size = UDim2.new(0, 300, 0, 14)
1466Frame1.Position = UDim2.new(0, 900, 0.629999971, 0)
1467Frame1.BackgroundColor3 = Color3.new(0, 0, 0)
1468Frame1.BorderColor3 = Color3.new(0.0313726, 0.0470588, 0.0627451)
1469Frame1.BorderSizePixel = 5
1470Frame2.Name = "combtimeoverlay"
1471Frame2.Parent = Frame1
1472Frame2.Size = UDim2.new(0, 0, 0, 14)
1473Frame2.BackgroundColor3 = Color3.new(0, 1, 0)
1474Frame2.ZIndex = 2
1475TextLabel3.Parent = Frame2
1476TextLabel3.Transparency = 0
1477TextLabel3.Size = UDim2.new(0, 300, 0, 50)
1478TextLabel3.Text ="Hits: "..combohits
1479TextLabel3.Position = UDim2.new(0, 0, -5.5999999, 0)
1480TextLabel3.BackgroundColor3 = Color3.new(1, 1, 1)
1481TextLabel3.BackgroundTransparency = 1
1482TextLabel3.Font = Enum.Font.Bodoni
1483TextLabel3.FontSize = Enum.FontSize.Size60
1484TextLabel3.TextColor3 = Color3.new(0, 1, 0)
1485TextLabel3.TextStrokeTransparency = 0
1486gui = game:GetService("Players").LocalPlayer.PlayerGui
1487for i,v in pairs(mas:GetChildren()) do
1488v.Parent = game:GetService("Players").LocalPlayer.PlayerGui
1489pcall(function() v:MakeJoints() end)
1490end
1491mas:Destroy()
1492for i,v in pairs(cors) do
1493spawn(function()
1494pcall(v)
1495end)
1496end
1497
1498
1499
1500
1501
1502coroutine.resume(coroutine.create(function()
1503while true do
1504wait()
1505
1506
1507if combotime>65 then
1508combotime = 65
1509end
1510
1511
1512
1513
1514
1515if combotime>.1 and comboing == true then
1516TextLabel3.Transparency = 0
1517TextLabel3.TextStrokeTransparency = 0
1518TextLabel3.BackgroundTransparency = 1
1519Frame1.Transparency = 0
1520Frame2.Transparency = 0
1521TextLabel3.Text ="Hits: "..combohits
1522combotime = combotime - .34
1523Frame2.Size = Frame2.Size:lerp(UDim2.new(0, combotime/maxtime*300, 0, 14),0.42)
1524end
1525
1526
1527
1528
1529if combotime<.1 then
1530TextLabel3.BackgroundTransparency = 1
1531TextLabel3.Transparency = 1
1532TextLabel3.TextStrokeTransparency = 1
1533
1534Frame2.Size = UDim2.new(0, 0, 0, 14)
1535combotime = 0
1536comboing = false
1537Frame1.Transparency = 1
1538Frame2.Transparency = 1
1539combohits = 0
1540
1541end
1542end
1543end))
1544
1545
1546
1547-------------------------------------------------------
1548--End Combo Function--
1549-------------------------------------------------------
1550
1551-------------------------------------------------------
1552--Start Important Functions--
1553-------------------------------------------------------
1554function swait(num)
1555if num == 0 or num == nil then
1556game:service("RunService").Stepped:wait(0)
1557else
1558for i = 0, num do
1559game:service("RunService").Stepped:wait(0)
1560end
1561end
1562end
1563function thread(f)
1564coroutine.resume(coroutine.create(f))
1565end
1566function clerp(a, b, t)
1567local qa = {
1568QuaternionFromCFrame(a)
1569}
1570local qb = {
1571QuaternionFromCFrame(b)
1572}
1573local ax, ay, az = a.x, a.y, a.z
1574local bx, by, bz = b.x, b.y, b.z
1575local _t = 1 - t
1576return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1577end
1578function QuaternionFromCFrame(cf)
1579local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1580local trace = m00 + m11 + m22
1581if trace > 0 then
1582local s = math.sqrt(1 + trace)
1583local recip = 0.5 / s
1584return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1585else
1586local i = 0
1587if m00 < m11 then
1588i = 1
1589end
1590if m22 > (i == 0 and m00 or m11) then
1591i = 2
1592end
1593if i == 0 then
1594local s = math.sqrt(m00 - m11 - m22 + 1)
1595local recip = 0.5 / s
1596return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1597elseif i == 1 then
1598local s = math.sqrt(m11 - m22 - m00 + 1)
1599local recip = 0.5 / s
1600return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1601elseif i == 2 then
1602local s = math.sqrt(m22 - m00 - m11 + 1)
1603local recip = 0.5 / s
1604return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1605end
1606end
1607end
1608function QuaternionToCFrame(px, py, pz, x, y, z, w)
1609local xs, ys, zs = x + x, y + y, z + z
1610local wx, wy, wz = w * xs, w * ys, w * zs
1611local xx = x * xs
1612local xy = x * ys
1613local xz = x * zs
1614local yy = y * ys
1615local yz = y * zs
1616local zz = z * zs
1617return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
1618end
1619function QuaternionSlerp(a, b, t)
1620local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1621local startInterp, finishInterp
1622if cosTheta >= 1.0E-4 then
1623if 1 - cosTheta > 1.0E-4 then
1624local theta = math.acos(cosTheta)
1625local invSinTheta = 1 / Sin(theta)
1626startInterp = Sin((1 - t) * theta) * invSinTheta
1627finishInterp = Sin(t * theta) * invSinTheta
1628else
1629startInterp = 1 - t
1630finishInterp = t
1631end
1632elseif 1 + cosTheta > 1.0E-4 then
1633local theta = math.acos(-cosTheta)
1634local invSinTheta = 1 / Sin(theta)
1635startInterp = Sin((t - 1) * theta) * invSinTheta
1636finishInterp = Sin(t * theta) * invSinTheta
1637else
1638startInterp = t - 1
1639finishInterp = t
1640end
1641return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
1642end
1643function rayCast(Position, Direction, Range, Ignore)
1644return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
1645end
1646local RbxUtility = LoadLibrary("RbxUtility")
1647local Create = RbxUtility.Create
1648
1649-------------------------------------------------------
1650--Start Damage Function--
1651-------------------------------------------------------
1652
1653-------------------------------------------------------
1654--End Damage Function--
1655-------------------------------------------------------
1656
1657-------------------------------------------------------
1658--Start Damage Function Customization--
1659-------------------------------------------------------
1660function ShowDamage(Pos, Text, Time, Color)
1661local Rate = (1 / 30)
1662local Pos = (Pos or Vector3.new(0, 0, 0))
1663local Text = (Text or "")
1664local Time = (Time or 2)
1665local Color = (Color or Color3.new(1, 0, 1))
1666local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
1667EffectPart.Anchored = true
1668local BillboardGui = Create("BillboardGui"){
1669Size = UDim2.new(3, 0, 3, 0),
1670Adornee = EffectPart,
1671Parent = EffectPart,
1672}
1673local TextLabel = Create("TextLabel"){
1674BackgroundTransparency = 1,
1675Size = UDim2.new(1, 0, 1, 0),
1676Text = Text,
1677Font = "Bodoni",
1678TextColor3 = Color,
1679TextScaled = true,
1680TextStrokeColor3 = Color3.fromRGB(0,0,0),
1681Parent = BillboardGui,
1682}
1683game.Debris:AddItem(EffectPart, (Time))
1684EffectPart.Parent = game:GetService("Workspace")
1685delay(0, function()
1686local Frames = (Time / Rate)
1687for Frame = 1, Frames do
1688wait(Rate)
1689local Percent = (Frame / Frames)
1690EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
1691TextLabel.TextTransparency = Percent
1692end
1693if EffectPart and EffectPart.Parent then
1694EffectPart:Destroy()
1695end
1696end)
1697end
1698-------------------------------------------------------
1699--End Damage Function Customization--
1700-------------------------------------------------------
1701
1702CFuncs = {
1703Part = {
1704Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
1705local Part = Create("Part")({
1706Parent = Parent,
1707Reflectance = Reflectance,
1708Transparency = Transparency,
1709CanCollide = false,
1710Locked = true,
1711BrickColor = BrickColor.new(tostring(BColor)),
1712Name = Name,
1713Size = Size,
1714Material = Material
1715})
1716RemoveOutlines(Part)
1717return Part
1718end
1719},
1720Mesh = {
1721Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
1722local Msh = Create(Mesh)({
1723Parent = Part,
1724Offset = OffSet,
1725Scale = Scale
1726})
1727if Mesh == "SpecialMesh" then
1728Msh.MeshType = MeshType
1729Msh.MeshId = MeshId
1730end
1731return Msh
1732end
1733},
1734Mesh = {
1735Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
1736local Msh = Create(Mesh)({
1737Parent = Part,
1738Offset = OffSet,
1739Scale = Scale
1740})
1741if Mesh == "SpecialMesh" then
1742Msh.MeshType = MeshType
1743Msh.MeshId = MeshId
1744end
1745return Msh
1746end
1747},
1748Weld = {
1749Create = function(Parent, Part0, Part1, C0, C1)
1750local Weld = Create("Weld")({
1751Parent = Parent,
1752Part0 = Part0,
1753Part1 = Part1,
1754C0 = C0,
1755C1 = C1
1756})
1757return Weld
1758end
1759},
1760Sound = {
1761Create = function(id, par, vol, pit)
1762coroutine.resume(coroutine.create(function()
1763local S = Create("Sound")({
1764Volume = vol,
1765Pitch = pit or 1,
1766SoundId = id,
1767Parent = par or workspace
1768})
1769wait()
1770S:play()
1771game:GetService("Debris"):AddItem(S, 6)
1772end))
1773end
1774},
1775ParticleEmitter = {
1776Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
1777local fp = Create("ParticleEmitter")({
1778Parent = Parent,
1779Color = ColorSequence.new(Color1, Color2),
1780LightEmission = LightEmission,
1781Size = Size,
1782Texture = Texture,
1783Transparency = Transparency,
1784ZOffset = ZOffset,
1785Acceleration = Accel,
1786Drag = Drag,
1787LockedToPart = LockedToPart,
1788VelocityInheritance = VelocityInheritance,
1789EmissionDirection = EmissionDirection,
1790Enabled = Enabled,
1791Lifetime = LifeTime,
1792Rate = Rate,
1793Rotation = Rotation,
1794RotSpeed = RotSpeed,
1795Speed = Speed,
1796VelocitySpread = VelocitySpread
1797})
1798return fp
1799end
1800}
1801}
1802function RemoveOutlines(part)
1803part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
1804end
1805function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
1806local Part = Create("Part")({
1807formFactor = FormFactor,
1808Parent = Parent,
1809Reflectance = Reflectance,
1810Transparency = Transparency,
1811CanCollide = false,
1812Locked = true,
1813BrickColor = BrickColor.new(tostring(BColor)),
1814Name = Name,
1815Size = Size,
1816Material = Material
1817})
1818RemoveOutlines(Part)
1819return Part
1820end
1821function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
1822local Msh = Create(Mesh)({
1823Parent = Part,
1824Offset = OffSet,
1825Scale = Scale
1826})
1827if Mesh == "SpecialMesh" then
1828Msh.MeshType = MeshType
1829Msh.MeshId = MeshId
1830end
1831return Msh
1832end
1833function CreateWeld(Parent, Part0, Part1, C0, C1)
1834local Weld = Create("Weld")({
1835Parent = Parent,
1836Part0 = Part0,
1837Part1 = Part1,
1838C0 = C0,
1839C1 = C1
1840})
1841return Weld
1842end
1843
1844
1845-------------------------------------------------------
1846--Start Effect Function--
1847-------------------------------------------------------
1848EffectModel = Instance.new("Model", char)
1849Effects = {
1850Block = {
1851Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
1852local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1853prt.Anchored = true
1854prt.CFrame = cframe
1855local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1856game:GetService("Debris"):AddItem(prt, 10)
1857if Type == 1 or Type == nil then
1858table.insert(Effects, {
1859prt,
1860"Block1",
1861delay,
1862x3,
1863y3,
1864z3,
1865msh
1866})
1867elseif Type == 2 then
1868table.insert(Effects, {
1869prt,
1870"Block2",
1871delay,
1872x3,
1873y3,
1874z3,
1875msh
1876})
1877else
1878table.insert(Effects, {
1879prt,
1880"Block3",
1881delay,
1882x3,
1883y3,
1884z3,
1885msh
1886})
1887end
1888end
1889},
1890Sphere = {
1891Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1892local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
1893prt.Anchored = true
1894prt.CFrame = cframe
1895local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1896game:GetService("Debris"):AddItem(prt, 10)
1897table.insert(Effects, {
1898prt,
1899"Cylinder",
1900delay,
1901x3,
1902y3,
1903z3,
1904msh
1905})
1906end
1907},
1908Cylinder = {
1909Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1910local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1911prt.Anchored = true
1912prt.CFrame = cframe
1913local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1914game:GetService("Debris"):AddItem(prt, 10)
1915table.insert(Effects, {
1916prt,
1917"Cylinder",
1918delay,
1919x3,
1920y3,
1921z3,
1922msh
1923})
1924end
1925},
1926Wave = {
1927Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1928local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
1929prt.Anchored = true
1930prt.CFrame = cframe
1931local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
1932game:GetService("Debris"):AddItem(prt, 10)
1933table.insert(Effects, {
1934prt,
1935"Cylinder",
1936delay,
1937x3 / 60,
1938y3 / 60,
1939z3 / 60,
1940msh
1941})
1942end
1943},
1944Ring = {
1945Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1946local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1947prt.Anchored = true
1948prt.CFrame = cframe
1949local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1950game:GetService("Debris"):AddItem(prt, 10)
1951table.insert(Effects, {
1952prt,
1953"Cylinder",
1954delay,
1955x3,
1956y3,
1957z3,
1958msh
1959})
1960end
1961},
1962Break = {
1963Create = function(brickcolor, cframe, x1, y1, z1)
1964local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
1965prt.Anchored = true
1966prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1967local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1968local num = math.random(10, 50) / 1000
1969game:GetService("Debris"):AddItem(prt, 10)
1970table.insert(Effects, {
1971prt,
1972"Shatter",
1973num,
1974prt.CFrame,
1975math.random() - math.random(),
19760,
1977math.random(50, 100) / 100
1978})
1979end
1980},
1981Spiral = {
1982Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
1983local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
1984prt.Anchored = true
1985prt.CFrame = cframe
1986local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
1987game:GetService("Debris"):AddItem(prt, 10)
1988table.insert(Effects, {
1989prt,
1990"Cylinder",
1991delay,
1992x3,
1993y3,
1994z3,
1995msh
1996})
1997end
1998},
1999Push = {
2000Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2001local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
2002prt.Anchored = true
2003prt.CFrame = cframe
2004local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2005game:GetService("Debris"):AddItem(prt, 10)
2006table.insert(Effects, {
2007prt,
2008"Cylinder",
2009delay,
2010x3,
2011y3,
2012z3,
2013msh
2014})
2015end
2016}
2017}
2018function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
2019local fp = IT("Part")
2020fp.formFactor = formfactor
2021fp.Parent = parent
2022fp.Reflectance = reflectance
2023fp.Transparency = transparency
2024fp.CanCollide = false
2025fp.Locked = true
2026fp.BrickColor = brickcolor
2027fp.Name = name
2028fp.Size = size
2029fp.Position = tors.Position
2030RemoveOutlines(fp)
2031fp.Material = "SmoothPlastic"
2032fp:BreakJoints()
2033return fp
2034end
2035
2036function mesh(Mesh,part,meshtype,meshid,offset,scale)
2037local mesh = IT(Mesh)
2038mesh.Parent = part
2039if Mesh == "SpecialMesh" then
2040mesh.MeshType = meshtype
2041if meshid ~= "nil" then
2042mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
2043end
2044end
2045mesh.Offset = offset
2046mesh.Scale = scale
2047return mesh
2048end
2049
2050function Magic(bonuspeed, type, pos, scale, value, color, MType)
2051local type = type
2052local rng = Instance.new("Part", char)
2053rng.Anchored = true
2054rng.BrickColor = color
2055rng.CanCollide = false
2056rng.FormFactor = 3
2057rng.Name = "Ring"
2058rng.Material = "Neon"
2059rng.Size = Vector3.new(1, 1, 1)
2060rng.Transparency = 0
2061rng.TopSurface = 0
2062rng.BottomSurface = 0
2063rng.CFrame = pos
2064local rngm = Instance.new("SpecialMesh", rng)
2065rngm.MeshType = MType
2066rngm.Scale = scale
2067local scaler2 = 1
2068if type == "Add" then
2069scaler2 = 1 * value
2070elseif type == "Divide" then
2071scaler2 = 1 / value
2072end
2073coroutine.resume(coroutine.create(function()
2074for i = 0, 10 / bonuspeed, 0.1 do
2075swait()
2076if type == "Add" then
2077scaler2 = scaler2 - 0.01 * value / bonuspeed
2078elseif type == "Divide" then
2079scaler2 = scaler2 - 0.01 / value * bonuspeed
2080end
2081rng.Transparency = rng.Transparency + 0.01 * bonuspeed
2082rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
2083end
2084rng:Destroy()
2085end))
2086end
2087
2088function Eviscerate(dude)
2089if dude.Name ~= char then
2090local bgf = IT("BodyGyro", dude.Head)
2091bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
2092local val = IT("BoolValue", dude)
2093val.Name = "IsHit"
2094local ds = coroutine.wrap(function()
2095dude:WaitForChild("Head"):BreakJoints()
2096wait(0.5)
2097target = nil
2098coroutine.resume(coroutine.create(function()
2099for i, v in pairs(dude:GetChildren()) do
2100if v:IsA("Accessory") then
2101v:Destroy()
2102end
2103if v:IsA("Humanoid") then
2104v:Destroy()
2105end
2106if v:IsA("CharacterMesh") then
2107v:Destroy()
2108end
2109if v:IsA("Model") then
2110v:Destroy()
2111end
2112if v:IsA("Part") or v:IsA("MeshPart") then
2113for x, o in pairs(v:GetChildren()) do
2114if o:IsA("Decal") then
2115o:Destroy()
2116end
2117end
2118coroutine.resume(coroutine.create(function()
2119v.Material = "Neon"
2120v.CanCollide = false
2121local PartEmmit1 = IT("ParticleEmitter", v)
2122PartEmmit1.LightEmission = 1
2123PartEmmit1.Texture = "rbxassetid://284205403"
2124PartEmmit1.Color = ColorSequence.new(maincolor.Color)
2125PartEmmit1.Rate = 150
2126PartEmmit1.Lifetime = NumberRange.new(1)
2127PartEmmit1.Size = NumberSequence.new({
2128NumberSequenceKeypoint.new(0, 0.75, 0),
2129NumberSequenceKeypoint.new(1, 0, 0)
2130})
2131PartEmmit1.Transparency = NumberSequence.new({
2132NumberSequenceKeypoint.new(0, 0, 0),
2133NumberSequenceKeypoint.new(1, 1, 0)
2134})
2135PartEmmit1.Speed = NumberRange.new(0, 0)
2136PartEmmit1.VelocitySpread = 30000
2137PartEmmit1.Rotation = NumberRange.new(-500, 500)
2138PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
2139local BodPoss = IT("BodyPosition", v)
2140BodPoss.P = 3000
2141BodPoss.D = 1000
2142BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
2143BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
2144v.Color = maincolor.Color
2145coroutine.resume(coroutine.create(function()
2146for i = 0, 49 do
2147swait(1)
2148v.Transparency = v.Transparency + 0.08
2149end
2150wait(0.5)
2151PartEmmit1.Enabled = false
2152wait(3)
2153v:Destroy()
2154dude:Destroy()
2155end))
2156end))
2157end
2158end
2159end))
2160end)
2161ds()
2162end
2163end
2164
2165function FindNearestHead(Position, Distance, SinglePlayer)
2166if SinglePlayer then
2167return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
2168end
2169local List = {}
2170for i, v in pairs(workspace:GetChildren()) do
2171if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
2172table.insert(List, v)
2173end
2174end
2175return List
2176end
2177
2178function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
2179local type = type
2180local rng = Instance.new("Part", char)
2181rng.Anchored = true
2182rng.BrickColor = color
2183rng.CanCollide = false
2184rng.FormFactor = 3
2185rng.Name = "Ring"
2186rng.Material = "Neon"
2187rng.Size = Vector3.new(1, 1, 1)
2188rng.Transparency = 0
2189rng.TopSurface = 0
2190rng.BottomSurface = 0
2191rng.CFrame = pos
2192rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
2193local rngm = Instance.new("SpecialMesh", rng)
2194rngm.MeshType = MType
2195rngm.Scale = Vector3.new(x1, y1, z1)
2196local scaler2 = 1
2197local speeder = FastSpeed
2198if type == "Add" then
2199scaler2 = 1 * value
2200elseif type == "Divide" then
2201scaler2 = 1 / value
2202end
2203coroutine.resume(coroutine.create(function()
2204for i = 0, 10 / bonuspeed, 0.1 do
2205swait()
2206if type == "Add" then
2207scaler2 = scaler2 - 0.01 * value / bonuspeed
2208elseif type == "Divide" then
2209scaler2 = scaler2 - 0.01 / value * bonuspeed
2210end
2211speeder = speeder - 0.01 * FastSpeed * bonuspeed
2212rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
2213rng.Transparency = rng.Transparency + 0.01 * bonuspeed
2214rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
2215end
2216rng:Destroy()
2217end))
2218end
2219
2220function SoulSteal(dude)
2221if dude.Name ~= char then
2222local bgf = IT("BodyGyro", dude.Head)
2223bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
2224local val = IT("BoolValue", dude)
2225val.Name = "IsHit"
2226local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
2227local soulst = coroutine.wrap(function()
2228local soul = Instance.new("Part",dude)
2229soul.Size = Vector3.new(1,1,1)
2230soul.CanCollide = false
2231soul.Anchored = false
2232soul.Position = torso.Position
2233soul.Transparency = 1
2234local PartEmmit1 = IT("ParticleEmitter", soul)
2235PartEmmit1.LightEmission = 1
2236PartEmmit1.Texture = "rbxassetid://569507414"
2237PartEmmit1.Color = ColorSequence.new(maincolor.Color)
2238PartEmmit1.Rate = 250
2239PartEmmit1.Lifetime = NumberRange.new(1.6)
2240PartEmmit1.Size = NumberSequence.new({
2241NumberSequenceKeypoint.new(0, 1, 0),
2242NumberSequenceKeypoint.new(1, 0, 0)
2243})
2244PartEmmit1.Transparency = NumberSequence.new({
2245NumberSequenceKeypoint.new(0, 0, 0),
2246NumberSequenceKeypoint.new(1, 1, 0)
2247})
2248PartEmmit1.Speed = NumberRange.new(0, 0)
2249PartEmmit1.VelocitySpread = 30000
2250PartEmmit1.Rotation = NumberRange.new(-360, 360)
2251PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
2252local BodPoss = IT("BodyPosition", soul)
2253BodPoss.P = 3000
2254BodPoss.D = 1000
2255BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
2256BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
2257wait(1.6)
2258soul.Touched:connect(function(hit)
2259if hit.Parent == char then
2260soul:Destroy()
2261end
2262end)
2263wait(1.2)
2264while soul do
2265swait()
2266PartEmmit1.Color = ColorSequence.new(maincolor.Color)
2267BodPoss.Position = tors.Position
2268end
2269end)
2270soulst()
2271end
2272end
2273
2274
2275
2276
2277--killer's effects
2278
2279
2280
2281
2282
2283function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
2284local Part = Create("Part"){
2285Parent = Parent,
2286Reflectance = Reflectance,
2287Transparency = Transparency,
2288CanCollide = false,
2289Locked = true,
2290BrickColor = BrickColor.new(tostring(BColor)),
2291Name = Name,
2292Size = Size,
2293Material = Material,
2294}
2295RemoveOutlines(Part)
2296return Part
2297end
2298
2299function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
2300local Msh = Create(Mesh){
2301Parent = Part,
2302Offset = OffSet,
2303Scale = Scale,
2304}
2305if Mesh == "SpecialMesh" then
2306Msh.MeshType = MeshType
2307Msh.MeshId = MeshId
2308end
2309return Msh
2310end
2311
2312
2313
2314function BlockEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
2315local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
2316prt.Anchored = true
2317prt.CFrame = cframe
2318local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2319game:GetService("Debris"):AddItem(prt, 10)
2320if Type == 1 or Type == nil then
2321table.insert(Effects, {
2322prt,
2323"Block1",
2324delay,
2325x3,
2326y3,
2327z3,
2328msh
2329})
2330elseif Type == 2 then
2331table.insert(Effects, {
2332prt,
2333"Block2",
2334delay,
2335x3,
2336y3,
2337z3,
2338msh
2339})
2340end
2341end
2342
2343function SphereEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2344local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
2345prt.Anchored = true
2346prt.CFrame = cframe
2347local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2348game:GetService("Debris"):AddItem(prt, 10)
2349table.insert(Effects, {
2350prt,
2351"Cylinder",
2352delay,
2353x3,
2354y3,
2355z3,
2356msh
2357})
2358end
2359
2360function RingEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2361local prt=CreatePart(workspace,"Neon",0,0,brickcolor,"Effect",vt(.5,.5,.5))--part(3,workspace,"SmoothPlastic",0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
2362prt.Anchored=true
2363prt.CFrame=cframe
2364msh=CreateMesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=3270017",vt(0,0,0),vt(x1,y1,z1))
2365game:GetService("Debris"):AddItem(prt,2)
2366coroutine.resume(coroutine.create(function(Part,Mesh,num)
2367for i=0,1,delay do
2368swait()
2369Part.Transparency=i
2370Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
2371end
2372Part.Parent=nil
2373end),prt,msh,(math.random(0,1)+math.random())/5)
2374end
2375
2376function CylinderEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2377local prt = CreatePart(workspace, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
2378prt.Anchored = true
2379prt.CFrame = cframe
2380local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2381game:GetService("Debris"):AddItem(prt, 10)
2382table.insert(Effects, {
2383prt,
2384"Cylinder",
2385delay,
2386x3,
2387y3,
2388z3,
2389msh
2390})
2391end
2392
2393function WaveEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2394local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
2395prt.Anchored = true
2396prt.CFrame = cframe
2397local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2398game:GetService("Debris"):AddItem(prt, 10)
2399table.insert(Effects, {
2400prt,
2401"Cylinder",
2402delay,
2403x3,
2404y3,
2405z3,
2406msh
2407})
2408end
2409
2410function SpecialEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2411local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
2412prt.Anchored = true
2413prt.CFrame = cframe
2414local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://24388358", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2415game:GetService("Debris"):AddItem(prt, 10)
2416table.insert(Effects, {
2417prt,
2418"Cylinder",
2419delay,
2420x3,
2421y3,
2422z3,
2423msh
2424})
2425end
2426
2427
2428function MoonEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2429local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
2430prt.Anchored = true
2431prt.CFrame = cframe
2432local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://259403370", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2433game:GetService("Debris"):AddItem(prt, 10)
2434table.insert(Effects, {
2435prt,
2436"Cylinder",
2437delay,
2438x3,
2439y3,
2440z3,
2441msh
2442})
2443end
2444
2445function HeadEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
2446local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
2447prt.Anchored = true
2448prt.CFrame = cframe
2449local msh = CreateMesh("SpecialMesh", prt, "Head", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2450game:GetService("Debris"):AddItem(prt, 10)
2451table.insert(Effects, {
2452prt,
2453"Cylinder",
2454delay,
2455x3,
2456y3,
2457z3,
2458msh
2459})
2460end
2461
2462function BreakEffect(brickcolor, cframe, x1, y1, z1)
2463local prt = CreatePart(workspace, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
2464prt.Anchored = true
2465prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
2466local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
2467local num = math.random(10, 50) / 1000
2468game:GetService("Debris"):AddItem(prt, 10)
2469table.insert(Effects, {
2470prt,
2471"Shatter",
2472num,
2473prt.CFrame,
2474math.random() - math.random(),
24750,
2476math.random(50, 100) / 100
2477})
2478end
2479
2480
2481
2482
2483
2484so = function(id,par,vol,pit)
2485coroutine.resume(coroutine.create(function()
2486local sou = Instance.new("Sound",par or workspace)
2487sou.Volume=vol
2488sou.Pitch=pit or 1
2489sou.SoundId=id
2490sou:play()
2491game:GetService("Debris"):AddItem(sou,8)
2492end))
2493end
2494
2495
2496--end of killer's effects
2497
2498
2499function FaceMouse()
2500local Cam = workspace.CurrentCamera
2501return {
2502CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
2503Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
2504}
2505end
2506-------------------------------------------------------
2507--End Effect Function--
2508-------------------------------------------------------
2509function Cso(ID, PARENT, VOLUME, PITCH)
2510local NSound = nil
2511coroutine.resume(coroutine.create(function()
2512NSound = IT("Sound", PARENT)
2513NSound.Volume = VOLUME
2514NSound.Pitch = PITCH
2515NSound.SoundId = "http://www.roblox.com/asset/?id="..ID
2516swait()
2517NSound:play()
2518game:GetService("Debris"):AddItem(NSound, 10)
2519end))
2520return NSound
2521end
2522function CameraEnshaking(Length, Intensity)
2523coroutine.resume(coroutine.create(function()
2524local intensity = 1 * Intensity
2525local rotM = 0.01 * Intensity
2526for i = 0, Length, 0.1 do
2527swait()
2528intensity = intensity - 0.05 * Intensity / Length
2529rotM = rotM - 5.0E-4 * Intensity / Length
2530hum.CameraOffset = Vector3.new(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)))
2531cam.CFrame = cam.CFrame * CF(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity))) * Euler(Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM)
2532end
2533hum.CameraOffset = Vector3.new(0, 0, 0)
2534end))
2535end
2536-------------------------------------------------------
2537--End Important Functions--
2538-------------------------------------------------------
2539
2540
2541-------------------------------------------------------
2542--Start Customization--
2543-------------------------------------------------------
2544local Player_Size = 1
2545if Player_Size ~= 1 then
2546root.Size = root.Size * Player_Size
2547tors.Size = tors.Size * Player_Size
2548hed.Size = hed.Size * Player_Size
2549ra.Size = ra.Size * Player_Size
2550la.Size = la.Size * Player_Size
2551rl.Size = rl.Size * Player_Size
2552ll.Size = ll.Size * Player_Size
2553----------------------------------------------------------------------------------
2554rootj.Parent = root
2555neck.Parent = tors
2556RW.Parent = tors
2557LW.Parent = tors
2558RH.Parent = tors
2559LH.Parent = tors
2560----------------------------------------------------------------------------------
2561rootj.C0 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
2562rootj.C1 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
2563neck.C0 = necko * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * angles(Rad(0), Rad(0), Rad(0))
2564neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * angles(Rad(-90), Rad(0), Rad(180))
2565RW.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* RIGHTSHOULDERC0
2566LW.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* LEFTSHOULDERC0
2567----------------------------------------------------------------------------------
2568RH.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
2569LH.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
2570RH.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
2571LH.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
2572--hat.Parent = Character
2573end
2574----------------------------------------------------------------------------------
2575local SONG = 900817147 --900817147
2576local SONG2 = 0
2577local Music = Instance.new("Sound",tors)
2578Music.Volume = 0.7
2579Music.Looped = true
2580Music.Pitch = 1 --Pitcher
2581----------------------------------------------------------------------------------
2582local equipped = false
2583local idle = 0
2584local change = 1
2585local val = 0
2586local toim = 0
2587local idleanim = 0.4
2588local sine = 0
2589local Sit = 1
2590local attacktype = 1
2591local attackdebounce = false
2592local euler = CFrame.fromEulerAnglesXYZ
2593local cankick = false
2594----------------------------------------------------------------------------------
2595hum.WalkSpeed = 8
2596hum.JumpPower = 57
2597--[[
2598local ROBLOXIDLEANIMATION = IT("Animation")
2599ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
2600ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
2601]]
2602local ANIMATOR = hum.Animator
2603local ANIMATE = char.Animate
2604ANIMATE.Parent = nil
2605ANIMATOR.Parent = nil
2606-------------------------------------------------------
2607--End Customization--
2608-------------------------------------------------------
2609
2610
2611-------------------------------------------------------
2612--Start Attacks N Stuff--
2613-------------------------------------------------------
2614
2615--pls be proud mak i did my best
2616
2617
2618
2619function attackone()
2620
2621attack = true
2622
2623for i = 0, 1.35, 0.1 do
2624swait()
2625rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-4-2*i), math.rad(4+2*i), math.rad(-40-11*i)), 0.2)
2626tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(40+11*i)), 0.2)
2627RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.6, 0.2) * angles(math.rad(90+4*i), math.rad(-43), math.rad(16+6*i)), 0.3)
2628LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-43)), 0.3)
2629RH.C0 = clerp(RH.C0, CFrame.new(1, -0.7, 0) * RHCF * angles(math.rad(-34), math.rad(0), math.rad(-17)), 0.2)
2630LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, -0.2) * LHCF * angles(math.rad(-24), math.rad(0), math.rad(0)), 0.2)
2631end
2632
2633so("http://roblox.com/asset/?id=1340545854",ra,1,math.random(0.7,1))
2634
2635
2636con5=ra.Touched:connect(function(hit)
2637if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2638if attackdebounce == false then
2639attackdebounce = true
2640
2641so("http://roblox.com/asset/?id=636494529",ra,2,1)
2642
2643RingEffect(BrickColor.new("White"),ra.CFrame*CFrame.new(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2644RingEffect(BrickColor.new("White"),ra.CFrame*CFrame.new(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2645SphereEffect(BrickColor.new("White"),ra.CFrame*CFrame.new(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
2646
2647
2648coroutine.resume(coroutine.create(function()
2649for i = 0,1,0.1 do
2650swait()
2651hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8)),0.24)
2652end
2653end))
2654
2655
2656wait(0.34)
2657attackdebounce = false
2658
2659end
2660end
2661end)
2662for i = 0, 1.12, 0.1 do
2663swait()
2664rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, -0.9, -0) * angles(math.rad(14), math.rad(6), math.rad(23)), 0.35)
2665tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(-4), math.rad(0), math.rad(-23)), 0.35)
2666RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.6, -0.8) * angles(math.rad(110), math.rad(23), math.rad(2)), 0.4)
2667LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0.2) * angles(math.rad(-37), math.rad(0), math.rad(-13)), 0.35)
2668RH.C0 = clerp(RH.C0, CFrame.new(1, -1, -0.3) * RHCF * angles(math.rad(-4), math.rad(0), math.rad(6)), 0.3)
2669LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, 0.05) * LHCF * angles(math.rad(-22), math.rad(0), math.rad(23)), 0.3)
2670end
2671
2672con5:Disconnect()
2673attack = false
2674
2675end
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688function attacktwo()
2689
2690attack = true
2691
2692for i = 0, 1.35, 0.1 do
2693swait()
2694rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-4), math.rad(-4), math.rad(40)), 0.2)
2695tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-40)), 0.2)
2696RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(46)), 0.3)
2697LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.6, 0.2) * angles(math.rad(90), math.rad(23), math.rad(6)), 0.3)
2698RH.C0 = clerp(RH.C0, CFrame.new(1, -0.7, -0.2) * RHCF * angles(math.rad(-34), math.rad(0), math.rad(-17)), 0.2)
2699LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-24), math.rad(0), math.rad(0)), 0.2)
2700end
2701
2702so("http://roblox.com/asset/?id=1340545854",la,1,math.random(0.7,1))
2703
2704
2705con5=la.Touched:connect(function(hit)
2706if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2707if attackdebounce == false then
2708attackdebounce = true
2709
2710so("http://roblox.com/asset/?id=636494529",la,2,1)
2711
2712RingEffect(BrickColor.new("White"),la.CFrame*CFrame.new(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2713RingEffect(BrickColor.new("White"),la.CFrame*CFrame.new(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2714SphereEffect(BrickColor.new("White"),la.CFrame*CFrame.new(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
2715
2716
2717coroutine.resume(coroutine.create(function()
2718for i = 0,1,0.1 do
2719swait()
2720hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8)),0.24)
2721end
2722end))
2723
2724
2725wait(0.34)
2726attackdebounce = false
2727
2728end
2729end
2730end)
2731
2732
2733
2734
2735for i = 0, 1.12, 0.1 do
2736swait()
2737rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, -0.9, -0) * angles(math.rad(14), math.rad(-6), math.rad(-27)), 0.35)
2738tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(-4), math.rad(0), math.rad(27)), 0.35)
2739RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0.16) * angles(math.rad(-33), math.rad(0), math.rad(23)), 0.4)
2740LW.C0 = clerp(LW.C0, CFrame.new(-1.3, 0.67, -0.9) * angles(math.rad(116), math.rad(-28), math.rad(1)), 0.35)
2741RH.C0 = clerp(RH.C0, CFrame.new(1, -1, 0.05) * RHCF * angles(math.rad(-22), math.rad(0), math.rad(-18)), 0.3)
2742LH.C0 = clerp(LH.C0, CFrame.new(-1, -1, -0.3) * LHCF * angles(math.rad(-2), math.rad(0), math.rad(4)), 0.3)
2743end
2744
2745con5:Disconnect()
2746attack = false
2747
2748end
2749
2750
2751
2752
2753
2754function attackthree()
2755
2756attack = true
2757
2758
2759for i = 0, 1.14, 0.1 do
2760swait()
2761rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-4), math.rad(-4), math.rad(40)), 0.2)
2762tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-40)), 0.2)
2763RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-46)), 0.3)
2764LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.6, 0.2) * angles(math.rad(90), math.rad(23), math.rad(36)), 0.3)
2765RH.C0 = clerp(RH.C0, CFrame.new(1, -0.7, -0.2) * RHCF * angles(math.rad(-34), math.rad(0), math.rad(-17)), 0.2)
2766LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-12), math.rad(0), math.rad(34)), 0.2)
2767end
2768
2769con5=hum.Touched:connect(function(hit)
2770if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2771if attackdebounce == false then
2772attackdebounce = true
2773
2774so("http://roblox.com/asset/?id=636494529",ll,2,1)
2775
2776RingEffect(BrickColor.new("White"),ll.CFrame*CF(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2777RingEffect(BrickColor.new("White"),ll.CFrame*CF(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2778SphereEffect(BrickColor.new("White"),ll.CFrame*CF(0,-1,0)*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
2779
2780
2781coroutine.resume(coroutine.create(function()
2782for i = 0,1,0.1 do
2783swait()
2784hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8)),0.24)
2785end
2786end))
2787
2788
2789wait(0.34)
2790attackdebounce = false
2791
2792end
2793end
2794end)
2795
2796so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
2797for i = 0, 9.14, 0.3 do
2798swait()
2799BlockEffect(BrickColor.new("White"), ll.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
2800rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.87) * angles(math.rad(8), math.rad(8), math.rad(0-54*i)), 0.35)
2801tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(12), math.rad(0), math.rad(24)), 0.35)
2802RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(12), math.rad(0), math.rad(62)), 0.35)
2803LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, 0) * angles(math.rad(12), math.rad(0), math.rad(-23)), 0.35)
2804RH.C0 = clerp(RH.C0, CFrame.new(1, -0.17, -0.4) * RHCF * angles(math.rad(7), math.rad(0), math.rad(4)), 0.35)
2805LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.13, -0.6) * LHCF * angles(math.rad(-64-7*i), math.rad(0), math.rad(0-9*i)), 0.35)
2806end
2807attack = false
2808con5:disconnect()
2809end
2810
2811
2812
2813function attackfour()
2814
2815attack = true
2816so("http://www.roblox.com/asset/?id=1452040709", RightLeg, 3, 1)
2817WaveEffect(BrickColor.new("White"), root.CFrame * CFrame.new(0, -1, 0) * euler(0, math.random(-50, 50), 0), 1, 1, 1, 1, 0.5, 1, 0.05)
2818for i = 0, 5.14, 0.1 do
2819swait()
2820SphereEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
2821rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.8) * angles(math.rad(24+4*i), math.rad(0), math.rad(0)), 0.2)
2822tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0+11*i), math.rad(0), math.rad(0)), 0.2)
2823RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(0-6*i), math.rad(0), math.rad(36+4*i)), 0.3)
2824LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(0-6*i), math.rad(0), math.rad(-36-4*i)), 0.3)
2825RH.C0 = clerp(RH.C0, CFrame.new(1, -0.6, -0.3) * RHCF * angles(math.rad(0), math.rad(0), math.rad(-28+4*i)), 0.2)
2826LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.2, -0.5) * LHCF * angles(math.rad(0), math.rad(0), math.rad(-34-4*i)), 0.2)
2827end
2828so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
2829local velo=Instance.new("BodyVelocity")
2830velo.velocity=vt(0,25,0)
2831velo.P=8000
2832velo.maxForce=Vector3.new(math.huge, math.huge, math.huge)
2833velo.Parent=root
2834game:GetService("Debris"):AddItem(velo,0.7)
2835
2836
2837
2838con5=hum.Touched:connect(function(hit)
2839if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2840if attackdebounce == false then
2841attackdebounce = true
2842coroutine.resume(coroutine.create(function()
2843for i = 0,1.5,0.1 do
2844swait()
2845hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.6,-1.8)
2846end
2847end))
2848so("http://roblox.com/asset/?id=636494529",rl,2,1)
2849RingEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2850RingEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2851SphereEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
2852
2853
2854
2855coroutine.resume(coroutine.create(function()
2856for i = 0,1,0.1 do
2857swait()
2858hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.75*1.8,0.75*1.8),math.random(-0.75*1.8,0.75*1.8),math.random(-0.75*1.8,0.75*1.8)),0.44)
2859end
2860end))
2861
2862
2863wait(0.14)
2864attackdebounce = false
2865end
2866end
2867end)
2868
2869for i = 0, 5.11, 0.15 do
2870swait()
2871BlockEffect(BrickColor.new("White"), rl.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
2872rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, 0.1+0.2*i) * angles(math.rad(-10-80*i), math.rad(0), math.rad(0)), 0.42)
2873tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(-43), math.rad(0), math.rad(0)), 0.42)
2874RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-8), math.rad(0), math.rad(60)), 0.35)
2875LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-8), math.rad(0), math.rad(-60)), 0.35)
2876RH.C0 = clerp(RH.C0, CFrame.new(1, -0.5, 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(20+10*i)), 0.42)
2877LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.5, -0.4) * LHCF * angles(math.rad(0), math.rad(0), math.rad(24)), 0.42)
2878end
2879
2880
2881attack = false
2882con5:disconnect()
2883end
2884
2885
2886
2887
2888
2889local cooldown = false
2890function quickkick()
2891attack = true
2892
2893
2894con5=hum.Touched:connect(function(hit)
2895if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2896if attackdebounce == false then
2897attackdebounce = true
2898
2899coroutine.resume(coroutine.create(function()
2900for i = 0,1.5,0.1 do
2901swait()
2902hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.3,-1.8)
2903end
2904end))
2905
2906so("http://roblox.com/asset/?id=636494529",rl,2,1)
2907RingEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2908RingEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
2909SphereEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
2910
2911
2912
2913coroutine.resume(coroutine.create(function()
2914for i = 0,1,0.1 do
2915swait()
2916hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.8*1.8,0.8*1.8),math.random(-0.8*1.8,0.8*1.8),math.random(-0.8*1.8,0.8*1.8)),0.44)
2917end
2918end))
2919
2920
2921wait(0.08)
2922attackdebounce = false
2923end
2924end
2925end)
2926
2927so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
2928for i = 0, 11.14, 0.3 do
2929swait()
2930root.Velocity = root.CFrame.lookVector * 30
2931BlockEffect(BrickColor.new("White"), ll.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
2932rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.87) * angles(math.rad(-21-30*i), math.rad(8+10*i), math.rad(0-90*i)), 0.35)
2933tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(12), math.rad(0), math.rad(24)), 0.35)
2934RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(12), math.rad(0), math.rad(62)), 0.35)
2935LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, 0) * angles(math.rad(12), math.rad(0), math.rad(-23)), 0.35)
2936RH.C0 = clerp(RH.C0, CFrame.new(1, -0.17, -0.4) * RHCF * angles(math.rad(7), math.rad(0), math.rad(4)), 0.35)
2937LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.13, -0.6) * LHCF * angles(math.rad(-64-2*i), math.rad(0), math.rad(0-9*i)), 0.35)
2938end
2939attack = false
2940con5:disconnect()
2941end
2942
2943
2944
2945
2946
2947
2948
2949
2950function Taunt()
2951attack = true
2952hum.WalkSpeed = 0
2953Cso("1535995570", hed, 8.45, 1)
2954for i = 0, 8.2, 0.1 do
2955swait()
2956hum.WalkSpeed = 0
2957rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 12)) * angles(Rad(0), Rad(0), Rad(0)), 0.2)
2958tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(25), Rad(0), Rad(16 * Cos(sine / 12))), 0.2)
2959RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(75), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(0)), 0.1)
2960LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-75), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(0)), 0.1)
2961RW.C0 = clerp(RW.C0, CF(1.1* Player_Size, 0.5 + 0.05 * Sin(sine / 12)* Player_Size, -0.5* Player_Size) * angles(Rad(180), Rad(6), Rad(-56)), 0.1)
2962LW.C0 = clerp(LW.C0, CF(-1* Player_Size, 0.1 + 0.05 * Sin(sine / 12)* Player_Size, -0.5* Player_Size) * angles(Rad(45), Rad(6), Rad(86)), 0.1)
2963end
2964attack = false
2965hum.WalkSpeed = 8
2966end
2967
2968
2969
2970
2971
2972
2973
2974function Hyperkickcombo()
2975
2976attack = true
2977so("http://www.roblox.com/asset/?id=1452040709", RightLeg, 3, 1)
2978WaveEffect(BrickColor.new("White"), root.CFrame * CFrame.new(0, -1, 0) * euler(0, math.random(-50, 50), 0), 1, 1, 1, 1, 0.5, 1, 0.05)
2979for i = 0, 7.14, 0.1 do
2980swait()
2981SphereEffect(BrickColor.new("White"),rl.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
2982rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.8) * angles(math.rad(24), math.rad(0), math.rad(0)), 0.2)
2983tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), 0.2)
2984RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(36)), 0.3)
2985LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-20), math.rad(0), math.rad(-36)), 0.3)
2986RH.C0 = clerp(RH.C0, CFrame.new(1, -0.6, -0.3) * RHCF * angles(math.rad(0), math.rad(0), math.rad(-28)), 0.2)
2987LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.2, -0.5) * LHCF * angles(math.rad(0), math.rad(0), math.rad(-34)), 0.2)
2988end
2989local Cracking = Cso("292536356", tors, 10, 1)
2990for i = 0, 7.14, 0.1 do
2991swait()
2992hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
2993Aura(5, 0.15, "Add" , root.CFrame * CF(Mrandom(-12, 12), -6, Mrandom(-12, 12)) * angles(Rad(90 + Mrandom(-12, 12)), 0, 0), 1.5, 1.5, 10, -0.015, BrickC"Lime green", 0, "Sphere")
2994WaveEffect(BrickColor.new("Lime green"), root.CFrame * CFrame.new(0, -6, 0) * euler(0, math.random(-25, 25), 0), 1, 1, 1, 1, 0.2, 1, 0.05)
2995SphereEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
2996SphereEffect(BrickColor.new("Lime green"),ll.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
2997rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.8) * angles(math.rad(24), math.rad(0), math.rad(0)), 0.2)
2998tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(30), math.rad(0), math.rad(0)), 0.2)
2999RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(36)), 0.3)
3000LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(20), math.rad(0), math.rad(-36)), 0.3)
3001RH.C0 = clerp(RH.C0, CFrame.new(1, -0.6, -0.3) * RHCF * angles(math.rad(0), math.rad(0), math.rad(-28)), 0.2)
3002LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.2, -0.5) * LHCF * angles(math.rad(0), math.rad(0), math.rad(-34)), 0.2)
3003end
3004Cracking.Playing = false
3005so("http://www.roblox.com/asset/?id=197161452", char, 3, 0.8)
3006so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
3007SphereEffect(BrickColor.new("Lime green"),tors.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,38,38,38,0.08)
3008local velo=Instance.new("BodyVelocity")
3009velo.velocity=vt(0,27,0)
3010velo.P=11000
3011velo.maxForce=Vector3.new(math.huge, math.huge, math.huge)
3012velo.Parent=root
3013game:GetService("Debris"):AddItem(velo,1.24)
3014
3015
3016
3017con5=hum.Touched:connect(function(hit)
3018if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3019if attackdebounce == false then
3020attackdebounce = true
3021coroutine.resume(coroutine.create(function()
3022for i = 0,1.5,0.1 do
3023swait()
3024hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,3.4,-1.8)
3025end
3026end))
3027so("http://roblox.com/asset/?id=636494529",rl,2,1.6)
3028RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3029RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3030SphereEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
3031
3032
3033
3034coroutine.resume(coroutine.create(function()
3035for i = 0,1,0.1 do
3036swait()
3037hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
3038end
3039end))
3040
3041
3042wait(0.09)
3043attackdebounce = false
3044end
3045end
3046end)
3047
3048for i = 0, 9.11, 0.2 do
3049swait()
3050BlockEffect(BrickColor.new("Lime green"), rl.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
3051rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, 0.1+0.12*i) * angles(math.rad(-10-95*i), math.rad(0), math.rad(0)), 0.42)
3052tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(-43), math.rad(0), math.rad(0)), 0.42)
3053RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(-8), math.rad(0), math.rad(60)), 0.35)
3054LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(-8), math.rad(0), math.rad(-60)), 0.35)
3055RH.C0 = clerp(RH.C0, CFrame.new(1, -0.5, 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(20+10*i)), 0.42)
3056LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.5, -0.4) * LHCF * angles(math.rad(0), math.rad(0), math.rad(24)), 0.42)
3057end
3058
3059
3060
3061
3062con5:disconnect()
3063
3064
3065
3066
3067
3068
3069con5=hum.Touched:connect(function(hit)
3070if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3071if attackdebounce == false then
3072attackdebounce = true
3073coroutine.resume(coroutine.create(function()
3074for i = 0,1.5,0.1 do
3075swait()
3076hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.1,-1.8)
3077end
3078end))
3079so("http://roblox.com/asset/?id=636494529",rl,2,1.6)
3080RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3081RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3082SphereEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
3083
3084
3085
3086coroutine.resume(coroutine.create(function()
3087for i = 0,1,0.1 do
3088swait()
3089hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
3090end
3091end))
3092
3093
3094wait(0.08)
3095attackdebounce = false
3096end
3097end
3098end)
3099
3100
3101
3102so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
3103for i = 0, 9.14, 0.3 do
3104swait()
3105root.Velocity = root.CFrame.lookVector * 20
3106BlockEffect(BrickColor.new("Lime green"), ll.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
3107rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.87) * angles(math.rad(53), math.rad(8), math.rad(0-54*i)), 0.35)
3108tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(12), math.rad(0), math.rad(24)), 0.35)
3109RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(12), math.rad(0), math.rad(62)), 0.35)
3110LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, 0) * angles(math.rad(12), math.rad(0), math.rad(-23)), 0.35)
3111RH.C0 = clerp(RH.C0, CFrame.new(1, -0.17, -0.4) * RHCF * angles(math.rad(7), math.rad(0), math.rad(4)), 0.35)
3112LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.13, -0.6) * LHCF * angles(math.rad(-64-7*i), math.rad(0), math.rad(0-9*i)), 0.35)
3113end
3114
3115
3116
3117con5:disconnect()
3118
3119
3120
3121con5=hum.Touched:connect(function(hit)
3122if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3123if attackdebounce == false then
3124attackdebounce = true
3125coroutine.resume(coroutine.create(function()
3126for i = 0,1.5,0.1 do
3127swait()
3128hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.1,-1.8)
3129end
3130end))
3131so("http://roblox.com/asset/?id=636494529",rl,2,1.6)
3132RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3133RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3134SphereEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
3135
3136
3137
3138coroutine.resume(coroutine.create(function()
3139for i = 0,1,0.1 do
3140swait()
3141hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
3142end
3143end))
3144
3145
3146wait(0.05)
3147attackdebounce = false
3148end
3149end
3150end)
3151
3152
3153so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
3154for i = 0, 15.14, 0.32 do
3155swait()
3156root.Velocity = root.CFrame.lookVector * 20
3157BlockEffect(BrickColor.new("Lime green"), ll.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
3158rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.87) * angles(math.rad(-21-50*i), math.rad(8+20*i), math.rad(0-90*i)), 0.35)
3159tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(12), math.rad(0), math.rad(24)), 0.35)
3160RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(12), math.rad(0), math.rad(62)), 0.35)
3161LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, 0) * angles(math.rad(12), math.rad(0), math.rad(-23)), 0.35)
3162RH.C0 = clerp(RH.C0, CFrame.new(1, -0.17, -0.4) * RHCF * angles(math.rad(7), math.rad(0), math.rad(4)), 0.35)
3163LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.13, -0.6) * LHCF * angles(math.rad(-64-2*i), math.rad(0), math.rad(0-4*i)), 0.35)
3164end
3165
3166attack = false
3167con5:disconnect()
3168
3169end
3170
3171
3172
3173
3174
3175local ultra = false
3176
3177function Galekicks()
3178
3179attack = true
3180so("http://www.roblox.com/asset/?id=1452040709", RightLeg, 3, 1)
3181for i = 0, 1.65, 0.1 do
3182swait()
3183root.Velocity = root.CFrame.lookVector * 0
3184SphereEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
3185rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-32), math.rad(-2), math.rad(90)), 0.2)
3186tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-17), math.rad(-90)), 0.2)
3187RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.3)
3188LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.3)
3189RH.C0 = clerp(RH.C0, CFrame.new(1, .62 , -0.3) * RHCF * angles(math.rad(-40), math.rad(0), math.rad(2)), 0.2)
3190LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-28), math.rad(0), math.rad(0)), 0.2)
3191end
3192
3193
3194for i = 1, 17 do
3195
3196con5=hum.Touched:connect(function(hit)
3197if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3198if attackdebounce == false then
3199attackdebounce = true
3200coroutine.resume(coroutine.create(function()
3201for i = 0,1.5,0.1 do
3202swait()
3203hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.1,-1.8)
3204end
3205end))
3206so("http://roblox.com/asset/?id=636494529",rl,2,1.6)
3207RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3208RingEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3209SphereEffect(BrickColor.new("Lime green"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
3210
3211
3212
3213coroutine.resume(coroutine.create(function()
3214for i = 0,1,0.1 do
3215swait()
3216hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
3217end
3218end))
3219
3220
3221wait(0.05)
3222attackdebounce = false
3223end
3224end
3225end)
3226
3227for i = 0, .1, 0.2 do
3228swait()
3229BlockEffect(BrickColor.new("Lime green"), rl.CFrame*CF(0,-1,0), 2, 2, 2, 1.5, 1.5, 1.5, 0.03)
3230root.Velocity = root.CFrame.lookVector * 10
3231rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, -0.5, -0.3) * angles(math.rad(-44), math.rad(-2), math.rad(90)), 0.7)
3232tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-24), math.rad(-90)), 0.7)
3233RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.7)
3234LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.7)
3235RH.C0 = clerp(RH.C0, CFrame.new(1, -.6 , 0) * RHCF * angles(math.rad(math.random(-100,-10)), math.rad(0), math.rad(2)), 0.7)
3236LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-34), math.rad(0), math.rad(0)), 0.7)
3237end
3238
3239so("http://roblox.com/asset/?id=1340545854",rl,1,math.random(0.7,1))
3240
3241for i = 0, 0.4, 0.2 do
3242swait()
3243rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-32), math.rad(-2), math.rad(90)), 0.2)
3244tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-17), math.rad(-90)), 0.2)
3245RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.3)
3246LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.3)
3247RH.C0 = clerp(RH.C0, CFrame.new(1, .62 , -0.3) * RHCF * angles(math.rad(-40), math.rad(0), math.rad(2)), 0.2)
3248LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-28), math.rad(0), math.rad(0)), 0.2)
3249end
3250con5:disconnect()
3251end
3252
3253
3254u = mouse.KeyDown:connect(function(key)
3255if key == 'r' and combohits >= 150 then
3256ultra = true
3257SphereEffect(BrickColor.new("Really red"),tors.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,15,15,15,0.04)
3258end
3259end)
3260wait(0.3)
3261if ultra == true then
3262combohits = 0
3263wait(0.1)
3264for i = 0, 1.65, 0.1 do
3265swait()
3266root.Velocity = root.CFrame.lookVector * 0
3267SphereEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
3268rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-32), math.rad(-2), math.rad(90)), 0.2)
3269tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-17), math.rad(-90)), 0.2)
3270RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.3)
3271LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.3)
3272RH.C0 = clerp(RH.C0, CFrame.new(1, .62 , -0.3) * RHCF * angles(math.rad(-40), math.rad(0), math.rad(2)), 0.2)
3273LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-28), math.rad(0), math.rad(0)), 0.2)
3274end
3275
3276
3277so("http://roblox.com/asset/?id=146094803",hed,1,1.2)
3278
3279for i = 1, 65 do
3280--Aura(5, 0.15, "Add" , root.CFrame * CF(Mrandom(-12, 12), -6, Mrandom(-12, 12)) * angles(Rad(90 + Mrandom(-12, 12)), 0, 0), 1.5, 1.5, 10, -0.015, BrickC"Really red", 0, "Brick")
3281con5=hum.Touched:connect(function(hit)
3282if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3283if attackdebounce == false then
3284attackdebounce = true
3285coroutine.resume(coroutine.create(function()
3286for i = 0,1.5,0.1 do
3287swait()
3288hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.1,-1.8)
3289end
3290end))
3291so("http://roblox.com/asset/?id=636494529",rl,2,1.6)
3292RingEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3293RingEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3294SphereEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
3295
3296
3297
3298coroutine.resume(coroutine.create(function()
3299for i = 0,1,0.1 do
3300swait()
3301hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
3302end
3303end))
3304
3305
3306wait(0.05)
3307attackdebounce = false
3308end
3309end
3310end)
3311
3312for i = 0, .03, 0.1 do
3313swait()
3314BlockEffect(BrickColor.new("Really red"), rl.CFrame*CF(0,-1,0), 2, 2, 2, 1.5, 1.5, 1.5, 0.03)
3315root.Velocity = root.CFrame.lookVector * 10
3316rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, -0.5, -0.3) * angles(math.rad(-44), math.rad(-2), math.rad(90)), 0.7)
3317tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-24), math.rad(-90)), 0.7)
3318RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.7)
3319LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.7)
3320RH.C0 = clerp(RH.C0, CFrame.new(1, -.6 , 0) * RHCF * angles(math.rad(math.random(-100,-10)), math.rad(0), math.rad(2)), 0.7)
3321LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-34), math.rad(0), math.rad(0)), 0.7)
3322end
3323
3324so("http://roblox.com/asset/?id=1340545854",rl,1,math.random(0.7,1))
3325
3326for i = 0, 0.07, 0.1 do
3327swait()
3328rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-32), math.rad(-2), math.rad(90)), 0.2)
3329tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-17), math.rad(-90)), 0.2)
3330RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.3)
3331LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.3)
3332RH.C0 = clerp(RH.C0, CFrame.new(1, .62 , -0.3) * RHCF * angles(math.rad(-40), math.rad(0), math.rad(2)), 0.2)
3333LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-28), math.rad(0), math.rad(0)), 0.2)
3334end
3335con5:disconnect()
3336end
3337
3338for i = 0, 1.65, 0.1 do
3339swait()
3340root.Velocity = root.CFrame.lookVector * 0
3341SphereEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-50,50),math.random(-50,50),math.random(-50,50)),1,5,1,.05,4,.05,0.03)
3342rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0.7, -0.3) * angles(math.rad(-32), math.rad(-2), math.rad(90)), 0.2)
3343tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-17), math.rad(-90)), 0.2)
3344RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.3)
3345LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.3)
3346RH.C0 = clerp(RH.C0, CFrame.new(1, .62 , -0.3) * RHCF * angles(math.rad(-40), math.rad(0), math.rad(2)), 0.2)
3347LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-28), math.rad(0), math.rad(0)), 0.2)
3348end
3349
3350con5=hum.Touched:connect(function(hit)
3351if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3352if attackdebounce == false then
3353attackdebounce = true
3354coroutine.resume(coroutine.create(function()
3355for i = 0,1.5,0.1 do
3356swait()
3357--hit.Parent.Head.CFrame = root.CFrame * CFrame.new(0,1.1,-1.8)
3358end
3359end))
3360so("http://roblox.com/asset/?id=636494529",rl,2,.63)
3361RingEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3362RingEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,.2,2,.2,0.06)
3363SphereEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,3,3,3,0.06)
3364
3365
3366coroutine.resume(coroutine.create(function()
3367for i = 0,1,0.1 do
3368swait()
3369hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8),math.random(-0.55*1.8,0.55*1.8)),0.34)
3370end
3371end))
3372
3373
3374wait(0.05)
3375attackdebounce = false
3376end
3377end
3378end)
3379
3380so("http://www.roblox.com/asset/?id=1452040709", RightLeg, 1, 1.4)
3381SphereEffect(BrickColor.new("Really red"),rl.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,38,38,38,0.08)
3382
3383for i = 0, 2, 0.1 do
3384swait()
3385--BlockEffect(BrickColor.new("Really red"), rl.CFrame*CF(0,-1,0), 2, 2, 2, 1.5, 1.5, 1.5, 0.03)
3386rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, -0.5, -0.3) * angles(math.rad(-32), math.rad(-2), math.rad(90)), 0.2)
3387tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(0), math.rad(-17), math.rad(-90)), 0.2)
3388RW.C0 = clerp(RW.C0, CFrame.new(1.1, 0.5, -0.6) * angles(math.rad(90), math.rad(0), math.rad(-56)), 0.3)
3389LW.C0 = clerp(LW.C0, CFrame.new(-1.2, 0.6, -0.5) * angles(math.rad(90), math.rad(0), math.rad(56)), 0.3)
3390RH.C0 = clerp(RH.C0, CFrame.new(1, -.6 , 0.2) * RHCF * angles(math.rad(-50), math.rad(0), math.rad(2)), 0.2)
3391LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.7, 0) * LHCF * angles(math.rad(-28), math.rad(0), math.rad(0)), 0.2)
3392end
3393SphereEffect(BrickColor.new("Really red"),tors.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,8,8,8,0.04)
3394
3395wait(0.25)
3396con5:Disconnect()
3397
3398
3399
3400
3401con5=hum.Touched:connect(function(hit)
3402if hit.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
3403if attackdebounce == false then
3404attackdebounce = true
3405
3406so("http://roblox.com/asset/?id=565207203",ll,7,0.63)
3407
3408RingEffect(BrickColor.new("Really red"),ll.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,2.2,6,2.2,0.04)
3409RingEffect(BrickColor.new("Really red"),ll.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,2.2,6,2.2,0.04)
3410SphereEffect(BrickColor.new("Really red"),ll.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,8,8,8,0.04)
3411SpecialEffect(BrickColor.new("Really red"),ll.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,8,8,8,0.04)
3412SphereEffect(BrickColor.new("Really red"),ll.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,5,18,5,0.04)
3413WaveEffect(BrickColor.new("Really red"),ll.CFrame*angles(math.random(-360,360),math.random(-360,360),math.random(-360,360)),1,5,1,1.5,16,1.5,0.04)
3414
3415coroutine.resume(coroutine.create(function()
3416for i = 0,1,0.1 do
3417swait()
3418hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8),math.random(-0.35*1.8,0.35*1.8)),0.24)
3419end
3420end))
3421
3422wait(0.06)
3423attackdebounce = false
3424
3425end
3426end
3427end)
3428
3429coroutine.resume(coroutine.create(function()
3430while ultra == true do
3431swait()
3432root.CFrame = root.CFrame*CFrame.new(math.random(-3,3),math.random(-2,2),math.random(-3,3))
3433end
3434end))
3435
3436
3437so("http://www.roblox.com/asset/?id=158475221", RightLeg, 1, 1.3)
3438for i = 1,3 do
3439for i = 0, 9.14, 0.45 do
3440swait()
3441root.Velocity = root.CFrame.lookVector * 30
3442BlockEffect(BrickColor.new("Really red"), ll.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
3443rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.87) * angles(math.rad(8), math.rad(8), math.rad(0-94*i)), 0.35)
3444tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(12), math.rad(0), math.rad(24)), 0.35)
3445RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(12), math.rad(0), math.rad(62)), 0.35)
3446LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, 0) * angles(math.rad(12), math.rad(0), math.rad(-23)), 0.35)
3447RH.C0 = clerp(RH.C0, CFrame.new(1, -0.17, -0.4) * RHCF * angles(math.rad(7), math.rad(0), math.rad(4)), 0.35)
3448LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.13, -0.6) * LHCF * angles(math.rad(-64-7*i), math.rad(0), math.rad(0-9*i)), 0.35)
3449end
3450end
3451
3452
3453for i = 1,3 do
3454for i = 0, 11.14, 0.45 do
3455swait()
3456root.Velocity = root.CFrame.lookVector * 30
3457BlockEffect(BrickColor.new("Really red"), ll.CFrame*CF(0,-1,0), 2, 2, 2, 3.5, 3.5, 3.5, 0.05)
3458rootj.C0 = clerp(rootj.C0, RootCF * CFrame.new(0, 0, -0.87) * angles(math.rad(-21-30*i), math.rad(8+10*i), math.rad(0-110*i)), 0.35)
3459tors.Neck.C0 = clerp(tors.Neck.C0, necko * angles(math.rad(12), math.rad(0), math.rad(24)), 0.35)
3460RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(12), math.rad(0), math.rad(62)), 0.35)
3461LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.3, 0) * angles(math.rad(12), math.rad(0), math.rad(-23)), 0.35)
3462RH.C0 = clerp(RH.C0, CFrame.new(1, -0.17, -0.4) * RHCF * angles(math.rad(27), math.rad(0), math.rad(74)), 0.35)
3463LH.C0 = clerp(LH.C0, CFrame.new(-1, -0.13, -0.6) * LHCF * angles(math.rad(-34-2*i), math.rad(0), math.rad(0-9*i)), 0.35)
3464end
3465
3466
3467
3468end
3469so("http://www.roblox.com/asset/?id=197161452", char, 0.5, 0.8)
3470con5:disconnect()
3471
3472
3473end -- combo hit end
3474attack = false
3475ultra = false
3476u:disconnect()
3477
3478end
3479
3480
3481
3482
3483-------------------------------------------------------
3484--End Attacks N Stuff--
3485-------------------------------------------------------
3486mouse.KeyDown:connect(function(key)
3487if string.byte(key) == 48 then
3488Swing = 2
3489hum.WalkSpeed = 24.82
3490end
3491end)
3492mouse.KeyUp:connect(function(key)
3493if string.byte(key) == 48 then
3494Swing = 1
3495hum.WalkSpeed = 8
3496end
3497end)
3498
3499
3500
3501
3502
3503
3504
3505mouse.Button1Down:connect(function()
3506if attack==false then
3507if attacktype==1 then
3508attack=true
3509attacktype=2
3510attackone()
3511elseif attacktype==2 then
3512attack=true
3513attacktype=3
3514attacktwo()
3515elseif attacktype==3 then
3516attack=true
3517attacktype=4
3518attackthree()
3519elseif attacktype==4 then
3520attack=true
3521attacktype=1
3522attackfour()
3523end
3524end
3525end)
3526
3527
3528
3529
3530mouse.KeyDown:connect(function(key)
3531if key == 'e' and attack == false and cankick == true and cooldown == false then
3532quickkick()
3533cooldown = true
3534
3535coroutine.resume(coroutine.create(function()
3536wait(2)
3537cooldown = false
3538end))
3539
3540
3541
3542end
3543end)
3544
3545
3546
3547
3548
3549
3550
3551
3552mouse.KeyDown:connect(function(key)
3553if attack == false then
3554if key == 't' then
3555Taunt()
3556elseif key == 'f' then
3557Hyperkickcombo()
3558elseif key == 'r' then
3559Galekicks()
3560end
3561end
3562end)
3563
3564-------------------------------------------------------
3565--Start Animations--
3566-------------------------------------------------------
3567print("By Makhail07 and KillerDarkness0105")
3568print("Basic Animations by Makhail07")
3569print("Attack Animations by KillerDarkness0105")
3570print("This is pretty much our final script together")
3571print("--------------------------------")
3572print("Attacks")
3573print("E in air: Quick Kicks")
3574print("Left Mouse: 4 click combo")
3575print("F: Hyper Kicks")
3576print("R: Gale Kicks, Spam R if your combo is over 150 to do an ultra combo")
3577print("--------------------------------")
3578while true do
3579swait()
3580sine = sine + change
3581local torvel = (root.Velocity * Vector3.new(1, 0, 1)).magnitude
3582local velderp = root.Velocity.y
3583hitfloor, posfloor = rayCast(root.Position, CFrame.new(root.Position, root.Position - Vector3.new(0, 1, 0)).lookVector, 4* Player_Size, char)
3584
3585if hitfloor == nil then
3586cankick = true
3587else
3588cankick = false
3589end
3590
3591
3592if equipped == true or equipped == false then
3593if attack == false then
3594idle = idle + 1
3595else
3596idle = 0
3597end
3598if 1 < root.Velocity.y and hitfloor == nil then
3599Anim = "Jump"
3600if attack == false then
3601hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
3602rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(-16), Rad(0), Rad(0)), 0.15)
3603neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.1)
3604RH.C0 = clerp(RH.C0, CF(1* Player_Size, -.2 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * RHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
3605LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.9 - 0.1 * Cos(sine / 20), -.5* Player_Size) * LHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
3606RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(13 + 4.5 * Sin(sine / 20))), 0.1)
3607LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(-13 - 4.5 * Sin(sine / 20))), 0.1)
3608end
3609elseif -1 > root.Velocity.y and hitfloor == nil then
3610Anim = "Fall"
3611if attack == false then
3612hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
3613rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(24), Rad(0), Rad(0)), 0.15)
3614neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.1)
3615RH.C0 = clerp(RH.C0, CF(1* Player_Size, -1 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * RHCF * angles(Rad(-3.5), Rad(0), Rad(0)), 0.15)
3616LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.8 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * LHCF * angles(Rad(-3.5), Rad(0), Rad(0)), 0.15)
3617RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(65), Rad(-.6), Rad(45 + 4.5 * Sin(sine / 20))), 0.1)
3618LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(55), Rad(-.6), Rad(-45 - 4.5 * Sin(sine / 20))), 0.1)
3619end
3620elseif torvel < 1 and hitfloor ~= nil then
3621Anim = "Idle"
3622change = 1
3623if attack == false then
3624hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
3625rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 12)) * angles(Rad(0), Rad(0), Rad(20)), 0.1)
3626tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-6.5 * Sin(sine / 12)), Rad(0), Rad(-20)), 0.1)
3627RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(75), Rad(0)) * angles(Rad(-12.5), Rad(0), Rad(0)), 0.1)
3628LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 12)* Player_Size, -0.2* Player_Size) * angles(Rad(0), Rad(-65), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(6)), 0.1)
3629RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.2 + 0.05 * Sin(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(110), Rad(6 + 6.5 * Sin(sine / 12)), Rad(25)), 0.1)
3630LW.C0 = clerp(LW.C0, CF(-1.3* Player_Size, 0.2 + 0.05 * Sin(sine / 12)* Player_Size, -0.5* Player_Size) * angles(Rad(110), Rad(6 - 6.5 * Sin(sine / 12)), Rad(25)), 0.1)
3631end
3632elseif torvel > 2 and torvel < 22 and hitfloor ~= nil then
3633Anim = "Walk"
3634change = 1
3635if attack == false then
3636hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
3637rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(3 - 2.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(8 * Cos(sine / 7))), 0.15)
3638tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-1), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.15)
3639RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.8 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 - 15 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 10 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
3640LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.8 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 + 15 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 10 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
3641RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(56) * Cos(sine / 7) , Rad(10 * Cos(sine / 7)), Rad(6) - ra.RotVelocity.Y / 75), 0.1)
3642LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(-56) * Cos(sine / 7) , Rad(10 * Cos(sine / 7)) , Rad(-6) + la.RotVelocity.Y / 75), 0.1)
3643end
3644elseif torvel >= 22 and hitfloor ~= nil then
3645Anim = "Sprint"
3646change = 1.35
3647if attack == false then
3648hum.CameraOffset = hum.CameraOffset:lerp(Vector3.new(0,0,0),0.15)
3649rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(26 - 4.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(15 * Cos(sine / 7))), 0.15)
3650tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-8.5 - 2 * Sin(sine / 20)), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.15)
3651RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.925 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.7 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 - 55 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 0.1 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
3652LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.925 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.7 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 + 55 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 0.1 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
3653RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 30)* Player_Size, 0.34 * Cos(sine / 7* Player_Size)) * angles(Rad(-65) , Rad(0), Rad(13) - ra.RotVelocity.Y / 75), 0.15)
3654LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 30)* Player_Size, -0.34 * Cos(sine / 7* Player_Size)) * angles(Rad(-65) , Rad(0) , Rad(-13) + la.RotVelocity.Y / 75), 0.15)
3655end
3656end
3657end
3658Music.SoundId = "rbxassetid://"..SONG
3659Music.Looped = true
3660Music.Pitch = 1
3661Music.Volume = 0.7
3662Music.Parent = tors
3663Music:Resume()
3664if 0 < #Effects then
3665for e = 1, #Effects do
3666if Effects[e] ~= nil then
3667local Thing = Effects[e]
3668if Thing ~= nil then
3669local Part = Thing[1]
3670local Mode = Thing[2]
3671local Delay = Thing[3]
3672local IncX = Thing[4]
3673local IncY = Thing[5]
3674local IncZ = Thing[6]
3675if 1 >= Thing[1].Transparency then
3676if Thing[2] == "Block1" then
3677Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
3678local Mesh = Thing[1].Mesh
3679Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
3680Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3681elseif Thing[2] == "Block2" then
3682Thing[1].CFrame = Thing[1].CFrame + Vector3.new(0, 0, 0)
3683local Mesh = Thing[7]
3684Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
3685Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3686elseif Thing[2] == "Block3" then
3687Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) + Vector3.new(0, 0.15, 0)
3688local Mesh = Thing[7]
3689Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
3690Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3691elseif Thing[2] == "Cylinder" then
3692local Mesh = Thing[1].Mesh
3693Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
3694Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3695elseif Thing[2] == "Blood" then
3696local Mesh = Thing[7]
3697Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0)
3698Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
3699Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3700elseif Thing[2] == "Elec" then
3701local Mesh = Thing[1].Mesh
3702Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
3703Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3704elseif Thing[2] == "Disappear" then
3705Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3706elseif Thing[2] == "Shatter" then
3707Thing[1].Transparency = Thing[1].Transparency + Thing[3]
3708Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
3709Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
3710Thing[6] = Thing[6] + Thing[5]
3711end
3712else
3713Part.Parent = nil
3714table.remove(Effects, e)
3715end
3716end
3717end
3718end
3719end
3720end
3721-------------------------------------------------------
3722--End Animations And Script--
3723 -------------------------------------------------------