View difference between Paste ID: szHn1TFm and AzBinGZw
SHOW: | | - or go back to the newest paste.
1
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
2
local Player,game,owner = owner,game
3
local RealPlayer = Player
4
do
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
143
end
144
145
146
147
148
script.Parent=nil
149
--- shortcuts
150
v3 = Vector3.new
151
cn = CFrame.new
152
ca2 = CFrame.Angles
153
mf = math.floor
154
mran = math.random
155
mrad = math.rad
156
mdeg = math.deg
157
ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end
158
mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end
159
ud=UDim2.new
160
bn = BrickColor.new
161
c3 = Color3.new
162
-----
163
--Player='Diitto'
164
Players=game:service'Players'
165
Player=Players.LocalPlayer --[Herobrinerte]
166
PChar=Player.Character
167
 
168
as,so={},{'metal','Block','Slash','Slash2','Hit','Kick'}
169
as.corner='11294911'
170
as.cone='1033714'
171
as.ring="3270017"
172
as.Chakram='47260990'
173
as.ring2='18430887'
174
as.blast='20329976'
175
as.missile='10207677'
176
as.fire='2693346'
177
as.boom='3264793'
178
as.slash='10209645'
179
as.abscond='2767090'
180
as.firelaser='13775494'
181
as.diamond='9756362'
182
as.metal='rbxasset://sounds\\unsheath.wav'
183
as.Block = 'rbxasset://sounds\\metal.ogg'
184
as.Slash = '10209645'
185
as.Slash2 = '46760716'
186
as.Hit='10209583'
187
as.Kick='46153268'
188
as.cast='2101137'
189
as.rockhead= '21629626'
190
as.rockheadt='21629620'
191
 
192
 
193
for i,v in pairs(as) do
194
if type(tonumber(v:sub(1,3)))=="number" then
195
as[i]="http://www.roblox.com/asset/?id="..v
196
end
197
end
198
 
199
LastMade=nil
200
iNew=function(tab)
201
local v=Instance.new(tab[1])
202
for Ind,Val in pairs(tab) do
203
if Ind~=1 and Ind~=2 then
204
v[Ind] = Val
205
end
206
end
207
v.Parent=tab[2]==0 and LastMade or tab[2]
208
LastMade=v
209
return v
210
end
211
iPart=function(tab)
212
local v=Instance.new(tab.type or 'Part')
213
if tab.type~='CornerWedgePart' then v.formFactor='Custom' end
214
v.TopSurface=0 v.BottomSurface=0
215
if tab.sc then
216
v.Size=v3(tab[2]*tab.sc,tab[3]*tab.sc,tab[4]*tab.sc)
217
else
218
v.Size=v3(tab[2],tab[3],tab[4])
219
end
220
if tab.co then v.BrickColor=bn(tab.co) end
221
if tab.tr then v.Transparency=tab.tr end
222
if tab.rf then v.Reflectance=tab.rf end
223
if tab.can then v.CanCollide=tab.can end
224
if tab.cf then v.CFrame=tab.cf end
225
if tab.an then v.Anchored=tab.an end
226
if tab.na then v.Name=tab.na end
227
if tab.ma then v.Material=tab.ma end
228
v.Parent=tab[1]
229
v:BreakJoints()
230
LastMade=v
231
return v
232
end
233
function getoutline(x,z,i)
234
return math.sqrt(x^2+z^2)+(i or 0.05),mdeg(math.atan2(x,z))
235
end
236
function v32(cf)
237
local x,y,z=cf:toEulerAnglesXYZ()
238
return v3(mdeg(x),mdeg(y),mdeg(z))
239
end
240
WeldLib={}
241
function GetWeld(weld,CO)
242
if not WeldLib[weld] then
243
local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
244
local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
245
WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
246
end
247
return weld['C'..CO].p,WeldLib[weld][CO]
248
end
249
function ClearWeld(weld)
250
if WeldLib[weld] then WeldLib[weld]=nil end
251
end
252
function TweenNum(i,loops,i1,i2,smooth)
253
smooth = smooth or 1
254
local perc
255
if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
256
local ton
257
if i1 > i2 then
258
ton = -math.abs(i1 - i2) *perc
259
else
260
ton = math.abs(i1 - i2) *perc
261
end
262
return i1+ton
263
end
264
function TweenV3(i,loops,v1,v2,smooth)
265
smooth = smooth or 1
266
local perc
267
if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
268
local tox2,toy2,toz2 = 0,0,0
269
if v1.x > v2.x then
270
tox2 = -math.abs(v1.x - v2.x) *perc
271
else
272
tox2 = math.abs(v1.x - v2.x) *perc
273
end
274
if v1.y > v2.y then
275
toy2 = -math.abs(v1.y - v2.y) *perc
276
else
277
toy2 = math.abs(v1.y - v2.y) *perc
278
end
279
if v1.z > v2.z then
280
toz2 = -math.abs(v1.z - v2.z) *perc
281
else
282
toz2 = math.abs(v1.z - v2.z) *perc
283
end
284
return v3(v1.x + tox2,v1.y + toy2,v1.z + toz2)
285
end
286
function TweenCF(i,loops,origpos,origangle,nextpos,nextangle,smooth)
287
smooth = smooth or 1
288
local perc
289
if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
290
local tox,toy,toz = 0,0,0
291
if origangle.x > nextangle.x then tox = -math.abs(origangle.x - nextangle.x) *perc
292
else tox = math.abs(origangle.x - nextangle.x) *perc end
293
if origangle.y > nextangle.y then toy = -math.abs(origangle.y - nextangle.y) *perc
294
else toy = math.abs(origangle.y - nextangle.y) *perc end
295
if origangle.z > nextangle.z then toz = -math.abs(origangle.z - nextangle.z) *perc
296
else toz = math.abs(origangle.z - nextangle.z) *perc end
297
local tox2,toy2,toz2 = 0,0,0
298
if origpos.x > nextpos.x then
299
tox2 = -math.abs(origpos.x - nextpos.x) *perc
300
else tox2 = math.abs(origpos.x - nextpos.x) *perc end
301
if origpos.y > nextpos.y then
302
toy2 = -math.abs(origpos.y - nextpos.y) *perc
303
else toy2 = math.abs(origpos.y - nextpos.y) *perc end
304
if origpos.z > nextpos.z then
305
toz2 = -math.abs(origpos.z - nextpos.z) *perc
306
else toz2 = math.abs(origpos.z - nextpos.z) *perc end
307
return cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
308
end
309
function SetWeld(weld,CO,i, loops, origpos,origangle, nextpos,nextangle,smooth)
310
loops=math.floor(loops)
311
smooth = smooth or 1
312
if not WeldLib[weld] then
313
local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
314
local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
315
WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
316
end
317
local perc =smooth==1 and math.sin((math.pi/2)/loops*i) or i/loops
318
--print(weld.Part1)
319
local tox,toy,toz = 0,0,0
320
tox = origangle.x > nextangle.x and -math.abs(origangle.x - nextangle.x) *perc or math.abs(origangle.x - nextangle.x) *perc
321
toy = origangle.y > nextangle.y and -math.abs(origangle.y - nextangle.y) *perc or math.abs(origangle.y - nextangle.y) *perc
322
toz = origangle.z > nextangle.z and -math.abs(origangle.z - nextangle.z) *perc or math.abs(origangle.z - nextangle.z) *perc
323
local tox2,toy2,toz2 = 0,0,0
324
tox2= origpos.x > nextpos.x and -math.abs(origpos.x - nextpos.x) *perc or math.abs(origpos.x - nextpos.x) *perc
325
toy2= origpos.y > nextpos.y and -math.abs(origpos.y - nextpos.y) *perc or math.abs(origpos.y - nextpos.y) *perc
326
toz2= origpos.z > nextpos.z and -math.abs(origpos.z - nextpos.z) *perc or math.abs(origpos.z - nextpos.z) *perc
327
WeldLib[weld][CO] = v3(origangle.x + tox,origangle.y + toy,origangle.z + toz)
328
weld['C'..CO] = cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
329
end
330
function se(Key,Text)
331
local Values = {}
332
for value in (Text..Key):gmatch("(.-)"..Key) do
333
table.insert(Values,value)
334
end
335
local Values2={}
336
for i,v in pairs(Values) do Values2[i]=Values[i]:lower() end
337
return Values,Values2
338
end
339
findplayer=function(nn)
340
if not nn then return nil end
341
local found
342
for i,v in pairs(Players:GetPlayers()) do
343
if string.find(v.Name:lower(),nn:lower()) and not found then found=v end
344
end
345
return found
346
end
347
LoopFunctions={}
348
iLoopFunctions=-9000
349
function DoLoop(times,func)
350
iLoopFunctions=iLoopFunctions+1
351
LoopFunctions[tonumber(iLoopFunctions)]={times,0,func}
352
end
353
function MeshEffect(times,cf1,cf2,scale1,scale2,tr1,tr2,col,type)
354
local cf2=cf2 or cf1
355
local v=iPart{Char,0.2,0.2,0.2,co=col,cf=cf1,na='Mesh',an=true,ca=false,tr=tr1}
356
local mesh=iNew{'SpecialMesh',v,Scale=scale1}
357
if type=='Brick' or type=='Sphere' then
358
mesh.MeshType=type
359
else
360
mesh.MeshId=type
361
end
362
local x1,y1,z1 = cf1:toEulerAnglesXYZ()
363
local x2,y2,z2 = cf2:toEulerAnglesXYZ()
364
local count=0
365
DoLoop(times,function(i) count=count+1
366
mesh.Scale=TweenV3(count,times,scale1,scale2,1)*((type=='Brick' or type=='Sphere') and 5 or 1)
367
v.Transparency=TweenNum(count,times,tr1,tr2,1)
368
v.CFrame=TweenCF(count,times,cf1.p,v3(mdeg(x1),mdeg(y1),mdeg(z1)),cf2.p,v3(mdeg(x2),mdeg(y2),mdeg(z2)),1)
369
if i==1 then v:Remove() end end)
370
end
371
Dmgv={8,16}
372
HitDebounce={}
373
Damage=function(Hum,Mult,Sound)
374
if not Hum or Hum.Parent==Char then return end
375
if not Hum.Parent:findFirstChild'Torso' then return end
376
local HName=Hum.Parent.Name
377
if HitDebounce[HName] and HitDebounce[HName]>tick() then return end
378
HitDebounce[HName]=tick()+0.2
379
local Mult=Mult or 1
380
local Dealt=mran(Dmgv[1],Dmgv[2])*Mult
381
local col=''
382
if Hum.Parent:findFirstChild'Block' and Hum.Parent.Block.Value>0 then
383
Hum.Parent.Block.Value=Hum.Parent.Block.Value-1
384
col='Bright blue'
385
else
386
Hum.Health=Hum.Health-Dealt
387
col='Bright red'
388
end
389
if Sound then so[col=='Bright blue' and 'Block' or 'Hit']:Play() end
390
local DoH=iNew{'Model',Char,Name=col=='Bright blue' and 'Block' or Dealt}
391
iNew{'Humanoid',DoH,MaxHealth=1/0,Health=1/0,Name=''}
392
local Doh=iPart{DoH,0.6,0.2,0.6,co=col,an=true} Doh.Name='Head' iNew{'CylinderMesh',Doh}
393
local dofs=Hum.Parent.Torso.CFrame*cn(mran2(-1.5,1.5),2.5,mran2(-1,1)) Doh.CFrame=dofs
394
DoLoop(40,function(i) Doh.CFrame=dofs*cn(0,i*2,0) Doh.Transparency=i-0.5 if i==1 then DoH:Remove() end end)
395
end
396
AOEFind = function(pos,ra,f,f2) -- range get
397
local p0,p1=pos-v3(ra/2,ra/2,ra/2),pos+v3(ra/2,ra/2,ra/2)
398
pcall(function()
399
for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),nil,100)) do
400
local Hum=v.Parent:findFirstChild'Humanoid'
401
if v.Name=='Torso' and Hum and Hum.Health>0 and v.Parent~=Char then
402
pcall(function() f(Hum,v) end)
403
elseif f2 and not Hum then
404
pcall(function() f2(v) end)
405
end
406
end
407
end)
408
end
409
function FindSurface(part, position)
410
local obj = part.CFrame:pointToObjectSpace(position)
411
local siz = part.Size/2
412
for i,v in pairs(Enum.NormalId:GetEnumItems()) do
413
local vec = Vector3.FromNormalId(v)
414
local wvec = part.CFrame:vectorToWorldSpace(vec)
415
local vz = (obj)/(siz*vec)
416
if (math.abs(vz.X-1) < 0.01 or math.abs(vz.Y-1) < 0.01 or math.abs(vz.Z-1) < 0.01) then
417
return wvec,vec
418
end
419
end
420
if part.className == "WedgePart" then
421
return part.CFrame:vectorToWorldSpace(Vector3.new(0,0.707,-0.707)), Vector3.new(0,0.707,-0.707)
422
end
423
end
424
function FaceBG(pos)
425
BG.maxTorque=v3(1,1,1)/0
426
BG.cframe=cn(Torso.Position,v3(pos.x,Torso.Position.y,pos.z))*cn(0,0,-1)
427
end
428
ray = function(Pos, Dir,tab,length) -- ray cast
429
return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *(length or 999)),tab)
430
end
431
function Projectile(ofs,speed,part,adj,fhit,fnohit)
432
part.CFrame=ofs*adj
433
local stop=false
434
DoLoop(50,function(x)
435
local i=x
436
if not stop then
437
local hit,pos=ray(ofs.p,ofs.p-ofs*cn(0,0,-1).p,Char,speed+1)
438
if hit then
439
--Hit
440
if fhit then i=1 stop=true
441
----
442
local cof=FindSurface(hit,pos)
443
--iPart{workspace,2,2,0.2,cf=cn(pos,pos+cof),an=true,co='Black'}
444
----
445
local x,y,z=ofs:toEulerAnglesXYZ()
446
ofs=cn(pos)*ca(mdeg(x),mdeg(y),mdeg(z))*cn(0,0,-part.Size.y/2)
447
part.CFrame=ofs*adj
448
fhit(hit,pos) end
449
else
450
ofs=ofs*cn(0,0,speed)
451
part.CFrame=ofs*adj
452
end
453
if i==1 then
454
if fnohit then fnohit(ofs.p) else part:Remove() end
455
end
456
end
457
end)
458
end
459
 
