player = game.Players.LocalPlayer mouse = player:GetMouse() char = player.Character enabled = true -- whole script iceS = true -- IceShard isActive = false ibActive = false iceB = true --iceBlast v3 = Vector3 function InstantiateBodyVelocity(object) local bv = Instance.new("BodyVelocity", object) bv.maxForce = v3.new(1, 1, 1) * math.huge return bv end local function iceShardCreate() x = Instance.new("Part", game.Workspace) x.BrickColor = BrickColor.new("Pastel blue-green") x.Size = v3.new(2,2,2) x.CFrame = char.Torso.CFrame *CFrame.new(0,0,-5) InstantiateBodyVelocity(x) isActive = true mesh = Instance.new("FileMesh", x) mesh.MeshId = "http://www.roblox.com/Asset/?id=9756362" print('Shard was created with bv') game.Debris:AddItem(x,4) isActive = false touched = false x.Touched:connect(function(hit) if hit.Parent:findFirstChild("Humanoid") and hit.Parent.Name ~= player.Name and touched == false then touched = true x:Remove() hit.Parent.Humanoid:TakeDamage(20) print("Shard did damage") touched = false end end) end
The function to create the ice shard is above. ^^^^^
game:GetService("UserInputService").InputBegan:connect(function(input, gameProcessed) if input.KeyCode == Enum.KeyCode.Z and iceS == true and ibActive ~= true then --Ice Shard iceS = false game:GetService("Chat"):Chat(char.Head, "Ice Shard!", "Blue") iceShardCreate() print("Shard Created") wait(5) -- Ice Shard Reload time iceS = true end
These are some parts of my code. I have another attack named ice blast, and ice shard does not fire while "isB" is active. The problem after the second time I press the key "z" the body velocity is not activated. Currently, the shard is supposed to float. What am I doing wrong?