Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- This script has been converted to FE by iPxter
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local player,local ,plr,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 Gui = Instance.new("ScreenGui")
- local grab = Instance.new("TextButton")
- local nuke = Instance.new("TextButton")
- local coming = Instance.new("TextButton")
- Gui.Name = "MainGui"
- Gui.Parent = game.Players.LocalPlayer.PlayerGui
- grab.Name = "grab"
- grab.Parent = Gui
- grab.BackgroundColor3 = Color3.new(1, 1, 1)
- grab.Position = UDim2.new(0, 0, 0.450199217, 0)
- grab.Size = UDim2.new(0, 200, 0, 50)
- grab.Font = Enum.Font.SourceSans
- grab.Text = "minecraft"
- grab.TextColor3 = Color3.new(0, 0, 0)
- grab.TextSize = 14
- nuke.Name = "nuke"
- nuke.Parent = Gui
- nuke.BackgroundColor3 = Color3.new(1, 1, 1)
- nuke.Position = UDim2.new(0, 0, 0.549800813, 0)
- nuke.Size = UDim2.new(0, 200, 0, 50)
- nuke.Font = Enum.Font.SourceSans
- nuke.Text = "nuke"
- nuke.TextColor3 = Color3.new(0, 0, 0)
- nuke.TextSize = 14
- grab.MouseButton1Down:Connect(function()
- --[[
- ▓▒▒▓▓ ░▓▒▒██▒▒▓█▒▒▓▓ █▒▒▓█▒▒▒▒▒▒▒█▓▒▒▒▒▒▒▒█▒▓▒▒▒▒▒▓█▒▒▒▒▒▒▒█▓▒▒▒▓▒▒▓█▒▒▒▒▒▓▒▓░
- ▓ ░█▒ ▓░ ▓▓ ░█ ░█░▒ ▒▒ █░ █ ░ ▒▓ ▓▒ █ ░░
- ░░ ░ ▒██░░░ █░ ▓▓ ░░█░ ▓▒ ▒█████░ ▓█████░░ ▓▓ ░█ ▒█░█▓ ▒▓ ░███████▓ ██░
- ▓ ▓█▓ ▒▒█ █▒ ░█ ▓▒ ▒█████░ ▓█████░░ ▓▓ ░█ ▒█▓░ ░▓ ▓███████ █▓
- ▓ ░░ ▒█ █▒ ░ █░ ░░░░█░ ▓█████░ ▒██░ ▒██▒ ░█ ░ ░███ ▒░
- ▒░ ░░ ▓▓ █░ ▓▒ █░ ░░ ░█░ ▓█████░ █░ ░░ ░ █░ ░ ███░ ░▒
- ▒░ ▓▓ ▒▓ █░ ▒█ █▒ ░ █ ▓█████░ ▓ █░ ▒▓ █▒ ░ █▒ ▒█▓█████▓ ░▒
- ▒░▒░█▒▒█▓ █░ ▓█ ██░ ░ █░ ▓█████░ ▓█████░ ▒█ ░ █▒ ▒█ ░ █▒ ░███▓███▓░ ▒
- ░▒░ ▒█▓ ▒▒ ▒█░ ▓▓ ░██ ░▓ ▒ ░ █░ █░ ▒█ ▓▒ ░█ ▒▓ ███ ▓███░ ▒░
- ▒░ ░▓██▒░░ ▓▓ █▒ ▒██ ▓▓ ░ ░ ░█░ ░ █░ ▒█ ▓▓ █░ ▒█ █▓░ ░███▒ ░▒
- ▒▒ ▒███░▒ ░█ █▓ ░██░ ▒█ ░ █░ ░ █░ ▒█ █▒ ░█ ▓▓ ░█ ░██▓▒ ▓░
- ▒▒ ▒██▓▓▒ ▒▓ █░ ▓█▓ █░ ▒█░ █░ ▓▓ ░█░ ▓▒ ░█▒ ▓ ▓█▒░ ▒▒
- ▒▒░ █▓ ▓▒░▒█▒░░▓█░░▒█▒▒░░▓▓░▒▒▒░░▒█▒░░░░░░░█▒░▒█▓░░▓█▒░▒█░░░█▓░░▓▒ ▓█░░▒▒
- ░▒▒▒░ ▒░░▒▒░░░░░░░░ ▒░░░▒▒▒▒▒▒▒▒░░░░░░░░░░░░░▒▒▒▒▒▒▒▒▒▒░▒▒▒░░░░ ░░░▒░
- ASCII Art Generators are cool :)
- ]]
- -- Scroll down for changelog...
- -- ORIGINAL CREATOR: Depr1
- -- If this script isn't on pastebin or the user who uploaded this isn't called "Delros12"
- -- (and yes my pastebin account is Delros12) or the link is not https://pastebin.com/2NNDTLjL
- -- then this is not the original link of this script.
- -- The original link of the script gets edited constantly for updates, if you use the original
- -- link you will be able to enjoy the most recent updates of this script without changing to
- -- another link which contains updated script.
- -- Controls: Q to sneak, use the keypad numbers 1-9 to change blocks,
- -- choose a empty slot if you want to remove a block, E to open creative
- -- inventory, right-click to destroy a block in your toolbar in creative
- -- inventory.
- -- You will become steve when you use this script, if you die after
- -- using this script, keep trying to use it or wait 60 seconds
- -- (it doesn't work at first but eventually it will)
- -- Enjoy! :)
- local updateHand = false
- local Changelog = [[
- 04/02/2018:
- + Added creative inventory.
- + Added 31 blocks (that's a lot, but not near minecraft's level).
- + Fixed a bug where the hand dissapears if u look down while sneaking.
- + Fixed? (not sure) a bug where if u ran the script you would die.
- + Added sprinting (i'll add footsteps and particles later).
- - Removed herobrine
- 01/02/2018:
- + Added the hand that appears on minecraft when ur first person.
- + Added a walking animation to the hand.
- + Punching animation added to the hand.
- + Camera bobbing.
- + Sneaking now lowers your camera just like in minecraft.
- + Blocks now have sounds (i chose the ones that are the closest to minecraft sounds).
- + When a block is broken, particles will fall from it.
- ]]
- local RS = game:GetService("RunService").RenderStepped
- local targetName = game.Players.LocalPlayer.Name
- local player = game.Players:FindFirstChild(targetName)
- local creativeInventory = {
- {
- name = "Dirt",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152569532",
- backTex = "rbxassetid://152569532",
- topTex = "rbxassetid://152569532",
- bottomTex = "rbxassetid://152569532",
- leftTex = "rbxassetid://152569532",
- rightTex = "rbxassetid://152569532",
- sound = "rbxassetid://1102186681",
- soundVol = 1.25,
- hasGravity = false
- },
- {
- name = "Grass",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://96430337",
- backTex = "rbxassetid://96430337",
- topTex = "rbxassetid://96430265",
- bottomTex = "rbxassetid://179655033",
- leftTex = "rbxassetid://96430337",
- rightTex = "rbxassetid://96430337",
- sound = "rbxassetid://1102186681",
- soundVol = 1.25,
- hasGravity = false
- },
- {
- name = "Sand",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://347007448",
- backTex = "rbxassetid://347007448",
- topTex = "rbxassetid://347007448",
- bottomTex = "rbxassetid://347007448",
- leftTex = "rbxassetid://347007448",
- rightTex = "rbxassetid://347007448",
- sound = "rbxassetid://1102186681",
- soundVol = 1.25,
- hasGravity = true
- },
- {
- name = "Gravel",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151701568",
- backTex = "rbxassetid://151701568",
- topTex = "rbxassetid://151701568",
- bottomTex = "rbxassetid://151701568",
- leftTex = "rbxassetid://151701568",
- rightTex = "rbxassetid://151701568",
- sound = "rbxassetid://1102186681",
- soundVol = 1.25,
- hasGravity = true
- },
- {
- name = "Stone",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://75880927",
- backTex = "rbxassetid://75880927",
- topTex = "rbxassetid://75880927",
- bottomTex = "rbxassetid://75880927",
- leftTex = "rbxassetid://75880927",
- rightTex = "rbxassetid://75880927",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Diamond Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://57928490",
- backTex = "rbxassetid://57928490",
- topTex = "rbxassetid://57928490",
- bottomTex = "rbxassetid://57928490",
- leftTex = "rbxassetid://57928490",
- rightTex = "rbxassetid://57928490",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Diamond Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://56749955",
- backTex = "rbxassetid://56749955",
- topTex = "rbxassetid://56749955",
- bottomTex = "rbxassetid://56749955",
- leftTex = "rbxassetid://56749955",
- rightTex = "rbxassetid://56749955",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Emerald Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152410853",
- backTex = "rbxassetid://152410853",
- topTex = "rbxassetid://152410853",
- bottomTex = "rbxassetid://152410853",
- leftTex = "rbxassetid://152410853",
- rightTex = "rbxassetid://152410853",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Emerald Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152410868",
- backTex = "rbxassetid://152410868",
- topTex = "rbxassetid://152410868",
- bottomTex = "rbxassetid://152410868",
- leftTex = "rbxassetid://152410868",
- rightTex = "rbxassetid://152410868",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Obsidian",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://112560322",
- backTex = "rbxassetid://112560322",
- topTex = "rbxassetid://112560322",
- bottomTex = "rbxassetid://112560322",
- leftTex = "rbxassetid://112560322",
- rightTex = "rbxassetid://112560322",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Gold Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152572128",
- backTex = "rbxassetid://152572128",
- topTex = "rbxassetid://152572128",
- bottomTex = "rbxassetid://152572128",
- leftTex = "rbxassetid://152572128",
- rightTex = "rbxassetid://152572128",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Gold Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152572121",
- backTex = "rbxassetid://152572121",
- topTex = "rbxassetid://152572121",
- bottomTex = "rbxassetid://152572121",
- leftTex = "rbxassetid://152572121",
- rightTex = "rbxassetid://152572121",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Iron Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152572134",
- backTex = "rbxassetid://152572134",
- topTex = "rbxassetid://152572134",
- bottomTex = "rbxassetid://152572134",
- leftTex = "rbxassetid://152572134",
- rightTex = "rbxassetid://152572134",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Iron Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://132879562",
- backTex = "rbxassetid://132879562",
- topTex = "rbxassetid://132879562",
- bottomTex = "rbxassetid://132879562",
- leftTex = "rbxassetid://132879562",
- rightTex = "rbxassetid://132879562",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Redstone Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://136260219",
- backTex = "rbxassetid://136260219",
- topTex = "rbxassetid://136260219",
- bottomTex = "rbxassetid://136260219",
- leftTex = "rbxassetid://136260219",
- rightTex = "rbxassetid://136260219",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Redstone Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152572209",
- backTex = "rbxassetid://152572209",
- topTex = "rbxassetid://152572209",
- bottomTex = "rbxassetid://152572209",
- leftTex = "rbxassetid://152572209",
- rightTex = "rbxassetid://152572209",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Coal Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152527418",
- backTex = "rbxassetid://152527418",
- topTex = "rbxassetid://152527418",
- bottomTex = "rbxassetid://152527418",
- leftTex = "rbxassetid://152527418",
- rightTex = "rbxassetid://152527418",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Coal Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152572101",
- backTex = "rbxassetid://152572101",
- topTex = "rbxassetid://152572101",
- bottomTex = "rbxassetid://152572101",
- leftTex = "rbxassetid://152572101",
- rightTex = "rbxassetid://152572101",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Bedrock",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://75881126",
- backTex = "rbxassetid://75881126",
- topTex = "rbxassetid://75881126",
- bottomTex = "rbxassetid://75881126",
- leftTex = "rbxassetid://75881126",
- rightTex = "rbxassetid://75881126",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Cobblestone",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152572105",
- backTex = "rbxassetid://152572105",
- topTex = "rbxassetid://152572105",
- bottomTex = "rbxassetid://152572105",
- leftTex = "rbxassetid://152572105",
- rightTex = "rbxassetid://152572105",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Mossy Stone Brick",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://61826751",
- backTex = "rbxassetid://61826751",
- topTex = "rbxassetid://61826751",
- bottomTex = "rbxassetid://61826751",
- leftTex = "rbxassetid://61826751",
- rightTex = "rbxassetid://61826751",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Cracked Stone Brick",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151802087",
- backTex = "rbxassetid://151802087",
- topTex = "rbxassetid://151802087",
- bottomTex = "rbxassetid://151802087",
- leftTex = "rbxassetid://151802087",
- rightTex = "rbxassetid://151802087",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Chiseled Stone Brick",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151802074",
- backTex = "rbxassetid://151802074",
- topTex = "rbxassetid://151802074",
- bottomTex = "rbxassetid://151802074",
- leftTex = "rbxassetid://151802074",
- rightTex = "rbxassetid://151802074",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Stone Brick",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://61826773",
- backTex = "rbxassetid://61826773",
- topTex = "rbxassetid://61826773",
- bottomTex = "rbxassetid://61826773",
- leftTex = "rbxassetid://61826773",
- rightTex = "rbxassetid://61826773",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Nether Brick",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151802104",
- backTex = "rbxassetid://151802104",
- topTex = "rbxassetid://151802104",
- bottomTex = "rbxassetid://151802104",
- leftTex = "rbxassetid://151802104",
- rightTex = "rbxassetid://151802104",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Granite",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151776467",
- backTex = "rbxassetid://151776467",
- topTex = "rbxassetid://151776467",
- bottomTex = "rbxassetid://151776467",
- leftTex = "rbxassetid://151776467",
- rightTex = "rbxassetid://151776467",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Diorite",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151776452",
- backTex = "rbxassetid://151776452",
- topTex = "rbxassetid://151776452",
- bottomTex = "rbxassetid://151776452",
- leftTex = "rbxassetid://151776452",
- rightTex = "rbxassetid://151776452",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Andesite",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151776422",
- backTex = "rbxassetid://151776422",
- topTex = "rbxassetid://151776422",
- bottomTex = "rbxassetid://151776422",
- leftTex = "rbxassetid://151776422",
- rightTex = "rbxassetid://151776422",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Polished Granite",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151776506",
- backTex = "rbxassetid://151776506",
- topTex = "rbxassetid://151776506",
- bottomTex = "rbxassetid://151776506",
- leftTex = "rbxassetid://151776506",
- rightTex = "rbxassetid://151776506",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Polished Diorite",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151776533",
- backTex = "rbxassetid://151776533",
- topTex = "rbxassetid://151776533",
- bottomTex = "rbxassetid://151776533",
- leftTex = "rbxassetid://151776533",
- rightTex = "rbxassetid://151776533",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Polished Andesite",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151776506",
- backTex = "rbxassetid://151776506",
- topTex = "rbxassetid://151776506",
- bottomTex = "rbxassetid://151776506",
- leftTex = "rbxassetid://151776506",
- rightTex = "rbxassetid://151776506",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Brick Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://59389191",
- backTex = "rbxassetid://59389191",
- topTex = "rbxassetid://59389191",
- bottomTex = "rbxassetid://59389191",
- leftTex = "rbxassetid://59389191",
- rightTex = "rbxassetid://59389191",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Packed Ice",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152528023",
- backTex = "rbxassetid://152528023",
- topTex = "rbxassetid://152528023",
- bottomTex = "rbxassetid://152528023",
- leftTex = "rbxassetid://152528023",
- rightTex = "rbxassetid://152528023",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Ice Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 1;
- frontTex = "rbxassetid://118555586",
- backTex = "rbxassetid://118555586",
- topTex = "rbxassetid://118555586",
- bottomTex = "rbxassetid://118555586",
- leftTex = "rbxassetid://118555586",
- rightTex = "rbxassetid://118555586",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Netherrack",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151802119",
- backTex = "rbxassetid://151802119",
- topTex = "rbxassetid://151802119",
- bottomTex = "rbxassetid://151802119",
- leftTex = "rbxassetid://151802119",
- rightTex = "rbxassetid://151802119",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "End Stone",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://151802091",
- backTex = "rbxassetid://151802091",
- topTex = "rbxassetid://151802091",
- bottomTex = "rbxassetid://151802091",
- leftTex = "rbxassetid://151802091",
- rightTex = "rbxassetid://151802091",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Glass Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 1;
- frontTex = "rbxassetid://152239003",
- backTex = "rbxassetid://152239003",
- topTex = "rbxassetid://152239003",
- bottomTex = "rbxassetid://152239003",
- leftTex = "rbxassetid://152239003",
- rightTex = "rbxassetid://152239003",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Glowstone",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://54790811",
- backTex = "rbxassetid://54790811",
- topTex = "rbxassetid://54790811",
- bottomTex = "rbxassetid://54790811",
- leftTex = "rbxassetid://54790811",
- rightTex = "rbxassetid://54790811",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Bookshelf",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://118554092",
- backTex = "rbxassetid://118554092",
- topTex = "rbxassetid://346201871",
- bottomTex = "rbxassetid://346201871",
- leftTex = "rbxassetid://118554092",
- rightTex = "rbxassetid://118554092",
- sound = "rbxassetid://507863457",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Oak Wood Planks",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://346201871",
- backTex = "rbxassetid://346201871",
- topTex = "rbxassetid://346201871",
- bottomTex = "rbxassetid://346201871",
- leftTex = "rbxassetid://346201871",
- rightTex = "rbxassetid://346201871",
- sound = "rbxassetid://507863457",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Oak Log",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://71445924",
- backTex = "rbxassetid://71445924",
- topTex = "rbxassetid://152538557",
- bottomTex = "rbxassetid://152538557",
- leftTex = "rbxassetid://71445924",
- rightTex = "rbxassetid://71445924",
- sound = "rbxassetid://507863457",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Oak Leaves",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 1;
- frontTex = "rbxassetid://151708391",
- backTex = "rbxassetid://151708391",
- topTex = "rbxassetid://151708391",
- bottomTex = "rbxassetid://151708391",
- leftTex = "rbxassetid://151708391",
- rightTex = "rbxassetid://151708391",
- sound = "rbxassetid://507863457",
- -- couldn't find a leaves sound for this one, sorry lol
- soundVol = 2,
- hasGravity = false
- }
- }
- local toolBar = {
- {
- name = "Dirt Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://152569532",
- backTex = "rbxassetid://152569532",
- topTex = "rbxassetid://152569532",
- bottomTex = "rbxassetid://152569532",
- leftTex = "rbxassetid://152569532",
- rightTex = "rbxassetid://152569532",
- sound = "rbxassetid://1102186681",
- soundVol = 1.25,
- hasGravity = false
- },
- {
- name = "Grass Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://96430337",
- backTex = "rbxassetid://96430337",
- topTex = "rbxassetid://96430265",
- bottomTex = "rbxassetid://179655033",
- leftTex = "rbxassetid://96430337",
- rightTex = "rbxassetid://96430337",
- sound = "rbxassetid://1102186681",
- soundVol = 1.25,
- hasGravity = false
- },
- {
- name = "Stone",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://75880927",
- backTex = "rbxassetid://75880927",
- topTex = "rbxassetid://75880927",
- bottomTex = "rbxassetid://75880927",
- leftTex = "rbxassetid://75880927",
- rightTex = "rbxassetid://75880927",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Diamond Ore",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://57928490",
- backTex = "rbxassetid://57928490",
- topTex = "rbxassetid://57928490",
- bottomTex = "rbxassetid://57928490",
- leftTex = "rbxassetid://57928490",
- rightTex = "rbxassetid://57928490",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Diamond Block",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://56749955",
- backTex = "rbxassetid://56749955",
- topTex = "rbxassetid://56749955",
- bottomTex = "rbxassetid://56749955",
- leftTex = "rbxassetid://56749955",
- rightTex = "rbxassetid://56749955",
- sound = "rbxassetid://1016978163",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Oak Wood Planks",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://346201871",
- backTex = "rbxassetid://346201871",
- topTex = "rbxassetid://346201871",
- bottomTex = "rbxassetid://346201871",
- leftTex = "rbxassetid://346201871",
- rightTex = "rbxassetid://346201871",
- sound = "rbxassetid://507863457",
- soundVol = 2,
- hasGravity = false
- },
- {
- name = "Oak Log",
- size = Vector3.new(2.6, 2.6, 2.6),
- transparency = 0;
- frontTex = "rbxassetid://71445924",
- backTex = "rbxassetid://71445924",
- topTex = "rbxassetid://152538557",
- bottomTex = "rbxassetid://152538557",
- leftTex = "rbxassetid://71445924",
- rightTex = "rbxassetid://71445924",
- sound = "rbxassetid://507863457",
- soundVol = 2,
- hasGravity = false
- }
- }
- function putTexture(part, frontF, backF, topF, bottomF, leftF, rightF, className)
- local faces = {"Front", "Back", "Top", "Bottom", "Left", "Right"}
- for i,f in pairs(faces) do
- local decal = Instance.new(className, part)
- if i == 1 then decal.Texture = frontF decal.Name = f end
- if i == 2 then decal.Texture = backF or frontF decal.Name = f end
- if i == 3 then decal.Texture = topF or frontF decal.Name = f end
- if i == 4 then decal.Texture = bottomF or frontF decal.Name = f end
- if i == 5 then decal.Texture = leftF or frontF decal.Name = f end
- if i == 6 then decal.Texture = rightF or frontF decal.Name = f end
- decal.Face = f
- end
- return part
- end
- function makeSquare(position, size, color, transparency, parent, zindex)
- local label = Instance.new("TextLabel", parent)
- label.Text = ""
- label.BorderSizePixel = 0
- label.BackgroundTransparency = transparency
- label.Position = position
- label.Size = size
- label.BackgroundColor3 = color
- if zindex == nil then label.ZIndex = 1 else label.ZIndex = zindex end
- return label
- end
- function putInventorySlot(position, image, parent, zindex)
- local button = Instance.new("TextButton", parent)
- button.Position = position
- button.Size = UDim2.new(0, 36, 0, 36)
- button.BackgroundColor3 = Color3.new(139/255, 139/255, 139/255)
- button.Text = ""
- button.BorderSizePixel = 0
- button.ZIndex = zindex
- local imageLabel = Instance.new("ImageLabel", button)
- imageLabel.BackgroundTransparency = 0.9
- imageLabel.Position = UDim2.new(0, 2, 0, 2)
- imageLabel.Size = UDim2.new(0, 32, 0, 32)
- imageLabel.Image = image
- imageLabel.BorderSizePixel = 0
- imageLabel.ZIndex = zindex
- makeSquare(UDim2.new(0, 0, 0, 0), UDim2.new(0, 34, 0, 2),
- Color3.new(55/255, 55/255, 55/255), 0, button, zindex)
- makeSquare(UDim2.new(0, 0, 0, 0), UDim2.new(0, 2, 0, 34),
- Color3.new(55/255, 55/255, 55/255), 0, button, zindex)
- makeSquare(UDim2.new(0, 34, 0, 2), UDim2.new(0, 2, 0, 34),
- Color3.new(255/255, 255/255, 255/255), 0, button, zindex)
- makeSquare(UDim2.new(0, 2, 0, 34), UDim2.new(0, 34, 0, 2),
- Color3.new(255/255, 255/255, 255/255), 0, button, zindex)
- return button
- end
- local draggingBlock = nil
- function makeInventory()
- local playerGui = player:FindFirstChild("PlayerGui")
- if playerGui then
- local invGui = Instance.new("ScreenGui", playerGui)
- local creativeInv = Instance.new("Frame", invGui)
- creativeInv.BackgroundTransparency = 1
- creativeInv.Position = UDim2.new(0.5, -170, 0.5, -202)
- creativeInv.Visible = false
- -- creative inventory GUI...
- local blackOut = makeSquare(UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0),
- Color3.new(0/255, 0/255, 0/255), 0.3, invGui, 1)
- blackOut.Visible = false
- creativeInv.Changed:connect(function()
- blackOut.Visible = creativeInv.Visible
- end)
- makeSquare(UDim2.new(0, -2, 0, 2), UDim2.new(0, 340, 0, 404),
- Color3.new(198/255, 198/255, 198/255), 0, creativeInv, 3)
- makeSquare(UDim2.new(0, 338, 0, 0), UDim2.new(0, 6, 0, 406),
- Color3.new(85/255, 85/255, 85/255), 0, creativeInv, 2)
- makeSquare(UDim2.new(0, 0, 0, 404), UDim2.new(0, 342, 0, 4),
- Color3.new(85/255, 85/255, 85/255), 0, creativeInv, 3)
- makeSquare(UDim2.new(0, 2, 0, 0), UDim2.new(0, 338, 0, 402),
- Color3.new(198/255, 198/255, 198/255), 0, creativeInv, 3)
- makeSquare(UDim2.new(0, -4, 0, -2), UDim2.new(0, 4, 0, 406),
- Color3.new(255/255, 255/255, 255/255), 0, creativeInv, 3)
- makeSquare(UDim2.new(0, -2, 0, -4), UDim2.new(0, 342, 0, 6),
- Color3.new(255/255, 255/255, 255/255), 0, creativeInv, 2)
- makeSquare(UDim2.new(0, 340, 0, -2), UDim2.new(0, 2, 0, 2),
- Color3.new(198/255, 198/255, 198/255), 0, creativeInv, 2)
- makeSquare(UDim2.new(0, 340, 0, -4), UDim2.new(0, 2, 0, 4),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, 342, 0, -2), UDim2.new(0, 2, 0, 2),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, 344, 0, 0), UDim2.new(0, 2, 0, 406),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, -4, 0, -4), UDim2.new(0, 2, 0, 4),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, -2, 0, -6), UDim2.new(0, 342, 0, 4),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, 0, 0, 406), UDim2.new(0, 342, 0, 4),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, 342, 0, 404), UDim2.new(0, 2, 0, 4),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, -4, 0, 404), UDim2.new(0, 2, 0, 2),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, -2, 0, 406), UDim2.new(0, 2, 0, 2),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- makeSquare(UDim2.new(0, -6, 0, -2), UDim2.new(0, 2, 0, 406),
- Color3.new(0/255, 0/255, 0/255), 0, creativeInv, 1)
- local text = makeSquare(UDim2.new(0, 4, 0, 8), UDim2.new(0, 0, 0, 0), Color3.new(0/255, 0/255, 0/255), 1, creativeInv, 3)
- text.Text = "Creative Inventory"
- text.Font = "SourceSansSemibold"
- text.TextSize = 14
- text.TextXAlignment = "Left"
- --
- local draggingBlockPicture = Instance.new("ImageLabel", invGui)
- draggingBlockPicture.BackgroundTransparency = 1
- draggingBlockPicture.Size = UDim2.new(0, 32, 0, 32)
- draggingBlockPicture.ZIndex = 5
- coroutine.resume(coroutine.create(function()
- local invMouse = player:GetMouse()
- --local RS = game:GetService("RunService").RenderStepped
- invMouse.Button2Down:connect(function()
- draggingBlock = nil
- end)
- while RS:wait() do
- draggingBlockPicture.Position = UDim2.new(0, invMouse.X - 16, 0, invMouse.Y - 16)
- if draggingBlock ~= nil then
- draggingBlockPicture.Image = draggingBlock.frontTex
- else
- draggingBlockPicture.Image = ""
- end
- end
- end))
- local done = false
- local x = 0
- local y = 0
- for i,b in pairs(creativeInventory) do
- putInventorySlot(UDim2.new(0.5, (x*36) + 8, 0.5, (y*36) + 28), b.frontTex, creativeInv, 4).MouseButton1Down:connect(function()
- if draggingBlock == nil then
- draggingBlock = b
- end
- end)
- x = x + 1
- if x >= 8 then
- x = 0
- y = y + 1
- end
- end
- if x == 0 then done = true end
- while x < 8 and done == false do
- putInventorySlot(UDim2.new(0.5, (x*36) + 8, 0.5, (y*36) + 28), "", creativeInv, 4)
- x = x + 1
- end
- for i = 1, 9 do
- if toolBar[i] ~= nil then
- local invSlot = putInventorySlot(UDim2.new(0, 8 + ((i-1)*36), 0, 360), toolBar[i].frontTex, creativeInv, 4)
- invSlot.MouseButton2Down:connect(function()
- local imgLabel = invSlot:FindFirstChild("ImageLabel")
- if imgLabel then
- toolBar[i] = nil
- imgLabel.Image = ""
- end
- end)
- invSlot.MouseButton1Down:connect(function()
- --updateHand = true
- local imgLabel = invSlot:FindFirstChild("ImageLabel")
- if toolBar[i] == nil then
- toolBar[i] = draggingBlock
- imgLabel.Image = draggingBlock.frontTex
- draggingBlock = nil
- return
- end
- if toolBar[i] ~= nil and draggingBlock == nil then
- draggingBlock = toolBar[i]
- toolBar[i] = nil
- imgLabel.Image = ""
- return
- elseif toolBar[i] ~= nil and draggingBlock ~= nil then
- --draggingBlock = toolBar[i]
- --toolBar[i] = nil
- imgLabel.Image = ""
- local temp = toolBar[i]
- toolBar[i] = draggingBlock
- if imgLabel and draggingBlock ~= nil then
- imgLabel.Image = draggingBlock.frontTex
- end
- if imgLabel and draggingBlock == nil then
- imgLabel.Image = ""
- end
- draggingBlock = temp
- return
- end
- end)
- else
- local invSlot = putInventorySlot(UDim2.new(0, 8 + ((i-1)*36), 0, 360), "", creativeInv, 4)
- invSlot.MouseButton2Down:connect(function()
- local imgLabel = invSlot:FindFirstChild("ImageLabel")
- if imgLabel then
- toolBar[i] = nil
- imgLabel.Image = ""
- end
- end)
- invSlot.MouseButton1Down:connect(function()
- --updateHand = true
- local imgLabel = invSlot:FindFirstChild("ImageLabel")
- if toolBar[i] == nil then
- toolBar[i] = draggingBlock
- imgLabel.Image = draggingBlock.frontTex
- draggingBlock = nil
- return
- end
- if toolBar[i] ~= nil and draggingBlock == nil then
- draggingBlock = toolBar[i]
- toolBar[i] = nil
- imgLabel.Image = ""
- return
- elseif toolBar[i] ~= nil and draggingBlock ~= nil then
- --draggingBlock = toolBar[i]
- --toolBar[i] = nil
- imgLabel.Image = ""
- local temp = toolBar[i]
- toolBar[i] = draggingBlock
- if imgLabel and draggingBlock ~= nil then
- imgLabel.Image = draggingBlock.frontTex
- end
- if imgLabel and draggingBlock == nil then
- imgLabel.Image = ""
- end
- draggingBlock = temp
- return
- end
- end)
- end
- end
- return creativeInv
- end
- end
- function putToolBarSlot(position, image, zindex)
- local playerGui = player:FindFirstChild("PlayerGui")
- if playerGui then
- local gui = playerGui:FindFirstChild("ToolBar") or Instance.new("ScreenGui", playerGui)
- gui.Name = "ToolBar"
- local slot = Instance.new("ImageLabel", gui)
- slot.Position = position
- slot.Size = UDim2.new(0, 32, 0, 32)
- slot.BackgroundTransparency = 1
- slot.ImageTransparency = 0
- slot.Image = image
- slot.ZIndex = 2
- makeSquare(UDim2.new(0, 0, 0, 0), UDim2.new(0, 32, 0, 32),
- Color3.new(95/255, 89/255, 76/255), 0, slot)
- makeSquare(UDim2.new(0, 0, 0, 0), UDim2.new(0, 2, 0, 32),
- Color3.new(0/255, 0/255, 0/255), 0.5, slot)
- makeSquare(UDim2.new(0, 2, 0, 0), UDim2.new(0, 30, 0, 2),
- Color3.new(0/255, 0/255, 0/255), 0.5, slot)
- makeSquare(UDim2.new(0, -2, 0, -2), UDim2.new(0, 36, 0, 2),
- Color3.new(106/255, 106/255, 106/255), 0, slot)
- makeSquare(UDim2.new(0, -2, 0, -2), UDim2.new(0, 2, 0, 36),
- Color3.new(106/255, 106/255, 106/255), 0, slot)
- makeSquare(UDim2.new(0, 0, 0, 32), UDim2.new(0, 34, 0, 2),
- Color3.new(130/255, 130/255, 130/255), 0, slot)
- makeSquare(UDim2.new(0, 32, 0, 0), UDim2.new(0, 2, 0, 34),
- Color3.new(130/255, 130/255, 130/255), 0, slot)
- makeSquare(UDim2.new(0, -4, 0, -2), UDim2.new(0, 2, 0, 38),
- Color3.new(130/255, 130/255, 130/255), 0, slot)
- makeSquare(UDim2.new(0, 34, 0, -2), UDim2.new(0, 2, 0, 36),
- Color3.new(106/255, 106/255, 106/255), 0, slot)
- makeSquare(UDim2.new(0, -2, 0, 34), UDim2.new(0, 38, 0, 2),
- Color3.new(106/255, 106/255, 106/255), 0, slot)
- makeSquare(UDim2.new(0, -4, 0, -4), UDim2.new(0, 40, 0, 2),
- Color3.new(156/255, 156/255, 156/255), 0, slot)
- return slot
- end
- end
- function divide(x, d)
- if x ~= 0 and d ~= 0 then
- return x/d
- else
- return x
- end
- end -- so it doesn't divide by zero
- function getDistance(v1, v2)
- return math.abs((Vector3.new(math.abs(v2.X - v1.X), math.abs(v2.Y - v1.Y), math.abs(v2.Z - v1.Z))).Magnitude)
- end
- function round(x)
- if x%2 ~= 0.5 then
- return math.floor(x+0.5)
- end
- return x-0.5
- end
- function weldTo(part1, part2)
- local weld = Instance.new("Weld", part1)
- weld.Part0 = part1
- weld.Part1 = part2
- end
- function getMagnitudeXZ(velocity)
- return math.abs(velocity.X) + math.abs(velocity.Z)
- end
- function findHumanoid(inst)
- local find = inst
- local hum = nil
- repeat
- if find.Name == "Workspace" then return nil end
- find = find.Parent
- hum = find:FindFirstChild("Humanoid")
- until hum
- --if hum then print("found!!") else print("aw... not found") end
- --if hum.ClassName ~= "Humanoid" then hum = nil end
- return hum
- end
- function placeBlock(block, cFPos, Mouse)
- if block == nil then
- if Mouse.Target.Size.X <= 10 and Mouse.Target.Size.Y <= 10 and Mouse.Target.Size.Z <= 10 and Mouse.Target then
- if Mouse.Target.Parent.Name ~= "Camera" then
- --print(Mouse.Target:GetFullName())
- local blkTar = Mouse.Target
- --Mouse.Target.Parent = nil
- for i = 1, 9 do
- local part = Instance.new("Part", workspace)
- part.Size = Vector3.new(0, 0, 0)
- part.Transparency = 1
- part.CanCollide = false
- part.Velocity = Vector3.new(math.random(-5, 5), 5, math.random(-5, 5))
- part.Name = "Debris"
- part.CFrame =
- Mouse.Target.CFrame *
- CFrame.new(math.random(-blkTar.Size.X/2, blkTar.Size.X/2), math.random(-blkTar.Size.Y/2, blkTar.Size.Y/2), math.random(-blkTar.Size.Z/2, blkTar.Size.Z/2))
- local billboard = Instance.new("BillboardGui", part)
- billboard.Size = UDim2.new(1.2, 0, 1.2, 0)
- local clipDescendant = Instance.new("TextLabel", billboard)
- clipDescendant.Size = UDim2.new(0.5, 0, 0.5, 0)
- clipDescendant.BackgroundTransparency = 1
- clipDescendant.Text = ""
- clipDescendant.ClipsDescendants = true
- local img = Instance.new("ImageLabel", clipDescendant)
- img.Size = UDim2.new(2, 0, 2, 0)
- img.BackgroundTransparency = 1
- img.Position = UDim2.new((math.random(0, 100)-50)/100, 0, (math.random(0, 100)-50)/100, 0)
- local tex = blkTar:FindFirstChild("Front")
- if tex then
- img.Image = tex.Texture
- else
- img.Image = "rbxassetid://744949545"
- end
- if img.Image == "rbxassetid://744949545" then
- img.ImageColor3 = blkTar.Color
- end
- part.Touched:connect(function(prt)
- if prt ~= blkTar then
- part.CanCollide = true
- end
- end)
- coroutine.resume(coroutine.create(function()
- wait(math.random(50, 65)/100)
- part:Destroy()
- end))
- --part.Anchored = false
- end
- blkTar:Destroy()
- end
- end
- return nil
- else
- local blockPlaced = Instance.new("Part", workspace)
- blockPlaced.Material = "Fabric"
- blockPlaced.Transparency = block.transparency
- blockPlaced.Anchored = true
- blockPlaced.Size = block.size
- blockPlaced.CFrame = cFPos
- blockPlaced.Name = block.name
- putTexture(blockPlaced, block.frontTex, block.backTex,
- block.topTex, block.bottomTex, block.leftTex, block.rightTex, "Texture")
- if block.hasGravity == true then
- local connectedTo = Instance.new("ObjectValue", blockPlaced)
- connectedTo.Name = "ConnectedTo"
- blockPlaced.Anchored = false
- local detector = Instance.new("Part", blockPlaced)
- detector.Transparency = 1
- detector.CanCollide = false
- detector.Size = Vector3.new(1, 1, 1)
- local weldDetector = Instance.new("Motor6D", detector)
- weldDetector.Part0 = detector
- weldDetector.Part1 = blockPlaced
- weldDetector.C1 = CFrame.new(0, -blockPlaced.Size.Y/2, 0)
- local landed = false
- local function fallingBlock()
- coroutine.resume(coroutine.create(function()
- local falling = Instance.new("CFrameValue", blockPlaced)
- falling.Name = "IsFalling"
- local grav = 0
- while RS:wait() do
- if landed then falling:Destroy() break end
- grav = math.max(-1, grav - 0.0025)
- blockPlaced.CFrame = CFrame.new(cFPos.X, blockPlaced.CFrame.Y + grav, cFPos.Z)
- end
- end))
- end
- fallingBlock()
- detector.Touched:connect(function(part)
- if blockPlaced.Anchored == false and part ~= blockPlaced and part.Name ~= "Debris" and part:FindFirstChild("IsFalling") == nil and findHumanoid(part) == nil then
- landed = true
- blockPlaced.Velocity = Vector3.new(0, 0, 0)
- blockPlaced.Anchored = true
- connectedTo.Value = part
- local yOrigin = part.CFrame.Y + (blockPlaced.Size.Y/2) + (part.Size.Y/2)
- blockPlaced.CFrame = CFrame.new(cFPos.X, yOrigin, cFPos.Z)
- --detector:Destroy()
- local falling = false
- part.Changed:connect(function()
- if part.Position.Y ~= yOrigin and falling == false then
- falling = true
- wait(0.075)
- landed = false
- blockPlaced.Anchored = false
- blockPlaced.Velocity = Vector3.new(0, 0, 0)
- fallingBlock()
- falling = false
- end
- end)
- workspace.ChildRemoved:connect(function()
- --print("hi")
- if connectedTo.Value.Parent == nil and falling == false then
- falling = true
- landed = false
- blockPlaced.Anchored = false
- blockPlaced.Velocity = Vector3.new(0, 0, 0)
- fallingBlock()
- end
- end)
- end
- end)
- end
- local blockSound = Instance.new("Sound", blockPlaced)
- blockSound.SoundId = block.sound
- blockSound.Volume = block.soundVol
- blockSound.Pitch = math.random(95, 105)/100
- blockSound.PlayOnRemove = true
- blockSound:Play()
- return blockPlaced
- end
- end
- if player then
- local char = player.Character
- if char then
- for _,cM in pairs(char:GetChildren()) do
- if cM.ClassName == "CharacterMesh" then cM:Destroy() end
- end
- --[]
- local gui = player.PlayerGui:FindFirstChild("ToolBar") or Instance.new("ScreenGui", player.PlayerGui)
- gui.Name = "ToolBar"
- makeSquare(UDim2.new(0.5, -166, 1, -111), UDim2.new(0, 364, 0, 44),
- Color3.new(0/255, 0/255, 0/255), 0, gui)
- for i = 1, 9 do
- if toolBar[i] ~= nil then
- local img = putToolBarSlot(UDim2.new(0.5, -160 + ((i-1)*40), 1, -105), toolBar[i].frontTex)
- coroutine.resume(coroutine.create(function()
- while wait() do
- if toolBar[i] ~= nil then
- img.Image = toolBar[i].frontTex
- else
- img.Image = ""
- end
- end
- end))
- else
- local img = putToolBarSlot(UDim2.new(0.5, -160 + ((i-1)*40), 1, -105), "")
- coroutine.resume(coroutine.create(function()
- while wait() do
- if toolBar[i] ~= nil then
- img.Image = toolBar[i].frontTex
- else
- img.Image = ""
- end
- end
- end))
- end
- end
- local creativeInventoryGUI = makeInventory()
- local humRootPart = char:WaitForChild("HumanoidRootPart")
- local head = char:WaitForChild("Head")
- local torso = char:WaitForChild("Torso")
- local lArm = char:WaitForChild("Left Arm")
- local rArm = char:WaitForChild("Right Arm")
- local lLeg = char:WaitForChild("Left Leg")
- local rLeg = char:WaitForChild("Right Leg")
- local humanoid = char:WaitForChild("Humanoid")
- char.Humanoid:ClearAllChildren()
- humanoid.HipHeight = 0.3
- humanoid.Parent = nil
- if char:FindFirstChild("Animate") then
- char.Animate:Remove()
- end
- head.Size = Vector3.new(1.3, 1.3, 1.3)
- putTexture(head, "rbxassetid://38738031", "rbxassetid://36047330",
- "rbxassetid://36047341", "rbxassetid://36047347",
- "rbxassetid://36047323", "rbxassetid://36047315", "Decal")
- head:WaitForChild("Mesh"):Destroy()
- head:WaitForChild("face"):Destroy()
- torso.Size = Vector3.new(1.3, 1.95, 0.65)
- putTexture(torso, "rbxassetid://38934753", "rbxassetid://38934731",
- "rbxassetid://38934780", "rbxassetid://38934740",
- "rbxassetid://38934762", "rbxassetid://38934762", "Decal")
- lArm.Size = Vector3.new(0.65, 1.95, 0.65)
- putTexture(lArm, "rbxassetid://38934581", "rbxassetid://38934560",
- "rbxassetid://38934613", "rbxassetid://38934568",
- "rbxassetid://38934601", "rbxassetid://38934591", "Decal")
- rArm.Size = Vector3.new(0.65, 1.95, 0.65)
- putTexture(rArm, "rbxassetid://38934560", "rbxassetid://38934581",
- "rbxassetid://38934613", "rbxassetid://38934568",
- "rbxassetid://38934601", "rbxassetid://38934591", "Decal")
- lLeg.Size = Vector3.new(0.65, 1.95, 0.65)
- putTexture(lLeg, "rbxassetid://38936226", "rbxassetid://38936209",
- "rbxassetid://38934719", "rbxassetid://38934712",
- "rbxassetid://38936255", "rbxassetid://38936242", "Decal")
- rLeg.Size = Vector3.new(0.65, 1.95, 0.65)
- putTexture(rLeg, "rbxassetid://38936209", "rbxassetid://38936226",
- "rbxassetid://38934719", "rbxassetid://38934712",
- "rbxassetid://38936242", "rbxassetid://38936255", "Decal")
- -- now for the real stuff
- -- |
- -- |
- -- V
- Instance.new("BlockMesh", torso)
- Instance.new("BlockMesh", lArm)
- Instance.new("BlockMesh", rArm)
- Instance.new("BlockMesh", lLeg)
- Instance.new("BlockMesh", rLeg)
- local camera = workspace.Camera
- local camPart = Instance.new("Part", camera)
- camPart.Size = Vector3.new(0, 0, 0)
- camPart.CFrame = camera.CFrame
- camPart.CanCollide = false
- camPart.Anchored = true
- camPart.Transparency = 1
- local cameraHand = Instance.new("Part", camera)
- cameraHand.Size = Vector3.new(0.65, 1.95, 0.65)
- cameraHand.CanCollide = false
- cameraHand.Anchored = true
- cameraHand.Name = "CameraHand"
- putTexture(cameraHand, "rbxassetid://38934560", "rbxassetid://38934581",
- "rbxassetid://38934613", "rbxassetid://38934568",
- "rbxassetid://38934601", "rbxassetid://38934591", "Decal")
- local cameraHandItem = Instance.new("Part", camera)
- cameraHandItem.Name = "CameraHandItem"
- cameraHandItem.Size = Vector3.new(1.1, 1.1, 1.1)
- cameraHandItem.Anchored = true
- cameraHandItem.CanCollide = false
- cameraHandItem.Transparency = 1
- -- welding doesn't really work.
- --local cameraHandWeld = Instance.new("Motor6D", camPart)
- --cameraHandWeld.Part0 = camPart
- --cameraHandWeld.Part1 = cameraHand
- --cameraHandWeld.C0 = CFrame.new(5, 0, 0)
- local rootJoint = torso:FindFirstChild("RootJoint") or Instance.new("Motor6D", torso)
- rootJoint.Name = "RootJoint"
- rootJoint.Part0 = humRootPart
- rootJoint.Part1 = torso
- rootJoint.C1 = CFrame.new(0, 0.05, 0)
- local neck = torso:FindFirstChild("Neck") or Instance.new("Motor6D", torso)
- neck.Name = "Neck"
- neck.Part0 = head
- neck.Part1 = torso
- local lS = torso:FindFirstChild("Left Shoulder") or Instance.new("Motor6D", torso)
- lS.Name = "Left Shoulder"
- lS.Part0 = lArm
- lS.Part1 = torso
- lS.C0 = CFrame.new(-0.325, 0.975, 0) * CFrame.Angles(0, 0, 0)
- lS.C1 = CFrame.new(0.65, 0.975, 0)
- local rS = torso:FindFirstChild("Right Shoulder") or Instance.new("Motor6D", torso)
- rS.Name = "Right Shoulder"
- rS.Part0 = rArm
- rS.Part1 = torso
- rS.C0 = CFrame.new(-0.325, 0.975, 0) * CFrame.Angles(0, 0, 0)
- rS.C1 = CFrame.new(-0.65, 0.975, 0) * CFrame.Angles(0, -math.rad(180), 0)
- local lH = torso:FindFirstChild("Left Hip") or Instance.new("Motor6D", torso)
- lH.Name = "Left Hip"
- lH.Part0 = lLeg
- lH.Part1 = torso
- lH.C0 = CFrame.new(0, 0.975, 0)
- lH.C1 = CFrame.new(0.325, -0.975, 0) * CFrame.Angles(0, 0, 0)
- local rH = torso:FindFirstChild("Right Hip") or Instance.new("Motor6D", torso)
- rH.Name = "Right Hip"
- rH.Part0 = rLeg
- rH.Part1 = torso
- rH.C0 = CFrame.new(0, 0.975, 0)
- rH.C1 = CFrame.new(-0.325, -0.975, 0) * CFrame.Angles(0, -math.rad(180), 0)
- for _,p in pairs(char:GetChildren()) do
- if p.Name ~= "HumanoidRootPart" and p.ClassName == "Part" then
- local hit = Instance.new("Part", char)
- hit.Name = "DamagePart"
- hit.BrickColor = BrickColor.new("Bright red")
- hit.Material = "SmoothPlastic"
- hit.Transparency = 1
- hit.Size = Vector3.new(p.Size.X + 0.05, p.Size.Y + 0.05, p.Size.Z + 0.05)
- hit.CanCollide = false
- weldTo(hit, p)
- end
- end
- wait(0.25)
- humanoid.Parent = char
- local ticks = 0
- local times = 0
- local walkAnim = 0
- local increaseWalkAnim = 1
- local idleAnimRotX = 0
- local idleAnimRotZ = 0
- local sneaking = 0
- --local RS = game:GetService("RunService").RenderStepped
- local Mouse = player:GetMouse()
- local oldHP = humanoid.Health
- local damageTime = 0
- local punchRotX = 0
- local punchRotY = 0
- local punchRotZ = 0
- local punchRotXcam = 0
- local punchRotYcam = 0
- local punchRotZcam = 0
- local punchSpeed = 0
- local punching = 0
- local selectedBlock = 8
- local punchEnded = 1
- local itemOnHand = nil
- local selectBox = Instance.new("SelectionBox", camera)
- selectBox.Transparency = 0.5
- selectBox.Color3 = Color3.new(0, 0, 0)
- selectBox.LineThickness = 0
- local handItem = Instance.new("Part", char)
- handItem.Name = "HandItem"
- handItem.Size = Vector3.new(0.52, 0.52, 0.52)
- handItem.Transparency = 1
- handItem.CanCollide = false
- local handItemWeld = Instance.new("Weld", char)
- handItemWeld.Part0 = handItem
- handItemWeld.Part1 = lArm
- handItemWeld.C1 = CFrame.new(0, -0.9, -0.6) * CFrame.Angles(math.rad(-10), math.rad(45), 0)
- local sound = Instance.new("Sound", char)
- sound.Name = "Hurt"
- sound.Volume = 10
- sound.SoundId = "rbxassetid://535690488"
- local facesToResize = {"Front", "Back", "Left", "Right", "Bottom", "Top"}
- local camCurrentZoom = (camera.CFrame.p - head.Position).magnitude
- Mouse.Button1Down:connect(function()
- if punchEnded == 1 then punching = 1 end
- if Mouse.Target then
- if getDistance(head.CFrame.p, Mouse.Hit.p) <= 10.4 then
- local humanoid = Mouse.Target.Parent:FindFirstChild("Humanoid")
- if humanoid then
- humanoid.Health = humanoid.Health - 10
- local parts = Mouse.Target.Parent:GetChildren()
- for _,p in pairs(parts) do
- if p.ClassName == "Part" then
- p.Velocity = Vector3.new(p.Velocity.X + (head.CFrame.lookVector.X * 18), p.Velocity.Y + (head.CFrame.lookVector.Y * 18) + 8, p.Velocity.Z + (head.CFrame.lookVector.Z * 18))
- end
- end
- return
- end
- local x = Mouse.Target.CFrame.p.X
- local y = Mouse.Target.CFrame.p.Y
- local z = Mouse.Target.CFrame.p.Z
- if Mouse.TargetSurface.Name == "Right" then x = x + 2.6 end
- if Mouse.TargetSurface.Name == "Left" then x = x - 2.6 end
- if Mouse.TargetSurface.Name == "Top" then y = y + 2.6 end
- if Mouse.TargetSurface.Name == "Bottom" then y = y - 2.6 end
- if Mouse.TargetSurface.Name == "Back" then z = z + 2.6 end
- if Mouse.TargetSurface.Name == "Front" then z = z - 2.6 end
- if Mouse.Target.Size.X > 2.6 or Mouse.Target.Size.Y > 2.6 or Mouse.Target.Size.Z > 2.6 then
- x = Mouse.Hit.p.X
- y = Mouse.Hit.p.Y
- z = Mouse.Hit.p.Z
- end
- -- local x = round(math.abs(mouseX)/2.6)*2.6
- -- local y = round(math.abs(mouseY)/2.6)*2.6
- -- local z = round(math.abs(mouseZ)/2.6)*2.6
- -- if Mouse.Hit.p.X < 0 then x = x * -1 end
- -- if Mouse.Hit.p.Y < 0 then y = y * -1 end
- -- if Mouse.Hit.p.Z < 0 then z = z * -1 end
- local blk = placeBlock(toolBar[selectedBlock + 1], CFrame.new(x, y, z), Mouse)
- if blk then
- for _,f in pairs(facesToResize) do
- blk:WaitForChild(f).StudsPerTileU = 2.6
- blk:WaitForChild(f).StudsPerTileV = 2.6
- end
- end
- end
- end
- end)
- local changedItem = false
- local hasItemOnHand = 0
- local hi = 0
- -- selection thingy
- local selectLabel = Instance.new("TextLabel", gui)
- selectLabel.Size = UDim2.new(0, 32, 0, 32)
- selectLabel.Position = UDim2.new(0.5, -160 + (selectedBlock*40), 1, -105)
- selectLabel.BackgroundTransparency = 0.5
- selectLabel.BackgroundColor3 = Color3.new(1, 1, 1)
- selectLabel.BorderSizePixel = 0
- selectLabel.Text = ""
- selectLabel.ZIndex = 3
- --
- local oldItemOnHand = itemOnHand
- function updateItemOnHand()
- for _,d in pairs(handItem:GetChildren()) do
- d:Destroy()
- end
- for _,d in pairs(cameraHandItem:GetChildren()) do
- d:Destroy()
- end
- if itemOnHand ~= nil then
- putTexture(handItem, itemOnHand.frontTex, itemOnHand.backTex,
- itemOnHand.topTex, itemOnHand.bottomTex,
- itemOnHand.leftTex, itemOnHand.rightTex, "Texture")
- putTexture(cameraHandItem, itemOnHand.frontTex, itemOnHand.backTex,
- itemOnHand.topTex, itemOnHand.bottomTex,
- itemOnHand.leftTex, itemOnHand.rightTex, "Texture")
- for _,f in pairs(facesToResize) do
- handItem:WaitForChild(f).StudsPerTileU = 0.52
- handItem:WaitForChild(f).StudsPerTileV = 0.52
- end
- for _,f in pairs(facesToResize) do
- cameraHandItem:WaitForChild(f).StudsPerTileU = 1.1
- cameraHandItem:WaitForChild(f).StudsPerTileV = 1.1
- end
- cameraHand.Transparency = 1
- for _,f in pairs(facesToResize) do
- cameraHand:WaitForChild(f).Transparency = 1
- cameraHand:WaitForChild(f).Transparency = 1
- end
- else
- cameraHand.Transparency = 0
- for _,f in pairs(facesToResize) do
- cameraHand:WaitForChild(f).Transparency = 0
- cameraHand:WaitForChild(f).Transparency = 0
- end
- end
- if oldItemOnHand ~= itemOnHand then
- changedItem = true
- end
- end
- local pressedWTimes = 0
- local sprintingNum = 0
- local sprinting = false
- Mouse.KeyDown:connect(function(key)
- if sprinting == false then sprintingNum = 0 else sprintingNum = 1 end
- if (key == "w" and sprinting == false and sneaking == 0) then
- if pressedWTimes >= 1 or key == Enum.KeyCode.LeftControl then
- sprinting = true
- humanoid.WalkSpeed = humanoid.WalkSpeed * 1.5
- pressedWTimes = 0
- coroutine.resume(coroutine.create(function()
- for i = 1, 24 do
- camera.FieldOfView = camera.FieldOfView + ((24-i)/10)
- RS:wait()
- end
- end))
- end
- pressedWTimes = pressedWTimes + 1
- coroutine.resume(coroutine.create(function()
- for i = 1, 12 do
- if sprinting == true then break end
- wait()
- end
- pressedWTimes = 0
- end))
- end
- if key == "q" and sprinting == false then
- sneaking = 1
- humanoid.WalkSpeed = humanoid.WalkSpeed / 2
- humanoid.HipHeight = humanoid.HipHeight - 0.35
- rootJoint.C1 = CFrame.new(0, 0.325, 0) * CFrame.Angles(math.rad(sneaking*45), 0, 0)
- lH.C0 = CFrame.new(0, 0.975, 0) * CFrame.Angles(-math.rad(sneaking*45), 0, 0)
- rH.C0 = CFrame.new(0, 0.975, 0) * CFrame.Angles(math.rad(sneaking*45), 0, 0)
- --print("Sneaking...")
- end
- if key == "e" then
- if creativeInventoryGUI.Visible == true then
- creativeInventoryGUI.Visible = false
- elseif creativeInventoryGUI.Visible == false then
- creativeInventoryGUI.Visible = true
- end
- end
- if key == "1" or key == "2" or key == "3" or
- key == "4" or key == "5" or key == "6" or
- key == "7" or key == "8" or key == "9" then
- selectedBlock = tonumber(key) - 1
- oldItemOnHand = itemOnHand
- itemOnHand = toolBar[tonumber(key)]
- updateItemOnHand()
- if hasItemOnHand == 0 and itemOnHand then hi = 1 end
- if hasItemOnHand == 1 and itemOnHand == nil then hi = 1 end
- end
- --if (key == "0" or key == "1" or key == "2"
- -- or key == "3" or key == "4" or key == "5"
- -- or key == "6" or key == "7") and hasItemOnHand == 0 then hi = 1 end
- selectLabel.Position = UDim2.new(0.5, -160 + ((selectedBlock)*40), 1, -105)
- end)
- Mouse.KeyUp:connect(function(key)
- if sprinting == false then sprintingNum = 0 else sprintingNum = 1 end
- if (key == "w" and sprinting == true and sneaking == 0) then
- sprinting = false
- humanoid.WalkSpeed = humanoid.WalkSpeed / 1.5
- coroutine.resume(coroutine.create(function()
- for i = 1, 24 do
- camera.FieldOfView = camera.FieldOfView - ((24-i)/10)
- RS:wait()
- end
- end))
- end
- if key == "q" and sprinting == false then
- sneaking = 0
- humanoid.WalkSpeed = humanoid.WalkSpeed * 2
- humanoid.HipHeight = humanoid.HipHeight + 0.35
- rootJoint.C1 = CFrame.new(0, 0.05, 0) * CFrame.Angles(0, 0, 0)
- lH.C0 = CFrame.new(0, 0.975, 0) * CFrame.Angles(0, 0, 0)
- rH.C0 = CFrame.new(0, 0.975, 0) * CFrame.Angles(0, 0, 0)
- --print("Stopped sneaking...")
- end
- end)
- Mouse.TargetFilter = camera
- local humOffset = CFrame.new(0, 0, 0)
- local camHandY = 0
- local cameraHandCFrame = CFrame.new(1.15, -1.35, -2) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(55), math.rad(20))
- while RS:wait() do
- camCurrentZoom = ((CFrame.new(0, -1*sneaking, 0) * camera.CFrame).p - head.Position).magnitude
- if itemOnHand ~= nil then
- hasItemOnHand = 1
- handItem.Transparency = itemOnHand.transparency
- else
- hasItemOnHand = 0
- handItem.Transparency = 1
- end
- if humanoid.Health < oldHP then
- damageTime = 60
- sound:Play()
- end
- oldHP = humanoid.Health
- if damageTime > 0 and humanoid.Health > 0 then
- for _,p in pairs(char:GetChildren()) do
- if p.Name ~= "HumanoidRootPart" and p.ClassName == "Part" then
- if p.Name == "DamagePart" then
- p.Transparency = 0.5
- end
- end
- end
- damageTime = damageTime - 2
- if damageTime <= 0 then
- for _,p in pairs(char:GetChildren()) do
- if p.Name ~= "HumanoidRootPart" and p.ClassName == "Part" then
- if p.Name == "DamagePart" then
- p.Transparency = 1
- end
- end
- end
- end
- end
- camPart.CFrame = camera.CFrame
- neck.C1 = CFrame.new(0, 0.975, 0) * CFrame.fromEulerAnglesXYZ(math.rad(sneaking*45), math.rad(camPart.Orientation.Y - torso.Orientation.Y), 0)
- neck.C0 = CFrame.new(0, -0.65, 0) * CFrame.Angles(-math.rad(camPart.Orientation.X - torso.Orientation.X - (sneaking*45)), 0, 0)
- if getMagnitudeXZ(torso.Velocity) > 1 then
- if walkAnim >= 1 then
- increaseWalkAnim = -1
- elseif walkAnim <= -1 then
- increaseWalkAnim = 1
- end
- walkAnim = walkAnim + (increaseWalkAnim/(10+(sneaking*20)))
- else
- walkAnim = 0
- end
- --lH.C0 = CFrame.new(0, 0.975, 0) * CFrame.Angles(-math.rad(sneaking*45), 0, 0)
- --rH.C0 = CFrame.new(0, 0.975, 0) * CFrame.Angles(math.rad(sneaking*45), 0, 0)
- lH.C0 = lH.C0:lerp(CFrame.new(0, 0.975, 0) * CFrame.Angles(-math.rad(sneaking*45) + math.rad(damageTime*1.5) + math.rad(walkAnim*getMagnitudeXZ(torso.Velocity)*5/(1+sneaking)), 0, 0), 0.1)
- rH.C0 = rH.C0:lerp(CFrame.new(0, 0.975, 0) * CFrame.Angles(math.rad(sneaking*45) + math.rad(damageTime*1.5) + math.rad(walkAnim*getMagnitudeXZ(torso.Velocity)*5/(1+sneaking)), 0, 0), 0.1)
- --
- --rootJoint.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0)
- --print(math.abs(head.Orientation.Y) - math.abs(humRootPart.Orientation.Y))
- --if (head.Orientation.Y * 2) - (head.Orientation.Y + torso.Orientation.Y) > 45 then
- --humRootPart.CFrame = humRootPart.CFrame * CFrame.Angles(0, math.rad(-45 + head.Orientation.Y), 0)
- --print("-45")
- --end
- --if (head.Orientation.Y * 2) - (head.Orientation.Y + torso.Orientation.Y) < -45 then
- --humRootPart.CFrame = humRootPart.CFrame * CFrame.Angles(0, math.rad(45 + head.Orientation.Y), 0)
- --print("45")
- --end
- if changedItem then
- changedItem = false
- coroutine.resume(coroutine.create(function()
- for i = 1, 8 do
- camHandY = camHandY - 0.2
- RS:wait()
- end
- for i = 1, 8 do
- camHandY = camHandY + 0.2
- RS:wait()
- end
- end))
- end
- --move these arms
- rootJoint.C1 = rootJoint.C1:lerp(CFrame.new(0, 0.325, 0) * CFrame.Angles(math.rad(sneaking*45), math.rad(punchRotY), 0), 0.2)
- lS.C0 = lS.C0:lerp(CFrame.new(-0.325, 0.975, 0) * CFrame.Angles(idleAnimRotX/20 + math.rad(-hasItemOnHand*10) + math.rad(punchRotX) + math.rad(damageTime*1.5) + math.rad(walkAnim*getMagnitudeXZ(torso.Velocity)*5/(1+sneaking)), 0, math.rad(punchRotZ) + idleAnimRotZ/20), 0.025+(math.min(1, getMagnitudeXZ(torso.Velocity))/12) + divide(punchSpeed, 6) + hi)
- rS.C0 = rS.C0:lerp(CFrame.new(-0.325, 0.975, 0) * CFrame.Angles(idleAnimRotX/20 + math.rad(damageTime*1.5) + math.rad(walkAnim*getMagnitudeXZ(torso.Velocity)*5/(1+sneaking)), 0, idleAnimRotZ/20), 0.025+(math.min(1, getMagnitudeXZ(torso.Velocity))/12))
- if Mouse.Target and getDistance(head.CFrame.p, Mouse.Hit.p) <= 10.4 then
- if Mouse.Target.Parent:FindFirstChild("Humanoid") == nil and Mouse.Target.Parent ~= camera then
- selectBox.Adornee = Mouse.Target
- else
- selectBox.Adornee = nil
- end
- else
- selectBox.Adornee = nil
- end
- local BobbingY = walkAnim*2
- if BobbingY >= 1 then BobbingY = -BobbingY + 0.5 end
- cameraHandCFrame = cameraHandCFrame:lerp(CFrame.new(1.15*1.3 + (walkAnim/2 - (walkAnim/3)), -1.35*1.3 + camHandY + (-BobbingY/8), -0.45 + ((camera.FieldOfView/45)-1.6)*1.3) * CFrame.Angles(math.rad(punchRotXcam), math.rad(punchRotYcam), math.rad(punchRotZcam)) * CFrame.new(0, 0, -1.75) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(55), math.rad(35)), 0.25)
- humOffset = humOffset:lerp(CFrame.new(walkAnim/4 - (walkAnim/8), BobbingY/13, 0), 0.25)
- humanoid.CameraOffset = Vector3.new(humOffset.X, humOffset.Y, 0)
- cameraHand.CFrame = camPart.CFrame * cameraHandCFrame
- cameraHandItem.CFrame = cameraHand.CFrame * CFrame.new(0, -0.5, 0) * CFrame.Angles(math.rad(-210), math.rad(-40), math.rad(-100)) * CFrame.new(0, -0.35, 0)
- if camCurrentZoom >= 1.5 then
- cameraHand.Transparency = 1
- for _,t in pairs(cameraHand:GetChildren()) do
- if t.Transparency == 0 then
- t.Transparency = 1
- end
- end
- for _,t in pairs(cameraHandItem:GetChildren()) do
- if t.Transparency == 0 then
- t.Transparency = 1
- end
- end
- else
- cameraHand.Transparency = hasItemOnHand
- for _,t in pairs(cameraHand:GetChildren()) do
- if t.Transparency == 1 then
- t.Transparency = hasItemOnHand
- end
- end
- for _,t in pairs(cameraHandItem:GetChildren()) do
- if t.Transparency == 1 then
- t.Transparency = 0
- end
- end
- end
- if updateHand == true then
- updateHand = false
- updateItemOnHand()
- end
- if punching == 1 and punchEnded == 1 then
- punching = 0
- --print("steve uses punch!!")
- local coPunchCam = coroutine.wrap(function()
- local mult = 2
- punchRotXcam = 40/2*mult
- punchRotYcam = 25/2*mult
- wait(0.075/2)
- punchRotXcam = 50/2*mult
- punchRotYcam = 25*mult
- punchRotZcam = -10*mult
- wait(0.075/2)
- punchRotYcam = 50/1.5*mult
- punchRotXcam = -10*mult
- --wait(0.075/2)
- --punchRotYcam = 50
- --punchRotXcam = -10
- wait(0.02)
- punchRotXcam = -20*mult
- wait(0.055)
- punchRotXcam = 0
- punchRotYcam = 0
- punchRotZcam = 0
- end)
- local coPunch = coroutine.wrap(function()
- punchEnded = 0
- punchSpeed = 1
- punchRotX = -60
- punchRotY = -8
- punchRotZ = -35
- wait(0.075/1.3)
- punchSpeed = 1
- punchRotX = -75
- punchRotY = 8
- punchRotZ = 40
- wait(0.075/1.3)
- punchSpeed = 1
- punchRotX = -20
- punchRotZ = 40
- wait(0.075/1.3)
- punchSpeed = 3.5
- punchRotX = 0
- punchRotY = 0
- punchRotZ = 0
- punchRotXcam = 0
- punchRotYcam = 0
- punchRotZcam = 0
- punchEnded = 1
- wait(0.06/1.3)
- punchSpeed = 0
- end)
- coPunch()
- coPunchCam()
- end
- if ticks > 20 then
- ticks = 0
- if times == 0 then
- times = times + 1
- idleAnimRotX = -1
- idleAnimRotZ = 0
- elseif times == 1 then
- times = times + 1
- idleAnimRotX = -0.75
- idleAnimRotZ = -0.75
- elseif times == 2 then
- times = times + 1
- idleAnimRotX = 0
- idleAnimRotZ = -1
- elseif times == 3 then
- times = times + 1
- idleAnimRotX = 0.75
- idleAnimRotZ = -0.75
- --idleAnimRotX = 0.75
- --idleAnimRotZ = -0
- elseif times == 4 then
- times = times + 1
- idleAnimRotX = 1
- idleAnimRotZ = 0
- --idleAnimRotX = 1
- --idleAnimRotZ = 0
- elseif times == 5 then
- times = times + 1
- idleAnimRotX = 0.75
- idleAnimRotZ = 0.75
- elseif times == 6 then
- times = times + 1
- idleAnimRotX = 0
- idleAnimRotZ = 1
- elseif times == 7 then
- times = 0
- idleAnimRotX = -0.75
- idleAnimRotZ = 0.75
- end
- end
- if hi == 1 then hi = 0 end
- ticks = ticks + 1
- end
- end
- end
- end)
- coming.Name = "coming"
- coming.Parent = Gui
- coming.BackgroundColor3 = Color3.new(1, 1, 1)
- coming.Position = UDim2.new(0, 0, 0.64940238, 0)
- coming.Size = UDim2.new(0, 200, 0, 50)
- coming.Font = Enum.Font.SourceSans
- coming.Text = "Coming Soon..."
- coming.TextColor3 = Color3.new(0, 0, 0)
- coming.TextSize = 14
Add Comment
Please, Sign In to add comment