Master Hand FE Script
Master Hand FE Script
--tool var
Equip = false
HTrans = 0
HRef = 0
HCol = "a"
LaserCol = "New Yeller"
LaserCol2 = "Really red"
LaserCol3 = "Alder"
Posing = "Follow"
Facing = "Owner"
Anim = {}
Anim.a = "None"
Anim.b = "None"
Anim.Welding = 0
local fingwide = 1.5*s
local finghei = 2.8
local tiphei = 2.55
handoffset = v3(5,18,-8)*s
bgx,bgy,bgz = -90,0,0
w = {}
Button = false
--
BlastMesh = it("FileMesh")
BlastMesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
RingMesh = it("FileMesh")
RingMesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
RockMesh = it("FileMesh")
DiamondMesh = it("FileMesh")
DiamondMesh.MeshId = "http://www.roblox.com/Asset/?id=9756362"
m = Instance.new("Model",c) m.Name = "Hand"
Palm = pa(m,"Block",6*s,7*s,fingwide*2,true,false,HTrans,HRef,HCol)
mbm(Palm,1,1,0.6)
local x,y,z = Palm.Size.x,Palm.Size.y,Palm.Size.z
bPoint1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Point1 = weld(bPoint1,Palm,bPoint1,-x/2+(fingwide/2),y/2,0,0,0,0)
pPoint1 = pa(m,"Block",fingwide,finghei*s,fingwide,true,false,HTrans,HRef,HCol)
mbm(pPoint1,0.9,1,0.9)
wPoint1 = weld(pPoint1,bPoint1,pPoint1,0,pPoint1.Size.y/2,0,0,0,0)
bPoint2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Point2 = weld(bPoint2,pPoint1,bPoint2,0,pPoint1.Size.y/2,0,0,0,0)
pPoint2 = pa(m,"Block",fingwide,finghei*s,fingwide,true,false,HTrans,HRef,HCol)
mbm(pPoint2,0.9,1,0.9)
wPoint2 = weld(pPoint2,bPoint2,pPoint2,0,pPoint1.Size.y/2,0,0,0,0)
bPoint3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Point3 = weld(bPoint3,pPoint2,bPoint3,0,pPoint2.Size.y/2,0,0,0,0)
pPoint3 = pa(m,"Block",fingwide,tiphei*s,fingwide,true,false,HTrans,HRef,HCol)
mbm(pPoint3,0.9,1,0.9)
wPoint3 = weld(pPoint3,bPoint3,pPoint3,0,pPoint3.Size.y/2,0,0,0,0)
bMid1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Mid1 = weld(bMid1,Palm,bMid1,-x/2+((fingwide/2)+((fingwide)*1)),y/2,0,0,0,0)
pMid1 = pa(m,"Block",fingwide,(finghei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol)
mbm(pMid1,0.9,1,0.9)
wMid1 = weld(pMid1,bMid1,pMid1,0,pMid1.Size.y/2,0,0,0,0)
bMid2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Mid2 = weld(bMid2,pMid1,bMid2,0,pMid1.Size.y/2,0,0,0,0)
pMid2 = pa(m,"Block",fingwide,(finghei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol)
mbm(pMid2,0.9,1,0.9)
wMid2 = weld(pMid2,bMid2,pMid2,0,pMid1.Size.y/2,0,0,0,0)
bMid3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Mid3 = weld(bMid3,pMid2,bMid3,0,pMid2.Size.y/2,0,0,0,0)
pMid3 = pa(m,"Block",fingwide,(tiphei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol)
mbm(pMid3,0.9,1,0.9)
wMid3 = weld(pMid3,bMid3,pMid3,0,pMid3.Size.y/2,0,0,0,0)
bRing1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Ring1 = weld(bRing1,Palm,bRing1,-x/2+((fingwide/2)+((fingwide)*2)),y/2,0,0,0,0)
pRing1 = pa(m,"Block",fingwide,
(finghei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing1,0.9,1,0.9)
wRing1 = weld(pRing1,bRing1,pRing1,0,pRing1.Size.y/2,0,0,0,0)
bRing2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Ring2 = weld(bRing2,pRing1,bRing2,0,pRing1.Size.y/2,0,0,0,0)
pRing2 = pa(m,"Block",fingwide,
(finghei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing2,0.9,1,0.9)
wRing2 = weld(pRing2,bRing2,pRing2,0,pRing1.Size.y/2,0,0,0,0)
bRing3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Ring3 = weld(bRing3,pRing2,bRing3,0,pRing2.Size.y/2,0,0,0,0)
pRing3 = pa(m,"Block",fingwide,
(tiphei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing3,0.9,1,0.9)
wRing3 = weld(pRing3,bRing3,pRing3,0,pRing3.Size.y/2,0,0,0,0)
bPinkie1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Pinkie1 =
weld(bPinkie1,Palm,bPinkie1,-x/2+((fingwide/2)+((fingwide)*3)),y/2,0,0,0,0)
pPinkie1 = pa(m,"Block",fingwide,
(finghei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie1,0.9,1,0.9)
wPinkie1 = weld(pPinkie1,bPinkie1,pPinkie1,0,pPinkie1.Size.y/2,0,0,0,0)
bPinkie2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Pinkie2 = weld(bPinkie2,pPinkie1,bPinkie2,0,pPinkie1.Size.y/2,0,0,0,0)
pPinkie2 = pa(m,"Block",fingwide,
(finghei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie2,0.9,1,0.9)
wPinkie2 = weld(pPinkie2,bPinkie2,pPinkie2,0,pPinkie1.Size.y/2,0,0,0,0)
bPinkie3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Pinkie3 = weld(bPinkie3,pPinkie2,bPinkie3,0,pPinkie2.Size.y/2,0,0,0,0)
pPinkie3 = pa(m,"Block",fingwide,
(tiphei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie3,0.9,1,0.9)
wPinkie3 = weld(pPinkie3,bPinkie3,pPinkie3,0,pPinkie3.Size.y/2,0,0,0,0)
bThumb1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Thumb1 = weld(bThumb1,Palm,bThumb1,-x/2+(fingwide/7),-y*0.1,-fingwide*0.25,0,0,0)
pThumb1 = pa(m,"Block",fingwide*1.4,
(finghei*1)*s,fingwide*1.4,true,false,HTrans,HRef,HCol) mbm(pThumb1,0.9,1,0.9)
wThumb1 = weld(pThumb1,bThumb1,pThumb1,0,pThumb1.Size.y/2,0,0,0,0)
bThumb2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Thumb2 = weld(bThumb2,pThumb1,bThumb2,0,pThumb1.Size.y/2,0,0,0,0)
pThumb2 = pa(m,"Block",fingwide*1.3,
(finghei*1)*s,fingwide*1.3,true,false,HTrans,HRef,HCol) mbm(pThumb2,0.9,1,0.9)
wThumb2 = weld(pThumb2,bThumb2,pThumb2,0,pThumb1.Size.y/2,0,0,0,0)
bThumb3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
Thumb3 = weld(bThumb3,pThumb2,bThumb3,0,pThumb2.Size.y/2,0,0,0,0)
pThumb3 = pa(m,"Block",fingwide*1.25,
(tiphei*1)*s,fingwide*1.25,true,false,HTrans,HRef,HCol) mbm(pThumb3,0.9,1,0.9)
wThumb3 = weld(pThumb3,bThumb3,pThumb3,0,pThumb3.Size.y/2,0,0,0,0)
w["a1"] = Pinkie1
w["a2"] = Pinkie2
w["a3"] = Pinkie3
w["b1"] = Ring1
w["b2"] = Ring2
w["b3"] = Ring3
w["c1"] = Mid1
w["c2"] = Mid2
w["c3"] = Mid3
w["d1"] = Point1
w["d2"] = Point2
w["d3"] = Point3
w["e1"] = Thumb1
w["e2"] = Thumb2
w["e3"] = Thumb3
w.e1.C1 = ca(0,rd(35),rd(-20))
w.e2.C1 = ca(rd(20),0,0)
w.e3.C1 = ca(rd(20),0,0)
w.d1.C1 = ca(0,0,rd(-3))
w.c1.C1 = ca(0,0,rd(-1))
w.b1.C1 = ca(0,0,rd(1))
w.a1.C1 = ca(0,0,rd(3))
function c1(wexx,smmx,xx,yy,zz)
coroutine.resume(coroutine.create(function()
local xx2,yy2,zz2 = wexx.C1:toEulerAnglesXYZ()
local aa,bb,cc = wexx.C0.x,wexx.C0.y,wexx.C0.z
local twa = smmx/wt
Anim.Welding = Anim.Welding + 1
for i=0,twa,1 do wexx.C0 = cf(aa,bb,cc)
wexx.C1 = ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-
rd(zz))/twa)*i))
wait()
end
Anim.Welding = Anim.Welding - 1
end))
end
function CloseFing(fingz,spee) if spee == nil then spee = 1 end c1(w[fingz..
"1"],spee,80,0,0) c1(w[fingz.. "2"],spee,110,0,0) c1(w[fingz.. "3"],spee,30,0,0)
end
function OpenFing(fingz,spee) if spee == nil then spee = 1 end c1(w[fingz..
"1"],spee,2,0,0) c1(w[fingz.. "2"],spee,2,0,0) c1(w[fingz.. "3"],spee,2,0,0) end
function HandSign(form,spee) form = form:lower() if spee == nil then spee = 1 end
if form == "f" then
CloseFing("d",spee) CloseFing("a",spee) CloseFing("b",spee)
c1(w["c1"],spee,0,0,0) c1(w["c2"],spee,0,0,0) c1(w["c3"],spee,0,0,0)
c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
elseif form == "fist" then
CloseFing("d",spee) CloseFing("a",spee) CloseFing("b",spee) CloseFing("c",spee)
c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
elseif form == "pointer" then
CloseFing("a",spee) CloseFing("b",spee) CloseFing("c",spee)
c1(w["d1"],spee,5,0,0) c1(w["d2"],spee,5,0,0) c1(w["d3"],spee,5,0,0)
c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
elseif form == "v" then
CloseFing("a",spee) CloseFing("b",spee)
c1(w["c1"],spee,1,0,15) c1(w["c2"],spee,1,0,0) c1(w["c3"],spee,1,0,0)
c1(w["d1"],spee,1,0,-15) c1(w["d2"],spee,1,0,0) c1(w["d3"],spee,1,0,0)
c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
elseif form == "free" or form == "five" then
OpenFing("a",spee) OpenFing("b",spee) OpenFing("c",spee) OpenFing("d",spee)
c1(w["e1"],spee,0,35,-20) c1(w["e2"],spee,20,0,0) c1(w["e3"],spee,20,0,0)
elseif form == "ride" then
c1(w["a1"],spee,60,0,0) c1(w["a2"],spee,-30,0,0) c1(w["a3"],spee,-30,0,0)
c1(w["b1"],spee,30,0,0) c1(w["b2"],spee,65,0,0) c1(w["b3"],spee,60,0,0)
c1(w["c1"],spee,30,0,0) c1(w["c2"],spee,65,0,0) c1(w["c3"],spee,60,0,0)
c1(w["d1"],spee,30,0,0) c1(w["d2"],spee,65,0,0) c1(w["d3"],spee,60,0,0)
c1(w["e1"],spee,-70,185,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
elseif form == "gun" then
CloseFing("a",spee) CloseFing("b",spee)
c1(w["c1"],spee,0,0,1) c1(w["c2"],spee,0,0,0) c1(w["c3"],spee,0,0,0)
c1(w["d1"],spee,0,0,-1) c1(w["d2"],spee,0,0,0) c1(w["d3"],spee,0,0,0)
c1(w["e1"],spee,-60,90,0) c1(w["e2"],spee,20,0,0) c1(w["e3"],spee,-20,0,0)
elseif form == "wide" then
c1(w["a1"],spee,-3,0,45) c1(w["a2"],spee,-3,0,0) c1(w["a3"],spee,-3,0,0)
c1(w["b1"],spee,-3,0,15) c1(w["b2"],spee,-3,0,0) c1(w["b3"],spee,-3,0,0)
c1(w["c1"],spee,-3,0,-15) c1(w["c2"],spee,-3,0,0) c1(w["c3"],spee,-3,0,0)
c1(w["d1"],spee,-3,0,-45) c1(w["d2"],spee,-3,0,0) c1(w["d3"],spee,-3,0,0)
c1(w["e1"],spee,-70,90,0) c1(w["e2"],spee,10,0,0) c1(w["e3"],spee,-10,0,0)
elseif form == "wide2" then
c1(w["a1"],spee,-18,0,45) c1(w["a2"],spee,36,0,0) c1(w["a3"],spee,30,0,0)
c1(w["b1"],spee,-18,0,15) c1(w["b2"],spee,36,0,0) c1(w["b3"],spee,30,0,0)
c1(w["c1"],spee,-18,0,-15) c1(w["c2"],spee,36,0,0) c1(w["c3"],spee,30,0,0)
c1(w["d1"],spee,-18,0,-45) c1(w["d2"],spee,36,0,0) c1(w["d3"],spee,30,0,0)
c1(w["e1"],spee,-50,90,-10) c1(w["e2"],spee,5,0,-30) c1(w["e3"],spee,-10,0,-40)
elseif form == "grab2" then
c1(w["a1"],spee,-70,-65,0) c1(w["a2"],spee,40,0,0) c1(w["a3"],spee,20,0,0)
c1(w["b1"],spee,-70,-20,0) c1(w["b2"],spee,40,0,0) c1(w["b3"],spee,20,0,0)
c1(w["c1"],spee,-70,20,-0) c1(w["c2"],spee,40,0,0) c1(w["c3"],spee,20,0,0)
c1(w["d1"],spee,-70,65,-0) c1(w["d2"],spee,40,0,0) c1(w["d3"],spee,20,0,0)
c1(w["e1"],spee,-70,150,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
elseif form == "grab3" then
c1(w["a1"],spee,-30,-40,30) c1(w["a2"],spee,50,0,0) c1(w["a3"],spee,35,0,0)
c1(w["b1"],spee,-30,-15,12) c1(w["b2"],spee,50,0,0) c1(w["b3"],spee,35,0,0)
c1(w["c1"],spee,-30,15,-12) c1(w["c2"],spee,50,0,0) c1(w["c3"],spee,35,0,0)
c1(w["d1"],spee,-30,40,-30) c1(w["d2"],spee,50,0,0) c1(w["d3"],spee,35,0,0)
c1(w["e1"],spee,-55,205,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
end
end
function ColFings(iscol)
pPinkie1.CanCollide = iscol
pPinkie2.CanCollide = iscol
pPinkie3.CanCollide = iscol
pRing1.CanCollide = iscol
pRing2.CanCollide = iscol
pRing3.CanCollide = iscol
pMid1.CanCollide = iscol
pMid2.CanCollide = iscol
pMid3.CanCollide = iscol
pPoint1.CanCollide = iscol
pPoint2.CanCollide = iscol
pPoint3.CanCollide = iscol
pThumb1.CanCollide = iscol
pThumb2.CanCollide = iscol
pThumb3.CanCollide = iscol
end
function ray(Pos, Dir)
return Workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999), c)
end
function Earthsplosion(pos,siz,dmg,rndmg,forc,eos) local colz22 = "Earth green" if
eos == nil or eos == "earth" then eos = "earth" else colz22 = "Pastel brown" eos =
"sand" end
coroutine.resume(coroutine.create(function()
if eos == "earth" then local cr =
pa(m,"Block",((14*siz)/10)*s,0,((14*siz)/10)*s,false,false,1,0,"") cr.Anchored =
true cr.CFrame = pos *ca(rd(0),rd(ra(-360,360)),rd(0)) cr.CFrame = cr.CFrame +
v3(ra(-siz*10,siz*10)/22,0,ra(-siz*10,siz*10)/22)
local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack
Serv.d:AddItem(cr,25) end
for i=1,4 do
coroutine.resume(coroutine.create(function()
local sw = pa(m,"Block",(siz/3)*s,(siz*1.3)*s,(siz/3)*s,true,true,0,0,colz22)
sw.Anchored = true sw.CFrame = pos *cf(ra(-3*s,3*s),0,ra(-3*s,3*s)) *ca(rd(ra(-
27,27)),rd(ra(-360,360)),rd(ra(-27,27))) local swm = it("SpecialMesh",sw) if eos ==
"earth" then swm.MeshType = "FileMesh"
swm.MeshId = asset .. Decs.Spike else swm.MeshType = "Sphere" end if eos == "earth"
then swm.Scale = v3(sw.Size.x/1.3,sw.Size.y*1.2,sw.Size.z/1.3)
else swm.Scale = v3(sw.Size.x/10,sw.Size.y/37,sw.Size.z/10) end sw.CFrame =
sw.CFrame + v3(ra(-0.3*siz*s,0.3*siz*s,7),0,ra(-0.3*siz*s,0.3*siz*s)) sw.CFrame =
sw.CFrame * cf(0,-sw.Size.y/1.4,0)
Dustplosion(cf(pos.p+v3(0,2*s,0)),18*s,{"Dark green","Bright green","Brown"},1)
if eos == "earth" then
for x=1,8 do
sw.CFrame = sw.CFrame *cf(0,sw.Size.y/8,0) wait() end wait(ra(1,5))
for x=1,20 do
sw.CFrame = sw.CFrame *cf(0,-sw.Size.y/20,0) wait()
end sw:Remove()
else
for x=1,25 do
sw.CFrame = sw.CFrame *cf(0,sw.Size.y/25,0) sw.Transparency = x/25 - 0.1 swm.Scale
= swm.Scale + v3(0.025,0.025,0.025) wait() end
end sw:Remove()
end)) end
wait(0.3)
DmgHumanoidsNear(pos.p,dmg,rndmg,5.5*s*(siz/4),forc)
end))
end
function Dustplosion(onb,scale,col,cls)
coroutine.resume(coroutine.create(function()
for x=1,cls do coroutine.resume(coroutine.create(function()
local sw = pa(m,"Block",1*s,0,1*s,false,false,0.2,0,col[ra(1,#col)]) sw.Anchored =
true sw.CFrame = onb *ca(rd(ra(-35,35)),rd(ra(-360,360)),rd(ra(-35,35))) local swm
= it("SpecialMesh",sw) swm.MeshType = "FileMesh"
swm.MeshId = asset .. Decs.Cloud sw.CFrame = sw.CFrame + v3(ra(-scale,scale)/8,ra(-
scale,scale)/8,ra(-scale,scale)/8)
for i=1,scale,0.25 do
swm.Scale = v3(i*1.5,i*1,i*1.5) sw.Transparency = ((i/scale)/2) + 0.45
wait()
end
sw:Remove()
end)) end
end)) end
function ShockWave(onb,scale,col) coroutine.resume(coroutine.create(function()
local sw = pa(m,"Block",1*s,0,1*s,false,false,0.2,0,col) sw.Anchored = true
sw.CFrame = onb *ca(rd(90),0,0) local swm = it("SpecialMesh",sw) swm.MeshType =
"FileMesh" swm.MeshId = RingMesh.MeshId
for i=1,scale,0.75 do swm.Scale = v3(i*1.5,i*1.5,i*1.5) sw.Transparency =
(i/scale) + 0 wait() end sw:Remove() end)) end
function BlastWave(onb,scale,ymes,col) coroutine.resume(coroutine.create(function()