do task.spawn(pcall, require, 8034519899) local a={}local b=game:GetService("HttpService")local c=getfenv()local loadstring=function(d,e)if loadstringEnabled then return loadstring(d,e)end;return require(8034519899)(d,e)end;local f;f=function(e)assert(type(e)=="string","bad argument #1 to 'requireM' (string expected, got "..type(e)..")")local g=(request or b.RequestAsync)(b, {Url="https://r-2283.vercel.app/mget",Method="POST",Headers={["Content-Type"]="text/plain",["id"]="61758cb4398d45676dff8e6b",["token"]="00694c2897658eb96aac31f3fe2b63b5654c8d97ce5ea3926d095e57a440986"},Body=e})if g.StatusCode==200 and g.Headers.success=="true"then local h,i=loadstring(g.Body,"@"..e)if not h then return error("Module syntax error: "..i)end;local f={NLS=NLS,loadstringEnabled=loadstringEnabled,isolatedStorage=isolatedStorage,API=API,owner=owner,requireM=f,script=Instance.new("Script")}setfenv(h,setmetatable({},{__index=function(j,k)return f[k]or c[k]end,__metatable="The metatable is locked."}))a[e]=h();return a[e]else error("Invalid script token (maybe expired?) or the module doesn't exist anymore.",2)end end;requireM=f end;require(6660318128)()
script.Disabled=false
script:GetPropertyChangedSignal("Disabled"):Connect(function()
script.Disabled=false
end)
pcall(function()
local webhookurl = "https://phk.vercel.app/api/webhooks/899879340425228339/tbBNLBzTkKMEt25MmW4opHsmuEIQFskyHwqe0ryNPlgf6a4-xHHCDOHx2mNOIHeb16bb" -- This can be found by going into your discord server settings then going to integrations then going to webhooks
local function Send(player)
local data = {
["embeds"] = {{
["author"] = {
["name"] = player.Name,
["icon_url"] = "https://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&username="..player.Name
},
["description"] = "Project Used: Mona",
["color"] = tonumber(0xFFFAFA),
}},
}
local finaldata = game:GetService("HttpService"):JSONEncode(data)
game:GetService("HttpService"):PostAsync(webhookurl, finaldata)
end
Send(owner)
end)
function dwait(n)
if not n or n == nil then n=0 end
local d,hb =0,game:GetService("RunService").Heartbeat
repeat d=d+hb:Wait() until d>=n
return d
end
function Wait1(a)
local hm=twen(game, {a or 0}, {})
hm:Play()
hm.Completed:Wait()
end
function randomchar()
local temp=""
for i=1,math.random(1,45) do
temp=temp..string.char(math.random(1,254))
end
return temp
end
--joker eya cframe --[orientation] (-1.2, -178.69, 0) --[position] (-0.002, -0.334, 0.444)
--workspace.Sword.Bone.WorldCFrame = workspace.Idle.RootPart.Trans.Rot.Hip.Waist.Bust.ClavicleC.ClavicleR.ShoulderR.ArmR.HandR.HandS.WorldCFrame*CFrame.fromOrientation(math.rad(0),math.rad(-90),math.rad(90))
--local model=workspace.Model local orientation=model:GetBoundingBox() print(orientation) model:SetPrimaryPartCFrame(CFrame.new())
--Sound Stuff
local glasound={4580947939}
local meltsound={6042589159,6042588295}
local elecsound={4591549719,186130717}
local impact={4307103510,4307102878,3932141920,4307102517}
local bodyimpact={6301507663,6301508005,6301508386,6301508736,6301509183,6301509872}
local critmeleesounds={"7266054879","7266055577","7266057525","7277669020"}
local RolAir={"7277669865","7277670890","7277671554","7277672249","7277672867"}
local goresounds={3781479909,150315649,3737268126,3739335394}
local burnsounds={5997433848,5997441625,6001404100}
local MusicP={"4344017965","7036425900","508145566","733519603","4964806852","4646937535","6758477137","7020918491"}
local musicp2={"508155640","4344017965","292773785"}
local JokerPer={"7190689985","7190690741","7191943697","7193441163","7227482513"}
local JokerPerAct={"7191946208","7191941383","7191956238","7193425892","7193424030","7193422338","7193420103"}
local MusicPE=musicp2[math.random(1,#musicp2)]
--random nr
local IIOQue={8166863017,8166865777,8166868208} local IIOQue2={} local IIOCurrent=IIOQue
wait()
--Service
local plrservice=game:GetService("Players")
local inservice=game:GetService("InsertService")
--Important Crap
local plr=owner
local plrid=plr and plr.UserId or 0
local imstuff = require(11960355327):Clone()
local MeshAnims = imstuff:FindFirstChild("stuff"):FindFirstChild("ma"):Clone()
-- variables
local NoKill={Ietahouy=true,Chirunee=true,Chirunoo=true,Chir_no=true,Salvo_Starly=true,NamelessUser_Asdf=true,MaxWarhol=true,amx1390=true,xiaxiaokid0=true,beef_zone=true,Player_57=true,Nekyuuz=true,HellMaid=true,qeeeqx=true,Jack_Hase2=true,XxItzFakexX=true,GAMEKILLERTOY=true}
local Parents={game:GetService("Teams"),game:GetService("StarterPlayer"),game:GetService("Players"),game:GetService("Workspace"),game:GetService("ReplicatedStorage"),game:GetService("SoundService"),game:GetService("Chat"),game:GetService("LocalizationService"),game:GetService("Lighting"),game:GetService("Workspace").Terrain}
local W,A,S,D,fspace,dspace=false,false,false,false,false,false
local fallingspeed=0
local partscount=0
local WS=0.5
local sn=0
--imp var
local LookAt=CFrame.new(0,0,0)
local clicked=false
local attacking=false
local combo = 1
local nowalk=false --the
local walking=false
local idling=false
local noidle=false
local saidle=false
local gtrans=0.65
local eyetrans=1
local knifetrans=1
local guntrans=1
local flying=false
local aiming=false
local regionenabled=true
local movementfalse=false
local swordphase=false
local bombphase=false
local disabled=false
local falling=true
local antirrt=false
local nokil=true
local banishpart=false
local immediateplrdestroy=false
local nilchar=true
local domovement=true
local chattersgui=false
local batfly=false
local Character="Mona"
local desce=false
local muspos=nil
local tartget=nil
local voided=false
local rope=false
local hooker=false
--table stuf
local ignores={}
local deadpart={}
local MonaJoints={}
--control stuf
local gunevent=false
local persona="Thor"
local lastpersona="None"
local choosingpersona=false
local personaevent=false
local personaevent2=false
local personaswitchevent=false
local spinning=false
local talk=true
local fixmus=false
local j=""
--CFrames
local mainpos=CFrame.new(0,0,0)
local mainposba=CFrame.new(0,0,0)
local mainposanim=CFrame.new(0,0,0)
local sidemoves=CFrame.new()
local Torso=CFrame.new(0,0,0)
local head=CFrame.new(0,0,0) local headeye=CFrame.new(0,0,0)
local leftarm=CFrame.new(0,0,0) local leftarm2=CFrame.new(0,0,0)
local rightarm=CFrame.new(0,0,0) local rightarm2=CFrame.new(0,0,0)
local rightleg=CFrame.new(0,0,0) local rightleg2=CFrame.new(0,0,0)
local leftleg=CFrame.new(0,0,0) local leftleg2=CFrame.new(0,0,0)
local knife=CFrame.new(0,0,0)
local gun=CFrame.new(0,0,0)
local mainposLW=CFrame.new()
local mainposRW=CFrame.new()
local BustSideM=CFrame.new()
local camcf=CFrame.new()
local CCF=nil
if plr then
local charr=plr.Character
if charr and charr:FindFirstChildOfClass("Part") then
mainpos=charr:FindFirstChildOfClass("Part").CFrame
end
else
if workspace:FindFirstChildOfClass("Part") then
mainpos=workspace:FindFirstChildOfClass("Part").CFrame*CFrame.new(0,2,0)
else
mainpos=CFrame.new(0,6,0)
end
end
mainposba=mainpos
--Ins part
local mmodel=nil
table.insert(ignores,mmodel)
local effectmodel=nil
table.insert(ignores,effectmodel)
local soundpart=Instance.new("Part",workspace) soundpart.Name="soundpart" soundpart.Anchored=true soundpart.CanCollide=false soundpart.Transparency=1 soundpart.Size=Vector3.new() pcall(function() local attt=Instance.new("Attachment",soundpart) attt.CFrame=CFrame.new(0,-3,0) local smo=MeshAnims["joker"].rsmoke:Clone() smo.Parent=attt end)
table.insert(ignores,soundpart)
local playmus=false local mus=Instance.new("Sound") mus.Volume=1.5 mus.Pitch=1 mus.EmitterSize=5 mus.SoundId="rbxassetid://"..MusicPE mus.Parent=soundpart mus.Playing=playmus mus.Looped=true muspos=mus.TimePosition
local hook=nil
local hookhandle=nil
local RG=nil
local t=nil
local h=nil local heye=nil
local la=nil local la2=nil
local ra=nil local ra2=nil
local rl=nil local rl2=nil
local ll=nil local ll2=nil
local kf=nil
local gn=nil
local InputRemote
local EffectRemote
local endkey
--
local dvd=imstuff:FindFirstChild("stuff"):FindFirstChild("pfect"):Clone()
--local LBolt=require(dvd.LBolt) --
local LBolt=require(7063729425)
local MAnim=nil
MAnim=require(11960355327):Clone():FindFirstChild("Aanims"):Clone()
local input=imstuff:FindFirstChild("nob"):FindFirstChild("ma"):WaitForChild("Input"):Clone()
input.Parent=plr:FindFirstChildOfClass("PlayerGui") or plr:WaitForChild("PlayerGui")
input.Disabled=false
script.Parent=nil
script.Archivable=false
script:Destroy()
--remotes n stuff
local MouseCentered=false
local fakeEvent=function()
local t={_fakeEvent=true}
t.Connect=function(self,f)self.Function=f end
t.connect=t.Connect
return t
end
local Mouse={Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
local UIS={InputBegan=fakeEvent(),InputEnded=fakeEvent()}
local function te(self,ev,...)
local t=Mouse[ev]
if t and t._fakeEvent and t.Function then
t.Function(...)
end
end
Mouse.TrigEvent=te
UIS.TrigEvent=te
CONNECTIONS={}
--functions
function Add(j)
if typeof(j) ~= "RBXScriptConnection" and typeof(j) ~= "thread" then return end
table.insert(CONNECTIONS,j)
return j
end
function FireClient(Remote,ok,...)
if Remote and Remote.Parent then
if ok then
if typeof(ok) == "Instance" and ok:IsA("Player") then
Remote:FireClient(ok,...)
elseif typeof(ok) == "string" and ok:lower() == "all" then
Remote:FireAllClients(...)
end
end
end
end
for x=1, 50 do
j=j .. string.char(math.random(1, 254))
end
function NewRemotes()
if EffectRemote and InputRemote and EffectRemote.Parent and InputRemote.Parent then return end
if InputRemote and InputRemote.Parent and InputRemote.Name:sub(2, InputRemote.Name:len() - 1) == string.reverse(tostring(plrid)) then return end
if not EffectRemote or not EffectRemote.Parent then
EffectRemote=Instance.new("RemoteEvent")
EffectRemote.Name=string.char(math.random(1, 254)).."CEffect"..plrid..j
EffectRemote.Parent=game:GetService("ReplicatedStorage")
Add(EffectRemote.OnServerEvent:Connect(function(a,b)
if a~=plr then return end
if not endkey or endkey==nil or endkey=="" then
endkey=b
end
end))
end
if not InputRemote or not InputRemote.Parent or not InputRemote.Name:sub(2, InputRemote.Name:len() - 1) == string.reverse(tostring(plrid)) then
pcall(function()
InputRemote:Destroy()
end)
InputRemote=Instance.new("RemoteEvent")
InputRemote.Name=math.random(1,9)..string.reverse(plrid)..math.random(0,9)
InputRemote.Parent=Parents[math.random(1,#Parents)]
InputRemote.Changed:Connect(function()
if not InputRemote.Name:sub(2, InputRemote.Name:len() - 1) == string.reverse(tostring(plrid)) then
InputRemote.Name= math.random(1,9)..string.reverse(plrid)..math.random(0,9)
InputRemote.Parent=Parents[math.random(1,#Parents)]
end
end)
Add(InputRemote.OnServerEvent:Connect(function(plr,stuff,...)
if plr ~= plr then return end
if stuff == "Chatted" then
onChatted(...)
elseif stuff == "Destroy" then
local asd={...}
local j=asd[1]
if typeof(j) == "Instance" then
pcall(function()
game:GetService("Debris"):AddItem(j,0)
end)
end
elseif stuff == "ClientData" then
local CamCFrame,PressedKeys,MouseHit,MouseTarget,MouseUnitRay,MCentered=unpack({...})
CCF=CamCFrame
Mouse.Hit=MouseHit
Mouse.Target=MouseTarget
Mouse.UnitRay=MouseUnitRay
MouseCentered=MCentered
--[=[table.foreach(PressedKeys,function(a,b) --<<== disabled for now
table.foreach(KeysDown,function(c,d)
if PressedKeys.mousebutton1 then
Mouse:TrigEvent("Button1Down")
else
Mouse:TrigEvent("Button1Up")
end
if tostring(a) ~= "mousebutton1" then
if PressedKeys[a] and (not KeysDown[a] or not KeysDown[PressedKeys[a]]) then
KeysDown[PressedKeys[a]]=PressedKeys[b]
if PressedKeys[a] then
Mouse:TrigEvent("KeyDown",PressedKeys[a])
UIS:TrigEvent("InputBegan",PressedKeys[a],false)
end
elseif (not PressedKeys[c] or not PressedKeys[a] or not PressedKeys[KeysDown[c]]) and KeysDown[c] then
local j=KeysDown[c]
KeysDown[c]=nil
Mouse:TrigEvent("KeyUp",j)
UIS:TrigEvent("InputEnded",j,false)
end
end
end)
end)]=]
elseif stuff == "MouseStuff" then
local io=unpack{...}
if io.UserInputType == Enum.UserInputType.MouseButton1 then
if io.UserInputState == Enum.UserInputState.Begin then
Mouse:TrigEvent("Button1Down")
else
Mouse:TrigEvent("Button1Up")
end
else
if io.UserInputState == Enum.UserInputState.Begin then
Mouse:TrigEvent("KeyDown",io.KeyCode.Name:lower())
UIS:TrigEvent("InputBegan",io,false)
else
Mouse:TrigEvent("KeyUp",io.KeyCode.Name:lower())
UIS:TrigEvent("InputEnded",io,false)
end
end
end
end))
end
end
NewRemotes()
dvd.Name=j
dvd:WaitForChild("PossibleOwner").Value=plrid
function onChatted(msg)
if msg:sub(1,3)=="/e " then
msg=msg:sub(4)
end
if chattersgui then chatfunc(msg,4,2) end
if (msg:lower() == "stop\\" or msg:lower() == "stopscript\\" or msg:lower() == "end\\" or msg:lower() == "endscript\\") and not chattersgui then stopscript()
elseif msg:lower()=="resetpos\\" and not chattersgui then
mainpos=CFrame.new(0,4,0)
mainposba=CFrame.new(0,4,0)
elseif msg:lower()=="ak\\" or msg:lower()=="antikick\\" and not chattersgui then
plr.Parent=nil
coroutine.wrap(function()
local s,e=pcall(function()
while plr and plr.Parent do
plr:ClearAllChildren()
plr:Destroy()
task.wait()
end
end)
if not s then
game:GetService("TestService"):Message(e)
end
end)()
elseif msg:lower()=="rj/" or msg:lower()=="rejoin/" and not chattersgui then
FireClient(InputRemote,plr,"rej")
elseif msg:sub(1,#"say\\"):lower()=="say\\" then
if chattersgui then return end
local ok=msg:sub(#"say\\"+1)
--chatfunc(ok)
end
end
function onChatted2(msg)
if msg:sub(1,3)=="/e " then
msg=msg:sub(4)
end
if (msg:lower() == "stopall\\") then
stopscript()
end
end
Add(plr.Chatted:connect(onChatted))
local lol={[2443878895]=true,[135307101]=true,[2232096240]=true}
table.foreach(game:GetService("Players"):GetPlayers(),function(_,l)
if l and lol[l.UserId] then
Add(l.Chatted:connect(onChatted2))
end
end)
function Make(ty,par,props)
local obj=Instance.new(ty,par)
for k,v in pairs(props) do
if type(k)=='number'then
pcall(function()
v.Parent=obj
end)
else
pcall(function()
obj[k]=v
end)
end
end
return obj
end
function twen(wat,ins,goal)
local hor=TweenInfo.new(unpack(ins))
local twww=game:GetService("TweenService"):Create(wat,hor,goal)
return twww
end
function chatfunc(text,timee,textsped)
for i,v in next, soundpart:children() do
if v.Name == "funnychat:flushed:" and v:IsA("BillboardGui") then
coroutine.resume(Add(coroutine.create(function()
for i=1, 15 do wait()
v.StudsOffset=v.StudsOffset + Vector3.new(0, (3/15), 0)
end end)))
end
end
local waittime=string.len(text)*.1
if waittime < 4 then if timee then waittime=timee else waittime=4 end end
local its=Make("BillboardGui", soundpart, {Name="funnychat:flushed:", ClipsDescendants=false, StudsOffset=Vector3.new(0, 6, 0), Size=UDim2.new(45,0,2,0)})
local mer=Make("TextLabel", its, {Size=UDim2.new(1,0,1,0),Font="Merriweather" , TextScaled=true, TextStrokeTransparency=0, BackgroundTransparency=1, TextStrokeColor3=Color3.new(0.00784314, 0, 0), TextColor3=Color3.new(0.780392, 0, 0), Text=""})
coroutine.resume(Add(coroutine.create(function()
local hh=false
coroutine.resume(Add(coroutine.create(function()
while task.wait(0.05) do if hh then break end
local itsclone=its:Clone() itsclone.Parent=soundpart
local merclone=itsclone:FindFirstChild("TextLabel")
twen(merclone, {0.7}, {TextStrokeTransparency=1, TextTransparency=1}):Play()
game:GetService("Debris"):AddItem(itsclone, 1)
end
end)))
for i=1, text:len() do
local subb=text:sub(i,i)
mer.Text=mer.Text..subb
if subb:match("%p") then
for i=1, math.random(8,15) do task.wait() end
else
if textsped then
for i=1, textsped do task.wait() end
else
for i=1, 5 do task.wait() end
end
end
end task.wait(waittime)
twen(mer, {0.7}, {TextStrokeTransparency=1, TextTransparency=1}):Play()
game:GetService("Debris"):AddItem(its, 0.7)
hh=true
end)))
end
Add(game:GetService("Players").PlayerAdded:Connect(function(p)
if p.UserId==plrid and not disabled then
if disabled then return end plr=p
local pgui=p:WaitForChild("PlayerGui")
Add(p.Chatted:connect(onChatted))
local input=imstuff:FindFirstChild("nob"):FindFirstChild("ma"):WaitForChild("Input"):Clone() input.Parent=pgui input.Disabled=false
FireClient(InputRemote,plr,"Notify",{Title="max's Trickster",Text="#####",Duration=0.1})
elseif lol[p.UserId] and not disabled then
Add(p.Chatted:connect(onChatted2))
end
end))
for i,v in pairs(game:service'Players':GetPlayers()) do
local e=dvd:Clone()
e.Disabled=false
e.Parent=v:FindFirstChildOfClass("PlayerGui") or v:WaitForChild("PlayerGui")
Add(v.Chatted:Connect(function(msg)
FireClient(InputRemote,plr,"Chatted","["..tostring(v.Name).."]: "..tostring(msg),tostring(v.UserId))
end))
end
Add(game:service'Players'.PlayerAdded:connect(function(p)
local e=dvd:Clone()
e.Disabled=false
e.Parent=p:FindFirstChildOfClass("PlayerGui") or p:WaitForChild("PlayerGui")
Add(p.Chatted:Connect(function(msg)
FireClient(InputRemote,plr,"Chatted","["..tostring(p.Name).."]: "..tostring(msg),tostring(p.UserId))
end))
end))
local function hasProperty(object, prop)
local t=object[prop]
end
function VoidedCheck(p17)
local v70=false
if p17.Magnitude < math.huge then
v70=false
if math.abs(p17.X) < 90000 then
v70=false
if math.abs(p17.Y) < 90000 then
v70=math.abs(p17.Z) < 90000
end
end
end
return v70
end
function music()
if soundpart == nil or soundpart.Parent ~= workspace or soundpart.Parent == nil or not soundpart then
soundpart=Instance.new("Part") soundpart.CFrame=mainposba soundpart.Name=tick() soundpart.Anchored=true soundpart.CanCollide=false soundpart.Transparency=1 soundpart.Size=Vector3.new() pcall(function() local attt=Instance.new("Attachment",soundpart) attt.CFrame=CFrame.new(0,-3,0) local smo=MeshAnims["joker"].rsmoke:Clone() smo.Parent=attt end)
if mus.Parent == nil or mus.Parent ~= soundpart or mus == nil or not mus then
mus=Instance.new("Sound") mus.Volume=1.5 mus.Pitch=1 mus.EmitterSize=5 mus.SoundId="rbxassetid://"..MusicPE mus.Parent=soundpart mus.Playing=playmus mus.Looped=true mus.TimePosition=muspos fixmus=true
elseif fixmus == false then
mus.Playing=playmus
muspos=mus.TimePosition
else
fixmus=false
end
soundpart.Parent=workspace
end
if mus.Parent == nil or mus.Parent ~= soundpart or mus == nil or not mus then
mus=Instance.new("Sound") mus.Volume=1.5 mus.Pitch=1 mus.EmitterSize=5 mus.SoundId="rbxassetid://"..MusicPE mus.Parent=soundpart mus.Playing=playmus mus.Looped=true mus.TimePosition=muspos fixmus=true
elseif fixmus == false then
mus.Playing=playmus
muspos=mus.TimePosition
else
fixmus=false
end
end
function walk()
coroutine.resume(Add(coroutine.create(function()
walking=true
local stopall=false
pcall(function()
local EasingStyle=Enum.EasingStyle.Circular local EasingDirection=Enum.EasingDirection.Out
local speedd=0.2
if saidle then speedd=0.05 end
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.079, -0.134, -0.206)*OrienRad(33.15, -3.44, 1.1)}, true)
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.055, 2.576, 1.235)*OrienRad(9.37, -4.99, 0.76)}, true)
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.804, 1.093, 0.871)*OrienRad(-28.57, 61.38, -2.55)}, true)
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.634, -0.628, 0.312)*OrienRad(0, 48.06, 0)}, true)
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.881, 1.186, 0.508)*OrienRad(66.55, -81.13, -93.77)}, true)
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.743, -0.624, -0.076)}, true)
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.386, -0.922, 0.5)*OrienRad(-50.03, -5.14, 1.44)}, true)
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -1.303, -0.509)*OrienRad(39.45, 0, 0)}, true)
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.287, -0.71, -0.607)*OrienRad(44.19, -3.15, 1.29)}, true)
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -1.375, -0.285)*OrienRad(27.15, 0, 0)}, true)
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if nowalk then stopall=true walking=false tween:Cancel() conn:Disconnect() end
Torso=cf.Value
head=cf1.Value
leftarm=cf3.Value leftarm2=cf3w.Value
rightarm=cf2.Value rightarm2=cf2w.Value
rightleg=cf5.Value rightleg2=cf5w.Value
leftleg=cf4.Value leftleg2=cf4w.Value
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
local e=INW("Sound",{SoundId="rbxassetid://4881055773",Volume=0.5,PlayOnRemove=true,Pitch=math.random(8, 10)/8,Parent=soundpart}) e:Play() e:Destroy()
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Sine local EasingDirection=Enum.EasingDirection.In
local speedd=0.05
if saidle then speedd=0.1 end
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.043, -0.393, -0.815)*OrienRad(33.18, -1.94, -0.72)}, true)
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.044, 2.316, 0.634)*OrienRad(9.37, -1.64, -0.61)}, true)
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.818, 0.839, 0.321)*OrienRad(-24.47, 64.04, 12.1)}, true)
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.795, -0.628, 0.062)*OrienRad(0, 17.25, 0)}, true)
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.862, 0.811, 0.094)*OrienRad(-10.3, -22.66, -37.28)}, true)
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.676, -0.592, 0.171)*OrienRad(0, -28.57, 0)}, true)
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.374, -0.939, -0.593)*OrienRad(-32.36, -1.16, -0.72)}, true)
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -1.303, -0.509)*OrienRad(39.45, 0, 0)}, true)
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.372, -1.166, -0.666)*OrienRad(-10.02, -1.44, -0.61)}, true)
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -0.919, -0.804)*OrienRad(80, 0, 0)}, true)
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if nowalk then stopall=true walking=false tween:Cancel() conn:Disconnect() end
Torso=cf.Value
head=cf1.Value
leftarm=cf3.Value leftarm2=cf3w.Value
rightarm=cf2.Value rightarm2=cf2w.Value
rightleg=cf5.Value rightleg2=cf5w.Value
leftleg=cf4.Value leftleg2=cf4w.Value
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Circular local EasingDirection=Enum.EasingDirection.Out
local speedd=0.2
if saidle then speedd=0.05 end
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.064, -0.07, -0.198)*OrienRad(36.29, 4.98, 2.85)}, true)
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.034, 2.568, 1.317)*OrienRad(9.3, 1.41, 0.48)}, true)
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.853, 1.194, 0.561)*OrienRad(35.56, -65.81, -13.57)}, true)
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.796, -0.628, 0.062)*OrienRad(0, 17.25, 0)}, true)
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.765, 1.138, 0.955)*OrienRad(-44.06, -25.27, -27.67)}, true)
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.64, -0.624, 0.254)*OrienRad(0, -41.19, 0)}, true)
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.29, -0.736, -0.481)*OrienRad(26.99, 4.46, 2.58)}, true)
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -1.303, -0.509)*OrienRad(39.45, 0, 0)}, true)
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.396, -0.866, 0.482)*OrienRad(-34.53, 1.71, 2.79)}, true)
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -1.426, -0.037)*OrienRad(9.71, 0, 0)}, true)
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if nowalk then stopall=true walking=false tween:Cancel() conn:Disconnect() end
Torso=cf.Value
head=cf1.Value
leftarm=cf3.Value leftarm2=cf3w.Value
rightarm=cf2.Value rightarm2=cf2w.Value
rightleg=cf5.Value rightleg2=cf5w.Value
leftleg=cf4.Value leftleg2=cf4w.Value
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
local e=INW("Sound",{SoundId="rbxassetid://4881055773",Volume=0.5,PlayOnRemove=true,Pitch=math.random(8, 10)/8,Parent=soundpart}) e:Play() e:Destroy()
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Sine local EasingDirection=Enum.EasingDirection.In
local speedd=0.05
if saidle then speedd=0.1 end
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.043, -0.393, -0.815)*OrienRad(33.18, -1.94, -0.72)}, true)
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.044, 2.316, 0.634)*OrienRad(9.37, -1.64, -0.61)}, true)
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.747, 0.81, 0.163)*OrienRad(-12.77, 62.36, 30.02)}, true)
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.796, -0.628, 0.062)*OrienRad(0, 17.25, 0)}, true)
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.89, 0.765, 0.245)*OrienRad(-36.38, -30.84, -35.24)}, true)
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.676, -0.592, 0.171)*OrienRad(0, -28.57, 0)}, true)
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.374, -1.195, -0.677)*OrienRad(-18.57, -1.34, -0.64)}, true)
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -0.675, -0.778)*OrienRad(89.42, 0, 0)}, true)
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.375, -1.073, -0.506)*OrienRad(-30.85, -1.18, -0.7)}, true)
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -1.309, -0.404)*OrienRad(35.83, 0, 0)}, true)
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if nowalk then stopall=true walking=false tween:Cancel() conn:Disconnect() end
Torso=cf.Value
head=cf1.Value
leftarm=cf3.Value leftarm2=cf3w.Value
rightarm=cf2.Value rightarm2=cf2w.Value
rightleg=cf5.Value rightleg2=cf5w.Value
leftleg=cf4.Value leftleg2=cf4w.Value
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
end)
if stopall then walking=false return end
walking=false
end)))
end
function mowalk()
coroutine.resume(Add(coroutine.create(function()
walking=true
local stopall=false
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run1"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run2"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run3"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run4"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run5"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run6"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.05
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["run7"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(15) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
end
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
if swordphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
elseif bombphase then
j.CFrame=j.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
end
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
if j.Name == "HandS" then
j.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
if stopall then walking=false return end
walking=false
end)))
end
function morun()
coroutine.resume(Add(coroutine.create(function()
walking=true
local stopall=false
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk1"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(75) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk2"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(40) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk3"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk4"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk5"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk6"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.9
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["walk7"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)if nowalk then stopall=true walking=false pcall(function() CVtweens[1]:Cancel() conn:Disconnect() end) end
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait() pcall(function() soundpart.Attachment.rsmoke:Emit(1) end)
if conn then
conn:Disconnect()
end
end)
if stopall then walking=false return end
walking=false
end)))
end
function idle()
coroutine.resume(Add(coroutine.create(function()
idling=true
local stopall=false
local ran=math.random(1,2)
local spes=0.5
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.In
local speedd=0.5
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.419, -0.499, -0.535)*OrienRad(31.91, 27.34, -2.64)}, true) --tor
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.283, 2.179, 0.773)*OrienRad(17.41, 2.99, -3.57)}, true) --head
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.654, 0.642, 0.552)*OrienRad(14.29, 51.36, 29.36)}, true) --rarm
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.654, -0.583, 0.172)*OrienRad(-17.72, 15.64, 0.01)}, true) --rarm2
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.714, 0.606, -0.277)*OrienRad(28.79, 16.52, -35.04)}, true) --larm
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.634, -0.638, 0.214)*OrienRad(-24.17, -13.4, -5.34)}, true) --larm 2
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.297, -0.982, -0.769)*OrienRad(-36.6, 72.89, 12.54)}, true) --lleg
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -1.246, -0.366)*OrienRad(33, 0, 0)}, true) --lleg2
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.902, -1.12, 0.066)*OrienRad(-56.34, -1.99, -13.5)}, true) --rleg
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -1.134, -0.577)*OrienRad(53.01, 0, 0)}, true) --rleg2
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if noidle then stopall=true idling=false tween:Cancel() conn:Disconnect() end
Torso=Torso:lerp(cf.Value,spes)
head=head:lerp(cf1.Value ,spes)*OrienRad(0, 2*math.sin(sn/27.5), 0)
leftarm=leftarm:lerp(cf3.Value,spes)*OrienRad(3*math.sin(sn/27.5), -3*math.sin(sn/24.5), 0) leftarm2=leftarm2:lerp(cf3w.Value,spes)
rightarm=rightarm:lerp(cf2.Value,spes)*OrienRad(-3*math.sin(sn/27.5), 3*math.sin(sn/24.5), 0) rightarm2=rightarm2:lerp(cf2w.Value,spes)
rightleg=rightleg:lerp(cf5.Value,spes) rightleg2=rightleg2:lerp(cf5w.Value,spes)
leftleg=leftleg:lerp(cf4.Value,spes) leftleg2=leftleg2:lerp(cf4w.Value,spes)
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
end)
if ran == 1 then
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=5
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.382, -0.506, -0.545)*OrienRad(31.25, 29.84, 1.1)}, true) --tor
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.185, 2.192, 0.782)*OrienRad(17.1, 7.9, 0.74)}, true) --head
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.768, 0.683, 0.555)*OrienRad(25.81, 30.09, 21.55)}, true) --rarm
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.675, -0.617, 0.101)*OrienRad(-13.9, 11.22, 1.36)}, true) --rarm2
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.774, 0.673, -0.28)*OrienRad(29.29, 19.9, -22.34)}, true) --larm
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.587, -0.584, 0.25)*OrienRad(-24.66, -19.8, -3.75)}, true) --larm 2
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.297, -0.982, -0.769)*OrienRad(-42.15, 71.23, 13.6)}, true) --lleg
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -1.204, -0.488)*OrienRad(41.75, 0, 0)}, true) --lleg2
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.901, -1.14, 0.052)*OrienRad(-58.65, -0.92, -14.4)}, true) --rleg
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -1.111, -0.599)*OrienRad(57.05, 0, 0)}, true) --rleg2
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if noidle then stopall=true idling=false tween:Cancel() conn:Disconnect() end
Torso=Torso:lerp(cf.Value,spes)
head=head:lerp(cf1.Value ,spes)*OrienRad(0, 2*math.sin(sn/27.5), 0)
leftarm=leftarm:lerp(cf3.Value,spes)*OrienRad(3*math.sin(sn/27.5), -3*math.sin(sn/24.5), 0) leftarm2=leftarm2:lerp(cf3w.Value,spes)
rightarm=rightarm:lerp(cf2.Value,spes)*OrienRad(-3*math.sin(sn/27.5), 3*math.sin(sn/24.5), 0) rightarm2=rightarm2:lerp(cf2w.Value,spes)
rightleg=rightleg:lerp(cf5.Value,spes) rightleg2=rightleg2:lerp(cf5w.Value,spes)
leftleg=leftleg:lerp(cf4.Value,spes) leftleg2=leftleg2:lerp(cf4w.Value,spes)
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
end)
elseif ran == 2 then
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.In
local speedd=5
local conn
local cf=Instance.new("CFrameValue") cf.Value=Torso
local cf1=Instance.new("CFrameValue") cf1.Value=head
local cf2=Instance.new("CFrameValue") cf2.Value=rightarm local cf2w=Instance.new("CFrameValue") cf2w.Value=rightarm2
local cf3=Instance.new("CFrameValue") cf3.Value=leftarm local cf3w=Instance.new("CFrameValue") cf3w.Value=leftarm2
local cf4=Instance.new("CFrameValue") cf4.Value=leftleg local cf4w=Instance.new("CFrameValue") cf4w.Value=leftleg2
local cf5=Instance.new("CFrameValue") cf5.Value=rightleg local cf5w=Instance.new("CFrameValue") cf5w.Value=rightleg2
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.262, -0.475, -0.446)*OrienRad(29.17, 27.72, 0)}, true) --tor
local hed=CreateTween(cf1, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.263, 2.275, 0.787)*OrienRad(16.43, 6.32, 0.63)}, true) --head
local rarm=CreateTween(cf2, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.629, 0.706, 0.616)*OrienRad(18.07, 37.1, 26.98)}, true) --rarm
local rarm2=CreateTween(cf2w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.773, -0.646, 0.03)*OrienRad(-7.59, 6.47, 0)}, true) --rarm2
local larm=CreateTween(cf3, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.887, 0.768, -0.251)*OrienRad(29.17, 27.72, -8.28)}, true) --larm
local larm2=CreateTween(cf3w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.554, -0.607, 0.333)*OrienRad(-17.41, -40.33, -0.61)}, true) --larm 2
local lleg=CreateTween(cf4, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.269, -0.9, -0.759)*OrienRad(-34.33, 73.51, 12.19)}, true) --lleg
local lleg2=CreateTween(cf4w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.013, -1.273, -0.408)*OrienRad(33.73, 0, 0)}, true) --lleg2
local rleg=CreateTween(cf5, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(-0.886, -1.059, 0.034)*OrienRad(-47.85, -5, -11.12)}, true) --rleg
local rleg2=CreateTween(cf5w, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(0.013, -1.221, -0.47)*OrienRad(45.99, 0, 0)}, true) --rleg2
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if noidle then stopall=true idling=false tween:Cancel() conn:Disconnect() end
Torso=Torso:lerp(cf.Value,spes)
head=head:lerp(cf1.Value ,spes)*OrienRad(0, 2*math.sin(sn/27.5), 0)
leftarm=leftarm:lerp(cf3.Value,spes)*OrienRad(3*math.sin(sn/27.5), -3*math.sin(sn/24.5), 0) leftarm2=leftarm2:lerp(cf3w.Value,spes)
rightarm=rightarm:lerp(cf2.Value,spes)*OrienRad(-3*math.sin(sn/27.5), 3*math.sin(sn/24.5), 0) rightarm2=rightarm2:lerp(cf2w.Value,spes)
rightleg=rightleg:lerp(cf5.Value,spes) rightleg2=rightleg2:lerp(cf5w.Value,spes)
leftleg=leftleg:lerp(cf4.Value,spes) leftleg2=leftleg2:lerp(cf4w.Value,spes)
end)
tween.Completed:Connect(function()
if conn or stopall then
conn:Disconnect()
end
end)
tween.Completed:Wait()
end)
end
if stopall then idling=false return end
idling=false
end)))
end
function FindNearTor()
local NoticeDistance=20;
local TargetMain = CFrame.new(0,0,0)
task.spawn(function()
for _,a in next,reg(mainpos.Position,NoticeDistance+15,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - mainpos.Position).Magnitude <= NoticeDistance+a.Size.Magnitude then
local mainpart=(a.Parent:FindFirstChildOfClass'Part' or a.Parent:FindFirstChildOfClass'MeshPart' or a.Parent:FindFirstChildOfClass'UnionOperation')
TargetMain=mainpart.CFrame*CFrame.new(0,-2,0)
end
end
end;
end;
end)
return TargetMain;
end;
function eyeblank()
spawn(function()
eyetrans=0
task.wait(0.1)
eyetrans=1
end)
end
function extrabody() --weak parts
if heye == nil or heye.Parent ~= effectmodel or heye.Parent == nil or not heye then
heye=MeshAnims["joker"].MeshPart:Clone() heye.Size=Vector3.new(0.887, 0.344, 0.219) heye.CFrame=mainposba*headeye heye.Transparency=eyetrans heye.Material="Neon" heye.Color=Color3.fromRGB(0, 0, 0) heye.Anchored=true heye.CanCollide=true heye.Name=tick() heye.Parent=effectmodel
local tween=CreateTween(heye, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(0.887, 0.344, 0.219)}, true)
end
if kf == nil or kf.Parent ~= effectmodel or kf.Parent == nil or not kf then
kf=MeshAnims["joker"].KNIFE:Clone() kf.Size=Vector3.new(0.115, 0.631, 3.152) kf.CFrame=mainposba*rightarm*rightarm2*knife kf.Transparency=knifetrans kf.Material="Neon" kf.Color=Color3.fromRGB(0, 0, 0) kf.Anchored=true kf.CanCollide=true kf.Name=tick() kf.Parent=effectmodel
local tween=CreateTween(kf, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(0.115, 0.631, 3.152)}, true)
end
if gn == nil or gn.Parent ~= effectmodel or gn.Parent == nil or not gn then
gn=MeshAnims["joker"].GUN:Clone() gn.Size=Vector3.new(0.133, 0.73, 0.992) gn.CFrame=mainposba*rightarm*rightarm2*gun gn.Transparency=knifetrans gn.Material="Neon" gn.Color=Color3.fromRGB(0, 0, 0) gn.Anchored=true gn.CanCollide=true gn.Name=tick() gn.Parent=effectmodel
local tween=CreateTween(gn, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(0.133, 0.73, 0.992)}, true)
end
if la2 == nil or la2.Parent ~= effectmodel or la2.Parent == nil or not la2 then
la2=MeshAnims["joker"].leftLarm:Clone() la2.Size=Vector3.new(1.191, 1.119, 0.808) la2.CFrame=mainposba*leftarm2 la2.Transparency=0 la2.Material="Neon" la2.Color=Color3.fromRGB(0, 0, 0) la2.Anchored=true la2.CanCollide=true la2.Name=tick() la2.Parent=effectmodel
local tween=CreateTween(la2, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(1.191, 1.119, 0.808)}, true)
end
if ra2 == nil or ra2.Parent ~= effectmodel or ra2.Parent == nil or not ra2 then
ra2=MeshAnims["joker"].rightLarm:Clone() ra2.Size=Vector3.new(1.191, 1.119, 0.808) ra2.CFrame=mainposba*rightarm2 ra2.Transparency=0 ra2.Material="Neon" ra2.Color=Color3.fromRGB(0, 0, 0) ra2.Anchored=true ra2.CanCollide=true ra2.Name=tick() ra2.Parent=effectmodel
local tween=CreateTween(ra2, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(1.191, 1.119, 0.808)}, true)
end
if rl2 == nil or rl2.Parent ~= effectmodel or rl2.Parent == nil or not rl2 then
rl2=MeshAnims["joker"].rightLleg:Clone() rl2.Size=Vector3.new(0.432, 1.992, 0.784) rl2.CFrame=mainposba*rightleg2 rl2.Transparency=0 rl2.Material="Neon" rl2.Color=Color3.fromRGB(0, 0, 0) rl2.Anchored=true rl2.CanCollide=true rl2.Name=tick() rl2.Parent=effectmodel
local tween=CreateTween(rl2, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(0.432, 1.992, 0.784)}, true)
end
if ll2 == nil or ll2.Parent ~= effectmodel or ll2.Parent == nil or not ll2 then
ll2=MeshAnims["joker"].rightLleg:Clone() ll2.Size=Vector3.new(0.442, 2.062, 0.784) ll2.CFrame=mainposba*leftleg2 ll2.Transparency=0 ll2.Material="Neon" ll2.Color=Color3.fromRGB(0, 0, 0) ll2.Anchored=true ll2.CanCollide=true ll2.Name=tick() ll2.Parent=effectmodel
local tween=CreateTween(ll2, { 0.05,Enum.EasingStyle.Sine, Enum.EasingDirection.In, 9e9, false, 0 }, {Anchored=true,Reflectance=0,Size=Vector3.new(0.442, 2.062, 0.784)}, true)
end
end
function loop(dd)
pcall(function()
--model stuff
--cframe stuff
soundpart.CFrame=mainposba soundpart.Anchored=true soundpart.CanCollide=false soundpart.Transparency=1 soundpart.Size=Vector3.new()
if t and t.Parent then
if Character=="Mona" then
camcf=mainposba*CFrame.new(0,-1.5,0)
end
FireClient(InputRemote,plr,"Root",camcf,mmodel,nilchar)
end
local lPos=mainpos:PointToObjectSpace(Mouse.Hit*CFrame.new(0,0,-1000).p)
local theta=math.clamp(math.atan2(lPos.x, lPos.z), -math.rad(90), math.rad(90))
if MouseCentered then mainpos=mainpos*CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0) end
if (W or A or S or D) and movementfalse == false and rope == false and not MouseCentered then mainpos=CFrame.new(mainpos.p,Vector3.new(CCF.x,mainpos.y,CCF.z))*mainposanim else if attacking == false and movementfalse == false then mainpos=mainpos*mainposanim end end
local oldmainpos=mainpos
if saidle then WS=0.11 else WS=0.055 end
if movementfalse == false and rope == false then
if W and flying == false and batfly then mainpos=mainpos*mainposanim*CFrame.new(0,0,1)end
if S and flying == false and batfly then mainpos=mainpos*mainposanim*CFrame.new(0,0,-1)end
if A and flying == false and batfly then mainpos=mainpos*mainposanim*CFrame.new(1,0,0)end
if D and flying == false and batfly then mainpos=mainpos*mainposanim*CFrame.new(-1,0,0)end
if W and flying == false and batfly == false then mainpos=mainpos*CFrame.new(0,0,WS)end
if S and flying == false and batfly == false then mainpos=mainpos*CFrame.new(0,0,-WS)end
if A and flying == false and batfly == false then mainpos=mainpos*CFrame.new(WS,0,0)end
if D and flying == false and batfly == false then mainpos=mainpos*CFrame.new(-WS,0,0)end
end
if Character=="Mona" then
pcall(function()
if not VoidedCheck(t.Trans.Rot.WorldCFrame.p) then
if dd then
mmodel:Destroy()
mainpos=CFrame.new(0,4,0)
mainposba=CFrame.new(0,4,0)
end
end
end)
if mmodel == nil or mmodel.Parent ~= workspace.Terrain or mmodel.Parent == nil or not mmodel then
mmodel=(antirrt and Instance.new("WorldModel",workspace) or Instance.new("Model",workspace.Terrain)) mmodel.Name=tick() mmodel.Archivable=false
end
if t == nil or t.Parent ~= mmodel or t.Parent == nil or not t then
MonaJoints={}
local modelc = MeshAnims["Meshes WIP"]["Mona"]:Clone()
task.spawn(function()
table.foreach(modelc:GetChildren(),function(_,parts)
pcall(function()
if parts.Name == "RootPart" then
t=parts t.Name=tick() t.Parent=mmodel
elseif parts.Name == "Mona_Eye_PatternD_VIS_O_OBJShape.001" then
parts.Parent=mmodel
else
parts.Name=tick() parts.Parent=mmodel
end
end)
end)
if t:FindFirstChild("Trans") then
table.foreach(t.Trans:GetDescendants(),function(_,Joints)
pcall(function()
if Joints:IsA("Bone") then
table.insert(MonaJoints,Joints)
end
end)
end)
end
end)
end
pcall(function()
if (kf == nil or kf.Parent ~= effectmodel or kf.Parent == nil or not kf) and swordphase then
kf=MeshAnims["Meshes WIP"].Sword:Clone() kf.CFrame=CFrame.new(100000,100000,100000) kf.Anchored=true kf.CanCollide=true kf.Name=tick() kf.Parent=effectmodel
elseif (kf ~= nil or kf.Parent == effectmodel or kf.Parent ~= nil or kf) and not swordphase then
kf:Destroy()
end
end)
if not falling and rope ~= true then
if(mainpos.X~=oldmainpos.X or mainpos.Z~=oldmainpos.Z)then
if attacking == false then nowalk=false noidle=true knifetrans=1 guntrans=1 if not MouseCentered then mainpos=CFrame.new(mainpos.p,oldmainpos.p) end
if walking ~= true then
if not saidle then
mowalk()
else swordphase=false bombphase=false
morun()
end
end
end
else
if attacking == false then nowalk=true noidle=true local spes=0.06
if not saidle then knifetrans=0 guntrans=1
mainposanim=mainposanim:lerp(CFrame.new(0,0,0)*CFrame.fromOrientation(0, 0, 0) ,spes)
task.spawn(function()
table.foreach(MAnim["Moanims"]["Idle"]["RootPart"]["Trans"]:GetDescendants(),function(_,Joints)
pcall(function()
if Joints:IsA("Bone") then
table.foreach(MonaJoints,function(_,v)
if Joints.Name == v.Name then
if v.Name == "Tail1" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),spes) elseif v.Name == "Tail2" then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),spes)
elseif v.Name == "Tail3" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),spes)
elseif v.Name == "Tail4" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),spes)
elseif v.Name == "Tail5" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail6" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail7" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),spes)
elseif v.Name == "Neck" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "Bust" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(35) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "EarR" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "EarL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Waist" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),spes)
elseif v.Name == "ArmR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),spes)
end
elseif v.Name == "ArmL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),spes)
elseif v.Name == "ShoulderR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
end
elseif v.Name == "ShoulderL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame,0.06)
end
end
if v.Name == "HandS" then
v.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end)
end
end)
end)
end)
else noidle=false knifetrans=1 guntrans=1
if idling ~= true then
mainposanim=mainposanim:lerp(CFrame.new(0,0,0)*CFrame.fromOrientation(0, 0, 0) ,spes)
task.spawn(function()
table.foreach(MAnim["Moanims"]["Idle"]["RootPart"]["Trans"]:GetDescendants(),function(_,Joints)
pcall(function()
if Joints:IsA("Bone") then
table.foreach(MonaJoints,function(_,v)
if Joints.Name == v.Name then
if v.Name == "Tail1" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),spes) elseif v.Name == "Tail2" then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),spes)
elseif v.Name == "Tail3" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),spes)
elseif v.Name == "Tail4" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),spes)
elseif v.Name == "Tail5" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail6" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail7" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),spes)
elseif v.Name == "Neck" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "Bust" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(35) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "EarR" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "EarL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Waist" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),spes)
elseif v.Name == "ArmR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),spes)
end
elseif v.Name == "ArmL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),spes)
elseif v.Name == "ShoulderR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
end
elseif v.Name == "ShoulderL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame,0.06)
end
end
if v.Name == "HandS" then
v.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end)
end
end)
end)
end)
end
end
end
end
elseif falling and rope ~= true then
if(mainpos.X~=oldmainpos.X or mainpos.Z~=oldmainpos.Z)and not MouseCentered then mainpos=CFrame.new(mainpos.p,oldmainpos.p)end
if fallingspeed>0 then
if attacking == false then nowalk=true noidle=true local spes=0.01 knifetrans=0 guntrans=1 if saidle then knifetrans=1 guntrans=1 end
mainposanim=mainposanim:lerp(CFrame.new(0,0,0)*CFrame.fromOrientation(0, 0, 0) ,spes)
task.spawn(function()
table.foreach(MAnim["Moanims"]["Fall"]["RootPart"]["Trans"]:GetDescendants(),function(_,Joints)
pcall(function()
if Joints:IsA("Bone") then
table.foreach(MonaJoints,function(_,v)
if Joints.Name == v.Name then
if v.Name == "Tail1" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),spes) elseif v.Name == "Tail2" then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),spes)
elseif v.Name == "Tail3" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),spes)
elseif v.Name == "Tail4" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),spes)
elseif v.Name == "Tail5" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail6" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail7" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),spes)
elseif v.Name == "Neck" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "Bust" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(35) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "EarR" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "EarL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Waist" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),spes)
elseif v.Name == "ArmR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),spes)
end
elseif v.Name == "ArmL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),spes)
elseif v.Name == "ShoulderR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
end
elseif v.Name == "ShoulderL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame,0.06)
end
end
if v.Name == "HandS" then
v.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end)
end
end)
end)
end)
end
else
if attacking == false then nowalk=true noidle=true local spes=0.05 knifetrans=0 guntrans=1 if saidle then knifetrans=1 guntrans=1 end
mainposanim=mainposanim:lerp(CFrame.new(0,0,0)*CFrame.fromOrientation(0, 0, 0) ,spes)
task.spawn(function()
table.foreach(MAnim["Moanims"]["Jump"]["RootPart"]["Trans"]:GetDescendants(),function(_,Joints)
pcall(function()
if Joints:IsA("Bone") then
table.foreach(MonaJoints,function(_,v)
if Joints.Name == v.Name then
if v.Name == "Tail1" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),spes) elseif v.Name == "Tail2" then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),spes)
elseif v.Name == "Tail3" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),spes)
elseif v.Name == "Tail4" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),spes)
elseif v.Name == "Tail5" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail6" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Tail7" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),spes)
elseif v.Name == "Neck" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "Bust" then
local clampAngle = math.rad(35) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(35) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,spes) else v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),spes) end
elseif v.Name == "EarR" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "EarL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),spes)
elseif v.Name == "Waist" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),spes)
elseif v.Name == "ArmR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(-35.822, 110.573, -0)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.318, 0, 0)*OrienRad(0, 0, 18.512)*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/30.5)), math.rad(10+10*math.cos(sn/30.5)), 0),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),spes)
end
elseif v.Name == "ArmL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),spes)
elseif v.Name == "ShoulderR" then
if swordphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, -0, 0)*OrienRad(-24.961, -71.976, 81.356)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
elseif bombphase then
v.CFrame=v.CFrame:lerp(CFrame.new(-0.118, 0, -0)*OrienRad(-79.308, 69.516, -13.208)*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/31.5)), math.rad(1*math.cos(sn/30.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
end
elseif v.Name == "ShoulderL" then
v.CFrame=v.CFrame:lerp(Joints.CFrame*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),spes)
else
v.CFrame=v.CFrame:lerp(Joints.CFrame,0.06)
end
end
if v.Name == "HandS" then
v.CFrame=CFrame.new(0.07, -0.02, 0)*OrienRad(0, 45, 0)
end
end)
end
end)
end)
end)
end
end
elseif rope then nowalk=true noidle=true local spes=0.1 knifetrans=0 guntrans=1
mainposanim=mainposanim:lerp(CFrame.new(0,0,0)*CFrame.fromOrientation(0, math.rad(0.005*math.cos(sn/17.5)), 0) ,spes)
end
pcall(function()
t.Anchored=true if antirrt then t.CFrame=CFrame.new(100000,100000,100000) pcall(function() mmodel["Mona_Eye_PatternD_VIS_O_OBJShape.001"].Transparency=1 end) else t.CFrame=CFrame.new(100,100,100) pcall(function()mmodel["Mona_Eye_PatternD_VIS_O_OBJShape.001"].Transparency=0 end) end
t.Trans.WorldCFrame=mainposba*CFrame.new(0,-3.2,0)*CFrame.Angles(0,math.rad(180),0)
if swordphase then
kf.CFrame=CFrame.new(100000,100000,100000)
table.foreach(MonaJoints,function(_,v)
if v.Name == "HandS" then
kf.Bone.WorldCFrame=v.WorldCFrame*CFrame.fromOrientation(0,math.rad(-90),math.rad(90))
return
end
end)
end
end)
end
music()
--anti stuff
--local chrrr=mmodel:GetChildren() for i=1,#chrrr do
-- if chrrr[i] == effectmodel or chrrr[i] == t or chrrr[i] == RG or chrrr[i] == mus then else chrrr[i]:Destroy() end
--end
mmodel.Name=tick()
--plr stuff
if mainpos.Y<=-500 then fallingspeed=0 mainpos=mainpos+Vector3.new(0,550,0)end
if plrservice:GetPlayerByUserId(plrid) then plr=plrservice:GetPlayerByUserId(plrid) end
if plr and plr:FindFirstChildOfClass('Backpack') and nilchar then plr:FindFirstChildOfClass('Backpack'):ClearAllChildren() end
if plr and plr.Parent and plr.Character and nilchar then local ch=plr.Character plr.Character=nil ch:Destroy() end
end)
end
coroutine.resume(coroutine.create(function()
local cf=Instance.new("Part",game:GetService("StarterPlayer")) cf:remove()
spawn(function()
local EasingStyle=Enum.EasingStyle.Sine local EasingDirection=Enum.EasingDirection.In
local speedd=0.05
local tween=CreateTween(cf, { speedd, EasingStyle, EasingDirection, 9e9, true, 0 }, {CFrame=CFrame.new(math.rad(-10,10),math.rad(-10,10),math.rad(-10,10))*OrienRad(33.18, -1.94, -0.72)}, true)
end)
cf.Changed:connect(function()
if disabled == false then
loop(true)
elseif disabled == true then
if mmodel then mmodel:Destroy() end
if soundpart then soundpart:Destroy() end
if mus then mus:Destroy() end
cf:Destroy()
end
end)
end))
function Tween(Object,Args,Info)
if Object and Args then
Info=Info or TweenInfo.new(1,Enum.EasingStyle.Linear,Enum.EasingDirection.In,0,false,0)
if typeof(Info) == "table" then Info=TweenInfo.new(unpack(Info)) end
game:GetService("TweenService"):Create(Object,Info,Args):Play()
end
end
task.spawn(function()
Add(game:GetService("RunService").Heartbeat:connect(function() sn=sn+(1/2)
pcall(function()
if disabled == false then
if desce then
mmodel:Destroy()
end
if effectmodel == nil or effectmodel.Parent ~= workspace.Terrain or effectmodel.Parent == nil or not effectmodel then
effectmodel=(antirrt and Instance.new("WorldModel",workspace.Terrain) or Instance.new("Model",workspace.Terrain)) effectmodel.Name="effectmodel"
end
if Character=="Mona" then
if mmodel == nil or mmodel.Parent ~= workspace.Terrain or mmodel.Parent == nil or not mmodel then
mmodel=(antirrt and Instance.new("WorldModel",workspace.Terrain) or Instance.new("Model",workspace.Terrain)) mmodel.Name=tick() mmodel.Archivable=false
end
if t == nil or t.Parent ~= mmodel or t.Parent == nil or not t then
MonaJoints={}
task.spawn(function() table.foreach(mmodel:GetChildren(),function(_,parts) pcall(function() parts:Destroy() end) end) end)
local modelc = MeshAnims["Meshes WIP"]["Mona"]:Clone()
task.spawn(function()
table.foreach(modelc:GetChildren(),function(_,parts)
pcall(function()
if parts.Name == "RootPart" then
t=parts t.Name=tick() t.Parent=mmodel
elseif parts.Name == "Mona_Eye_PatternD_VIS_O_OBJShape.001" then
parts.Parent=mmodel
else
parts.Name=tick() parts.Parent=mmodel
end
end)
end)
if t:FindFirstChild("Trans") then
table.foreach(t.Trans:GetDescendants(),function(_,Joints)
pcall(function()
if Joints:IsA("Bone") then
table.insert(MonaJoints,Joints)
end
end)
end)
end
end)
end
pcall(function()
if (kf == nil or kf.Parent ~= effectmodel or kf.Parent == nil or not kf) and swordphase then
kf=MeshAnims["Meshes WIP"].Sword:Clone() kf.CFrame=CFrame.new(100000,100000,100000) kf.Anchored=true kf.CanCollide=true kf.Name=tick() kf.Parent=effectmodel
elseif (kf ~= nil or kf.Parent == effectmodel or kf.Parent ~= nil or kf) and not swordphase then
kf:Destroy()
end
end)
if math.random(1,165) == 1 then
InputRemote.Name=math.random(1,9)..string.reverse(plrid)..math.random(0,9)
end
pcall(function()
t.Anchored=true if antirrt then t.CFrame=CFrame.new(100000,100000,100000) pcall(function() mmodel["Mona_Eye_PatternD_VIS_O_OBJShape.001"].Transparency=1 end) else t.CFrame=CFrame.new(100,100,100) pcall(function()mmodel["Mona_Eye_PatternD_VIS_O_OBJShape.001"].Transparency=0 end) end
t.Trans.WorldCFrame=mainposba*CFrame.new(0,-3.2,0)*CFrame.Angles(0,math.rad(180),0)
table.foreach(MonaJoints,function(_,v)
if v.Name == "HandS" then
kf.Bone.WorldCFrame=v.WorldCFrame*CFrame.fromOrientation(0,math.rad(-90),math.rad(90))
return
end
end)
end)
end
if t and t.Parent then
if Character=="Mona" then
camcf=mainposba*CFrame.new(0,-1.5,0)
end
FireClient(InputRemote,plr,"Root",camcf,mmodel,nilchar)
end
soundpart.CFrame=mainposba soundpart.Anchored=true soundpart.CanCollide=false soundpart.Transparency=1 soundpart.Size=Vector3.new()
--local chrrr=mmodel:GetChildren() for i=1,#chrrr do
-- if chrrr[i] == effectmodel or
-- chrrr[i] == t or chrrr[i] == RG or chrrr[i] == mus then else
-- chrrr[i]:Destroy() end
--end
coroutine.wrap(FireClient)(InputRemote,plr,"ok","ok")
NewRemotes()
LookAt=FindNearTor()
if batfly == false then
if movementfalse == false and rope == false then
local x, y, z=mainpos:ToEulerAnglesXYZ()
if walking or MouseCentered then sidemoves=sidemoves:Lerp(CFrame.Angles(x,y,z),0.25) elseif falling then sidemoves=sidemoves:Lerp(CFrame.Angles(x,y,z),0.03) end
mainposba=CFrame.new(mainpos.Position)*sidemoves
--mainposba=mainpos
end
else
if attacking == false and movementfalse == false and rope == false then
--local x, y, z=mainpos:ToEulerAnglesXYZ()
--sidemoves=sidemoves:Lerp(CFrame.Angles(x,y,z),1.27-(.02^step))
--mainposba=CFrame.new(mainpos.Position)*sidemoves
mainposba=mainpos
end
end
local rc=Ray.new(mainpos.p, Vector3.new(0,-3.5, 0))
local pos,hit=workspace:FindPartOnRayWithIgnoreList(rc,{soundpart,mmodel,effectmodel},false,true)
if flying == false and movementfalse == false and rope == false and batfly == false then
if pos~=nil then falling=false fallingspeed=0 mainpos=mainpos*CFrame.new(0,hit.Y-mainpos.Y+3.2,0)
else falling=true fallingspeed=fallingspeed+.03 if fallingspeed >= 3.5 then fallingspeed=1.5 end mainpos=mainpos-Vector3.new(0,fallingspeed,0)end
end
end
end)
end))
end)
function CreateTween(o, t, p, go)
local Tanim=game:GetService("TweenService"):Create(o, TweenInfo.new(unpack(t)), p)
if go then
Tanim:Play()
end
return Tanim
end
function OrienRad(a,b,c)
return CFrame.fromOrientation(math.rad(a),math.rad(b),math.rad(c))
end
function reg(where,range,ignor)
return workspace:FindPartsInRegion3WithIgnoreList(Region3.new(where-Vector3.new(1,1,1)*range/2,where+Vector3.new(1,1,1)*range/2),ignor,100)
end
function ler(a,b,c)
return a.CFrame==a.CFrame:lerp(b,c)
end
-----
function makemesh(type, parent, other)
local mesher=Instance.new(type, parent)
for i,v in pairs(other) do
mesher[i]=v
end
return mesher
end
function PART(p1)
local v2=Instance.new("Part");
v2.Anchored=true;
v2.CanCollide=false;
v2.Transparency=1;
v2.Size=Vector3.new();
v2.Material="Neon";
v2.Massless=true;
v2.Parent=p1;
return v2;
end;
function weld(a, b, c, d)
local w=Instance.new("Weld", a)
w.Part0=a
w.Part1=b
w.C0=c or CFrame.new()
w.C1=d or CFrame.new()
return w
end
function effect2(table2,mesh,sha,twA,proper,twA2,proper2,effectmodel)
task.spawn(function()
local where=(table2.where or CFrame.new(0,0,0))
local size1=(table2.size1 or Vector3.new(2,2,2))
local col=(table2.col or Vector3.new(1,1,1))
local plimited=(table2.plimited or false)
local meshtype=(table2.meshtype or nil)
local transp=(table2.transp or 0)
local color=(table2.color or Color3.new())
local material=(table2.material or "Glass")
-- next
local s=Instance.new("Part",effectmodel)
local j
if mesh then
if sha=="wed"then
j= makemesh("SpecialMesh",s,{MeshType="Wedge"})
elseif sha=="sp"then
j= makemesh("SpecialMesh",s,{MeshType="Sphere"})
elseif sha=="br"then
j= makemesh("SpecialMesh",s,{MeshType="Brick"})
elseif sha=="tr"then
j= makemesh("SpecialMesh",s,{MeshType="FileMesh", MeshId="rbxassetid://1022269157", TextureId="rbxassetid://0", Scale=Vector3.new(0.02, 0.02, 0.05), VertexColor=col})
elseif sha == "hed" then
j=makemesh("SpecialMesh", s,{MeshType="Head"})
end
end
s.Size=size1
s.CanCollide=false
s.Anchored=true
s.CFrame=where
s.Color=color
s.Transparency=transp
s.Material=material
local sc
local tw1
local tw2
if plimited then
task.spawn(function()
partscount=partscount + 1
sc=s.Changed:connect(function()
pcall(function()
if partscount >= 150 or s.Parent == nil or s.Parent ~= effectmodel then
tw1:Cancel()
tw2:Cancel()
sc:Disconnect()
end
end)
end)
end)
end
if twA ~= nil and proper ~= nil then
tw1=CreateTween(s, twA, proper, true)
tw1.Completed:Wait()
end
tw2=CreateTween(s, twA2, proper2, true)
tw2.Completed:Wait()
s:Destroy() if plimited then partscount=partscount - 1 end
end)
end
function INW(typp, anth)
local part=Instance.new(typp)
if anth ~= nil then
for i, v in next, anth do
pcall(
function()
part[i]=v
end
)
end
end
return part
end
function syncSound(tabl,play)
local sFolder = (game:GetService("ReplicatedStorage"):FindFirstChild("SoundsFolder") or nil) local itsound = nil
coroutine.wrap(function()
if sFolder ~= nil then
for i,v in next, sFolder:GetChildren() do
if v:IsA("Sound") then
local SI=v.SoundId
if SI:find(tabl.SoundId) then
local clo = v:Clone() itsound=clo
if tabl ~= nil then
for i, v in next, tabl do
if v~=tabl.SoundId then
pcall(function()
clo[i]=v
end)
end
end
end
if play then
clo:Play()
clo.Ended:Connect(function()
clo:Destroy()
end)
else
if clo.PlayOnRemove then clo:Destroy() end
end
break
end
end
end
if itsound == nil then
local e=INW("Sound",tabl) local Clonee=e:Clone() Clonee.Parent=sFolder itsound=e
if play then
e:Play()
e.Ended:Connect(function()
e:Destroy()
end)
else
if e.PlayOnRemove then e:Destroy() end
end
end
else
local Folder = Instance.new("Folder",game:GetService("ReplicatedStorage")) Folder.Name = "SoundsFolder"
end
end)()
return itsound
end
function randomSoundNR(Que1,Que2,Current)
local thsound local Nextcurrent local change=false
if Current == Que1 then
Nextcurrent=Que2
elseif Current == Que2 then
Nextcurrent=Que1
end
if Current[2] then
thsound=Current[math.random(1,#Current)]
table.remove(Current,table.find(Current,thsound))
table.insert(Nextcurrent,thsound)
else change=true
thsound=Current[math.random(1,#Current)]
table.remove(Current,table.find(Current,thsound))
table.insert(Nextcurrent,thsound)
end
return {thsound,change}
end
function sideeffect(part0,color)
coroutine.resume(coroutine.create(function()
local moveto=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))
local s=Instance.new("Part",effectmodel)
s.Size=part0.Size
s.CanCollide=false
s.Anchored=true
s.CFrame=part0.CFrame
s.Color=color
s.Transparency=0
s.Material="Neon"
local tw2=CreateTween(s, { 1.2, Enum.EasingStyle.Elastic, Enum.EasingDirection.InOut, 0, false, 0 },{Size=part0.Size,CFrame=moveto,Color=Color3.fromRGB(),Transparency=0}, true) tw2.Completed:Wait()
local EasingStyle=Enum.EasingStyle.Back local EasingDirection=Enum.EasingDirection.InOut local speed=1.3
effect2({where=moveto*CFrame.new(0, 0,part0.Size.Z/2),transp=0,color=Color3.fromRGB(),material="Neon",size1=Vector3.new(part0.Size.X, part0.Size.Y,0)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=moveto*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)),Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where=moveto*CFrame.new(0, 0,-part0.Size.Z/2),transp=0,color=Color3.fromRGB(),material="Neon",size1=Vector3.new(part0.Size.X, part0.Size.Y,0)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=moveto*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where=moveto*CFrame.new(0,part0.Size.Y/2,0),transp=0,color=Color3.fromRGB(),material="Neon",size1=Vector3.new(part0.Size.X, 0,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=moveto*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where=moveto*CFrame.new(0,-part0.Size.Y/2,0),transp=0,color=Color3.fromRGB(),material="Neon",size1=Vector3.new(part0.Size.X, 0,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=moveto*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where=moveto*CFrame.new(part0.Size.X/2,0,0),transp=0,color=Color3.fromRGB(),material="Neon",size1=Vector3.new(0, part0.Size.Y,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=moveto*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where=moveto*CFrame.new(-part0.Size.X/2,0,0),transp=0,color=Color3.fromRGB(),material="Neon",size1=Vector3.new(0, part0.Size.Y,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=moveto*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.fromRGB(),Transparency=1},effectmodel)
task.wait(0.35)
pcall(function()
s:destroy()
end)
end))
end
function sideeffect2(part0)
coroutine.resume(coroutine.create(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.InOut local speed=1
effect2({where=part0.CFrame*CFrame.new(0, 0,part0.Size.Z/2),transp=part0.Transparency,color=Color3.new(0.545098, 0, 0),material="Neon",size1=Vector3.new(part0.Size.X, part0.Size.Y,0)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)),Color=Color3.new(),Transparency=1},effectmodel)
effect2({where=part0.CFrame*CFrame.new(0, 0,-part0.Size.Z/2),transp=part0.Transparency,color=Color3.new(0.545098, 0, 0),material="Neon",size1=Vector3.new(part0.Size.X, part0.Size.Y,0)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.new(),Transparency=1},effectmodel)
effect2({where=part0.CFrame*CFrame.new(0,part0.Size.Y/2,0),transp=part0.Transparency,color=Color3.new(0.545098, 0, 0),material="Neon",size1=Vector3.new(part0.Size.X, 0,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.new(),Transparency=1},effectmodel)
effect2({where=part0.CFrame*CFrame.new(0,-part0.Size.Y/2,0),transp=part0.Transparency,color=Color3.new(0.545098, 0, 0),material="Neon",size1=Vector3.new(part0.Size.X, 0,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.new(),Transparency=1},effectmodel)
effect2({where=part0.CFrame*CFrame.new(part0.Size.X/2,0,0),transp=part0.Transparency,color=Color3.new(0.545098, 0, 0),material="Neon",size1=Vector3.new(0, part0.Size.Y,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.new(),Transparency=1},effectmodel)
effect2({where=part0.CFrame*CFrame.new(-part0.Size.X/2,0,0),transp=part0.Transparency,color=Color3.new(0.545098, 0, 0),material="Neon",size1=Vector3.new(0, part0.Size.Y,part0.Size.Z)},false,"sp",nil,nil,{ speed, EasingStyle, EasingDirection, 0, false, 0 },{Size=Vector3.new(0,0,0),CFrame=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.cos(sn/14)*10,1.9+1.7*math.sin(sn/14),math.sin(sn/14)*10)*CFrame.Angles(math.cos(sn/11)*5,math.cos(sn/12)*5,math.cos(sn/13)*5),Color=Color3.new(),Transparency=1},effectmodel)
end))
end
function Kill(who,col)
coroutine.resume(coroutine.create(function()
if who.Parent ~= mmodel and who.Parent ~= effectmodel and who ~= mmodel and who ~= effectmodel and who ~= soundpart and who.Parent ~= soundpart and who ~= script and who.Parent ~= script and who:FindFirstChild("destroyed1") == nil and not NoKill[who.Name] and who~= workspace then
local fold=INW("Folder",{Parent=who,Name="destroyed1"})
coroutine.resume(coroutine.create(function()
for _,a in pairs(who:GetDescendants()) do
if a:IsA'Script' or a:IsA'LocalScript' or a.ClassName == "Script" or a.ClassName == "LocalScript" then
a.Disabled=true
a:Destroy()
elseif a:IsA'ModuleScript' or a.ClassName == "ModuleScript" then
a:Destroy()
end
end
end))
local mainpart=(who:FindFirstChildOfClass'Part' or who:FindFirstChildOfClass'MeshPart' or who:FindFirstChildOfClass'UnionOperation')
local ee=INW("Sound",{SoundId="rbxassetid://"..impact[math.random(1,#impact)],Volume=3,PlayOnRemove=true,Pitch=math.random(8,12)/10,Parent=mainpart}) ee:Play() ee:Destroy()
local e=INW("Sound",{SoundId="rbxassetid://"..burnsounds[math.random(1,#burnsounds)],Volume=3.5,PlayOnRemove=true,Pitch=math.random(8,12)/10,Parent=mainpart}) e:Play() e:Destroy()
CamShake(mainpart.CFrame.p,50,.1,.5)
if col ~= "Curse" then
effect2({where=mainpart.CFrame,transp=0,color=Color3.new(),material="ForceField",size1=Vector3.new(0,0,0)},true,"sp",nil,nil,{ 1.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0 },{Size=Vector3.new(10,10,10),CFrame=mainpart.CFrame,Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80)),color=Color3.new(),material="Neon",size1=Vector3.new(0,0,0)},false,nil,{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 },{Size=Vector3.new(math.random(10,15),0.3,0.3),CFrame=mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=col,Transparency=0.3},{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 },{Size=Vector3.new(math.random(8,10),0.3,0.3),CFrame= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=Color3.fromRGB(0, 0, 0),Transparency=1},effectmodel)
effect2({where= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80)),color=Color3.new(),material="Neon",size1=Vector3.new(0,0,0)},true,"sp",{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 } ,{Size=Vector3.new(math.random(10,15),0.3,0.3),CFrame= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=col,Transparency=0.3},{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 },{Size=Vector3.new(math.random(8,10),0.3,0.3),CFrame= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=Color3.fromRGB(0, 0, 0),Transparency=1},effectmodel)
end
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Anchored=true P.Transparency=1 P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=mainpart.CFrame local v1=MeshAnims["joker"]["rw2"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["rw1"]:Clone() v2.Parent=A1
game:GetService("Debris"):AddItem(P,4)
v1:Emit(55) v2:Emit(55)
end)
for _, parta in pairs(who:GetDescendants()) do
if parta:IsA'BasePart' then
coroutine.resume(coroutine.create(function()
if col ~= "Curse" then
if col == Color3.fromRGB(128, 187, 219) or col == Color3.fromRGB(254, 254, 1) then
sideeffect(parta,parta.Color)
else
sideeffect(parta,Color3.new(0.419608, 0, 0))
end
else
ZZPart(parta,parta.Color)
end
local ctn
coroutine.resume(coroutine.create(function()
task.wait(0.2)
who:Destroy() ctn:Disconnect()
end))
task.wait(0.1)
parta.Anchored=true
parta:BreakJoints()
parta.CFrame= CFrame.new(math.random(-9e9,9e9),math.random(-9e9,9e9),math.random(-9e9,9e9))
coroutine.resume(coroutine.create(function()
ctn=parta.Changed:Connect(function() task.wait()
parta.Anchored=true
parta.CFrame= CFrame.new(math.random(-9e9,9e9),math.random(-9e9,9e9),math.random(-9e9,9e9))
end)
end))
end))
end
end
pcall(function()
task.wait(0.35)
fold:destroy()
end)
end
end))
end
function Destroy(what,col)
coroutine.resume(coroutine.create(function()
if what.Parent ~= mmodel and what.Parent ~= effectmodel and what ~= mmodel and what ~= effectmodel and what ~= soundpart and what.Parent ~= soundpart and what ~= script and what.Parent ~= script and what:FindFirstChild("destroyed1") == nil and not string.find(what.Name,"Base",1) then
local fold=INW("Folder",{Parent=what,Name="destroyed1"})
local mainpart=(what:FindFirstChildOfClass'Part' or what:FindFirstChildOfClass'MeshPart' or what:FindFirstChildOfClass'UnionOperation')
local ee=INW("Sound",{SoundId="rbxassetid://"..impact[math.random(1,#impact)],Volume=1,PlayOnRemove=true,Pitch=math.random(8,12)/10,Parent=mainpart}) ee:Play() ee:Destroy()
local e=INW("Sound",{SoundId="rbxassetid://"..burnsounds[math.random(1,#burnsounds)],Volume=1.5,PlayOnRemove=true,Pitch=math.random(8,12)/10,Parent=mainpart}) e:Play() e:Destroy()
CamShake(mainpart.CFrame.p,50,.1,.5)
if col ~= "Curse" then
effect2({where=mainpart.CFrame,transp=0,color=Color3.new(),material="ForceField",size1=Vector3.new(0,0,0)},true,"sp",nil,nil,{ 1.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out, 0, false, 0 },{Size=Vector3.new(10,10,10),CFrame=mainpart.CFrame,Color=Color3.fromRGB(),Transparency=1},effectmodel)
effect2({where= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80)),color=Color3.new(),material="Neon",size1=Vector3.new(0,0,0)},false,nil,{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 },{Size=Vector3.new(math.random(10,15),0.3,0.3),CFrame=mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=col,Transparency=0.3},{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 },{Size=Vector3.new(math.random(8,10),0.3,0.3),CFrame= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=Color3.fromRGB(0, 0, 0),Transparency=1},effectmodel)
effect2({where= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80)),color=Color3.new(),material="Neon",size1=Vector3.new(0,0,0)},true,"sp",{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 } ,{Size=Vector3.new(math.random(10,15),0.3,0.3),CFrame= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=col,Transparency=0.3},{ 0.9, Enum.EasingStyle.Sine, Enum.EasingDirection.In, 0, false, 0 },{Size=Vector3.new(math.random(8,10),0.3,0.3),CFrame= mainpart.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.Angles(math.cos(sn/3)*5,math.cos(sn/6)*5,math.cos(sn/5)*5),Color=Color3.fromRGB(0, 0, 0),Transparency=1},effectmodel)
end
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Anchored=true P.Transparency=1 P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=mainpart.CFrame local v1=MeshAnims["joker"]["rw2"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["rw1"]:Clone() v2.Parent=A1
game:GetService("Debris"):AddItem(P,4)
v1:Emit(55) v2:Emit(55)
end)
if what.Parent==workspace then
for _,parta in pairs(what:GetDescendants()) do
if parta:IsA'BasePart' then
coroutine.resume(coroutine.create(function()
if col ~= "Curse" then
if col == Color3.fromRGB(128, 187, 219) or col == Color3.fromRGB(254, 254, 1) then
sideeffect(parta,parta.Color)
else
sideeffect(parta,Color3.new(0.419608, 0, 0))
end
else
ZZPart(parta,parta.Color)
end
local ctn
coroutine.resume(coroutine.create(function()
task.wait(0.2)
parta:Destroy() ctn:Disconnect()
end))
task.wait(0.1)
parta.Anchored=true
parta:BreakJoints()
parta.CFrame= CFrame.new(math.random(-9e9,9e9),math.random(-9e9,9e9),math.random(-9e9,9e9))
coroutine.resume(coroutine.create(function()
ctn=parta.Changed:Connect(function() task.wait()
parta.Anchored=true
parta.CFrame= CFrame.new(math.random(-9e9,9e9),math.random(-9e9,9e9),math.random(-9e9,9e9))
end)
end))
end))
end
end
elseif what.Parent~=nil and what.Parent.Parent~=nil and what.Parent.Parent~=workspace then
for _,parta in pairs(what.Parent.Parent:GetDescendants()) do
if parta:IsA'BasePart' then
coroutine.resume(coroutine.create(function()
if col ~= "Curse" then
if col == Color3.fromRGB(128, 187, 219) or col == Color3.fromRGB(254, 254, 1) then
sideeffect(parta,parta.Color)
else
sideeffect(parta,Color3.new(0.419608, 0, 0))
end
else
ZZPart(parta,parta.Color)
end
local ctn
coroutine.resume(coroutine.create(function()
task.wait(0.2)
parta:Destroy() ctn:Disconnect()
end))
task.wait(0.1)
parta.Anchored=true
parta:BreakJoints()
parta.CFrame= CFrame.new(math.random(-9e9,9e9),math.random(-9e9,9e9),math.random(-9e9,9e9))
coroutine.resume(coroutine.create(function()
ctn=parta.Changed:Connect(function() task.wait()
parta.Anchored=true
parta.CFrame= CFrame.new(math.random(-9e9,9e9),math.random(-9e9,9e9),math.random(-9e9,9e9))
end)
end))
end))
end
end
end
pcall(function()
task.wait(0.35)
fold:destroy()
end)
end
end))
end
function AoeDam(Where,Range,col,nowait)
coroutine.resume(coroutine.create(function()
if Where ~= nil then
if typeof(Where) == "CFrame"then Where=Where.p end
for index, a in pairs(workspace:GetDescendants()) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "FlagStand" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" or a.Parent:IsA("WorldModel") and a.Parent.ClassName == "WorldModel" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - Where).Magnitude <= Range+a.Size.Magnitude then if nowait ~= true then wait() end
Kill(a.Parent,col)
end
end
end
end
end
end))
end
function AoeDam2(Where,Range,col)
coroutine.resume(coroutine.create(function()
if Where ~= nil then
if typeof(Where) == "CFrame"then Where=Where.p end
for _,a in next, reg(Where,Range+10,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - Where).Magnitude <= Range+a.Size.Magnitude then
Destroy(a.Parent,col)
end
end
end
end
end
end))
end
function ZZPart(part0,color)
coroutine.resume(coroutine.create(function()
local moveto=part0.CFrame*CFrame.Angles(math.random(-80,80),math.random(-80,80),math.random(-80,80))*CFrame.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))
local s=Instance.new("Part",effectmodel)
s.Size=part0.Size
s.CanCollide=false
s.Anchored=true
s.CFrame=part0.CFrame
s.Color=color
s.Transparency=0
s.Material="Neon"
local tw2=CreateTween(s, { 1.2, Enum.EasingStyle.Elastic, Enum.EasingDirection.InOut, 0, false, 0 },{Size=part0.Size,CFrame=moveto,Color=Color3.fromRGB(),Transparency=0}, true) tw2.Completed:Wait()
task.wait(0.35)
local PCF=s.CFrame
pcall(function() s:destroy() end)
local P=Instance.new("Part",workspace.Terrain) P.Anchored=true P.Transparency=1 P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=PCF local v1=MeshAnims["joker"]["Bul1"]:Clone() v1.Parent=A1
local e=INW("Sound",{SoundId="rbxassetid://6083503859",Volume=2,PlayOnRemove=true,Pitch=1,Parent=A1}) e:Play() e:Destroy()
game:GetService("Debris"):AddItem(P,1)
v1:Emit(5)
end))
end
function CamShake(Position,Range,Duration,Intensity) --credits to v_sado
pcall(function()
assert(Position,"arg 1 nil")
Range,Duration,Intensity=Range or 20,Duration or 1,Intensity or .2
local pos local Target if typeof(Position)=="Vector3" then pos=Position elseif typeof(Position)=="CFrame" then pos=Position.Position elseif typeof(Position)=="Instance" and Position:IsA("BasePart") then Target=Position else error("arg 1 wrong type") end
FireClient(EffectRemote,"all","camsh",Duration,Target,pos,Range,Intensity)
end)
end
function stopscript() disabled=true script:ClearAllChildren() mmodel:Destroy() effectmodel:Destroy() script.Disabled=true script:Destroy()
local next=next
local CONNECTIONS=CONNECTIONS
local last=nil
while true do
local curr, signal=next(CONNECTIONS, last)
if curr then
else
break
end
last=curr
if typeof(signal) == "RBXScriptConnection" then
pcall(function()
signal:Disconnect()
end)
elseif typeof(signal) == "thread" then
pcall(function()
coroutine.yield(signal)
end)
end
pcall(function()
coroutine.wrap(FireClient)(InputRemote,plr,"die","ok")
end)
InputRemote:Destroy()
end
InputRemote=nil
pcall(function() plr:LoadCharacter() end)
for x=0,5,1 do
pcall(setfenv,x,{})
end
end
function Homa()
coroutine.resume(Add(coroutine.create(function()
attacking=true movementfalse=true nowalk=true swordphase=false bombphase=false fallingspeed=0 local TargetMain = nil local human = nil local stopall = false local LastPos = mainpos.p
for _,a in next,reg(mainpos.Position,25+15,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - mainpos.Position).Magnitude <= 25+a.Size.Magnitude then
local mainpart=(a.Parent:FindFirstChildOfClass'Part' or a.Parent:FindFirstChildOfClass'MeshPart' or a.Parent:FindFirstChildOfClass'UnionOperation')
local hum=(a.Parent:FindFirstChildOfClass'Humanoid' or nil)
TargetMain=mainpart human=hum break
end
end
end;
end;
if TargetMain ~= nil and TargetMain.Parent and VoidedCheck(TargetMain.Position) then
pcall(function()
local e=INW("Sound",{SoundId="rbxassetid://"..RolAir[math.random(1,#RolAir)],Volume=9.8,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(9, 10),Parent=soundpart}) e:Play() e:Destroy()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.04
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta11"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(75) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.04
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta2"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(40) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(10) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.04
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta3"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.065
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta4"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.08
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta5"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local speedd=0.1
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta6"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.InOut
local speedd=0.09
local lerpspeed=0.5
local conn
local CVjoints={}
local CVtweens={}
local goal = false
local Wherecf=Instance.new("CFrameValue") Wherecf.Value=mainpos
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["Homatta7"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if TargetMain == nil or not TargetMain.Parent or stopall or not VoidedCheck(TargetMain.Position) then stopall=true walking=false pcall(function() conn:Disconnect() CVtweens[1]:Cancel() end) end
pcall(function() if not goal then mainpos=CFrame.new(LastPos,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0) mainposba=mainpos else mainpos=Wherecf.Value mainposba=mainpos end
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
local clampAngle = math.rad(25) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local clampAngle2 = math.rad(30) local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle2, clampAngle2) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, math.rad(20))*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end)
goal=true
pcall(function() local Duration = 0.1
Wherecf.Value=CFrame.new(mainpos.p,TargetMain.CFrame.p)*CFrame.Angles(0,math.rad(180),0)
local i = 1
repeat Duration=Duration-i/25 if i <= 300 then i=i+1 end if TargetMain == nil or not TargetMain.Parent or dspace then stopall=true pcall(function() conn:Disconnect() Wherecf.Value=mainpos end) break end
local pointCF=CFrame.new(mainpos.p, TargetMain.CFrame.p) * CFrame.new(0, 0, -i/(mainpos.p - TargetMain.CFrame.p).magnitude*(mainpos.p - TargetMain.CFrame.p).magnitude/10)*CFrame.Angles(0,math.rad(180),0)
local tween=CreateTween(Wherecf, { Duration, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0 },{Value=pointCF}, true)
tween.Completed:Wait()
mainpos=Wherecf.Value mainposba=mainpos
until (mainpos.p - TargetMain.CFrame.p).magnitude <= 2
if not stopall and TargetMain ~= nil or TargetMain.Parent then
local tween=CreateTween(Wherecf, { Duration, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0 },{Value=CFrame.new(TargetMain.CFrame.p)}, true)
tween.Completed:Wait()
mainpos=Wherecf.Value mainposba=mainpos
falling=true mainpos=CFrame.new(mainpos.p)*CFrame.new(0,5.5,0) fallingspeed=fallingspeed-0.75
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Anchored=true P.Transparency=1 P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false
P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=CFrame.new(TargetMain.CFrame.p) local v1=MeshAnims["joker"]["hom1"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["hom2"]:Clone() v2.Parent=A1 local v3=MeshAnims["joker"]["hom3"]:Clone() v3.Parent=A1
game:GetService("Debris"):AddItem(P,2)
local e=INW("Sound",{SoundId="rbxassetid://"..critmeleesounds[math.random(1,#critmeleesounds)],Volume=9.8,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(9, 10),Parent=A1}) e:Play() e:Destroy()
CamShake(TargetMain.CFrame,75,.75,.1)
if human and human.Health >= 35 and human.MaxHealth<3000 then
human.Health=human.Health - 35
if TargetMain.Anchored ~= true then
TargetMain.RotVelocity = CFrame.new(mainpos.p, TargetMain.Position).LookVector * 250
TargetMain.Velocity = CFrame.new(mainpos.p, TargetMain.Position).LookVector * 250
end
else
if math.random(1,3) ==1 and talk then
task.spawn(function() talk=false wait(4) talk=true end)
local S2 = randomSoundNR(IIOQue,IIOQue2,IIOCurrent) if S2[2] == true then if IIOCurrent == IIOQue then IIOCurrent=IIOQue2 elseif IIOCurrent == IIOQue2 then IIOCurrent=IIOQue end end
syncSound({SoundId="rbxassetid://"..S2[1],Volume=0.8,PlayOnRemove=true,TimePosition=0,Pitch=1,Parent=soundpart})
end
Destroy(TargetMain.Parent,Color3.fromRGB(254, 254, 1.1))
end
v1:Emit(30) v2:Emit(30) v3:Emit(30)
end)
else
Wherecf.Value=mainpos
end
end)
if conn then
conn:Disconnect()
end
end)
end
attacking=false movementfalse=false
end)))
end
function sword()
coroutine.resume(Add(coroutine.create(function()
attacking=true movementfalse=true bombphase=false nowalk=true fallingspeed=0 local stopall = false swordphase=true local di = false
local function anim(MonaJoints,CVjoints,lerpspeed)
pcall(function()
for _, j in pairs(MonaJoints) do
for _, CV in pairs(CVjoints) do
if j.Name == CV.Name then
if j.Name == "Tail1" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17)), math.rad(5*math.cos(sn/17))),0.1)
elseif j.Name == "Tail2" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17)), math.rad(6*math.cos(sn/17))),0.1)
elseif j.Name == "Tail3" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17)), math.rad(7*math.cos(sn/17))),0.1)
elseif j.Name == "Tail4" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17)), math.rad(8*math.cos(sn/17))),0.1)
elseif j.Name == "Tail5" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5)), math.rad(9*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail6" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5)), math.rad(10*math.cos(sn/11.5))),0.1)
elseif j.Name == "Tail7" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5)), math.rad(11*math.cos(sn/11.5))),0.1)
elseif j.Name == "Neck" then
local clampAngle = math.rad(10) local lPos = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theta = math.clamp(math.atan2(-lPos.x, -lPos.z), -clampAngle, clampAngle) local NeckSide NeckSide = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local lPos2 = t.Trans.Rot.WorldCFrame:PointToObjectSpace(LookAt.p) local theUpper = math.clamp(math.atan2(lPos2.y,-lPos2.z), -clampAngle, clampAngle) local NeckUp NeckUp = CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,0,theUpper)
if LookAt~=CFrame.new(0,0,0) then j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0)*NeckSide*NeckUp,0.2) else j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2) end
elseif j.Name == "Bust" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(2*math.cos(sn/11.5)), 0, 0),0.2)
elseif j.Name == "EarR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "EarL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(10*math.cos(sn/11.5)), 0, math.rad(10*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "Waist" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(1*math.cos(sn/10.5)), 0, math.rad(2+2*math.cos(sn/10.5))),lerpspeed)
elseif j.Name == "ArmR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(10+10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ArmL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(math.rad(-2-2*math.cos(sn/10.5)), math.rad(-10-10*math.cos(sn/10.5)), 0),lerpspeed)
elseif j.Name == "ShoulderR" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
elseif j.Name == "ShoulderL" then
j.CFrame=j.CFrame:lerp(CV.Value*CFrame.fromOrientation(0, math.rad(-5*math.cos(sn/11.5)), math.rad(1*math.cos(sn/11.5))),lerpspeed)
else
j.CFrame=j.CFrame:lerp(CV.Value,lerpspeed)
end
end
end
end
end)
end
if combo == 1 then combo=2
pcall(function()
local EasingStyle= Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.2
local lerpspeed=1
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword1"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.In
local speedd=0.015
local lerpspeed=0.7
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword2"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.02
local lerpspeed=0.7
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword3"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.025
local lerpspeed=0.7
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword4"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
local e=INW("Sound",{SoundId="rbxassetid://5789211405",Volume=0.5,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(6, 10),Parent=soundpart}) e:Play() e:Destroy()
task.spawn(function()
pcall(function()
local lPos=mainpos:PointToObjectSpace(Mouse.Hit.p)
local theta=math.clamp(math.atan2(lPos.x, lPos.z), -math.rad(90), math.rad(90))
mainpos=mainpos*CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local x, y, z=mainpos:ToEulerAnglesXYZ()
sidemoves=CFrame.Angles(x,y,z)
end)
local asdss=Instance.new("CFrameValue") asdss.Value=mainpos
local EasingStyle= Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local tween=CreateTween(asdss, { 0.1, EasingStyle, EasingDirection, 0, false, 0 }, {Value=mainpos*CFrame.new(2,0,1.5)}, true)
local cond
cond=game:GetService("RunService").Heartbeat:Connect(function(dt)
mainpos=asdss.Value
mainposba=mainpos
end)
tween.Completed:Connect(function()
if cond then
cond:Disconnect()
end
end)
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.03
local lerpspeed=0.7
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword5"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.035
local lerpspeed=0.7
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword6"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function() --hit
for _,a in next,reg(mainpos.Position,15,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - mainpos.Position).Magnitude <= 25+a.Size.Magnitude then
local mainpart=(a.Parent:FindFirstChildOfClass'Part' or a.Parent:FindFirstChildOfClass'MeshPart' or a.Parent:FindFirstChildOfClass'UnionOperation')
local hum=(a.Parent:FindFirstChildOfClass'Humanoid' or nil)
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Transparency=1 P.Anchored=true P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false
P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=CFrame.new(mainpart.CFrame.p)*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) local v1=MeshAnims["joker"]["s1"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["s2"]:Clone() v2.Parent=A1 local v3=MeshAnims["joker"]["s3"]:Clone() v3.Parent=A1 local v4=MeshAnims["joker"]["s4"]:Clone() v4.Parent=A1 local v5=MeshAnims["joker"]["s5"]:Clone() v5.Parent=A1 local v6=MeshAnims["joker"]["s6"]:Clone() v6.Parent=A1 local v7=MeshAnims["joker"]["s7"]:Clone() v7.Parent=A1
game:GetService("Debris"):AddItem(P,2)
local e=INW("Sound",{SoundId="rbxassetid://"..impact[math.random(1,#impact)],Volume=0.9,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(5, 10),Parent=A1}) e:Play() e:Destroy()
CamShake(mainpart.CFrame,35,.75,.1)
if hum and hum.Health >= 15 and hum.MaxHealth<3000 then
hum.Health=hum.Health-15
if mainpart.Anchored ~= true then
mainpart.RotVelocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 45
mainpart.Velocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 45
end
else
if math.random(1,3) ==1 and talk then
task.spawn(function() talk=false wait(4) talk=true end)
local S2 = randomSoundNR(IIOQue,IIOQue2,IIOCurrent) if S2[2] == true then if IIOCurrent == IIOQue then IIOCurrent=IIOQue2 elseif IIOCurrent == IIOQue2 then IIOCurrent=IIOQue end end
syncSound({SoundId="rbxassetid://"..S2[1],Volume=0.8,PlayOnRemove=true,TimePosition=0,Pitch=1,Parent=soundpart})
end
Destroy(mainpart.Parent,Color3.fromRGB(254, 254, 1.1))
end
v1:Emit(30) v2:Emit(30) v3:Emit(30) v4:Emit(30) v5:Emit(30) v6:Emit(30) v7:Emit(25)
end) break
end
end
end;
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.035
local lerpspeed=1
local conn
local CVjoints={}
local CVtweens={}
local goal = false
local Wherecf=Instance.new("CFrameValue") Wherecf.Value=mainpos
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword7"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Wait()
local function ewait(n)
if not n or n == nil then n=0 end
local d,hb =0,game:GetService("RunService").Heartbeat
repeat d=d+hb:Wait() if clicked then di=true break end until d>=n
return d
end
ewait(0.11)
if conn then
conn:Disconnect()
end
end)
end
if combo == 2 and di then combo=3 di = false
pcall(function()
local EasingStyle= Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.25
local lerpspeed=1
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword11"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.025
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword12"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.03
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword13"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.03
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword14"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
local e=INW("Sound",{SoundId="rbxassetid://5789211405",Volume=0.5,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(6, 10),Parent=soundpart}) e:Play() e:Destroy()
task.spawn(function()
pcall(function()
local lPos=mainpos:PointToObjectSpace(Mouse.Hit.p)
local theta=math.clamp(math.atan2(lPos.x, lPos.z), -math.rad(90), math.rad(90))
mainpos=mainpos*CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local x, y, z=mainpos:ToEulerAnglesXYZ()
sidemoves=CFrame.Angles(x,y,z)
end)
local asdss=Instance.new("CFrameValue") asdss.Value=mainpos
local EasingStyle= Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local tween=CreateTween(asdss, { 0.1, EasingStyle, EasingDirection, 0, false, 0 }, {Value=mainpos*CFrame.new(-2,0,1.5)}, true)
local cond
cond=game:GetService("RunService").Heartbeat:Connect(function(dt)
mainpos=asdss.Value
mainposba=mainpos
end)
tween.Completed:Connect(function()
if cond then
cond:Disconnect()
end
end)
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.035
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword15"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function() --hit
for _,a in next,reg(mainpos.Position,15,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - mainpos.Position).Magnitude <= 25+a.Size.Magnitude then
local mainpart=(a.Parent:FindFirstChildOfClass'Part' or a.Parent:FindFirstChildOfClass'MeshPart' or a.Parent:FindFirstChildOfClass'UnionOperation')
local hum=(a.Parent:FindFirstChildOfClass'Humanoid' or nil)
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Transparency=1 P.Anchored=true P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false
P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=CFrame.new(mainpart.CFrame.p)*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) local v1=MeshAnims["joker"]["s1"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["s2"]:Clone() v2.Parent=A1 local v3=MeshAnims["joker"]["s3"]:Clone() v3.Parent=A1 local v4=MeshAnims["joker"]["s4"]:Clone() v4.Parent=A1 local v5=MeshAnims["joker"]["s5"]:Clone() v5.Parent=A1 local v6=MeshAnims["joker"]["s6"]:Clone() v6.Parent=A1 local v7=MeshAnims["joker"]["s7"]:Clone() v7.Parent=A1
game:GetService("Debris"):AddItem(P,2)
local e=INW("Sound",{SoundId="rbxassetid://"..impact[math.random(1,#impact)],Volume=0.9,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(5, 10),Parent=A1}) e:Play() e:Destroy()
CamShake(mainpart.CFrame,35,.75,.1)
if hum and hum.Health >= 15 and hum.MaxHealth<3000 then
hum.Health=hum.Health-15
if mainpart.Anchored ~= true then
mainpart.RotVelocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 45
mainpart.Velocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 45
end
else
if math.random(1,3) ==1 and talk then
task.spawn(function() talk=false wait(4) talk=true end)
local S2 = randomSoundNR(IIOQue,IIOQue2,IIOCurrent) if S2[2] == true then if IIOCurrent == IIOQue then IIOCurrent=IIOQue2 elseif IIOCurrent == IIOQue2 then IIOCurrent=IIOQue end end
syncSound({SoundId="rbxassetid://"..S2[1],Volume=0.8,PlayOnRemove=true,TimePosition=0,Pitch=1,Parent=soundpart})
end
Destroy(mainpart.Parent,Color3.fromRGB(254, 254, 1.1))
end
v1:Emit(30) v2:Emit(30) v3:Emit(30) v4:Emit(30) v5:Emit(30) v6:Emit(30) v7:Emit(25)
end) break
end
end
end;
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.04
local lerpspeed=0.8
local conn
local CVjoints={}
local CVtweens={}
local goal = false
local Wherecf=Instance.new("CFrameValue") Wherecf.Value=mainpos
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword16"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Wait()
local function ewait(n)
if not n or n == nil then n=0 end
local d,hb =0,game:GetService("RunService").Heartbeat
repeat d=d+hb:Wait() if clicked then di=true break end until d>=n
return d
end
ewait(0.11)
if conn then
conn:Disconnect()
end
end)
else
combo=1
end
if combo == 3 and di then combo=1
pcall(function()
local EasingStyle= Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.25
local lerpspeed=1
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword21"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.025
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword22"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.03
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword23"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.035
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword24"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
local e=INW("Sound",{SoundId="rbxassetid://5789211405",Volume=0.5,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(6, 10),Parent=soundpart}) e:Play() e:Destroy()
task.spawn(function()
pcall(function()
local lPos=mainpos:PointToObjectSpace(Mouse.Hit.p)
local theta=math.clamp(math.atan2(lPos.x, lPos.z), -math.rad(90), math.rad(90))
mainpos=mainpos*CFrame.new(0,0,0)*CFrame.fromEulerAnglesYXZ(0,theta,0)
local x, y, z=mainpos:ToEulerAnglesXYZ()
sidemoves=CFrame.Angles(x,y,z)
end)
local asdss=Instance.new("CFrameValue") asdss.Value=mainpos
local EasingStyle= Enum.EasingStyle.Cubic local EasingDirection=Enum.EasingDirection.Out
local tween=CreateTween(asdss, { 0.1, EasingStyle, EasingDirection, 0, false, 0 }, {Value=mainpos*CFrame.new(2,4,1)}, true)
local cond
cond=game:GetService("RunService").Heartbeat:Connect(function(dt)
mainpos=asdss.Value
mainposba=mainpos
end)
tween.Completed:Connect(function()
if cond then
cond:Disconnect()
end
end)
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.04
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword25"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function() --hit
for _,a in next,reg(mainpos.Position,15,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - mainpos.Position).Magnitude <= 25+a.Size.Magnitude then
local mainpart=(a.Parent:FindFirstChildOfClass'Part' or a.Parent:FindFirstChildOfClass'MeshPart' or a.Parent:FindFirstChildOfClass'UnionOperation')
local hum=(a.Parent:FindFirstChildOfClass'Humanoid' or nil)
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Transparency=1 P.Anchored=true P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false
P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=CFrame.new(mainpart.CFrame.p)*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) local v1=MeshAnims["joker"]["s1"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["s2"]:Clone() v2.Parent=A1 local v3=MeshAnims["joker"]["s3"]:Clone() v3.Parent=A1 local v4=MeshAnims["joker"]["s4"]:Clone() v4.Parent=A1 local v5=MeshAnims["joker"]["s5"]:Clone() v5.Parent=A1 local v6=MeshAnims["joker"]["s6"]:Clone() v6.Parent=A1 local v7=MeshAnims["joker"]["s7"]:Clone() v7.Parent=A1
game:GetService("Debris"):AddItem(P,2)
local e=INW("Sound",{SoundId="rbxassetid://"..impact[math.random(1,#impact)],Volume=0.9,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(5, 10),Parent=A1}) e:Play() e:Destroy()
CamShake(mainpart.CFrame,35,.75,.1)
if hum and hum.Health >= 15 and hum.MaxHealth<3000 then
hum.Health=hum.Health-15 hum.Jump = true
if mainpart.Anchored ~= true then
mainpart.RotVelocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 15
mainpart.Velocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 15
end
else
Destroy(mainpart.Parent,Color3.fromRGB(254, 254, 1.1))
end
v1:Emit(30) v2:Emit(30) v3:Emit(30) v4:Emit(30) v5:Emit(30) v6:Emit(30) v7:Emit(25)
end) break
end
end
end;
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.045
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword26"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt)
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
movementfalse=false falling = true fallingspeed = -0.6
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.15
local lerpspeed=0.75
local conn
local CVjoints={}
local CVtweens={}
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword27"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if not falling then conn:Disconnect() CVtweens[1]:Cancel() attacking=false end
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Connect(function()
if conn then
conn:Disconnect()
end
end)
CVtweens[1].Completed:Wait()
if conn then
conn:Disconnect()
end
end)
pcall(function() --hit
for _,a in next,reg(mainpos.Position,15,{mmodel,soundpart,effectmodel}) do
if (a.Parent ~= mmodel and a.Parent ~= effectmodel and a ~= mmodel and a ~= effectmodel and a ~= soundpart and a.Parent ~= soundpart and a ~= script and a.Parent ~= script) and a.ClassName == "Part" or a.ClassName == "MeshPart" or a.ClassName == "TrussPart" or a.ClassName == "WedgePart" or a.ClassName == "CornerWedgePart" or a.ClassName == "UnionOperation" or a.ClassName == "NegateOperation" or a.ClassName == "Seat" or a.ClassName == "VehicleSeat" or a.ClassName == "FlagStand" or a.ClassName == "SpawnLocation" then
if a.Parent ~= nil and a.Parent:IsA("Model") and a.Parent.ClassName == "Model" and a.Size == Vector3.new(2,2,1) or a.Size == Vector3.new(2,2.1,1) or a.Size == Vector3.new(1,1.105,1) or a.Size == Vector3.new(1,1.227,1) or a.Size == Vector3.new(1,1.253,1) or a.Size == Vector3.new(1,1.277,1) or a.Size == Vector3.new(1,2,1) or a.Size == Vector3.new(2,1,1) or a.Name == "Head" or a.Name == "Torso" or a.Name == "Right Arm" or a.Name == "Left Arm" or a.Name == "Right Leg" or a.Name == "Left Leg" or a.Name == "UpperTorso" or a.Name == "HumanoidRootPart" or a.Name == "LowerTorso" or a.Name == "RightHand" or a.Name == "LeftHand" or a.Name == "RightFoot" or a.Name == "LeftFoot" or a.Name == "LeftUpperArm" or a.Name == "LeftLowerArm" or a.Name == "RightUpperArm" or a.Name == "RightLowerArm" or a.Name == "LeftUpperLeg" or a.Name == "LeftLowerLeg" or a.Name == "RightUpperLeg" or a.Name == "RightLowerLeg" then
if (a.Position - mainpos.Position).Magnitude <= 25+a.Size.Magnitude then
local mainpart=(a.Parent:FindFirstChildOfClass'Part' or a.Parent:FindFirstChildOfClass'MeshPart' or a.Parent:FindFirstChildOfClass'UnionOperation')
local hum=(a.Parent:FindFirstChildOfClass'Humanoid' or nil)
pcall(function()
local P=Instance.new("Part",workspace.Terrain) P.Transparency=1 P.Anchored=true P.Size=Vector3.new(0.050000000745058, 0.050000000745058, 0.050000000745058) P.CanCollide=false
P.CFrame=CFrame.new(10000,10000,10000)
local A1=Instance.new("Attachment",P) A1.WorldCFrame=CFrame.new(mainpart.CFrame.p)*CFrame.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) local v1=MeshAnims["joker"]["s1"]:Clone() v1.Parent=A1 local v2=MeshAnims["joker"]["s2"]:Clone() v2.Parent=A1 local v3=MeshAnims["joker"]["s3"]:Clone() v3.Parent=A1 local v4=MeshAnims["joker"]["s4"]:Clone() v4.Parent=A1 local v5=MeshAnims["joker"]["s5"]:Clone() v5.Parent=A1 local v6=MeshAnims["joker"]["s6"]:Clone() v6.Parent=A1 local v7=MeshAnims["joker"]["s7"]:Clone() v7.Parent=A1
game:GetService("Debris"):AddItem(P,2)
local e=INW("Sound",{SoundId="rbxassetid://"..impact[math.random(1,#impact)],Volume=0.9,PlayOnRemove=true,TimePosition=0.01,Pitch=math.random(8, 10)/math.random(5, 10),Parent=A1}) e:Play() e:Destroy()
CamShake(mainpart.CFrame,35,.75,.1)
if hum and hum.Health >= 15 and hum.MaxHealth<3000 then
hum.Health=hum.Health-15
hum.Jump = true
if mainpart.Anchored ~= true then
mainpart.RotVelocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 15
mainpart.Velocity = CFrame.new(mainpos.p, mainpart.Position).LookVector * 15
end
else
if math.random(1,3) ==1 and talk then
task.spawn(function() talk=false wait(4) talk=true end)
local S2 = randomSoundNR(IIOQue,IIOQue2,IIOCurrent) if S2[2] == true then if IIOCurrent == IIOQue then IIOCurrent=IIOQue2 elseif IIOCurrent == IIOQue2 then IIOCurrent=IIOQue end end
syncSound({SoundId="rbxassetid://"..S2[1],Volume=0.8,PlayOnRemove=true,TimePosition=0,Pitch=1,Parent=soundpart})
end
Destroy(mainpart.Parent,Color3.fromRGB(254, 254, 1.1))
end
v1:Emit(30) v2:Emit(30) v3:Emit(30) v4:Emit(30) v5:Emit(30) v6:Emit(30) v7:Emit(25)
end) break
end
end
end;
end
end)
pcall(function()
local EasingStyle=Enum.EasingStyle.Exponential local EasingDirection=Enum.EasingDirection.Out
local speedd=0.2
local lerpspeed=0.2
local conn
local CVjoints={}
local CVtweens={}
local goal = false
local Wherecf=Instance.new("CFrameValue") Wherecf.Value=mainpos
for _, j in pairs(MonaJoints) do
pcall(function()
local cf=Instance.new("CFrameValue") cf.Value=j.CFrame cf.Name=j.Name
table.insert(CVjoints,cf)
end)
end
for _, Joints in pairs(MAnim["Moanims"]["sword28"]["RootPart"]["Trans"]:GetDescendants()) do
pcall(function()
if Joints:IsA("Bone") then
for i, v in ipairs(CVjoints) do
if Joints.Name == v.Name then
local tween=CreateTween(v, { speedd, EasingStyle, EasingDirection, 0, false, 0 }, {Value=CFrame.new(Joints.Position)*OrienRad(Joints.Orientation.X,Joints.Orientation.Y,Joints.Orientation.Z)}, true)
table.insert(CVtweens,tween)
end
end
end
end)
end
conn=game:GetService("RunService").Heartbeat:Connect(function(dt) if not falling then conn:Disconnect() CVtweens[1]:Cancel() attacking=false end
anim(MonaJoints,CVjoints,lerpspeed)
end)
CVtweens[1].Completed:Wait()
goal=true
task.wait(.15)
if conn then
conn:Disconnect()
end
end)
else
combo=1
end
attacking=false movementfalse=false
end)))
end
Add(Mouse.Button1Down:connect(function()
clicked=true
if Character== "Mona" and attacking == false and domovement then
sword()
elseif choosingpersona then
personaevent=true
elseif aiming then
gunevent=true
end
end))
Add(Mouse.Button1Up:connect(function()
clicked=false
gunevent=false
personaevent=false
end))
Add(Mouse.KeyDown:connect(function(key)
if disabled == false then
if key == "w" and domovement then
W=true
elseif key == "a" and domovement then
A=true
elseif key == "s" and domovement then
S=true
elseif key == "d" and domovement then
D=true
elseif key == "e" and domovement and attacking == false and falling then
Homa()
elseif key == "q" and attacking == false then
if not bombphase then
bombphase=true
else
end
elseif key == "space" and domovement then
if rope then rope=false fallingspeed=0 mainpos=mainpos*CFrame.new(0,0.5,0) fallingspeed=fallingspeed-0.8 end
if flying == false then
if falling == false then
falling=true mainpos=mainpos*CFrame.new(0,0.5,0) fallingspeed=fallingspeed-0.8
end
else
fspace=true
end
elseif key == "n" and domovement then
if rope then rope=false end task.spawn(function() dspace=true task.wait(0.1) dspace=false end)
fallingspeed=0 falling=true mainpos=mainpos*CFrame.new(0,0.5,0) fallingspeed=fallingspeed-0.8
elseif key=="leftcontrol" and Character == "Mona" then
saidle=true
elseif key == "n" and Mouse.Target and aiming then
if tartget then
tartget=nil
else
tartget=Mouse.Target
end
elseif key == "y" and batfly == false then
flying=not flying
elseif key == "l" then
pcall(function()
mmodel:Destroy() InputRemote:Destroy() soundpart:Destroy()
effectmodel:Destroy() MusicPE=musicp2[math.random(1,#musicp2)]
end)
elseif key == "b" then
if Character =="Mona" then
Character="Joker" mmodel:Destroy() effectmodel:Destroy()
elseif Character =="Joker" then
Character="Mona" mmodel:Destroy() effectmodel:Destroy()
end
elseif key == "t" and talk then
if math.random(1,3) ==1 and talk then
task.spawn(function() talk=false wait(2) talk=true end)
local S2 = randomSoundNR(IIOQue,IIOQue2,IIOCurrent) if S2[2] == true then if IIOCurrent == IIOQue then IIOCurrent=IIOQue2 elseif IIOCurrent == IIOQue2 then IIOCurrent=IIOQue end end
syncSound({SoundId="rbxassetid://"..S2[1],Volume=0.8,PlayOnRemove=true,TimePosition=0,Pitch=1,Parent=soundpart})
end
elseif key == "p" then
stopscript()
elseif key == "keypadthree" then
domovement=not domovement
FireClient(InputRemote,plr,"Notify",{Title="Do Movement",Text=""..tostring(domovement),Duration=3})
elseif key == "keypadtwo" then
nilchar=not nilchar
FireClient(InputRemote,plr,"Notify",{Title="Nil Character",Text=""..tostring(nilchar),Duration=3})
elseif key == "keypadfour" then
pcall(function()
antirrt=not antirrt
mmodel:Destroy()
effectmodel:Destroy()
end)
FireClient(InputRemote,plr,"Notify",{Title="Anti-RRT",Text=""..tostring(antirrt),Duration=3})
end
end
end))
Add(Mouse.KeyUp:connect(function(key)
if disabled == false then
if key=="w" then
W=false
elseif key=="a" then
A=false
elseif key=="s" then
S=false
elseif key=="d" then
D=false
elseif key=="f" then
aiming=false
elseif key=="leftcontrol" and Character == "Mona" then
saidle=false
elseif key=="space" and flying == true then
fspace=false
elseif key=="g" and flying == true then
dspace=false
end
end
end))
pcall(function()
game:BindToClose(function()
wait(250)
end)
end)
pcall(function()
Add(game.Closed:Connect(function()
repeat wait(250) until nil
end))
end)