Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ By: Brutez. ]]--
- local LainaScript=script;
- repeat Wait(0)until script and script.Parent and script.Parent.ClassName=="Model"and script.Parent:FindFirstChild("Head")and script.Parent:FindFirstChild("Torso");
- local Laina=LainaScript.Parent;
- local LainaHumanoid;
- for _,Child in pairs(Laina:GetChildren())do
- if Child and Child:IsA("Humanoid")and Child.Health~=0 then
- LainaHumanoid=Child;
- end;
- end;
- local LeftLegC0,RightLegC0,LeftArmC0,RightArmC0,HeadC0,LeftLegC02,RightLegC02=CFrame.new(-1,-1,0,0,0,-1,0,1,0,1,0,0),CFrame.new(1,-1,0,0,0,1,0,1,-0,-1,0,0),CFrame.new(-1,0.5,0,0,0,-1,0,1,0,1,0,0),CFrame.new(1,0.5,0,0,0,1,0,1,-0,-1,0,0),CFrame.new(0,1,0,-1,0,0,0,0,1,0,1,-0),CFrame.new(-0.5,-1,0.5,0,0,-1,0,1,0,1,0,0),CFrame.new(0.5,-1,0.5,0,0,1,0,1,-0,-1,0,0);
- local LainaWeld;
- local LainaBodyGyro;
- RecreateThingies=function()
- LainaWeld=Instance.new("Weld");
- LainaWeld.Name="LainaWeld";
- LainaBodyGyro=Instance.new("BodyGyro");
- LainaBodyGyro.Name="LainaBodyGyro";
- LainaBodyGyro.cframe=CFrame.new(Vector3.new(0,0,0),Vector3.new(0,5000000,0));
- LainaBodyGyro.D=300;
- LainaBodyGyro.maxTorque=Vector3.new(99999e99999,99999e99999,0);
- LainaBodyGyro.P=7000;
- end;
- RecreateThingies();
- local IsOnTop=false;
- function RayCast(Position,Direction,MaxDistance,IgnoreList)
- return Game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position,Direction.unit * (MaxDistance or 999.8699)),IgnoreList)
- end;
- while Wait(0)do
- if LainaScript and Laina and Laina:FindFirstChild("Torso") and LainaHumanoid and LainaHumanoid.Health~=0 then
- local TargetPoint=LainaHumanoid.TargetPoint;
- local Blockage,BlockagePos=RayCast((Laina:FindFirstChild("Torso").CFrame+CFrame.new(Laina:FindFirstChild("Torso").Position,Vector3.new(TargetPoint.X,Laina:FindFirstChild("Torso").Position.Y,TargetPoint.Z)).lookVector*(Laina:FindFirstChild("Torso").Size.Z/2)).p,Laina:FindFirstChild("Torso").CFrame.lookVector,(Laina:FindFirstChild("Torso").Size.Z*2.5),{Laina,Laina})
- local Jumpable=false;
- if Blockage then
- Jumpable=true;
- if Blockage and Blockage.Parent and Blockage.Parent.ClassName~="Workspace"then
- local BlockageHumanoid;
- for _,Child in pairs(Blockage.Parent:GetChildren())do
- if Child and Child:IsA("Humanoid")and Child.Health~=0 then
- BlockageHumanoid=Child;
- end;
- end;
- if Blockage and Blockage:IsA("Terrain")then
- local CellPos=Blockage:WorldToCellPreferSolid((BlockagePos-Vector3.new(0,2,0)));
- local CellMaterial,CellShape,CellOrientation=Blockage:GetCell(CellPos.X,CellPos.Y,CellPos.Z);
- if CellMaterial==Enum.CellMaterial.Water then
- Jumpable=false;
- end;
- elseif BlockageHumanoid or Blockage.ClassName=="TrussPart"or Blockage.ClassName=="WedgePart"then
- Jumpable=false;
- end;
- end;
- if Jumpable and LainaScript and Laina and LainaHumanoid and LainaHumanoid.Health~=0 and not LainaHumanoid.Sit and not IsOnTop then
- LainaHumanoid.Jump=true;
- end;
- end;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health==0 and Laina:FindFirstChild("Head") and Laina:FindFirstChild("Head"):FindFirstChild("face")and Laina:FindFirstChild("Head"):FindFirstChild("Hearts")and Laina:FindFirstChild("Head"):FindFirstChild("BrokenHearts")and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak")then
- Laina:FindFirstChild("Head"):FindFirstChild("face").Texture="rbxassetid://912935337";
- Laina:FindFirstChild("Head"):FindFirstChild("Hearts").Enabled=false;
- Laina:FindFirstChild("Head"):FindFirstChild("BrokenHearts").Enabled=true;
- if LainaScript~=nil and Laina~=nil and Laina:FindFirstChild("Head")~=nil and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak")~=nil and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak").IsPlaying then
- Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak"):Stop();
- end;
- if LainaScript~=nil and Laina~=nil and Laina:FindFirstChild("Torso")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Left Hip")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Left Shoulder")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Neck")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Right Hip")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Right Shoulder")~=nil then
- Laina:FindFirstChild("Torso"):FindFirstChild("Left Hip").C0=LeftLegC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Left Shoulder").C0=LeftArmC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Neck").C0=HeadC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Right Hip").C0=RightLegC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Right Shoulder").C0=RightArmC0;
- end;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 and Laina:FindFirstChild("Head") and Laina:FindFirstChild("Head"):FindFirstChild("face")and Laina:FindFirstChild("Head"):FindFirstChild("Hearts")and Laina:FindFirstChild("Head"):FindFirstChild("BrokenHearts")and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak")and not IsOnTop then
- Laina:FindFirstChild("Head"):FindFirstChild("face").Texture="rbxassetid://912935344";
- Laina:FindFirstChild("Head"):FindFirstChild("Hearts").Enabled=false;
- Laina:FindFirstChild("Head"):FindFirstChild("BrokenHearts").Enabled=false;
- if LainaScript~=nil and Laina~=nil and Laina:FindFirstChild("Head")~=nil and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak")~=nil and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak").IsPlaying then
- Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak"):Stop();
- end;
- if LainaScript~=nil and Laina~=nil and Laina:FindFirstChild("Torso")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Left Hip")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Left Shoulder")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Neck")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Right Hip")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Right Shoulder")~=nil then
- Laina:FindFirstChild("Torso"):FindFirstChild("Left Hip").C0=LeftLegC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Left Shoulder").C0=LeftArmC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Neck").C0=HeadC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Right Hip").C0=RightLegC0;
- Laina:FindFirstChild("Torso"):FindFirstChild("Right Shoulder").C0=RightArmC0;
- end;
- elseif Laina and LainaHumanoid and LainaHumanoid.Health~=0 and Laina:FindFirstChild("Head") and Laina:FindFirstChild("Head"):FindFirstChild("face")and Laina:FindFirstChild("Head"):FindFirstChild("Hearts")and Laina:FindFirstChild("Head"):FindFirstChild("BrokenHearts")and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak")and IsOnTop then
- Laina:FindFirstChild("Head"):FindFirstChild("face").Texture="rbxassetid://912935342";
- Laina:FindFirstChild("Head"):FindFirstChild("Hearts").Enabled=true;
- Laina:FindFirstChild("Head"):FindFirstChild("BrokenHearts").Enabled=false;
- if LainaScript~=nil and Laina~=nil and Laina:FindFirstChild("Head")~=nil and Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak")~=nil and not Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak").IsPlaying then
- Laina:FindFirstChild("Head"):FindFirstChild("PlasticCreak"):Play();
- end;
- local LRotation,RRotation,LARotation,RARotation,HRotation=math.sin(tick()*9.86)*0.5,math.sin(tick()*9.86)*0.5,math.sin(tick()*9.86)*-0.3,math.sin(tick()*9.86)*-0.3,math.sin(tick()*9.86)*-0.3
- if LainaScript~=nil and Laina~=nil and Laina:FindFirstChild("Torso")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Left Hip")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Left Shoulder")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Neck")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Right Hip")~=nil and Laina:FindFirstChild("Torso"):FindFirstChild("Right Shoulder")~=nil then
- Laina:FindFirstChild("Torso"):FindFirstChild("Left Hip").C0=LeftLegC02*CFrame.fromEulerAnglesXYZ(1.5,1.5-LRotation,-1);
- Laina:FindFirstChild("Torso"):FindFirstChild("Left Shoulder").C0=LeftArmC0*CFrame.fromEulerAnglesXYZ(0,0,0.3+LARotation);
- Laina:FindFirstChild("Torso"):FindFirstChild("Neck").C0=HeadC0*CFrame.fromEulerAnglesXYZ(0.5+HRotation,0,0);
- Laina:FindFirstChild("Torso"):FindFirstChild("Right Hip").C0=RightLegC02*CFrame.fromEulerAnglesXYZ(1.5,-1.5+RRotation,1);
- Laina:FindFirstChild("Torso"):FindFirstChild("Right Shoulder").C0=RightArmC0*CFrame.fromEulerAnglesXYZ(0,0,-0.3-RARotation);
- end;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 and not LainaHumanoid.AutoJumpEnabled then
- LainaHumanoid.AutoJumpEnabled=true;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 and not LainaHumanoid.AutoRotate then
- LainaHumanoid.AutoRotate=true;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 and LainaHumanoid.PlatformStand then
- LainaHumanoid.PlatformStand=false;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 and LainaHumanoid.Sit and not IsOnTop then
- LainaHumanoid.Sit=false;
- end;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 then
- LainaHumanoid.JumpPower=60;
- LainaHumanoid.WalkSpeed=20;
- end;
- local NoticeDistance=99999e99999;
- for _,TargetModel in pairs(Game:GetService("Workspace"):GetChildren())do
- if TargetModel and TargetModel:IsA("Model")and TargetModel~=Laina and TargetModel:FindFirstChild("Torso")and TargetModel:FindFirstChild("Head")then
- local TargetPart=TargetModel:FindFirstChild("Torso");
- local FoundHumanoid;
- for _,Child in pairs(TargetModel:GetChildren())do
- if Child~=nil and Child:IsA("Humanoid")and Child.Health~=0 then
- FoundHumanoid=Child;
- end;
- end;
- if Laina and Laina:FindFirstChild("HumanoidRootPart")and LainaHumanoid and LainaHumanoid.Health~=0 and TargetPart and FoundHumanoid and FoundHumanoid.Health>0 and(TargetPart.Position-Laina:FindFirstChild("HumanoidRootPart").Position).magnitude<NoticeDistance and not IsOnTop then
- NoticeDistance=(TargetPart.Position-Laina:FindFirstChild("HumanoidRootPart").Position).magnitude;
- if Laina and Laina:FindFirstChild("HumanoidRootPart")and LainaHumanoid and LainaHumanoid.Health~=0 and TargetPart and FoundHumanoid and FoundHumanoid.Health>0 and FoundHumanoid.Jump and not IsOnTop then
- LainaHumanoid.Jump=true;
- end;
- LainaHumanoid:MoveTo(TargetPart.Position+(TargetPart.Position-Laina:FindFirstChild("Torso").Position).unit*2,Game:GetService("Workspace"):FindFirstChild("Terrain"));
- if TargetPart and FoundHumanoid and FoundHumanoid.Health>0 and(TargetPart.Position-Laina:FindFirstChild("HumanoidRootPart").Position).magnitude<5 and not IsOnTop then
- IsOnTop=true;
- LainaWeld.Parent=Laina:FindFirstChild("Torso");
- LainaWeld.Part1=Laina:FindFirstChild("Torso");
- LainaWeld.C0=CFrame.new(0,-0.1,-1.4)*CFrame.fromEulerAnglesXYZ(-0.7+math.sin(tick()*9.86)*0.3,math.pi,0);
- LainaWeld.Part0=TargetPart;
- LainaBodyGyro.Parent=TargetPart;
- if LainaScript and LainaScript:FindFirstChild("JumpOk")and LainaScript:FindFirstChild("JumpOkNPC")and TargetModel.Parent~=nil and TargetPart.Parent~=nil and LainaBodyGyro~=nil and FoundHumanoid.Parent~=nil and LainaWeld.Parent~=nil and LainaBodyGyro.Parent~=nil and FoundHumanoid.Health~=0 and Laina and LainaHumanoid and LainaHumanoid.Health~=0 then
- if TargetModel and FoundHumanoid and FoundHumanoid.Health~=0 and FoundHumanoid:FindFirstChild("Status")and FoundHumanoid:FindFirstChild("Status").ClassName=="Status"then
- local JumpOk=LainaScript:FindFirstChild("JumpOk"):Clone();
- JumpOk.Parent=TargetModel;
- JumpOk.Disabled=false;
- elseif TargetModel and FoundHumanoid and FoundHumanoid.Health~=0 and FoundHumanoid:FindFirstChild("Status")and FoundHumanoid:FindFirstChild("Status").ClassName=="Model"or TargetModel and FoundHumanoid and FoundHumanoid.Health~=0 and not FoundHumanoid:FindFirstChild("Status")then
- local JumpOkNPC=LainaScript:FindFirstChild("JumpOkNPC"):Clone();
- JumpOkNPC.Parent=TargetModel;
- JumpOkNPC.Disabled=false;
- end;
- end;
- Spawn(function()
- while Wait(0)do
- if TargetModel.Parent~=nil and TargetPart.Parent~=nil and FoundHumanoid.Parent~=nil and LainaWeld.Parent~=nil and LainaBodyGyro.Parent~=nil and FoundHumanoid.Health~=0 and Laina and LainaHumanoid and LainaHumanoid.Health~=0 then
- LainaHumanoid.Sit=true;
- if Laina and LainaHumanoid and LainaHumanoid.Health~=0 and Laina:FindFirstChild("Torso")and LainaWeld then
- LainaWeld.C0=CFrame.new(0,-0.1,-1.4)*CFrame.fromEulerAnglesXYZ(-0.7+math.sin(tick()*9.86)*0.3,math.pi,0);
- end;
- if TargetModel~=nil and TargetPart~=nil and FoundHumanoid~=nil and FoundHumanoid.Health~=0 then
- FoundHumanoid.Jump=false;
- FoundHumanoid.Sit=true;
- end;
- else
- IsOnTop=false;
- if LainaWeld then
- LainaWeld:Destroy();
- end;
- if LainaBodyGyro then
- LainaBodyGyro:Destroy();
- end;
- RecreateThingies();
- break
- end;
- end;
- end)
- end;
- end;
- end;
- end;
- end;
- --[[ By: Brutez. ]]--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement