Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VERSION_ID = 1.0
- PROJECT_NAME = "Android"
- SERVER_SIDED = true
- AUTHOR = "amazingranma261"
- --
- android_scale = 2
- --Character Variables
- name = "MonoDev"
- player = game.Players:FindFirstChild(name)
- character = player.Character
- head = character:FindFirstChild("Head")
- head_mesh = head:FindFirstChild("Mesh")
- torso = character:FindFirstChild("Torso")
- humanoid_rootpart = character:FindFirstChild("HumanoidRootPart")
- left_arm = character:FindFirstChild("Left Arm")
- right_arm = character:FindFirstChild("Right Arm")
- left_leg = character:FindFirstChild("Left Leg")
- right_leg = character:FindFirstChild("Right Leg")
- humanoid = character:FindFirstChild("Humanoid")
- player_gui = player:FindFirstChild("PlayerGui")
- -- Stat Variables
- max_health = 100*android_scale
- speed = 32
- max_damage = 10*android_scale
- invisble = false
- debounce = false
- -- Destroy Animation Objects and Accessories
- humanoid:FindFirstChild("Animator"):Destroy()
- character:FindFirstChild("Animate"):Destroy()
- --character:FindFirstChild("Shirt"):Destroy()
- head:FindFirstChild("face"):Destroy()
- character.Sound:Destroy()
- -- Setup Stats
- humanoid.MaxHealth = max_health
- humanoid.Health = max_health
- humanoid.WalkSpeed = speed
- humanoid.JumpPower = 10/android_scale
- -- Accessories
- hair = Instance.new("Part", character)
- hair.CanCollide = false
- hair.Anchored = false
- hair_mesh = Instance.new("SpecialMesh",hair)
- hair_mesh.MeshType = "FileMesh"
- hair_mesh.MeshId = "http://www.roblox.com/asset/?id=76056263"
- hair_mesh.Scale = hair_mesh.Scale*android_scale
- crown = Instance.new("Part", character)
- crown.CanCollide = false
- crown.Anchored = false
- crown_mesh = Instance.new("SpecialMesh",crown)
- crown_mesh.MeshType = "FileMesh"
- crown_mesh.MeshId = "http://www.roblox.com/asset/?id=1078075"
- crown_mesh.Scale = crown_mesh.Scale*android_scale
- mask = Instance.new("Part", character)
- mask.CanCollide = false
- mask.Anchored = false
- mask_mesh = Instance.new("SpecialMesh",mask)
- mask_mesh.MeshType = "FileMesh"
- mask_mesh.MeshId = "http://www.roblox.com/asset/?id=13521079"
- mask_mesh.Scale = mask_mesh.Scale*android_scale
- --[[
- theme = Instance.new("Sound",workspace)
- theme.MaxDistance = 200
- theme.MinDistance = 0
- theme.Volume = 7
- theme.EmitterSize = 30
- theme.PlaybackSpeed = 1
- theme.SoundId = "rbxassetid://1050802290"--191986587"
- ]]--
- --game:GetService("ContentProvider"):Preload(theme.SoundId)
- -- Weld Character
- w0 = Instance.new("Weld", character)
- w1 = Instance.new("Weld", character)
- w2 = Instance.new("Weld", character)
- w3 = Instance.new("Weld", character)
- w4 = Instance.new("Weld",character)
- w5 = Instance.new("Weld", character)
- w6 = Instance.new("Weld", character)
- w7 = Instance.new("Weld", character)
- w8 = Instance.new("Weld", character)
- function weldCharacter()
- -- Head to Torso
- w0.Part0 = torso
- w0.Part1 = head
- w0.C0 = CFrame.new((Vector3.new(0,1.5,0))*android_scale)
- --cframe angles forward, twist, out
- -- Left Arm to Torso
- w1.Part0 = torso
- w1.Part1 = left_arm
- w1.C0 = CFrame.new((Vector3.new(-1.5,0,0))*android_scale)
- -- Right Arm to Torso
- w2.Part0 = torso
- w2.Part1 = right_arm
- w2.C0 = CFrame.new((Vector3.new(1.5,0,0))*android_scale)
- -- Left Leg to Torso
- w3.Part0 = torso
- w3.Part1 = left_leg
- w3.C0 = CFrame.new((Vector3.new(-.5,-2,0))*android_scale)
- -- Right Leg to Torso
- w4.Part0 = torso
- w4.Part1 = right_leg
- w4.C0 = CFrame.new((Vector3.new(.5,-2,0))*android_scale)
- -- Root Part to Torso
- w5.Part0 = torso
- w5.Part1 = humanoid_rootpart
- -- Hair to Head
- w6.Part0 = head
- w6.Part1 = hair
- w6.C0 = CFrame.new((Vector3.new(-.1,0.2,.2))*android_scale)
- -- Crown to Head
- w7.Part0 = head
- w7.Part1 = crown
- w7.C0 = CFrame.new((Vector3.new(0,.8,0))*android_scale)
- -- Mask to Head
- w8.Part0 = head
- w8.Part1 = mask
- w8.C0 = CFrame.new((Vector3.new(0,0,-.5))*android_scale)
- end
- function scaleCharacter()
- --Resize Character
- torso.Size = torso.Size*android_scale
- head.Size = head.Size*android_scale
- humanoid_rootpart.Size = humanoid_rootpart.Size*android_scale
- left_arm.Size = left_arm.Size*android_scale
- right_arm.Size = right_arm.Size*android_scale
- left_leg.Size = left_leg.Size*android_scale
- right_leg.Size = right_leg.Size*android_scale
- -- Replace Joints
- weldCharacter()
- end
- function colorizeCharacter()
- torso.Color = Color3.fromRGB(200,200,200)
- head.Color = Color3.fromRGB(180,200,225)
- left_arm.Color = Color3.fromRGB(180,200,225)
- left_leg.Color = Color3.fromRGB(200,200,200)
- right_arm.Color = Color3.fromRGB(180,200,225)
- right_leg.Color = Color3.fromRGB(200,200,200)
- hair.Color = torso.Color
- mask.Color = head.Color
- end
- function turnInvisible() --play sound when turning invisible and uninvisble
- if(not invisble) then
- invisble = true
- for i = 0,1.01,.01 do
- wait()
- head.Transparency = i
- torso.Transparency = i
- left_arm.Transparency = i
- left_leg.Transparency = i
- right_arm.Transparency = i
- right_leg.Transparency = i
- mask.Transparency = i
- crown.Transparency = i
- hair.Transparency = i
- end
- end
- end
- function turnUninvisible() --play sound when turning invisible and uninvisble
- if(invisble) then
- invisble = false
- for i = 1,-.01,-.01 do
- wait()
- head.Transparency = i
- torso.Transparency = i
- left_arm.Transparency = i
- left_leg.Transparency = i
- right_arm.Transparency = i
- right_leg.Transparency = i
- mask.Transparency = i
- crown.Transparency = i
- hair.Transparency = i
- end
- end
- end
- function resetCFrame()
- -- Head
- w0.C0 = CFrame.new((Vector3.new(0,1.5,0))*android_scale)
- -- Left Arm
- w1.C0 = CFrame.new((Vector3.new(-1.5,0,0))*android_scale)
- -- Right Arm
- w2.C0 = CFrame.new((Vector3.new(1.5,0,0))*android_scale)
- -- Left Leg
- w3.C0 = CFrame.new((Vector3.new(-.5,-2,0))*android_scale)
- -- Right Leg
- w4.C0 = CFrame.new((Vector3.new(.5,-2,0))*android_scale)
- -- Hair
- w6.C0 = CFrame.new((Vector3.new(-.1,0.2,.2))*android_scale)
- -- Crown
- w7.C0 = CFrame.new((Vector3.new(0,.8,0))*android_scale)
- -- Mask 0,0,-3
- w8.C0 = CFrame.new((Vector3.new(0,0,-.5))*android_scale)
- end
- function getNearbyPlayersAndObjects(reach)
- local items= {}
- for _,v in pairs(game.Players:GetPlayers()) do
- local c = v.Character
- local head = v.Character:FindFirstChild("Head")
- if(head)then
- local distance = player:DistanceFromCharacter(head.Position)
- if( distance <= reach and distance > 1 ) then
- table.insert(items, v)
- end
- end
- end
- for _,v in pairs(workspace:GetChildren()) do
- if(v.ClassName == "Part" and v.Anchored == false) then
- table.insert(items,v)
- end
- end
- return items
- end
- function hurt(hit, max)
- if(hit.ClassName == "Part") then
- hit = hit.Parent
- end
- local hum = hit:FindFirstChild("Humanoid")
- if(hum and not hum.Parent.Name == name)then
- if(max) then
- hum:TakeDamage(max_damage)
- else
- hum:TakeDamage(math.random(max_damage))
- end
- end
- end
- function main()
- scaleCharacter()
- colorizeCharacter()
- --theme:Play()
- coroutine.resume(animation_thread)
- --Gui
- local screen_gui = Instance.new("ScreenGui",player_gui)
- local container = Instance.new("Frame",screen_gui)
- container.Size = UDim2.new(0.1,0,0.5,0)
- container.Position = UDim2.new(0.89,0,0.2,0)
- container.BackgroundTransparency = 1
- --Invisible
- local ability1_button = Instance.new("TextButton",container)
- ability1_button.Size = UDim2.new(1,0,.2,0)
- ability1_button.Position = UDim2.new(0,0,0,0)
- ability1_button.Text = "Invisibility"
- ability1_button.TextColor3 = Color3.fromRGB(255,255,255)
- ability1_button.BackgroundColor3 = Color3.fromRGB(0,0,0)
- ability1_button.BackgroundTransparency = .6
- ability1_button.MouseButton1Click:connect(function()
- if(not invisble) then
- turnInvisible()
- else
- turnUninvisible()
- end
- end)
- --Push
- local ability2_button = Instance.new("TextButton",container)
- ability2_button.Size = UDim2.new(1,0,.2,0)
- ability2_button.Position = UDim2.new(0,0,0.2,0)
- ability2_button.Text = "Push"
- ability2_button.TextColor3 = Color3.fromRGB(255,255,255)
- ability2_button.BackgroundColor3 = Color3.fromRGB(0,0,0)
- ability2_button.BackgroundTransparency = .6
- ability2_button.MouseButton1Click:connect(function()
- local players = getNearbyPlayersAndObjects(100*android_scale)
- if(players) then
- for _,v in pairs(players) do
- if(v.ClassName == "Player") then
- local c = v.Character
- local force = Instance.new("BodyForce",c:FindFirstChild("Head"))
- force.Force = (head.CFrame.lookVector)*20000
- c:FindFirstChild("Humanoid"):TakeDamage(max_damage)
- else
- local force = Instance.new("BodyForce",v)
- force.Force = (head.CFrame.lookVector)*20000
- end
- end
- wait(.5)
- for _,v in pairs(players) do
- if(v.ClassName == "Player" )then
- local force = v.Character:FindFirstChild("Head"):FindFirstChild("BodyForce")
- if(force)then
- force:Destroy()
- end
- else
- local force = v:FindFirstChild("BodyForce")
- if(force)then
- force:Destroy()
- end
- end
- end
- end
- end)
- --Pull
- local ability3_button = Instance.new("TextButton",container)
- ability3_button.Size = UDim2.new(1,0,.2,0)
- ability3_button.Position = UDim2.new(0,0,0.4,0)
- ability3_button.Text = "Pull"
- ability3_button.TextColor3 = Color3.fromRGB(255,255,255)
- ability3_button.BackgroundColor3 = Color3.fromRGB(0,0,0)
- ability3_button.BackgroundTransparency = .6
- ability3_button.MouseButton1Click:connect(function()
- local players = getNearbyPlayersAndObjects(300*android_scale)
- if(players) then
- for _,v in pairs(players) do
- if(v.ClassName == "Player") then
- local c = v.Character
- local force = Instance.new("BodyForce",c:FindFirstChild("Head"))
- force.Force = (head.CFrame.lookVector)*-20000
- else
- local force = Instance.new("BodyForce",v)
- force.Force = (head.CFrame.lookVector)*-20000
- end
- end
- wait(1)
- for _,v in pairs(players) do
- if(v.ClassName == "Player" )then
- local force = v.Character:FindFirstChild("Head"):FindFirstChild("BodyForce")
- if(force)then
- force:Destroy()
- end
- else
- local force = v:FindFirstChild("BodyForce")
- if(force)then
- force:Destroy()
- end
- end
- end
- end
- end)
- --Teleport
- local ability4_button = Instance.new("TextButton",container)
- ability4_button.Size = UDim2.new(1,0,.2,0)
- ability4_button.Position = UDim2.new(0,0,0.6,0)
- ability4_button.Text = "Teleport"
- ability4_button.TextColor3 = Color3.fromRGB(255,255,255)
- ability4_button.BackgroundColor3 = Color3.fromRGB(0,0,0)
- ability4_button.BackgroundTransparency = .6
- ability4_button.MouseButton1Click:connect(function()
- character:SetPrimaryPartCFrame(torso.CFrame*(CFrame.new(head.CFrame.lookVector*100)))
- end)
- --Clone
- local ability5_button = Instance.new("TextButton",container)
- ability5_button.Size = UDim2.new(1,0,.2,0)
- ability5_button.Position = UDim2.new(0,0,0.8,0)
- ability5_button.Text = "Clone"
- ability5_button.TextColor3 = Color3.fromRGB(255,255,255)
- ability5_button.BackgroundColor3 = Color3.fromRGB(0,0,0)
- ability5_button.BackgroundTransparency = .6
- ability5_button.MouseButton1Click:connect(function()
- character.Archivable = true
- local clones = {}
- coroutine.wrap(function()
- turnInvisible()
- end)
- for i = 1,30 do
- wait(.1)
- local clone = character:Clone()
- clone.Parent = workspace
- clone.PrimaryPart = clone.Torso
- clone.Humanoid:Destroy()
- clone.Torso.CanCollide = false
- clone.HumanoidRootPart:Destroy()
- clone.Head.CanCollide = false
- clone:SetPrimaryPartCFrame(torso.CFrame)
- clone.Torso.Anchored = true
- clone.Head.Anchored = true
- clone["Left Leg"].Anchored = true
- clone["Right Leg"].Anchored = true
- clone["Left Arm"].Anchored = true
- clone["Right Arm"].Anchored = true
- wait()
- clone.Torso.Color = torso.Color
- clone.Head.Color = head.Color
- clone["Left Leg"].Color = left_leg.Color
- clone["Right Leg"].Color = right_leg.Color
- clone["Left Arm"].Color = left_arm.Color
- clone["Right Arm"].Color = right_arm.Color
- table.insert(clones,clone)
- end
- wait(5)
- for _,v in pairs(clones) do
- wait()
- v:Destroy()
- end
- character.Archivable = false
- end)
- --End Of Gui
- end
- function animation_handler()
- while(wait()) do
- if(isIdling) then
- resetCFrame()
- local w1_resting_pos = w1.C0 * CFrame.Angles(0,0,math.rad(-5)) +Vector3.new(0,0.05,0)*android_scale
- local w1_upward_pos = w1.C0 * CFrame.Angles(0,0,math.rad(-10)) +Vector3.new(-.1,.1,0)*android_scale
- local w2_resting_pos = w2.C0 *CFrame.Angles(0,0,math.rad(5)) +Vector3.new(0,0.05,0)*android_scale
- local w2_upward_pos = w2.C0 * CFrame.Angles(0,0,math.rad(10)) +Vector3.new(.1,.1,0)*android_scale
- local w0_resting_pos = w0.C0
- local w0_upward_pos = w0.C0 * CFrame.Angles(math.rad(10),0,0)
- while(isIdling) do
- for i = 0,1,.005 do
- if(not isIdling)then break end
- w1.C0 = w1_resting_pos:lerp(w1_upward_pos, i)
- if(not isIdling)then break end
- w2.C0 = w2_resting_pos:lerp(w2_upward_pos,i)
- w0.C0 = w0_resting_pos:lerp(w0_upward_pos,i)
- run_service.Heartbeat:wait()
- end
- if(not isIdling)then break end
- if(not isIdling)then break end
- for j = 0,1,.005 do
- if(not isIdling)then break end
- w1.C0 = w1_upward_pos:lerp(w1_resting_pos, j)
- w2.C0 = w2_upward_pos:lerp(w2_resting_pos,j)
- if(not isIdling)then break end
- w0.C0 = w0_upward_pos:lerp(w0_resting_pos,j)
- run_service.Heartbeat:wait()
- end
- end
- end
- if(isWalking) then
- resetCFrame()
- --left arm forward
- local left_arm_forward = w1.C0 * CFrame.Angles(math.rad(25),0,math.rad(-5)) + Vector3.new(-.05,0,-.4)*android_scale
- --left arm backward
- local left_arm_backward = w1.C0 * CFrame.Angles(math.rad(-25),0,math.rad(-5)) + Vector3.new(-.05,0,.4)*android_scale
- --right arm forward
- local right_arm_forward = w2.C0 * CFrame.Angles(math.rad(25),0,math.rad(5)) + Vector3.new(.05,0,-.4)*android_scale
- --right arm backward
- local right_arm_backward = w2.C0 * CFrame.Angles(math.rad(-25),0,math.rad(5)) + Vector3.new(.05,0,.4)*android_scale
- --left leg forward
- local left_leg_forward = w3.C0 * CFrame.Angles(math.rad(20),0,0) + Vector3.new(0,0,-.35)*android_scale
- --left leg backward
- local left_leg_backward = w3.C0 * CFrame.Angles(math.rad(-20),0,0) + Vector3.new(0,0,.35)*android_scale
- --right leg forward
- local right_leg_forward = w4.C0 * CFrame.Angles(math.rad(20),0,0) + Vector3.new(0,0,-.35)*android_scale
- --right leg backward
- local right_leg_backward = w4.C0 * CFrame.Angles(math.rad(-20),0,0) + Vector3.new(0,0,.35)*android_scale
- while(isWalking) do
- for i = 0,1,.0333 do
- if(not isWalking)then break end
- w1.C0 = left_arm_forward:lerp(left_arm_backward,i)
- w2.C0 = right_arm_backward:lerp(right_arm_forward,i)
- if(not isWalking)then break end
- w3.C0 = left_leg_backward:lerp(left_leg_forward,i)
- w4.C0 = right_leg_forward:lerp(right_leg_backward,i)
- run_service.Heartbeat:wait()
- end
- for j = 0,1,.0333 do
- if(not isWalking)then break end
- w1.C0 = left_arm_backward:lerp(left_arm_forward,j)
- w2.C0 = right_arm_forward:lerp(right_arm_backward,j)
- if(not isWalking)then break end
- w3.C0 = left_leg_forward:lerp(left_leg_backward,j)
- w4.C0 = right_leg_backward:lerp(right_leg_forward,j)
- run_service.Heartbeat:wait()
- end
- end
- end
- end
- end
- -- Animation Variables
- animation_thread = coroutine.create(animation_handler)
- isIdling = true
- run_service = game:GetService("RunService")
- isWalking = false
- humanoid.Running:connect(function(s)
- if s>0 then
- isWalking = true
- isIdling = false
- else
- isWalking = false
- isIdling = true
- end
- end)
- main()
Advertisement
Add Comment
Please, Sign In to add comment