460
CC={'','Bright yellow','Flame reddish orange'}
461
Scale=5
462
Mat='Marble'
463
 
464
SpawnPoint=PChar.Torso.CFrame*cn(0,1+Scale*3,-20-Scale*1.5)
465
name='Brock'
466
pcall(function() _G.OldMod00:Remove() end)
467
 
468
---------------
469
UNDYING=function()
470
pcall(function() fUNDYING:disconnect() end)
471
pcall(function() local hum=Grabbing.Part1.Parent.Humanoid Grabbing:Remove() Grabbing=nil hum.PlatformStand=false end)
472
Torso.Anchored=true Torso.Transparency=1 Torso.CanCollide=false
473
Stand:Remove() Head:Remove()
474
local RespawnPos=cn(Torso.CFrame.p+v3(0,Scale*5,0))*ca(0,mran(-360,360),0)
475
wait(4)
476
Anim='Reviving'
477
local oldChar=Char
478
local oldRootLimbs=RootLimbs
479
for i,v in pairs(oldRootLimbs) do v.Anchored=true end
480
fMarble(Char,function(v) v.Anchored=true end)
481
MakeAI(RespawnPos) Anim='Reviving'
482
fMarble(Char,function(v) v.Transparency=1 end)
483
for i,v in pairs(RootLimbs) do v.Transparency=1 end
484
wait(0.1) Torso.Anchored=true
485
local Reconstruct={}
486
fMarble(oldChar,function(v)
487
local x1,y1,z1=v.CFrame:toEulerAnglesXYZ()
488
local x2,y2,z2=Char[v.Parent.Name][v.Name].CFrame:toEulerAnglesXYZ()
489
Reconstruct[#Reconstruct+1]={v,Char[v.Parent.Name][v.Name],v.Position,v3(mdeg(x1),mdeg(y1),mdeg(z1)),v3(mdeg(x2),mdeg(y2),mdeg(z2))} end)
490
for i,v in pairs(oldRootLimbs) do
491
local x1,y1,z1=v.CFrame:toEulerAnglesXYZ()
492
local x2,y2,z2=Char[v.Name].CFrame:toEulerAnglesXYZ()
493
Reconstruct[#Reconstruct+1]={v,Char[v.Name],v.Position,v3(mdeg(x1),mdeg(y1),mdeg(z1)),v3(mdeg(x2),mdeg(y2),mdeg(z2))} end
494
local tweens=100
495
for tween=1,tweens do
496
for i,v in pairs(Reconstruct) do v[1].CFrame=TweenCF(tween,tweens,v[3],v[4],v[2].Position,v[5],1)*ca(360*(tween/tweens),720*(tween/tweens),0) end
497
wait()
498
end
499
oldChar:Remove()
500
fMarble(Char,function(v) v.Transparency=0 end)
501
for i,v in pairs(RootLimbs) do v.Transparency=0 end
502
Torso.Anchored=false wait()
503
BG.maxTorque=v3(1,1,1)/0 BG.cframe=Torso.CFrame
504
ReturnAnim()
505
wait(2)
506
BG.maxTorque=nov3
507
Anim,ArmAnim,LegAnim='None','None','None'
508
end
509
------
510
 
511
function MakeAI(SpawnPoint2)
512
Char=iNew{'Model',workspace,Name=name,archivable=false} _G.OldMod00=Char
513
Torso=iPart{Char,2,2,1,sc=Scale,co=CC[1],cf=SpawnPoint2,na='Torso'}
514
pTorso=iPart{Char,2,2,1,sc=Scale,co=CC[1],cf=SpawnPoint2,na='pTorso'}
515
Head=iPart{Char,1,1,1,sc=Scale,co=CC[1],na='Head'}
516
pHead=iPart{Char,1,1,1,sc=Scale,co=CC[1],na='pHead'} iNew{'SpecialMesh',pHead,Scale=v3(1,1,1)*Scale/1.4,VertexColor=v3(1,1,1)/1.65,MeshId=as.rockhead,TextureId=as.rockheadt}
517
Stand=iPart{Char,1.5,2.9,1.1,sc=Scale,co=CC[1],na='Stand'}
518
 
519
for i,n in pairs(so) do
520
local v=iNew{'Sound',Torso,Volume=1,Pitch=1,Looped=false,Name=v,SoundId=as[n]}
521
so[n]=v
522
end
523
 
524
 
525
LSho=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LSho'}
526
LArm=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LArm'}
527
 
528
RSho=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RSho'}
529
RArm=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RArm'}
530
 
531
LThi=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LThi'}
532
LLeg=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LLeg'}
533
 
534
RThi=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RThi'}
535
RLeg=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RLeg'}
536
 
537
 
538
 
539
nov3=v3(0,0,0)
540
Marble={}
541
MarbleSpeed=0.2
542
MarbleMax=12
543
for i,v in pairs({pTorso,LSho,RSho,LArm,RArm,LThi,RThi,LLeg,RLeg}) do
544
v.Material=Mat
545
local VS=v.Size
546
local va=1.2
547
--v.Size=v.Size/1.5
548
local vv=v:Clone()
549
for x=-1,1,2 do
550
for y=-1,1,2 do
551
for z=-1,1,2 do
552
local marb=vv:Clone() marb.Size=VS/mran2(1.8,2.2) marb.Parent=v marb.Name=x..y..z
553
local wmarb=iNew{'Weld',marb,Part0=v,Part1=marb,C0=cn(VS.x/4*x/va,VS.y/4*y,VS.z/4*z/va)*ca(mran(-MarbleMax,MarbleMax),mran(-MarbleMax,MarbleMax),mran(-MarbleMax,MarbleMax))}
554
Marble[#Marble+1]={wmarb,mran(-1,1),mran(-1,1),mran(-1,1)}
555
end end end
556
iNew{'BlockMesh',v,Scale=v3(1,1,1)/1.5}
557
v.Transparency=0 --.995
558
end
559
 
560
for i,v in pairs(Char:children()) do if v:IsA'BasePart' and v.Name~='Torso' then v.CFrame=Torso.CFrame end end
561
 
562
Head.Transparency=0.99
563
Head.CanCollide=false
564
Neck=iNew{'Weld',Torso,Part0=Torso,Part1=Head,C0=cn(0,0,0)}
565
pNeck=iNew{'Weld',Torso,Part0=pTorso,Part1=pHead,C0=cn(0,1.5*Scale,0)}
566
Hum=iNew{'Humanoid',Char}
567
 
568
 
569
Torso.Transparency=1
570
wTorso=iNew{'Weld',Torso,Part0=Torso,Part1=pTorso,C0=cn(0,-2.5*Scale,0)*ca(0,0,0)}
571
oTorso=cn(0,0,0)
572
 
573
Stand.Transparency=1
574
wStand=iNew{'Weld',Torso,Part0=Torso,Part1=Stand,C0=cn(0,-2.5*Scale,0)}
575
 
576
wLSho=iNew{'Weld',LSho,Part0=pTorso,Part1=LSho,C0=cn(-1.5*Scale,0.75*Scale,0),C1=cn(0,0.25*Scale,0)}
577
wLArm=iNew{'Weld',LArm,Part0=LSho,Part1=LArm,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
578
 
579
wRSho=iNew{'Weld',RSho,Part0=pTorso,Part1=RSho,C0=cn(1.5*Scale,0.75*Scale,0),C1=cn(0,0.25*Scale,0)}
580
wRArm=iNew{'Weld',RArm,Part0=RSho,Part1=RArm,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
581
 
582
wLThi=iNew{'Weld',LThi,Part0=pTorso,Part1=LThi,C0=cn(-0.5*Scale,-1*Scale,0),C1=cn(0,0.75*Scale,0)}
583
wLLeg=iNew{'Weld',LLeg,Part0=LThi,Part1=LLeg,C0=cn(1,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
584
 
585
wRThi=iNew{'Weld',RThi,Part0=pTorso,Part1=RThi,C0=cn(0.5*Scale,-1*Scale,0),C1=cn(0,0.75*Scale,0)}
586
wRLeg=iNew{'Weld',RLeg,Part0=RThi,Part1=RLeg,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
587
 
588
wLSho.C0=cn(-1.5*Scale,0.75*Scale,0)*ca(0,0,-135) --a,b
589
wLArm.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --c,d
590
wRSho.C0=cn(1.5*Scale,0.75*Scale,0)*ca(0,0,135) --e,f
591
wRArm.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --g,h
592
----
593
wLThi.C0=cn(-0.5*Scale,-1*Scale,0)*ca(0,0,-45) --i,j
594
wLLeg.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --k,l
595
wRThi.C0=cn(0.5*Scale,-1*Scale,0)*ca(0,0,45) --m,n
596
wRLeg.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --o,p
597
 
598
BG=iNew{'BodyGyro',Torso,maxTorque=nov3}
599
BP=iNew{'BodyPosition',Torso,maxForce=nov3}
600
fUNDYING=Hum.Died:connect(UNDYING)
601
LimbNames={'LSho','RSho','LArm','RArm','RThi','LThi','RLeg','LLeg'}
602
for i=1,8 do local v=LimbNames[i] LimbNames[v]=getfenv()["w"..v] end
603
RootLimbs={pHead,pTorso,LSho,RSho,LArm,RArm,RThi,LThi,RLeg,LLeg}
604
Anim,LegAnim,ArmAnim='Sit','Sit','Sit'
605
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
606
SetWeld(wLSho,0,1,1,a,b,v3(-1.5*Scale,0.5*Scale,0),v3(0,0,-10),1)
607
SetWeld(wLArm,0,1,1,c,d,v3(0,-0.75*Scale,0),v3(10,0,10),1)
608
SetWeld(wRSho,0,1,1,e,f,v3(1.5*Scale,0.5*Scale,0),v3(0,0,10),1)
609
SetWeld(wRArm,0,1,1,g,h,v3(0,-0.75*Scale,0),v3(10,0,-10),1)
610
SetWeld(wLThi,0,1,1,i,j,v3(-0.5*Scale,-1*Scale,0),v3(15,0,-5),1)
611
SetWeld(wLLeg,0,1,1,k,l,v3(0,-0.75*Scale,0),v3(-15,0,5),1)
612
SetWeld(wRThi,0,1,1,m,n,v3(0.5*Scale,-1*Scale,0),v3(15,0,5),1)
613
SetWeld(wRLeg,0,1,1,o,p,v3(0,-0.75*Scale,0),v3(-15,0,-5),1)
614
Oa,Ob,Oc,Od,Oe,Of,Og,Oh,Oi,Oj,Ok,Ol,Om,On,Oo,Op=GetPose()
615
SetWeld(wLSho,0,1,1,nov3,nov3,a,b,1)
616
SetWeld(wLArm,0,1,1,nov3,nov3,c,d,1)
617
SetWeld(wRSho,0,1,1,nov3,nov3,e,f,1)
618
SetWeld(wRArm,0,1,1,nov3,nov3,g,h,1)
619
SetWeld(wLThi,0,1,1,nov3,nov3,i,j,1)
620
SetWeld(wLLeg,0,1,1,nov3,nov3,k,l,1)
621
SetWeld(wRThi,0,1,1,nov3,nov3,m,n,1)
622
SetWeld(wRLeg,0,1,1,nov3,nov3,o,p,1)
623
end
624
 
625
function GetPose()
626
local a,b=GetWeld(wLSho,0)
627
local c,d=GetWeld(wLArm,0)
628
local e,f=GetWeld(wRSho,0)
629
local g,h=GetWeld(wRArm,0)
630
local i,j=GetWeld(wLThi,0)
631
local k,l=GetWeld(wLLeg,0)
632
local m,n=GetWeld(wRThi,0)
633
local o,p=GetWeld(wRLeg,0)
634
local q,r=GetWeld(wTorso,0)
635
return a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r
636
end
637
 
638
MakeAI(SpawnPoint)
639
 
640
ASpeed=28
641
coroutine.resume(coroutine.create(function()
642
SetWeld(wLSho,0,1,1,nov3,nov3,wLSho.C0.p,v3(45,0,-10),1)
643
SetWeld(wLArm,0,1,1,nov3,nov3,wLArm.C0.p,v3(45,0,10),1)
644
SetWeld(wRSho,0,1,1,nov3,nov3,wRSho.C0.p,v3(45,0,10),1)
645
SetWeld(wRArm,0,1,1,nov3,nov3,wRArm.C0.p,v3(45,0,-10),1)
646
SetWeld(wLThi,0,1,1,nov3,nov3,v3(-0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,-12),1)
647
SetWeld(wLLeg,0,1,1,nov3,nov3,wLLeg.C0.p,v3(-70,0,12),1)
648
SetWeld(wRThi,0,1,1,nov3,nov3,v3( 0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,12),1)
649
SetWeld(wRLeg,0,1,1,nov3,nov3,wRLeg.C0.p,v3(-70,0,-12),1)
650
SetWeld(wTorso,0,1,1,oTorso,nov3,v3(0,-3*Scale,0),nov3,1)
651
wait(1)
652
Anim='Standing'
653
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
654
for x=1,ASpeed do
655
SetWeld(wTorso,0,x,ASpeed,wTorso.C0.p,nov3,oTorso,nov3,1)
656
SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.5*Scale,0.5*Scale,0),v3(0,0,-10),1)
657
SetWeld(wLArm,0,x,ASpeed,c,d,v3(0,-0.75*Scale,0),v3(10,0,10),1)
658
SetWeld(wRSho,0,x,ASpeed,e,f,v3(1.5*Scale,0.5*Scale,0),v3(0,0,10),1)
659
SetWeld(wRArm,0,x,ASpeed,g,h,v3(0,-0.75*Scale,0),v3(10,0,-10),1)
660
SetWeld(wLThi,0,x,ASpeed,i,j,v3(-0.5*Scale,-1*Scale,0),v3(15,0,-5),1)
661
SetWeld(wLLeg,0,x,ASpeed,k,l,v3(0,-0.75*Scale,0),v3(-15,0,5),1)
662
SetWeld(wRThi,0,x,ASpeed,m,n,v3(0.5*Scale,-1*Scale,0),v3(15,0,5),1)
663
SetWeld(wRLeg,0,x,ASpeed,o,p,v3(0,-0.75*Scale,0),v3(-15,0,-5),1)
664
wait()
665
end
666
ArmAnim='None'
667
LegAnim='None'
668
Anim='None'
669
end))
670
--Target=PChar
671
function Stay(bool,cff)
672
BG.maxTorque=bool and v3(1,1,1)/0 or nov3 BG.cframe=cff or Torso.CFrame
673
BP.maxForce=BG.maxTorque BP.position=Torso.Position
674
end
675
function fMarble(Ch,func)
676
for i,v in pairs(Ch:children()) do
677
for x=-1,1,2 do
678
for y=-1,1,2 do
679
for z=-1,1,2 do
680
if v:findFirstChild(x..y..z) then func(v[x..y..z]) end
681
end end end
682
end
683
end
684
function ReturnAnim()
685
local ne1,ne2=GetWeld(pNeck,0)
686
local wt1,wt2=GetWeld(wTorso,0)
687
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
688
for x=1,ASpeed do
689
SetWeld(wLSho,0,x,ASpeed,a,b,Oa,Ob,1)
690
SetWeld(wLArm,0,x,ASpeed,c,d,Oc,Od,1)
691
SetWeld(wRSho,0,x,ASpeed,e,f,Oe,Of,1)
692
SetWeld(wRArm,0,x,ASpeed,g,h,Og,Oh,1)
693
SetWeld(wLThi,0,x,ASpeed,i,j,Oi,Oj,1)
694
SetWeld(wLLeg,0,x,ASpeed,k,l,Ok,Ol,1)
695
SetWeld(wRThi,0,x,ASpeed,m,n,Om,On,1)
696
SetWeld(wRLeg,0,x,ASpeed,o,p,Oo,Op,1)
697
SetWeld(wTorso,0,x,ASpeed,wt1,wt2,oTorso,nov3,1)
698
SetWeld(pNeck,0,x,ASpeed,ne1,ne2,v3(0,1.5,0)*Scale,nov3,1)
699
wait()
700
end
701
end
702
 
703
ChatConnection=Player.Chatted:connect(function(msg)
704
coroutine.resume(coroutine.create(function()
705
if not Char.Parent then return end
706
local Sep,sep=se(';',msg)
707
local p1,p2=findplayer(Sep[2]),findplayer(Sep[3])
708
local cmd=sep[1]
709
--print(Sep[1])
710
--print(LimbNames[Sep[1]])
711
Tt=(p1 and p1.Character and p1.Character:findFirstChild'Torso') and p1.Character.Torso or nil
712
if cmd=='sit' and (Anim=='None' or Anim=='Follow') then
713
Anim='Sitting'
714
Hum:MoveTo(Torso.Position,Torso)
715
LegAnim,ArmAnim='Sit','Sit'
716
for x=1,ASpeed do
717
SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(45,0,-10),1)
718
SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(45,0,10),1)
719
SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(45,0,10),1)
720
SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(45,0,-10),1)
721
SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,-12),1)
722
SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(-70,0,12),1)
723
SetWeld(wRThi,0,x,ASpeed,Om,On,v3( 0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,12),1)
724
SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(-70,0,-12),1)
725
SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-3*Scale,0),nov3,1)
726
wait()
727
end
728
Anim='Sit'
729
elseif (cmd=='stand' or cmd=='stop') and (Anim=='Roll' or Anim=='Sit' or Anim=='Follow' or Anim=='Form' or Anim=='Dance' or Anim=='Grab') then
730
if Anim=='Sit' or Anim=='Form' or Anim=='Dance' or Anim=='Roll' then
731
Anim='Returning'
732
ReturnAnim()
733
else
734
Target=nil
735
wait(0.2)
736
Hum:MoveTo(Torso.Position,Torso)
737
end
738
LegAnim,ArmAnim,Anim='None','None','None'
739
elseif cmd=='follow' and Tt and Anim=='None' then
740
Anim='Follow'
741
Target=p1.Character
742
elseif cmd=='shoot' and Tt and RArm['1-11'].Transparency~=1 and ArmAnim=='None' then
743
Target=p1.Character
744
ArmAnim='Shoot'
745
FaceBG(Tt.Position)
746
wait(0.1)
747
local cff=cn(pTorso.CFrame.p,v3(Tt.Position.x,pTorso.Position.y,Tt.Position.z))
748
local ofs=cff:toObjectSpace(cn(cff*cn(1.5*Scale,0.5*Scale,0).p,Tt.CFrame*cn(0,2,0).p)*ca(90,0,0)*cn(0,-0.25*Scale,0))
749
local x,y,z=ofs:toEulerAnglesXYZ()
750
local rot=v3(mdeg(x),mdeg(y),mdeg(z))
751
for q=1,ASpeed do
752
SetWeld(wRArm,0,q,ASpeed,Og,Oh,Og,nov3,1)
753
SetWeld(wRSho,0,q,ASpeed,Oe,Of,ofs.p,rot,1)
754
SetWeld(wRSho,1,q,ASpeed,v3(0,0.25*Scale,0),nov3,nov3,nov3,1)
755
wait()
756
end
757
for y=-1,1,2 do for x=-1,1,2 do for z=-1,1,2 do
758
local new=RArm[x..y..z]:Clone() new.Parent=RArm game.Debris:AddItem(new,8) new.Touched:connect(function(hit) Damage(hit.Parent:findFirstChild'Humanoid') end)
759
new.CFrame=RArm[x..y..z].CFrame*cn(0,-Scale*1.5,0) new.CanCollide=true new.Velocity=cn(new.Position,Target.Torso.Position).lookVector*((new.Position-Target.Torso.Position).magnitude*20+900)
760
RArm[x..y..z].Transparency=1 so.Block:Play() wait(0.06)
761
end end end
762
RArm.Transparency=1
763
delay(1,function()
764
for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do local new=RArm[x..y..z]:Clone() new.Transparency=0 new.CanCollide=false new.Name='f'..new.Name new.Parent=RArm new.CFrame=RArm.CFrame*cn(Scale*x*2,Scale*-3,Scale*z*2)
765
iNew{'BodyPosition',new,maxForce=v3(1,1,1)/0,position=RArm[x..y..z].Position} wait(0.14) end end end
766
DoLoop(35,function(i) for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do RArm['f'..x..y..z].BodyPosition.position=RArm[x..y..z].Position if i==1 then RArm['f'..x..y..z]:Remove() RArm[x..y..z].Transparency=0 RArm.Transparency=0 end end end end end)
767
end)
768
for q=1,ASpeed do
769
SetWeld(wRArm,0,q,ASpeed,Og,nov3,Og,Oh,1)
770
SetWeld(wRSho,0,q,ASpeed,ofs.p,rot,Oe,Of,1)
771
SetWeld(wRSho,1,q,ASpeed,nov3,nov3,v3(0,0.25*Scale,0),nov3,1)
772
wait()
773
end
774
BG.maxTorque=nov3
775
ArmAnim='None'
776
elseif cmd=='slam' and (Anim=='None' or Anim=='Follow') and Tt then
777
Target=p1
778
local lTt=Tt
779
Anim='Follow'
780
repeat Hum:MoveTo(Tt.Position+v3(0.5,0.5,0.5),Tt) wait(0.2) until lTt~=Tt or (Tt.Position-pTorso.Position).magnitude<10+Scale*5.5 or Anim~='Follow'
781
if Anim~='Follow' then BG.maxTorque=nov3 return end
782
if lTt~=Tt then return end
783
Anim,LegAnim,ArmAnim='Slam','',''
784
Hum:MoveTo(Torso.Position,Torso)
785
FaceBG(Tt.Position)
786
Stay(true,BG.cframe)
787
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
788
ASpeed2=15
789
for x=1,ASpeed2 do
790
SetWeld(wLSho,0,x,ASpeed2,a,b,Oa,v3(180,0,0),1)
791
SetWeld(wRSho,0,x,ASpeed2,e,f,Oe,v3(180,0,0),1)
792
SetWeld(wTorso,0,x,ASpeed2,nov3,nov3,v3(0,3,0)*Scale,nov3,1)
793
wait()
794
end
795
for x=1,ASpeed2 do
796
SetWeld(wTorso,0,x,ASpeed2,v3(0,3,0)*Scale,nov3,v3(0,-3*Scale+2.5,-6*Scale),v3(-89,0,0),1)
797
wait()
798
end
799
AOEFind(pTorso.Position,6.5*Scale,function(Hum) Damage(Hum,3,true) Hum.Sit=true end)
800
MeshEffect(35,Torso.CFrame*cn(0,-3.5*Scale,-6*Scale)*ca(90,0,0),nil,v3(2,2,1)*Scale,v3(12,12,5)*Scale,0.2,1,'Light stone grey',as.ring)
801
wait(0.5)
802
for x=1,ASpeed do
803
SetWeld(wTorso,0,x,ASpeed,v3(0,-3*Scale+2.5,-6*Scale),v3(-90,0,0),nov3,nov3,1)
804
SetWeld(wLSho,0,x,ASpeed,Oa,v3(180,0,0),Oa,Ob,1)
805
SetWeld(wRSho,0,x,ASpeed,Oe,v3(180,0,0),Oe,Of,1)
806
wait()
807
end
808
Stay(false)
809
Anim,LegAnim,ArmAnim='None','None','None'
810
elseif cmd=='boulder' and Anim=='None' then
811
Target=p1.Character
812
Anim,LegAnim,ArmAnim='','',''
813
Stay(true)
814
FaceBG(Tt.Position)
815
for x=1,ASpeed do
816
SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(135,0,0),1)
817
SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,0),1)
818
SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(135,0,0),1)
819
SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-10),1)
820
SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5,-0.5,0.25)*Scale,v3(45,0,-15),1)
821
SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(0,0,0),1)
822
SetWeld(wRThi,0,x,ASpeed,Om,On,v3( 0.5,-0.5,0.25)*Scale,v3(45,0,15),1)
823
SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(0,0,0),1)
824
SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-1.5,-1.5)*Scale,v3(-90,0,0),1)
825
wait()
826
end
827
wait(0.2)
828
local boulder=iPart{Char,1,1,1,type='WedgePart'} boulder.Material=Mat
829
local wm=iNew{'SpecialMesh',boulder,Scale=v3(4,3,4)*Scale,MeshType='Wedge'}
830
local wb=iNew{'Weld',boulder,Part0=RArm,Part1=boulder,C0=cn(-1.5*Scale,-2.3*Scale,0)*ca(180,180,0)}
831
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
832
for x=1,ASpeed*2 do
833
SetWeld(wLSho,0,x,ASpeed*2,a,b,a,v3(225,0,0),1)
834
SetWeld(wLArm,0,x,ASpeed*2,c,d,c,v3(45,0,0),1)
835
SetWeld(wRSho,0,x,ASpeed*2,e,f,e,v3(225,0,0),1)
836
SetWeld(wRArm,0,x,ASpeed*2,g,h,g,v3(45,0,0),1)
837
SetWeld(wLThi,0,x,ASpeed*2,i,j,Oi,v3(0,0,-15),1)
838
SetWeld(wLLeg,0,x,ASpeed*2,k,l,k,v3(0,0,0),1)
839
SetWeld(wRThi,0,x,ASpeed*2,m,n,Om,v3(0,0,15),1)
840
SetWeld(wRLeg,0,x,ASpeed*2,o,p,o,v3(0,0,0),1)
841
SetWeld(wTorso,0,x,ASpeed*2,q,r,nov3,nov3,1)
842
wait()
843
end
844
FaceBG(Tt.Position)
845
for x=1,ASpeed/2 do
846
SetWeld(wLSho,0,x,math.floor(ASpeed/2),a,v3(225,0,0),a,v3(90,0,0),1)
847
SetWeld(wLArm,0,x,math.floor(ASpeed/2),c,v3(45,0,0),c,v3(45,0,0),1)
848
SetWeld(wRSho,0,x,math.floor(ASpeed/2),e,v3(225,0,0),e,v3(90,0,0),1)
849
SetWeld(wRArm,0,x,math.floor(ASpeed/2),g,v3(45,0,0),g,v3(45,0,0),1)
850
wait()
851
end
852
local bcf=boulder.CFrame
853
wb:Remove()
854
wm:Remove()
855
boulder.Size=wm.Scale
856
boulder.CFrame=cn(boulder.Position,Target.Torso.Position)*cn(0,3,-1)*ca(0,180,0)
857
--boulder.Friction=0.1
858
boulder.Elasticity=0
859
boulder.Velocity=(boulder.CFrame*ca(0,180,0)).lookVector*((boulder.Position-Target.Torso.Position).magnitude*1+90)
860
boulder.RotVelocity=nov3
861
game.Debris:AddItem(boulder,8)
862
Stay(false)
863
ReturnAnim()
864
Anim,LegAnim,ArmAnim='None','None','None'
865
elseif cmd=='grab' and Tt and not Grabbing then
866
Target=p1
867
local lTt=Tt
868
Anim='Follow'
869
repeat Hum:MoveTo(Tt.Position+v3(0.5,0.5,0.5),Tt) wait(0.2) until lTt~=Tt or (Tt.Position-Stand.CFrame*cn(0,-Stand.Size.y/2+1,-2.8*Scale).p).magnitude<10 or Anim~='Follow'
870
if Anim~='Follow' then BG.maxTorque=nov3 return end
871
if lTt~=Tt then return end
872
pcall(function() Tt.Parent.Humanoid.PlatformStand=true end)
873
Hum:MoveTo(Torso.Position,Torso)
874
Anim,LegAnim,ArmAnim='Grab','',''
875
FaceBG(Tt.Position)
876
for x=1,ASpeed do
877
SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(-30,0,-30),1)
878
SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,0),1)
879
SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(145,0,-30),1)
880
SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,0),1)
881
SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5,-0.4,0.3)*Scale,v3(70,0,0),1)
882
SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(-20,0,0),1)
883
SetWeld(wRThi,0,x,ASpeed,Om,On,v3(0.5,-0.5,-0.3)*Scale,v3(135,0,0),1)
884
SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(-90,0,0),1)
885
SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-2,-1.5)*Scale,v3(-90,0,0),1)
886
wait()
887
end
888
local ofs=RArm.CFrame:toObjectSpace(Tt.CFrame)
889
Tt.Parent.Humanoid.PlatformStand=true
890
Grabbing=iNew{'Weld',RArm,Part0=RArm,Part1=Tt,C0=ofs}
891
local a,b=GetWeld(Grabbing,0)
892
for x=1,ASpeed do
893
SetWeld(Grabbing,0,x,ASpeed,a,b,v3(0,-0.75*Scale-1,0),v3(-90,0,0),1)
894
wait()
895
end
896
Stay(false)
897
ReturnAnim()
898
Anim,LegAnim,ArmAnim='None','None','None'
899
elseif cmd=='dance' and (Anim=='None' or Anim=='Follow') then
900
Hum:MoveTo(pTorso.Position,pTorso)
901
Anim,ArmAnim,LegAnim='Dance','Dance','Dance'
902
local ASpeed=math.floor(ASpeed/2)
903
repeat
904
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
905
for x=1,ASpeed do
906
if Anim~='Dance' then break end
907
SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.2,0.5,-0.25)*Scale,v3(35,0,30),1)
908
SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(25,0,0),1)
909
SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.2,0.5,-0.25)*Scale,v3(45,0,-30),1)
910
SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(25,0,0),1)
911
SetWeld(wLThi,0,x,ASpeed,i,j,i,v3(0,0,0),1)
912
SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(0,0,0),1)
913
SetWeld(wRThi,0,x,ASpeed,m,n,m,v3(45,0,20),1)
914
SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(-45,0,-20),1)
915
wait()
916
end
917
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
918
for x=1,ASpeed do
919
if Anim~='Dance' then break end
920
SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.2,0.5,-0.25)*Scale,v3(95,0,30),1)
921
SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(-10,0,0),1)
922
SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.2,0.5,-0.25)*Scale,v3(105,0,-30),1)
923
SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(-10,0,0),1)
924
SetWeld(wLThi,0,x,ASpeed,i,j,i,v3(45,0,-20),1)
925
SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(-45,0,20),1)
926
SetWeld(wRThi,0,x,ASpeed,m,n,m,v3(0,0,0),1)
927
SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(0,0,0),1)
928
wait()
929
end
930
until Anim~='Dance'
931
elseif cmd=='roll' and (Anim=='None' or Anim=='Follow') then
932
Target=p1
933
local lTt=Tt
934
Anim,ArmAnim,LegAnim='Roll','',''
935
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
936
local n1,n2=GetWeld(pNeck,0)
937
for x=1,ASpeed do
938
SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.5,0.5,0)*Scale,v3(0,0,-45),1)
939
SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(0,0,90),1)
940
SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.5,0.5,0)*Scale,v3(0,0,45),1)
941
SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(0,0,-90),1)
942
SetWeld(wLThi,0,x,ASpeed,i,j,v3(0,1, 0.5)*Scale,v3(-30,0,0),1)
943
SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(60,0,0),1)
944
SetWeld(wRThi,0,x,ASpeed,m,n,v3(0,1,-0.5)*Scale,v3(30,0,0),1)
945
SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(-60,0,0),1)
946
SetWeld(pNeck,0,x,ASpeed,n1,n2,v3(0,0,0),n2,1)
947
SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-2,0)*Scale,nov3,1)
948
wait()
949
end
950
tWS[2]=3
951
repeat
952
local cf=Torso.CFrame*cn(mran2(-1,1)*Scale,-4*Scale,0.5*Scale)*ca(90+mran(-20,20),mran(-30,30),0)
953
MeshEffect(24,cf,cf*cn(0,4*Scale,0),v3(0.5,0.5,0.5)*Scale,v3(mran2(1,4),mran2(3,5),mran2(1,3))*Scale,0.1,1,'Dark stone grey','Brick')
954
Hum:MoveTo(Tt.CFrame*cn(0,0,Scale).p,Tt) wTorso.C0=wTorso.C0*ca(-20,0,0) wait(0.035) until lTt~=Tt or (Tt.Position-Stand.CFrame*cn(0,-Stand.Size.y/2+1,-2.8*Scale).p).magnitude<6 or Anim~='Roll'
955
tWS[2]=1
956
ClearWeld(wTorso)
957
if Anim~='Roll' then return end
958
Hum:MoveTo(Torso.Position+v3(0,1,0),Torso)
959
Torso.Anchored=true Torso.Velocity=nov3
960
local cf=Stand.CFrame*cn(0,0,-1.5*Scale)*ca(-45,0,0) --iPart{Char,1,1,1,co='Black',cf=cf,an=true}
961
MeshEffect(50,cf,nil,v3(3.5,3.5,2)*Scale,v3(11,11,6)*Scale,0.1,1,'White',as.ring)
962
for i=1,16 do
963
local cf=cf*ca(90,360*(i/16),0)*ca(45,0,0)
964
MeshEffect(40,cf,cf*cn(0,10*Scale,0),v3(0.2,2,0.2)*Scale,v3(1,5,1)*Scale,0.1,1,'','Sphere')
965
end
966
AOEFind(cf.p,6.5*Scale,function(Hum,v) Damage(Hum,2,true) Hum.Sit=true v.Velocity=cn(pTorso.Position,v.Position).lookVector*50 end)
967
wait(0.2)
968
Torso.Anchored=false
969
ReturnAnim()
970
Hum:MoveTo(Torso.Position,Torso)
971
Anim,LegAnim,ArmAnim='None','None','None'
972
elseif cmd=='beam' and (Anim=='None' or Anim=='Follow') then
973
Anim='beam'
974
local che =iPart{Char,1,1,1,sc=Scale,co=CC[1],ma=Mat} local chew=iNew{'Weld',che ,Part0=pTorso,Part1=che}
975
local che2=iPart{che ,0.8*Scale,0.2,0.8*Scale,co='Really black'} local che2w=iNew{'Weld',che2,Part0=che,Part1=che2}
976
local chem=iNew{'CylinderMesh',che} iNew{'CylinderMesh',che2}
977
local chest,chex,i={},0,0
978
for x=-1,1,2 do for y=-1,1,2 do i=i+1 chest[i]={pTorso[x..y..'-1']} chest[i][2]=chest[i][1].Weld chest[i][3]=chest[i][2].C0
979
local xx,yy,zz=chest[i][2].C0:toEulerAnglesXYZ() chest[i][4]=v3(mdeg(xx),mdeg(yy),mdeg(zz))
980
chest[i][5]=cn(0.45*x*Scale,0,-0.5*Scale)*chest[i][3] chest[i][6]=chest[i][4]+v3(0,-105*x,0) end end
981
local len=1.75
982
local dochest=function(v,chexx,adj)
983
local p=v/ASpeed
984
chex=adj*p
985
chem.Scale=v3(1,len*p,1)
986
chew.C0=ca(chexx+chex,0,0)*cn(0,len/2*p*Scale,0)
987
che2w.C0=cn(0,len/2*p*Scale,0)
988
for i=1,4 do SetWeld(chest[i][2],0,v,ASpeed,chest[i][3],chest[i][4],chest[i][5],chest[i][6],1) end
989
end
990
for v=1,ASpeed do if Tt then FaceBG(Tt.Position) end dochest(v,-90,-45) wait() end
991
local beam=iPart{Char,0.7*Scale,1,0.7*Scale,co='New Yeller',an=true,tr=0.3} beamm=iNew{'CylinderMesh',beam}
992
for i=1,ASpeed*3 do
993
local p=i/ASpeed*3
994
chex=90*math.sin((math.pi/2)/(ASpeed*3)*i)
995
chew.C0=ca(-135+chex,0,0)*cn(0,len/2*Scale,0)
996
local hit,pos=ray(che2.Position,che2.Position-che2.CFrame*cn(0,-1,0).p,Char)
997
local mag=(che2.Position-pos).magnitude local p1,p2=che2.Position+v3(mran2(-1,1),mran2(-1,1),mran2(-1,1))/3,pos+v3(mran2(-1,1),mran2(-1,1),mran2(-1,1))/3
998
beam.CFrame=cn(p1,p2)*cn(0,0,-mag/2)*ca(90,0,0) beamm.Scale=v3(1,mag+(Scale/3),1)
999
AOEFind(pos,Scale*2,function(Hum) Damage(Hum,2.5) end)
1000
if i%2==0 then for i=1,5 do local cf=cn(pos)*ca(0,mran(-180,180),mran(-95,95)) MeshEffect(8,cf,cf*cn(0,Scale*2.2,0),v3(0.1,0.4,0.1)*Scale,v3(0.4,3,0.4)*Scale,0.2,1,CC[mran(2,3)],as.cone) end
1001
MeshEffect(8,cn(pos),nil,v3(0.8,0.8,0.8)*Scale,v3(4,4,4)*Scale,0.2,1,CC[mran(2,3)],'Sphere') end
1002
if Tt then FaceBG(Tt.Position) end
1003
wait()
1004
end
1005
DoLoop(12,function(i) beam.Transparency=0.3+i*0.7 if i==1 then beam:Remove() end end)
1006
for v=ASpeed,0,-1 do dochest(v,-90,45) wait() end
1007
Stay(false)
1008
che:Remove()
1009
Anim='None'
1010
---------------------------------------------------------------------------=---WWWWWWWWWWWWWWWWWW
1011
elseif cmd=='box' and (Anim=='None' or Anim=='Follow') then
1012
Anim,ArmAnim='cart','cart'
1013
for x=1,ASpeed do
1014
SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(90,0,10),1)
1015
SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,25),1)
1016
SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(90,0,-10),1)
1017
SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-25),1)
1018
wait()
1019
end
1020
Stay(true)
1021
local spawn=RArm.CFrame*cn(0,-0.75*Scale-2,0)*ca(-90,0,0)
1022
local des=iPart{Char,1,1,1,an=true,ma=Mat,cf=spawn,ca=false}
1023
for i=1,6,0.2 do des.Size=v3(i,i,i) des.CFrame=spawn*cn(0,0,-i/2) wait() end
1024
local cart=iNew{'Model',workspace,Name='Cart'}
1025
local base=iPart{cart,4,1,5,ma=Mat,cf=des.CFrame} iNew{'BodyGyro',base}
1026
for x=-1,1,2 do
1027
local new=iPart{cart,0.5,4,5,ma=Mat,cf=base.CFrame} iNew{'Weld',new,Part0=base,Part1=new,C0=cn(1.75*x,2.5,0)}
1028
local new=iPart{cart,3.5,4,0.5,ma=Mat,cf=base.CFrame} iNew{'Weld',new,Part0=base,Part1=new,C0=cn(0,2.5,2.25*x)}
1029
end
1030
for i=6,0.8,-0.2 do des.Size=v3(i,i,i) des.CFrame=spawn*cn(0,0,-i/2) wait() end des:Remove()
1031
Stay(false)
1032
ReturnAnim()
1033
Anim,ArmAnim='None','None'
1034
elseif cmd=='crush' and Grabbing and (Anim=='None' or Anim=='Follow') then
1035
Anim,ArmAnim='crush','crush'
1036
for x=1,ASpeed do
1037
SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(80,0,-160),1)
1038
SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,80),1)
1039
SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(80,0,160),1)
1040
SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-80),1)
1041
wait()
1042
end
1043
local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
1044
wait(0.2)
1045
for x=1,ASpeed/2 do
1046
SetWeld(wLSho,0,x,ASpeed/2,a,b,Oa,v3(80,0,-14),1)
1047
SetWeld(wLArm,0,x,ASpeed/2,c,d,Oc,v3(0,0,80),1)
1048
SetWeld(wRSho,0,x,ASpeed/2,e,f,Oe,v3(80,0,14),1)
1049
SetWeld(wRArm,0,x,ASpeed/2,g,h,Og,v3(0,0,-80),1)
1050
wait()
1051
end
1052
MeshEffect(35,Grabbing.Part1.CFrame,nil,v3(2,2,1)*Scale,v3(7,7,3)*Scale,0.3,1,'Light stone grey',as.ring)
1053
local crushjo=60
1054
pcall(function() for i,v in pairs({'Neck','Left Shoulder','Right Shoulder','Left Hip','Right Hip'}) do local w=Grabbing.Part1.Parent.Torso[v] w.C1=w.C1*ca(mran(-crushjo,crushjo),mran(-crushjo,crushjo),mran(-crushjo,crushjo)) end end)
1055
local hit=Grabbing.Part1
1056
Grabbing:Remove() Grabbing=nil
1057
wait(2)
1058
pcall(function() hit.Parent.Humanoid.PlatformStand=false end)
1059
ReturnAnim()
1060
Anim,ArmAnim='None','None'
1061
elseif cmd=='eat' and Grabbing and (Anim=='None' or Anim=='Follow') then
1062
Anim,ArmAnim='Eat','Eat'
1063
for x=1,ASpeed*2 do
1064
SetWeld(wRSho,0,x,ASpeed*2,Oe,Of,Oe,v3(135,0,15),1)
1065
SetWeld(wRArm,0,x,ASpeed*2,Og,Oh,Og,v3(45,-10,-100),1)
1066
wait()
1067
end
1068
wait(1)
1069
for x=1,40 do
1070
SetWeld(wRSho,0,1,1,Oe,Of,Oe,v3(135+mran(-3,3),0,15+mran(-3,3)),1)
1071
SetWeld(wRArm,0,1,1,Og,Oh,Og,v3(45,-10+mran(-12,12),-100+mran(-3,3)),1)
1072
wait(0.05)
1073
if x%2==0 then
1074
local cf=Grabbing.Part1.CFrame*ca(180,mran(-180,180),mran(-40,40))*cn(0,1.5,0)
1075
MeshEffect(24,cf,cf*cn(0,10,0),v3(0.2,2,0.2),v3(0.4,5,0.4),0.1,1,'Really red','Sphere')
1076
end
1077
end
1078
Grabbing.Part1:BreakJoints()
1079
pcall(function() Grabbing.Part1.Parent.Head:Remove() end)
1080
Grabbing:Remove() Grabbing=nil
1081
wait(2)
1082
ReturnAnim()
1083
Anim,ArmAnim='None','None'
1084
elseif cmd=='drop' and Grabbing then
1085
local hum=Grabbing.Part1.Parent.Humanoid Grabbing:Remove() Grabbing=nil hum.PlatformStand=false
1086
elseif LimbNames[Sep[1]] and (Anim=='None' or Anim=='Form') then
1087
Anim,ArmAnim,LegAnim='Form','Form','Form'
1088
local v1,v2=GetWeld(LimbNames[Sep[1]],0)
1089
local sepx=se(',',Sep[2])
1090
for x=1,ASpeed*2 do
1091
SetWeld(LimbNames[Sep[1]],0,x,ASpeed*2,v1,v2,v1,v3(tonumber(sepx[1]),tonumber(sepx[2]),tonumber(sepx[3])),1)
1092
wait()
1093
end
1094
elseif cmd=='plode' then
1095
Char:BreakJoints() wait()
1096
local Pressure=tonumber(sep[2]) or 50
1097
fMarble(Char,function(v) v.Velocity=cn(Torso.Position,v.Position).lookVector*Pressure end)
1098
for i,v in pairs(RootLimbs) do v.Velocity=cn(Torso.Position,v.Position).lookVector*Pressure end
1099
elseif cmd=='explode' then
1100
iNew{'Explosion',pTorso,Position=pTorso.Position,BlastRadius=Scale*20}
1101
elseif cmd=='goto' then
1102
pcall(function()
1103
Hum:MoveTo(Player:GetMouse().Hit.p,Player:GetMouse().Target) end)
1104
elseif cmd=='newscale' and tonumber(sep[2]) then
1105
Char:BreakJoints()
1106
Scale=tonumber(sep[2])
1107
if Scale<0.5 then Scale=0.5 end
1108
if Scale>=100 then Scale=100 end
1109
elseif cmd=='nobox' then
1110
for i,v in pairs(workspace:children()) do if v.Name=='Cart' then v:Remove() end end
1111
elseif cmd=='die' then
1112
Char:BreakJoints()
1113
elseif cmd=='brick' then
1114
iPart{workspace,12,30,30,cf=Player.Character.Torso.CFrame*cn(0,10,-20),tr=0.5,an=true}
1115
elseif cmd=='test' then
1116
local pt=Player.Character.Torso.CFrame
1117
MeshEffect(35,pt*cn(0,5,0)*ca(90,0,0),nil,v3(2,2,1)*Scale,v3(7,7,3)*Scale,0.2,1,'Light stone grey',as.ring)
1118
else
1119
end
1120
end))
1121
end)
1122
keys={}
1123
NewAnim={}
1124
Player:GetMouse().KeyDown:connect(function(k)
1125
coroutine.resume(coroutine.create(function() keys[k]=true
1126
if (k=='q' or k=='e') and (Anim=='None' or Anim=='Laser') and (ArmAnim=='None' or ArmAnim=='Laser') and not NewAnim[k] then
1127
NewAnim[k]=true
1128
local w1,w2=k=='q' and wLSho or wRSho,k=='q' and wLArm or wRArm
1129
local x=k=='q' and -1 or 1
1130
local aa,bb=GetWeld(w1,0)
1131
local cc,dd=GetWeld(w2,0)
1132
local targ=w1.Part1.CFrame*cn(0,-333,0)
1133
local tips={}
1134
local co=0
1135
local sho1=iPart{Char,0.35,RArm.Size.y/Scale+0.15 ,0.35,sc=Scale,co=CC[1]} iNew{'Weld',sho1,Part0=k=='q' and LArm or RArm,Part1=sho1} iNew{'CylinderMesh',sho1}
1136
local sho2=iPart{Char,0.3,RArm.Size.y/Scale+0.16,0.3,sc=Scale,co='Really black'} iNew{'Weld',sho2,Part0=sho1,Part1=sho2} iNew{'CylinderMesh',sho2}
1137
for x=-1,1,2 do for z=-1,1,2 do tips[#tips+1]={(k=='q' and LArm or RArm)[x..'-1'..z].Weld}
1138
co=co+0.25
1139
local asd=tips[#tips]
1140
asd[2],asd[3]=GetWeld(asd[1],0)
1141
local cf=ca(0,360*co,0)*cn(0,asd[2].y*1.8,-0.75*Scale)*ca(-20,0,0)
1142
asd[4]=cf.p
1143
local a,b,c=cf:toEulerAnglesXYZ()
1144
asd[5]=v3(mdeg(a),mdeg(b),mdeg(c))
1145
end end
1146
for u=1,ASpeed/2 do
1147
for i=1,4 do local asd=tips[i]
1148
SetWeld(asd[1],0,u,ASpeed/2,asd[2],asd[3],asd[4],asd[5],1)
1149
end wait()
1150
end
1151
repeat Anim,ArmAnim,LaserOn='Laser','Laser',true wait()
1152
for i=1,4 do tips[i][1].C0=ca(0,15*x,0)*tips[i][1].C0 end
1153
targ=TweenV3(1,12,targ,Player:GetMouse().Hit.p)
1154
w1.C0=pTorso.CFrame:toObjectSpace(cn(pTorso.CFrame*cn(1.5*Scale*x,0.5*Scale,0).p,targ))*ca(90,0,0)
1155
w2.C0=cn(0,-0.75*Scale,0)
1156
until not keys[k]
1157
ClearWeld(w1) ClearWeld(w2) for i=1,4 do ClearWeld(tips[i][1]) tips[i][6],tips[i][7]=GetWeld(tips[i][1],0) end
1158
local a,b=GetWeld(w1,0)
1159
local c,d=GetWeld(w2,0)
1160
for z=1,ASpeed/2 do
1161
for i=1,4 do SetWeld(tips[i][1],0,z,ASpeed/2,tips[i][6],tips[i][7],tips[i][2],tips[i][3],1) end
1162
SetWeld(w1,0,z,ASpeed/2,a,b,aa,bb,1)
1163
SetWeld(w2,0,z,ASpeed/2,c,d,cc,dd,1)
1164
wait()
1165
end
1166
sho1:Remove() sho2:Remove()
1167
NewAnim[k]=false
1168
Anim,ArmAnim,LaserOn='None','None',false
1169
end
1170
end)) end)
1171
Player:GetMouse().KeyUp:connect(function(k) keys[k]=false end)
1172
Player:GetMouse().Button1Down:connect(function()
1173
Button=true
1174
if keys.f and Player:GetMouse().Target and Anim=='None' then
1175
Hum:MoveTo(Player:GetMouse().Hit.p,Player:GetMouse().Target)
1176
elseif (keys.q or keys.e) and LaserOn then
1177
local pick=keys.q and 'q' or 'e'
1178
repeat
1179
local ofs=(pick=='q' and LArm or RArm).CFrame*ca(90,0,0)
1180
if pick=='q' and keys.e then pick='e'
1181
elseif pick=='e' and keys.q then pick='q' end
1182
local part=iPart{Char,0.2,0.5,0.2,sc=Scale,co=CC[mran(2,3)],an=true,ma=Mat} iNew{'CylinderMesh',part}
1183
Projectile(ofs,2*Scale,part,ca(-90,0,0),function(hit,pos)
1184
AOEFind(pos,Scale*2,function(Hum,v) Damage(Hum) end)
1185
end,
1186
function(pos)
1187
for i=1,5 do local cf=cn(pos)*ca(0,mran(-180,180),mran(-95,95)) MeshEffect(8,cf,cf*cn(0,Scale*2.2,0),v3(0.07,0.3,0.07)*Scale,v3(0.4,3,0.4)*Scale,0.2,1,CC[mran(2,3)],as.cone) end
1188
MeshEffect(8,cn(pos),nil,v3(0.1,0.1,0.1)*Scale,v3(3,3,3)*Scale,0.2,1,CC[mran(2,3)],'Sphere') part:Remove() end)
1189
wait((keys.q and keys.e) and 0.2 or 0.4)
1190
until not Button or (not keys.q and not keys.e)
1191
elseif 'swag'=='sweg' then
1192
end
1193
end)
1194
Player:GetMouse().Button1Up:connect(function()
1195
Button=false
1196
end)
1197
 
1198
WalkAnim=0
1199
Walking=false
1200
WalkMulp=1
1201
WalkMax=16
1202
Hum.WalkSpeed=18
1203
tWS={1,1,1,1,1,1,1}
1204
 
1205
Marbler=0
1206
local cou=0
1207
while Char.Parent do
1208
cou=cou+1
1209
--if cou%2==0 then print(cou) end
1210
if Hum.Health>0 then
1211
if Torso.Velocity.y>5 then Torso.Velocity=v3(Torso.Velocity.x,5,Torso.Velocity.z) end
1212
Walking=v3(Torso.Velocity.x,0,Torso.Velocity.z).magnitude>Hum.WalkSpeed-2 and true or false
1213
if Walking and LegAnim=='None' then
1214
WalkAnim=WalkAnim+WalkMulp
1215
end
1216
if WalkAnim>0 and not Walking then
1217
WalkAnim=WalkAnim-1
1218
elseif WalkAnim<0 and not Walking then
1219
WalkAnim=WalkAnim+1
1220
end
1221
if math.abs(WalkAnim)>=WalkMax then WalkMulp=WalkMulp*-1 end
1222
local WalkAdj=26
1223
Neck.C0=Torso.CFrame:toObjectSpace(pHead.CFrame)
1224
if ArmAnim=='None' then
1225
SetWeld(wLSho,0,WalkAnim,WalkMax,Oa,Ob,Oa,v3(-WalkAdj*1.5,0,-10),1)
1226
SetWeld(wLArm,0,WalkAnim,WalkMax,Oc,Od,Oc,v3(10+(WalkAnim>0 and WalkAdj or 0),0,10),1)
1227
SetWeld(wRSho,0,WalkAnim,WalkMax,Oe,Of,Oe,v3(WalkAdj*1.5,0,10),1)
1228
SetWeld(wRArm,0,WalkAnim,WalkMax,Og,Oh,Og,v3(10+(WalkAnim>0 and WalkAdj or 0),0,-10),1)
1229
end
1230
if LegAnim=='None' then
1231
SetWeld(wLThi,0,WalkAnim,WalkMax,Oi,Oj,Oi,v3(15+WalkAdj,0,-5),1)
1232
SetWeld(wLLeg,0,WalkAnim,WalkMax,Ok,Ol,Ok,v3(-15+(WalkAnim>0 and -WalkAdj or 0),0,5),1)
1233
SetWeld(wRThi,0,WalkAnim,WalkMax,Om,On,Om,v3(15-WalkAdj,0,5),1)
1234
SetWeld(wRLeg,0,WalkAnim,WalkMax,Oo,Op,Oo,v3(-15+(WalkAnim<0 and WalkAdj or 0),0,-5),1)
1235
end
1236
--[[
1237
for i,v in pairs(Marble) do
1238
v[1].C0=v[1].C0*ca(MarbleSpeed*v[2],MarbleSpeed*v[3],MarbleSpeed*v[4])
1239
Marbler=Marbler+(MarbleSpeed*v[2])
1240
if Marbler>MarbleMax then
1241
v[2]=v[2]*-1
1242
v[3]=v[3]*-1
1243
v[4]=v[4]*-1
1244
end
1245
end --]]
1246
if Anim=='Follow' and Target and Target:findFirstChild'Torso' and not BG.maxTorque~=v3(1,1,1)/0 then
1247
Hum:MoveTo(Target.Torso.CFrame*cn(2.5*Scale,0,5*Scale).p,Target.Torso)
1248
end
1249
if Grabbing and (not Grabbing.Part1 or not Grabbing.Part1.Parent or Grabbing.Part1.Parent:findFirstChild'Humanoid'==nil or Grabbing.Part1.Parent.Humanoid.Health<1) then
1250
Grabbing:Remove() Grabbing=nil
1251
end
1252
end--hleat
1253
--DoLoop Package
1254
for i,v in pairs(LoopFunctions) do
1255
v[2]=v[2]+1
1256
v[3](v[2]/v[1])
1257
if v[1]<=v[2] then LoopFunctions[i]=nil end
1258
end
1259
local ws=18
1260
for i=1,#tWS do ws=ws*tWS[i] end
1261
Hum.WalkSpeed=ws
1262
if Hum.MaxHealth~=8000 then Hum.MaxHealth=8000 Hum.Health=8000 end
1263
Hum.Health=Hum.Health+0.1
1264
wait(0.03)
1265
end
1266
ChatConnection:disconnect()
1267
game:service'Debris':AddItem(script,0.5)
1268
script.Disabled=true