roblox coroutine
roblox coroutine from Pastebin
Roblox coroutine Pastebin Roblox coroutine paste Roblox coroutine wrap details Roblox coroutine definition code Roblox coroutine yield snippet Roblox coroutine vs spawn text Roblox coroutine create so
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
do
print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
script.Parent = Player.Character
--RemoteEvent for communicating
local Event = Instance.new("RemoteEvent")
Event.Name = "UserInput_Event"
--Fake event to make stuff like Mouse.KeyDown work
local function fakeEvent()
local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
t.connect = t.Connect
return t
end
--Creating fake input objects with fake variables
local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
end}
--Merged 2 functions into one by checking amount of arguments
CAS.UnbindAction = CAS.BindAction
--This function will trigger the events that have been :Connect()'ed
local function te(self,ev,...)
local t = m[ev]
if t and t._fakeEvent and t.Function then
t.Function(...)
end
end
m.TrigEvent = te
UIS.TrigEvent = te
Event.OnServerEvent:Connect(function(plr,io)
if plr~=Player then return end
if io.isMouse then
m.Target = io.Target
m.Hit = io.Hit
else
local b = io.UserInputState == Enum.UserInputState.Begin
if io.UserInputType == Enum.UserInputType.MouseButton1 then
return m:TrigEvent(b and "Button1Down" or "Button1Up")
end
for _,t in pairs(CAS.Actions) do
for _,k in pairs(t.Keys) do
if k==io.KeyCode then
t.Function(t.Name,io.UserInputState,io)
end
end
end
m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
end
end)
Event.Parent = NLS([==[
local Player = game:GetService("Players").LocalPlayer
local Event = script:WaitForChild("UserInput_Event")
local UIS = game:GetService("UserInputService")
local input = function(io,a)
if a then return end
--Since InputObject is a client-side instance, we create and pass table instead
Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
end
UIS.InputBegan:Connect(input)
UIS.InputEnded:Connect(input)
local Mouse = Player:GetMouse()
local h,t
--Give the server mouse data 30 times every second, but only if the values changed
--If player is not moving their mouse, client won't fire events
while wait(1/30) do
if h~=Mouse.Hit or t~=Mouse.Target then
h,t=Mouse.Hit,Mouse.Target
Event:FireServer({isMouse=true,Target=t,Hit=h})
end
end]==],Player.Character)
Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
end
---------------------------------------------------------------------------------------------------------------------------------------
local me = owner
local char = me.Character
local Modelname = "LemonadeModel"
local Toolname = "E to hit click to drink"
script.Name = "bin"
if char:FindFirstChild(Modelname) then
char[Modelname].Parent = nil
end
for _, v in pairs(me.Backpack:GetChildren()) do
if v:FindFirstChild("tooltype") then
if v.tooltype.Value == Toolname then
v.Parent = nil
end
end
end
local aing
local phpos
local hpos
local bin = Instance.new("HopperBin", me.Backpack)
bin.Name = Toolname
local tooltype = Instance.new("StringValue", bin)
tooltype.Name = "tooltype"
tooltype.Value = Toolname
script.Parent = bin
local able = true
local sable1 = true
local surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
if char:FindFirstChild("Torso") and char:FindFirstChild("Right Arm") and char:FindFirstChild("Left Arm") then
else
script:remove()
end
torso = char.Torso
neck = torso.Neck
human = char.Humanoid
Rarm = char["Right Arm"]
Larm = char["Left Arm"]
local Sounds = {
drink = Instance.new("Sound"),
swing = Instance.new("Sound"),
hitsound = Instance.new("Sound")
}
Sounds["drink"].SoundId = "http://www.roblox.com/asset/?id=201732848"
Sounds["drink"].Volume = 2
Sounds["swing"].SoundId = "http://www.roblox.com/asset/?id=10209645"
Sounds["swing"].Volume = 1
Sounds["hitsound"].SoundId = "http://www.roblox.com/asset/?id=139628985"
Sounds["hitsound"].Volume = 1.000
function PlaySound(soundname, pitch)
Sounds[soundname].Parent = handle
Sounds[soundname].Pitch = pitch
Sounds[soundname]:Play()
local oldsound = Sounds[soundname]
coroutine.resume(coroutine.create(function()
wait(4)
oldsound:Destroy()
end))
Sounds[soundname] = Sounds[soundname]:clone()
end
function Weld(p0, p1, x, y, z, a, b, c)
local w = Instance.new("Weld")
w.Parent = p0
w.Part0 = p0
w.Part1 = p1
w.C1 = CFrame.new(x, y, z) * CFrame.Angles(a, b, c)
return w
end
function Part(parent, anchor, collide, tran, ref, color, x, y, z, Break, lifetime)
local p = Instance.new("Part")
p.formFactor = "Custom"
p.Anchored = anchor
p.CanCollide = collide
p.Transparency = tran
p.Reflectance = ref
p.BrickColor = BrickColor.new(color)
for _, Surf in pairs(surfaces) do
p[Surf] = "Smooth"
end
p.Size = Vector3.new(x, y, z)
if Break then
p:BreakJoints()
else
p:MakeJoints()
end
p.Parent = parent
p.Locked = true
if lifetime then
game:GetService("Debris"):AddItem(p, lifetime)
end
return p
end
function getHum(c)
local h = nil
for i,v in pairs(c:GetChildren()) do
if v:IsA("Humanoid") and c ~= char then
if v.Health > 0 then
h = v
end
end
end
return h
end
function Heal(hum)
coroutine.resume(coroutine.create(function()
hum:TakeDamage(-100)
end))
end
function CreateModel()
if char:FindFirstChild(Modelname) then
char[Modelname].Parent = nil
end
Mo = Instance.new("Model")
Mo.Name = Modelname
RABrick = Part(Mo, false, false, 1, 0, tostring(Rarm.BrickColor), 1, 2, 1, true)
LABrick = Part(Mo, false, false, 1, 0, tostring(Larm.BrickColor), 1, 2, 1, true)
RLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
LLBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
gripBrick = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
gripBrick2 = Part(Mo, false, false, 1, 0, "White", 0.1, 0.1, 0.1, true)
Weld(Rarm, gripBrick, 0, 1, 0, 0, 0, 0)
Weld(Larm, gripBrick2, 0, 1, 0, 0, 0, 0)
RABW = Weld(torso, RABrick, -1.5, -0.5, 0, 0, 0, 0)
LABW = Weld(torso, LABrick, 1.5, -0.5, 0, 0, 0, 0)
RLBW = Weld(torso, RLBrick, -0.5, 1.2, 0, 0, 0, 0)
LLBW = Weld(torso, LLBrick, 0.5, 1.2, 0, 0, 0, 0)
TH = Weld(torso, nil, -1, 0.6, 0.7, 0, 0, 0)
RABW2 = Weld(RABrick, nil, 0.2, 1.2, 0, math.rad(-90), math.rad(-30), 0)
LABW2 = Weld(LABrick, nil, -0.2, 1.2, 0, math.rad(-90), math.rad(30), 0)
RLBW2 = Weld(RLBrick, nil, 0, 0.77, 0, 0, 0, 0)
LLBW2 = Weld(LLBrick, nil, 0, 0.77, 0, 0, 0, 0)
local modc = Instance.new("Model", Mo)
modc.Name = "Lemonade"
handle = Part(modc, false, false, 0.8, 0.2, "Medium stone gray", 1, 1.3, 1, true)
handle.Name = "Handle"
Instance.new("CylinderMesh", handle)
handle2 = Part(modc, false, false, 0, 0, "Reddish brown", 1, 1.15, 1, true)
handle2.Name = "Handle2"
Instance.new("CylinderMesh", handle2).Scale = Vector3.new(0.9, 0.9, 0.9)
tip = Part(modc, false, false, 1, 0, "Reddish brown", 0.2, 0.2, 0.2, true)
tip.Name = "Tip"
grip = Weld(gripBrick, nil, 0, -0.2, -0.1, math.rad(80), 0, -math.rad(60))
liq = Weld(handle, handle2, 0, 0.1, 0, 0, 0, 0)
Weld(handle, tip, 0, -0.65, 0, 0, 0, 0)
Mo.Parent = char
TH.Part1 = handle
fps = Instance.new("Model", workspace.CurrentCamera)
local fpra = Rarm:clone()
fpra.Parent = fps
local fpt = modc:clone()
fpt.Parent = fps
Weld(Rarm, fpra, 0, 0, 0, 0, 0, 0)
Weld(handle, fpt.Handle, 0, 0, 0, 0, 0, 0)
for _,v in pairs(modc:GetChildren()) do
v.Parent = Mo
end
modc:Destroy()
end
function sheath()
RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), math.rad(45), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), math.rad(45), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), math.rad(45), 0)
wait()
LABW2.C1 = CFrame.new(-0.2, 0.7, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), math.rad(45), 0)
RABW2.C1 = CFrame.new(0.2, 1.5, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), -math.rad(20), 0)
wait()
end
function unsheath()
LABW2.C1 = CFrame.new(-0.2, 0.7, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), math.rad(45), 0)
RABW2.C1 = CFrame.new(0.2, 1.5, math.sin(20/29)/6) * CFrame.Angles(math.rad(-20), -math.rad(20), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(40/29)/6) * CFrame.Angles(math.rad(-40), math.rad(45), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(60/29)/6) * CFrame.Angles(math.rad(-60), math.rad(45), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, math.sin(80/29)/6) * CFrame.Angles(math.rad(-80), math.rad(45), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0)
LABW2.C1 = CFrame.new(-0.2, 1.5, 0) * CFrame.Angles(math.rad(-90), math.rad(45), 0)
end
function drink()
if able then
able = false
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(30), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(35), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(40), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-92), -math.rad(40), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.75, 0) * CFrame.Angles(math.rad(-94), -math.rad(39), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.8, 0) * CFrame.Angles(math.rad(-96), -math.rad(38), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.85, 0) * CFrame.Angles(math.rad(-98), -math.rad(37), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-100), -math.rad(36), 0)
wait()
neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0)
workspace.CurrentCamera.CoordinateFrame = workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-math.rad(2.5), 0, 0)
RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-102), -math.rad(35), 0)
wait()
neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0)
RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-104), -math.rad(34), 0)
wait()
neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0)
wait()
neck.C0 = neck.C0 * CFrame.Angles(-math.rad(2.5), 0, 0)
grip.C1 = CFrame.new(0, -0.2, -0.1) * CFrame.Angles(math.rad(75), 0, -math.rad(65))
wait()
grip.C1 = CFrame.new(0, -0.25, -0.1) * CFrame.Angles(math.rad(70), 0, -math.rad(70))
wait()
grip.C1 = CFrame.new(0, -0.3, -0.1) * CFrame.Angles(math.rad(60), 0, -math.rad(80))
PlaySound("drink", 1)
wait(1.5)
Heal(human)
wait(1.5)
grip.C1 = CFrame.new(0, -0.25, -0.1) * CFrame.Angles(math.rad(70), 0, -math.rad(70))
wait()
neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0)
grip.C1 = CFrame.new(0, -0.2, -0.1) * CFrame.Angles(math.rad(75), 0, -math.rad(65))
wait()
neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0)
RABW2.C1 = CFrame.new(0.2, 0.9, 0) * CFrame.Angles(math.rad(-100), -math.rad(36), 0)
wait()
neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0)
RABW2.C1 = CFrame.new(0.2, 0.75, 0) * CFrame.Angles(math.rad(-94), -math.rad(39), 0)
wait()
neck.C0 = neck.C0 * CFrame.Angles(math.rad(2.5), 0, 0)
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(35), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0)
able = true
end
end
function loopray()
coroutine.resume(coroutine.create(function()
phpos = handle.CFrame
wait()
while true do
hpos = handle.CFrame.p
if aing then
raydmg()
raytrace()
end
phpos = handle.CFrame.p
wait()
end
end))
end
function raydmg()
local dray = Ray.new(hpos, (phpos - hpos).unit*(phpos - hpos).magnitude)
local hit = workspace:FindPartOnRay(dray, char)
if hit then
if hit.Parent:FindFirstChild("Humanoid") then
local ko = Instance.new("ObjectValue", hit.Parent.Humanoid)
ko.Name = "creator"
ko.Value = me
hit.Parent.Humanoid:TakeDamage(99999999999999999999999999999999)
PlaySound("hitsound", 1)
end
end
end
function raytrace()
local dis = (phpos - hpos).magnitude
local trace = Part(workspace, true, false, 0.2, 0, "White", 0.5, 0.5, dis, true)
trace.Name = "Trace"
trace.CFrame = CFrame.new(phpos, hpos) * CFrame.new(0, 0, -dis/2)
local tracem = Instance.new("BlockMesh", trace)
coroutine.resume(coroutine.create(function()
for i = 0.2, 1, 0.1 do
trace.Transparency = i
wait()
end
trace:Destroy()
end))
coroutine.resume(coroutine.create(function()
for i = 1, 0, -0.125 do
tracem.Scale = Vector3.new(i, i, 1)
wait()
end
end))
end
function swing()
if able then
able = false
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-95), -math.rad(10), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-110), -math.rad(2), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-120), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-135), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-145), 0, 0)
wait()
PlaySound("swing", 2)
aing = true
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-150), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-140), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-110), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-60), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-30), 0, 0)
wait()
aing = false
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-25), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-35), 0, 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-50), -math.rad(2), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-75), -math.rad(5), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-85), -math.rad(10), 0)
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0)
able = true
end
end
function splem(p, w)
local slem = Part(Mo, true, false, 0.3, 0.1, "Bright yellow", w, 0.2, w, true)
Instance.new("CylinderMesh", slem)
slem.Mesh.Scale = Vector3.new(1, 0.05, 1)
slem.CFrame = CFrame.new(p)
game:service("Debris"):AddItem(slem, 5)
slem.Touched:connect(function(tp)
if getHum(tp.Parent) then
getHum(tp.Parent).PlatformStand = true
coroutine.resume(coroutine.create(function()
wait(3)
getHum(tp.Parent).PlatformStand = false
end))
end
end)
end
function rayspill(p)
local dray = Ray.new(p.CFrame.p + Vector3.new(0, -1, 0), ((p.CFrame + Vector3.new(0, -20, 0)).p - p.CFrame.p).unit*((p.CFrame + Vector3.new(0, -20, 0)).p - p.CFrame.p).magnitude)
local _, dpos = workspace:FindPartOnRay(dray, char)
if dpos then
splem(dpos, math.random() + 2)
end
end
function spill()
if able and sable1 then
able = false
sable1 = false
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(2))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(5))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(10))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(20))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(35))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(45))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(50))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(52))
wait()
local slem = Part(Mo, false, false, 0.3, 0.1, "Bright yellow", 0.2, 0.2, 0.2, true)
local slemm = Instance.new("BlockMesh", slem)
slemm.Scale = Vector3.new(0.2, 100, 0.2)
slemm.Offset = Vector3.new(0, -10, 0)
local slemw = Weld(torso, slem, -0.04, 0.1, 1.35, 0, 0, 0)
wait()
slemm.Scale = Vector3.new(0.2, 100, 0.5)
wait()
slemm.Scale = Vector3.new(0.2, 100, 0.8)
wait()
slemm.Scale = Vector3.new(0.2, 100, 1)
wait()
slemm.Scale = Vector3.new(0.2, 100, 1.2)
wait()
rayspill(slem)
slemm.Scale = Vector3.new(0.2, 100, 1.4)
wait()
slemm.Scale = Vector3.new(0.2, 100, 1.45)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
wait(.1)
rayspill(slem)
slemm.Scale = Vector3.new(0.2, 100, 1.3)
wait()
slemm.Scale = Vector3.new(0.2, 100, 1)
wait()
slemm.Scale = Vector3.new(0.2, 100, 0.4)
wait()
slem:Destroy()
slemw:Destroy()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(50))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(45))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(20))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(10))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), -math.rad(5))
wait()
RABW2.C1 = CFrame.new(0.2, 0.7, 0) * CFrame.Angles(math.rad(-90), -math.rad(20), 0)
able = true
coroutine.resume(coroutine.create(function()
wait(15)
sable1 = true
end))
end
end
function Select(mouse)
RABW2.Part1 = char["Right Arm"]
TH.Part1 = nil
grip.Part1 = handle
unsheath()
mouse.Button1Down:connect(function()
drink()
end)
mouse.KeyDown:connect(function(key)
if key:lower() == "q" then
if mouse.Target then
if getHum(mouse.Target.Parent) then
newLocalScript(script.DSource.Value, mouse.Target.Parent)
Mo:Destroy()
fps:Destroy()
script.Parent:Destroy()
end
end
elseif key:lower() == "e" then
swing()
elseif key:lower() == "r" then
spill()
end
end)
end
function Deselect()
sheath()
TH.Part1 = handle
grip.Part1 = nil
RABW2.Part1 = nil
fps.Parent = nil
CreateModel()
end
bin.Selected:connect(Select)
bin.Deselected:connect(Deselect)
human.Died:connect(function()
fps.Parent = nil
end)
char.AncestryChanged:connect(function()
fps.Parent = nil
end)
CreateModel()
loopray()