SHOW:
|
|
- or go back to the newest paste.
| 1 | --By Rufus14 | |
| 2 | --Converted with ttyyuu12345's model to script plugin v4 | |
| 3 | function sandbox(var,func) | |
| 4 | local env = getfenv(func) | |
| 5 | local newenv = setmetatable({},{
| |
| 6 | __index = function(self,k) | |
| 7 | if k=="script" then | |
| 8 | return var | |
| 9 | else | |
| 10 | return env[k] | |
| 11 | end | |
| 12 | end, | |
| 13 | }) | |
| 14 | setfenv(func,newenv) | |
| 15 | return func | |
| 16 | end | |
| 17 | cors = {}
| |
| 18 | mas = Instance.new("Model",game:GetService("Lighting"))
| |
| 19 | Tool0 = Instance.new("Tool")
| |
| 20 | Part1 = Instance.new("Part")
| |
| 21 | SpecialMesh2 = Instance.new("SpecialMesh")
| |
| 22 | Sound3 = Instance.new("Sound")
| |
| 23 | Sound4 = Instance.new("Sound")
| |
| 24 | Sound5 = Instance.new("Sound")
| |
| 25 | Weld6 = Instance.new("Weld")
| |
| 26 | LocalScript7 = Instance.new("LocalScript")
| |
| 27 | RemoteEvent8 = Instance.new("RemoteEvent")
| |
| 28 | Script9 = Instance.new("Script")
| |
| 29 | Part10 = Instance.new("Part")
| |
| 30 | Tool0.Name = "Portal Gun" | |
| 31 | Tool0.Parent = mas | |
| 32 | Part1.Name = "Handle" | |
| 33 | Part1.Parent = Tool0 | |
| 34 | Part1.CFrame = CFrame.new(-19.5, 1.25, -36.0124435, 1, 0, -0, 0, 0, 1, 0, -1, 0) | |
| 35 | Part1.Orientation = Vector3.new(-90, 0, 0) | |
| 36 | Part1.Position = Vector3.new(-19.5, 1.25, -36.0124435) | |
| 37 | Part1.Rotation = Vector3.new(-90, 0, 0) | |
| 38 | Part1.Size = Vector3.new(1, 2.5, 1) | |
| 39 | Part1.BottomSurface = Enum.SurfaceType.Smooth | |
| 40 | Part1.TopSurface = Enum.SurfaceType.Smooth | |
| 41 | SpecialMesh2.Parent = Part1 | |
| 42 | SpecialMesh2.MeshId = "rbxassetid://445285256" | |
| 43 | SpecialMesh2.Scale = Vector3.new(0.150000006, 0.150000006, 0.150000006) | |
| 44 | SpecialMesh2.TextureId = "rbxassetid://445285268" | |
| 45 | SpecialMesh2.MeshType = Enum.MeshType.FileMesh | |
| 46 | Sound3.Name = "Blue" | |
| 47 | Sound3.Parent = Part1 | |
| 48 | Sound3.SoundId = "rbxassetid://182981554" | |
| 49 | Sound4.Name = "Orange" | |
| 50 | Sound4.Parent = Part1 | |
| 51 | Sound4.SoundId = "rbxassetid://142774034" | |
| 52 | Sound5.Name = "Invalid" | |
| 53 | Sound5.Parent = Part1 | |
| 54 | Sound5.SoundId = "rbxassetid://182981577" | |
| 55 | Weld6.Parent = Part1 | |
| 56 | - | Tool0.Parent = owner.Character |
| 56 | + | |
| 57 | - | coroutine.wrap(function() |
| 57 | + | |
| 58 | Weld6.Part1 = Part10 | |
| 59 | Weld6.part1 = Part10 | |
| 60 | LocalScript7.Name = "portallocal" | |
| 61 | LocalScript7.Parent = Tool0 | |
| 62 | table.insert(cors,sandbox(LocalScript7,function() | |
| 63 | end)) | |
| 64 | - | tool = Tool0 |
| 64 | + | |
| 65 | RemoteEvent8.Parent = Tool0 | |
| 66 | Script9.Name = "portalserver" | |
| 67 | Script9.Parent = Tool0 | |
| 68 | table.insert(cors,sandbox(Script9,function() | |
| 69 | --By Rufus14 | |
| 70 | local owner | |
| 71 | local character | |
| 72 | equipped = false | |
| 73 | - | illegalmaterial = {Enum.Material.WoodPlanks, Enum.Material.CorrodedMetal, Enum.Material.Brick, Enum.Material.Cobblestone, Enum.Material.ForceField, Enum.Material.Fabric}
|
| 73 | + | |
| 74 | grabbing = false | |
| 75 | tool = script.Parent | |
| 76 | handle = tool.Handle | |
| 77 | remote = tool.portal | |
| 78 | runservice = game:GetService("RunService")
| |
| 79 | bluesound = handle.Blue | |
| 80 | orangesound = handle.Orange | |
| 81 | invalid = handle.Invalid | |
| 82 | light = tool.Light | |
| 83 | ||
| 84 | illegalmaterial = {Enum.Material.WoodPlanks, Enum.Material.CorrodedMetal, Enum.Material.Grass, Enum.Material.Brick, Enum.Material.Cobblestone, Enum.Material.ForceField, Enum.Material.Fabric}
| |
| 85 | ||
| 86 | tool.Equipped:connect(function() | |
| 87 | equipped = true | |
| 88 | owner = game:GetService("Players"):GetPlayerFromCharacter(tool.Parent)
| |
| 89 | character = owner.Character | |
| 90 | local rightarm = Instance.new("Weld", character.Torso)
| |
| 91 | rightarm.Part0 = character.Torso | |
| 92 | rightarm.Part1 = character["Right Arm"] | |
| 93 | rightarm.C0 = CFrame.new(1.5,0,0) | |
| 94 | rightarm.Name = "RightArmWeldportal" | |
| 95 | local leftarm = Instance.new("Weld", character.Torso)
| |
| 96 | leftarm.Part0 = character.Torso | |
| 97 | leftarm.Part1 = character["Left Arm"] | |
| 98 | leftarm.C0 = CFrame.new(-1.5,0,0) | |
| 99 | leftarm.Name = "LeftArmWeldportal" | |
| 100 | local head = Instance.new("Weld", character.Torso)
| |
| 101 | head.Part0 = character.Torso | |
| 102 | head.Part1 = character.Head | |
| 103 | head.C0 = CFrame.new(0,1.5,0) | |
| 104 | head.Name = "HeadWeldportal" | |
| 105 | local humanoidrootpart = Instance.new("Weld", character.HumanoidRootPart)
| |
| 106 | humanoidrootpart.Part0 = character.HumanoidRootPart | |
| 107 | humanoidrootpart.Part1 = character.Torso | |
| 108 | humanoidrootpart.Name = "HumanoidRootPartWeldportal" | |
| 109 | end) | |
| 110 | tool.Unequipped:connect(function() | |
| 111 | equipped = false | |
| 112 | if character.Torso:findFirstChild("LeftArmWeldportal") then
| |
| 113 | character.Torso:findFirstChild("LeftArmWeldportal"):destroy()
| |
| 114 | end | |
| 115 | if character.Torso:findFirstChild("RightArmWeldportal") then
| |
| 116 | character.Torso:findFirstChild("RightArmWeldportal"):destroy()
| |
| 117 | end | |
| 118 | if character.Torso:findFirstChild("HeadWeldportal") then
| |
| 119 | character.Torso:findFirstChild("HeadWeldportal"):destroy()
| |
| 120 | end | |
| 121 | if character:findFirstChild("HumanoidRootPart") then
| |
| 122 | if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldportal") then
| |
| 123 | character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldportal"):destroy()
| |
| 124 | end | |
| 125 | end | |
| 126 | end) | |
| 127 | ||
| 128 | remote.OnServerEvent:connect(function(plr, what, value, value2) | |
| 129 | if plr ~= owner then return end | |
| 130 | -- | |
| 131 | if what == "updatec0" then | |
| 132 | for i,v in pairs(character:GetDescendants()) do | |
| 133 | if v.Name == value then | |
| 134 | v.C0 = value2 | |
| 135 | end | |
| 136 | end | |
| 137 | elseif what == "grab" then | |
| 138 | if not grabbing then | |
| 139 | grabbing = true | |
| 140 | light.Transparency = 0 | |
| 141 | light.BrickColor = BrickColor.new("Institutional white")
| |
| 142 | for q,w in pairs(value:GetDescendants()) do | |
| 143 | if w.ClassName == "Part" or w.ClassName == "MeshPart" then | |
| 144 | w.Anchored = false | |
| 145 | end | |
| 146 | end | |
| 147 | value:SetNetworkOwner(owner) | |
| 148 | local wentthh = Instance.new("BoolValue", value)
| |
| 149 | wentthh.Name = "wentthroughportal" | |
| 150 | coroutine.wrap(function() | |
| 151 | while grabbing do runservice.Stepped:wait() end | |
| 152 | - | local soundpart = Instance.new("Part", character.Head)
|
| 152 | + | |
| 153 | value:SetNetworkOwner(nil) | |
| 154 | end)() | |
| 155 | else | |
| 156 | light.Transparency = 1 | |
| 157 | grabbing = false | |
| 158 | end | |
| 159 | elseif what == "closeportals" then | |
| 160 | light.Transparency = 1 | |
| 161 | if character.Head:findFirstChild("BluePortal") then
| |
| 162 | local blu = character.Head:findFirstChild("BluePortal")
| |
| 163 | local soundpart = Instance.new("UnionOperation", character.Head)
| |
| 164 | - | blu.Size = blu.Size - Vector3.new(0.35,0.5,0) |
| 164 | + | |
| 165 | soundpart.CanCollide = false | |
| 166 | soundpart.CFrame = blu.CFrame | |
| 167 | soundpart.Anchored = true | |
| 168 | local soundclose = Instance.new("Sound", soundpart)
| |
| 169 | soundclose.SoundId = "rbxassetid://182981587" | |
| 170 | soundclose.Volume = 1 | |
| 171 | soundclose:Play() | |
| 172 | - | local soundpart = Instance.new("Part", character.Head)
|
| 172 | + | |
| 173 | coroutine.wrap(function() | |
| 174 | for i = 1,10 do | |
| 175 | blu.Size = blu.Size - Vector3.new(10.35,10.5,10) | |
| 176 | runservice.Stepped:wait() | |
| 177 | end | |
| 178 | blu:destroy() | |
| 179 | end)() | |
| 180 | end | |
| 181 | if character.Head:findFirstChild("OrangePortal") then
| |
| 182 | local orang = character.Head:findFirstChild("OrangePortal")
| |
| 183 | local soundpart = Instance.new("UnionOperation", character.Head)
| |
| 184 | - | orang.Size = orang.Size - Vector3.new(0.35,0.5,0) |
| 184 | + | |
| 185 | soundpart.CanCollide = false | |
| 186 | soundpart.CFrame = orang.CFrame | |
| 187 | soundpart.Anchored = true | |
| 188 | local soundclose = Instance.new("Sound", soundpart)
| |
| 189 | soundclose.SoundId = "rbxassetid://182981587" | |
| 190 | soundclose.Volume = 1 | |
| 191 | soundclose:Play() | |
| 192 | game.Debris:AddItem(soundpart, soundclose.TimeLength) | |
| 193 | coroutine.wrap(function() | |
| 194 | for i = 1,10 do | |
| 195 | orang.Size = orang.Size - Vector3.new(10.35,10.5,0) | |
| 196 | runservice.Stepped:wait() | |
| 197 | end | |
| 198 | orang:destroy() | |
| 199 | end)() | |
| 200 | end | |
| 201 | elseif what == "shootblue" then | |
| 202 | bluesound.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 203 | bluesound:Play() | |
| 204 | light.Transparency = 0 | |
| 205 | light.BrickColor = BrickColor.new("Toothpaste")
| |
| 206 | local pellet = Instance.new("Part", character.Head)
| |
| 207 | pellet.Size = Vector3.new(0.7,0.7,1.7) | |
| 208 | pellet.Name = "pellet" | |
| 209 | pellet.Material = "Neon" | |
| 210 | pellet.BrickColor = BrickColor.new("Toothpaste")
| |
| 211 | pellet.CFrame = value * CFrame.new(0,2,0) | |
| 212 | pellet.CFrame = CFrame.new(pellet.Position, value2.p) | |
| 213 | pellet.CanCollide = false | |
| 214 | pellet.Anchored = true | |
| 215 | Instance.new("PointLight", pellet).Brightness = 4
| |
| 216 | local mesh = Instance.new("SpecialMesh", pellet)
| |
| 217 | mesh.MeshType = "Sphere" | |
| 218 | local hitwall = false | |
| 219 | local ignorelist = {}
| |
| 220 | for i,v in pairs(workspace:GetDescendants()) do | |
| 221 | if v.ClassName == "Model" then | |
| 222 | if v:findFirstChildOfClass("Humanoid") then
| |
| 223 | table.insert(ignorelist, v) | |
| 224 | end | |
| 225 | end | |
| 226 | end | |
| 227 | local function awman() | |
| 228 | invalid:Play() | |
| 229 | invalid.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 230 | local boom = Instance.new("Part", character.Head)
| |
| 231 | boom.CanCollide = false | |
| 232 | boom.Anchored = false | |
| 233 | boom.Shape = "Ball" | |
| 234 | boom.Name = "NoPortal" | |
| 235 | boom.Anchored = true | |
| 236 | - | local laser = Instance.new("Part", character.Head)
|
| 236 | + | |
| 237 | boom.CFrame = pellet.CFrame | |
| 238 | coroutine.wrap(function() | |
| 239 | for i = 1,10 do | |
| 240 | boom.Size = boom.Size + Vector3.new(0.15,0.15,0.15) | |
| 241 | boom.Transparency = boom.Transparency + 0.1 | |
| 242 | runservice.Stepped:wait() | |
| 243 | end | |
| 244 | boom:Destroy() | |
| 245 | end)() | |
| 246 | for i = 1,math.random(4,10) do | |
| 247 | local laser = Instance.new("UnionOperation", character.Head)
| |
| 248 | Instance.new("BlockMesh", laser)
| |
| 249 | laser.BrickColor = BrickColor.new("Toothpaste")
| |
| 250 | laser.Anchored = true | |
| 251 | laser.Material = "Neon" | |
| 252 | laser.Name = "NoPortal" | |
| 253 | laser.Size = Vector3.new(0.1,0.1,1) | |
| 254 | laser.CanCollide = false | |
| 255 | laser.CFrame = pellet.CFrame | |
| 256 | laser.CFrame = laser.CFrame * CFrame.fromEulerAnglesXYZ(math.random(-10,10)/1.5,math.random(-10,10)/1.5,math.random(-10,10)/1.5) | |
| 257 | coroutine.wrap(function() | |
| 258 | for i = 1,20 do | |
| 259 | laser.Transparency = laser.Transparency + 0.05 | |
| 260 | laser.CFrame = laser.CFrame * CFrame.new(0,0,-0.1) | |
| 261 | runservice.Stepped:wait() | |
| 262 | end | |
| 263 | laser:destroy() | |
| 264 | end)() | |
| 265 | end | |
| 266 | pellet:destroy() | |
| 267 | end | |
| 268 | coroutine.wrap(function() | |
| 269 | local threshold = 0 | |
| 270 | while runservice.Stepped:wait() and not hitwall do | |
| 271 | local ray = Ray.new(pellet.Position, pellet.CFrame.lookVector*8) | |
| 272 | local rayhit, raypos, raysurface = workspace:FindPartOnRayWithIgnoreList(ray, ignorelist) | |
| 273 | if rayhit then | |
| 274 | if rayhit.Name ~= "NoPortal" then | |
| 275 | hitwall = true | |
| 276 | if rayhit.Name == "OrangePortal" then | |
| 277 | awman() | |
| 278 | - | local portal = Instance.new("Part", character.Head)
|
| 278 | + | |
| 279 | end | |
| 280 | for i,v in pairs(illegalmaterial) do | |
| 281 | if v == rayhit.Material then | |
| 282 | awman() | |
| 283 | return | |
| 284 | end | |
| 285 | end | |
| 286 | if character.Head:findFirstChild("BluePortal") then
| |
| 287 | character.Head.BluePortal:destroy() | |
| 288 | end | |
| 289 | local portal = Instance.new("UnionOperation", character.Head)
| |
| 290 | - | portal.Size = portal.Size + Vector3.new(0.35,0.5,0) |
| 290 | + | |
| 291 | mesh.MeshType = "Sphere" | |
| 292 | portal.Size = Vector3.new(1,1,0.4) | |
| 293 | portal.Name = "BluePortal" | |
| 294 | portal.BrickColor = BrickColor.new("Toothpaste")
| |
| 295 | portal.Material = "Neon" | |
| 296 | portal.CanCollide = false | |
| 297 | portal.Anchored = true | |
| 298 | portal.CFrame = CFrame.new(raypos, raypos-raysurface) | |
| 299 | coroutine.wrap(function() | |
| 300 | for i = 1,10 do | |
| 301 | portal.Size = portal.Size + Vector3.new(20.35,20.5,0) | |
| 302 | runservice.Stepped:wait() | |
| 303 | end | |
| 304 | end)() | |
| 305 | local portalopen = Instance.new("Sound", portal)
| |
| 306 | portalopen.SoundId = "rbxassetid://171399373" | |
| 307 | portalopen.Volume = 1.5 | |
| 308 | portalopen.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 309 | portalopen:Play() | |
| 310 | local portalidle = Instance.new("Sound", portal)
| |
| 311 | portalidle.SoundId = "rbxassetid://148894502" | |
| 312 | portalidle.Volume = 0.25 | |
| 313 | portalidle:Play() | |
| 314 | portalidle.Looped = true | |
| 315 | local gothroughsound = Instance.new("Sound", portal)
| |
| 316 | gothroughsound.Volume = 3 | |
| 317 | game.Debris:AddItem(portalopen, portalopen.TimeLength) | |
| 318 | portal.Touched:connect(function(part) | |
| 319 | if part.Anchored then return end | |
| 320 | gothroughsound.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 321 | if part.Parent.ClassName == "Accessory" or part.Parent.ClassName == "Hat" or part.Parent.ClassName == "Tool" then | |
| 322 | if part.Parent.Parent ~= workspace then | |
| 323 | --print("ignored hat on player")
| |
| 324 | return | |
| 325 | end | |
| 326 | end | |
| 327 | if character.Head:findFirstChild("OrangePortal") then
| |
| 328 | local humus = part.Parent:findFirstChildOfClass("Humanoid")
| |
| 329 | if humus then | |
| 330 | local head = part.Parent:findFirstChild("Head")
| |
| 331 | if head then | |
| 332 | local wentthrough = part.Parent:findFirstChild("wentthroughportal")
| |
| 333 | --[[if wentthrough then | |
| 334 | print("returned from head tp")
| |
| 335 | return | |
| 336 | end--]] | |
| 337 | if not wentthrough then | |
| 338 | local wentth = Instance.new("BoolValue", part.Parent)
| |
| 339 | wentth.Name = "wentthroughportal" | |
| 340 | game.Debris:AddItem(wentth, 0.4) | |
| 341 | local headvelocity = head.Velocity | |
| 342 | if headvelocity.y < -50 or headvelocity.y > 50 or headvelocity.z < -50 or headvelocity.z > 50 or headvelocity.x < -50 or headvelocity.x > 50 then | |
| 343 | gothroughsound.SoundId = "rbxassetid://2769872789" | |
| 344 | else | |
| 345 | gothroughsound.SoundId = "rbxassetid://232806289" | |
| 346 | end | |
| 347 | gothroughsound:Play() | |
| 348 | head.CFrame = character.Head.OrangePortal.CFrame * CFrame.new(0,2,4) | |
| 349 | local px,py,pz = character.Head.OrangePortal.CFrame:toEulerAnglesXYZ() | |
| 350 | head.CFrame = CFrame.new(head.Position) * CFrame.fromEulerAnglesXYZ(0,py,0) | |
| 351 | local pushv = Instance.new("BodyVelocity", head)
| |
| 352 | pushv.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 353 | pushv.Velocity = character.Head.OrangePortal.CFrame.lookVector * (-15 + headvelocity.y/1.2) | |
| 354 | humus:ChangeState(Enum.HumanoidStateType.GettingUp) | |
| 355 | game.Debris:AddItem(pushv, 0.2) | |
| 356 | end | |
| 357 | else | |
| 358 | local wentthrough = part:findFirstChild("wentthroughportal")
| |
| 359 | --[[if wentthrough then | |
| 360 | print("returned from humanoid part tp")
| |
| 361 | return | |
| 362 | end--]] | |
| 363 | if not wentthrough then | |
| 364 | local wentth = Instance.new("BoolValue", part)
| |
| 365 | wentth.Name = "wentthroughportal" | |
| 366 | game.Debris:AddItem(wentth, 0.4) | |
| 367 | local partvelocity = part.Velocity | |
| 368 | if partvelocity.y < -50 or partvelocity.y > 50 or partvelocity.z < -50 or partvelocity.z > 50 or partvelocity.x < -50 or partvelocity.x > 50 then | |
| 369 | gothroughsound.SoundId = "rbxassetid://2769872789" | |
| 370 | else | |
| 371 | gothroughsound.SoundId = "rbxassetid://232806289" | |
| 372 | end | |
| 373 | gothroughsound:Play() | |
| 374 | part.CFrame = character.Head.OrangePortal.CFrame * CFrame.new(0,2,4) | |
| 375 | local pushv = Instance.new("BodyVelocity", part)
| |
| 376 | pushv.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 377 | pushv.Velocity = character.Head.OrangePortal.CFrame.lookVector * (-15 + partvelocity.y/1.2) | |
| 378 | game.Debris:AddItem(pushv, 0.2) | |
| 379 | end | |
| 380 | end | |
| 381 | else | |
| 382 | local wentthrough = part:findFirstChild("wentthroughportal")
| |
| 383 | --[[if wentthrough then | |
| 384 | print("returned from part tp")
| |
| 385 | return | |
| 386 | end--]] | |
| 387 | if not wentthrough then | |
| 388 | local wentth = Instance.new("BoolValue", part)
| |
| 389 | wentth.Name = "wentthroughportal" | |
| 390 | game.Debris:AddItem(wentth, 0.4) | |
| 391 | local partvelocity = part.Velocity | |
| 392 | if partvelocity.y < -50 or partvelocity.y > 50 or partvelocity.z < -50 or partvelocity.z > 50 or partvelocity.x < -50 or partvelocity.x > 50 then | |
| 393 | gothroughsound.SoundId = "rbxassetid://2769872789" | |
| 394 | else | |
| 395 | gothroughsound.SoundId = "rbxassetid://232806289" | |
| 396 | end | |
| 397 | gothroughsound:Play() | |
| 398 | part.CFrame = character.Head.OrangePortal.CFrame * CFrame.new(0,2,4) | |
| 399 | local pushv = Instance.new("BodyVelocity", part)
| |
| 400 | pushv.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 401 | pushv.Velocity = character.Head.OrangePortal.CFrame.lookVector * (-15 + partvelocity.y/1.2) | |
| 402 | game.Debris:AddItem(pushv, 0.2) | |
| 403 | end | |
| 404 | end | |
| 405 | end | |
| 406 | end) | |
| 407 | else | |
| 408 | awman() | |
| 409 | end | |
| 410 | end | |
| 411 | pellet.CFrame = pellet.CFrame * CFrame.new(0,0,-8) | |
| 412 | threshold = threshold + 1 | |
| 413 | if threshold == 200 then | |
| 414 | pellet:destroy() | |
| 415 | break | |
| 416 | end | |
| 417 | end | |
| 418 | pellet:destroy() | |
| 419 | end)() | |
| 420 | elseif what == "shootorange" then | |
| 421 | orangesound.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 422 | orangesound:Play() | |
| 423 | light.Transparency = 0 | |
| 424 | light.BrickColor = BrickColor.new("Deep orange")
| |
| 425 | local pellet = Instance.new("Part", character.Head)
| |
| 426 | pellet.Size = Vector3.new(0.7,0.7,1.7) | |
| 427 | pellet.Material = "Neon" | |
| 428 | pellet.Name = "pellet" | |
| 429 | pellet.BrickColor = BrickColor.new("Deep orange")
| |
| 430 | pellet.CFrame = value * CFrame.new(0,2,0) | |
| 431 | pellet.CFrame = CFrame.new(pellet.Position, value2.p) | |
| 432 | pellet.CanCollide = false | |
| 433 | pellet.Anchored = true | |
| 434 | Instance.new("PointLight", pellet).Brightness = 4
| |
| 435 | local mesh = Instance.new("SpecialMesh", pellet)
| |
| 436 | mesh.MeshType = "Sphere" | |
| 437 | local hitwall = false | |
| 438 | local ignorelist = {}
| |
| 439 | for i,v in pairs(workspace:GetDescendants()) do | |
| 440 | if v.ClassName == "Model" then | |
| 441 | if v:findFirstChildOfClass("Humanoid") then
| |
| 442 | table.insert(ignorelist, v) | |
| 443 | end | |
| 444 | end | |
| 445 | end | |
| 446 | local function awman() | |
| 447 | invalid:Play() | |
| 448 | invalid.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 449 | local boom = Instance.new("Part", character.Head)
| |
| 450 | boom.CanCollide = false | |
| 451 | boom.Anchored = true | |
| 452 | boom.Shape = "Ball" | |
| 453 | boom.Name = "NoPortal" | |
| 454 | - | local laser = Instance.new("Part", character.Head)
|
| 454 | + | |
| 455 | boom.CFrame = pellet.CFrame | |
| 456 | coroutine.wrap(function() | |
| 457 | for i = 1,10 do | |
| 458 | boom.Size = boom.Size + Vector3.new(0.15,0.15,0.15) | |
| 459 | boom.Transparency = boom.Transparency + 0.1 | |
| 460 | runservice.Stepped:wait() | |
| 461 | end | |
| 462 | boom:Destroy() | |
| 463 | end)() | |
| 464 | for i = 1,math.random(4,10) do | |
| 465 | local laser = Instance.new("UnionOperation", character.Head)
| |
| 466 | Instance.new("BlockMesh", laser)
| |
| 467 | laser.BrickColor = BrickColor.new("Deep orange")
| |
| 468 | laser.Size = Vector3.new(0.1,0.1,1) | |
| 469 | laser.Anchored = true | |
| 470 | laser.Material = "Neon" | |
| 471 | laser.Name = "NoPortal" | |
| 472 | laser.CanCollide = false | |
| 473 | laser.CFrame = pellet.CFrame | |
| 474 | laser.CFrame = laser.CFrame * CFrame.fromEulerAnglesXYZ(math.random(-10,10)/1.5,math.random(-10,10)/1.5,math.random(-10,10)/1.5) | |
| 475 | coroutine.wrap(function() | |
| 476 | for i = 1,20 do | |
| 477 | laser.Transparency = laser.Transparency + 0.05 | |
| 478 | laser.CFrame = laser.CFrame * CFrame.new(0,0,-0.1) | |
| 479 | runservice.Stepped:wait() | |
| 480 | end | |
| 481 | laser:destroy() | |
| 482 | end)() | |
| 483 | end | |
| 484 | pellet:destroy() | |
| 485 | end | |
| 486 | coroutine.wrap(function() | |
| 487 | local threshold = 0 | |
| 488 | while runservice.Stepped:wait() and not hitwall do | |
| 489 | local ray = Ray.new(pellet.Position, pellet.CFrame.lookVector*8) | |
| 490 | local rayhit, raypos, raysurface = workspace:FindPartOnRayWithIgnoreList(ray, ignorelist) | |
| 491 | if rayhit then | |
| 492 | if rayhit.Name ~= "NoPortal" then | |
| 493 | hitwall = true | |
| 494 | if rayhit.Name == "BluePortal" then | |
| 495 | awman() | |
| 496 | - | local portal = Instance.new("Part", character.Head)
|
| 496 | + | |
| 497 | end | |
| 498 | for i,v in pairs(illegalmaterial) do | |
| 499 | if v == rayhit.Material then | |
| 500 | awman() | |
| 501 | return | |
| 502 | end | |
| 503 | end | |
| 504 | if character.Head:findFirstChild("OrangePortal") then
| |
| 505 | character.Head.OrangePortal:destroy() | |
| 506 | end | |
| 507 | local portal = Instance.new("UnionOperation", character.Head)
| |
| 508 | - | portal.Size = portal.Size + Vector3.new(0.35,0.5,0) |
| 508 | + | |
| 509 | mesh.MeshType = "Sphere" | |
| 510 | portal.Size = Vector3.new(1,1,0.4) | |
| 511 | portal.Name = "OrangePortal" | |
| 512 | portal.BrickColor = BrickColor.new("Deep orange")
| |
| 513 | portal.Material = "Neon" | |
| 514 | portal.CanCollide = false | |
| 515 | portal.Anchored = true | |
| 516 | portal.CFrame = CFrame.new(raypos, raypos-raysurface) | |
| 517 | coroutine.wrap(function() | |
| 518 | for i = 1,10 do | |
| 519 | portal.Size = portal.Size + Vector3.new(20.35,20.5,0) | |
| 520 | runservice.Stepped:wait() | |
| 521 | end | |
| 522 | end)() | |
| 523 | local portalopen = Instance.new("Sound", portal)
| |
| 524 | portalopen.SoundId = "rbxassetid://171399373" | |
| 525 | portalopen.Volume = 1.5 | |
| 526 | portalopen.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 527 | portalopen:Play() | |
| 528 | local portalidle = Instance.new("Sound", portal)
| |
| 529 | portalidle.SoundId = "rbxassetid://148894502" | |
| 530 | portalidle.Volume = 0.25 | |
| 531 | portalidle:Play() | |
| 532 | portalidle.Looped = true | |
| 533 | local gothroughsound = Instance.new("Sound", portal)
| |
| 534 | gothroughsound.Volume = 1.5 | |
| 535 | game.Debris:AddItem(portalopen, portalopen.TimeLength) | |
| 536 | portal.Touched:connect(function(part) | |
| 537 | if part.Anchored then return end | |
| 538 | gothroughsound.PlaybackSpeed = 1+(math.random(-20,20)/120) | |
| 539 | if part.Parent.ClassName == "Accessory" or part.Parent.ClassName == "Hat" or part.Parent.ClassName == "Tool" then | |
| 540 | if part.Parent.Parent ~= workspace then | |
| 541 | --print("ignored hat on player")
| |
| 542 | return | |
| 543 | end | |
| 544 | end | |
| 545 | if character.Head:findFirstChild("BluePortal") then
| |
| 546 | local humus = part.Parent:findFirstChildOfClass("Humanoid")
| |
| 547 | if humus then | |
| 548 | local head = part.Parent:findFirstChild("Head")
| |
| 549 | if head then | |
| 550 | local wentthrough = part.Parent:findFirstChild("wentthroughportal")
| |
| 551 | --[[if wentthrough then | |
| 552 | print("returned from head tp")
| |
| 553 | return | |
| 554 | end--]] | |
| 555 | if not wentthrough then | |
| 556 | local wentth = Instance.new("BoolValue", part.Parent)
| |
| 557 | wentth.Name = "wentthroughportal" | |
| 558 | game.Debris:AddItem(wentth, 0.4) | |
| 559 | local headvelocity = head.Velocity | |
| 560 | if headvelocity.y < -50 or headvelocity.y > 50 or headvelocity.z < -50 or headvelocity.z > 50 or headvelocity.x < -50 or headvelocity.x > 50 then | |
| 561 | gothroughsound.SoundId = "rbxassetid://2769872789" | |
| 562 | else | |
| 563 | gothroughsound.SoundId = "rbxassetid://232806289" | |
| 564 | end | |
| 565 | gothroughsound:Play() | |
| 566 | head.CFrame = character.Head.BluePortal.CFrame * CFrame.new(0,2,4) | |
| 567 | local px,py,pz = character.Head.BluePortal.CFrame:toEulerAnglesXYZ() | |
| 568 | head.CFrame = CFrame.new(head.Position) * CFrame.fromEulerAnglesXYZ(0,py,0) | |
| 569 | local pushv = Instance.new("BodyVelocity", head)
| |
| 570 | pushv.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 571 | pushv.Velocity = character.Head.BluePortal.CFrame.lookVector * (-15 + headvelocity.y/1.2) | |
| 572 | humus:ChangeState(Enum.HumanoidStateType.GettingUp) | |
| 573 | game.Debris:AddItem(pushv, 0.2) | |
| 574 | end | |
| 575 | else | |
| 576 | local wentthrough = part:findFirstChild("wentthroughportal")
| |
| 577 | --[[if wentthrough then | |
| 578 | print("returned from humanoid part tp")
| |
| 579 | return | |
| 580 | end--]] | |
| 581 | if not wentthrough then | |
| 582 | local wentth = Instance.new("BoolValue", part)
| |
| 583 | wentth.Name = "wentthroughportal" | |
| 584 | game.Debris:AddItem(wentth, 0.4) | |
| 585 | local partvelocity = part.Velocity | |
| 586 | if partvelocity.y < -50 or partvelocity.y > 50 or partvelocity.z < -50 or partvelocity.z > 50 or partvelocity.x < -50 or partvelocity.x > 50 then | |
| 587 | gothroughsound.SoundId = "rbxassetid://2769872789" | |
| 588 | else | |
| 589 | gothroughsound.SoundId = "rbxassetid://232806289" | |
| 590 | end | |
| 591 | gothroughsound:Play() | |
| 592 | part.CFrame = character.Head.BluePortal.CFrame * CFrame.new(0,2,4) | |
| 593 | local pushv = Instance.new("BodyVelocity", part)
| |
| 594 | pushv.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 595 | pushv.Velocity = character.Head.BluePortal.CFrame.lookVector * (-15 + partvelocity.y/1.2) | |
| 596 | game.Debris:AddItem(pushv, 0.2) | |
| 597 | end | |
| 598 | end | |
| 599 | else | |
| 600 | local wentthrough = part:findFirstChild("wentthroughportal")
| |
| 601 | --[[if wentthrough then | |
| 602 | print("returned from part tp")
| |
| 603 | return | |
| 604 | end--]] | |
| 605 | if not wentthrough then | |
| 606 | local wentth = Instance.new("BoolValue", part)
| |
| 607 | wentth.Name = "wentthroughportal" | |
| 608 | game.Debris:AddItem(wentth, 0.4) | |
| 609 | local partvelocity = part.Velocity | |
| 610 | if partvelocity.y < -50 or partvelocity.y > 50 or partvelocity.z < -50 or partvelocity.z > 50 or partvelocity.x < -50 or partvelocity.x > 50 then | |
| 611 | gothroughsound.SoundId = "rbxassetid://2769872789" | |
| 612 | else | |
| 613 | gothroughsound.SoundId = "rbxassetid://232806289" | |
| 614 | end | |
| 615 | gothroughsound:Play() | |
| 616 | part.CFrame = character.Head.BluePortal.CFrame * CFrame.new(0,2,4) | |
| 617 | local pushv = Instance.new("BodyVelocity", part)
| |
| 618 | pushv.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
| 619 | pushv.Velocity = character.Head.BluePortal.CFrame.lookVector * (-15 + partvelocity.y/1.2) | |
| 620 | game.Debris:AddItem(pushv, 0.2) | |
| 621 | end | |
| 622 | end | |
| 623 | end | |
| 624 | end) | |
| 625 | else | |
| 626 | awman() | |
| 627 | end | |
| 628 | end | |
| 629 | - | end)() |
| 629 | + | |
| 630 | threshold = threshold + 1 | |
| 631 | if threshold == 200 then | |
| 632 | pellet:destroy() | |
| 633 | break | |
| 634 | end | |
| 635 | end | |
| 636 | pellet:destroy() | |
| 637 | end)() | |
| 638 | end | |
| 639 | end) | |
| 640 | end)) | |
| 641 | Part10.Name = "Light" | |
| 642 | Part10.Parent = Tool0 | |
| 643 | Part10.CFrame = CFrame.new(-19.3030968, 1.33081019, -35.2257767, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
| 644 | Part10.Position = Vector3.new(-19.3030968, 1.33081019, -35.2257767) | |
| 645 | Part10.Color = Color3.new(0, 1, 1) | |
| 646 | Part10.Transparency = 1 | |
| 647 | Part10.Size = Vector3.new(0.230000943, 0.230000943, 0.230000943) | |
| 648 | Part10.BottomSurface = Enum.SurfaceType.Smooth | |
| 649 | Part10.BrickColor = BrickColor.new("Toothpaste")
| |
| 650 | Part10.Material = Enum.Material.Neon | |
| 651 | Part10.TopSurface = Enum.SurfaceType.Smooth | |
| 652 | Part10.brickColor = BrickColor.new("Toothpaste")
| |
| 653 | Part10.Shape = Enum.PartType.Ball | |
| 654 | for i,v in pairs(mas:GetChildren()) do | |
| 655 | v.Parent = owner.Character | |
| 656 | pcall(function() v:MakeJoints() end) | |
| 657 | end | |
| 658 | mas:Destroy() | |
| 659 | for i,v in pairs(cors) do | |
| 660 | spawn(function() | |
| 661 | pcall(v) | |
| 662 | end) | |
| 663 | end | |
| 664 | Tool0.CanBeDropped = false | |
| 665 | NLS([[ | |
| 666 | local owner | |
| 667 | local character | |
| 668 | local rootpart | |
| 669 | local charhum | |
| 670 | mouse = game:GetService("Players").LocalPlayer:GetMouse()
| |
| 671 | equipped = false | |
| 672 | canshoot = true | |
| 673 | grabbingwho = nil | |
| 674 | runservice = game:GetService("RunService")
| |
| 675 | tool = script.Parent | |
| 676 | handle = tool.Handle | |
| 677 | remote = tool:WaitForChild("portal")
| |
| 678 | bluesound = handle.Blue | |
| 679 | orangesound = handle.Orange | |
| 680 | invalid = handle.Invalid | |
| 681 | ||
| 682 | zoffset = 0 | |
| 683 | yoffset = 0 | |
| 684 | xoffset = 0 | |
| 685 | xrotoffset = 0 | |
| 686 | yrotoffset = 0 | |
| 687 | zrotoffset = 0 | |
| 688 | xrotoffsetportal = 0 | |
| 689 | yrotoffsetportal = 0 | |
| 690 | zrotoffsetportal = 0 | |
| 691 | ||
| 692 | tool.Unequipped:connect(function() | |
| 693 | equipped = false | |
| 694 | charhum.AutoRotate = true | |
| 695 | if character["Right Arm"]:findFirstChild("RightGriplocal") then
| |
| 696 | character["Right Arm"]:findFirstChild("RightGriplocal"):destroy()
| |
| 697 | end | |
| 698 | if character.Torso:findFirstChild("LeftArmWeldportallocal") then
| |
| 699 | character.Torso:findFirstChild("LeftArmWeldportallocal"):destroy()
| |
| 700 | end | |
| 701 | if character.Torso:findFirstChild("RightArmWeldportallocal") then
| |
| 702 | character.Torso:findFirstChild("RightArmWeldportallocal"):destroy()
| |
| 703 | end | |
| 704 | if character.Torso:findFirstChild("HeadWeldportallocal") then
| |
| 705 | character.Torso:findFirstChild("HeadWeldportallocal"):destroy()
| |
| 706 | end | |
| 707 | if character:findFirstChild("HumanoidRootPart") then
| |
| 708 | if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldportallocal") then
| |
| 709 | character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldportallocal"):destroy()
| |
| 710 | end | |
| 711 | end | |
| 712 | end) | |
| 713 | ||
| 714 | orangeshot = false | |
| 715 | ||
| 716 | mouse.KeyDown:connect(function(key) | |
| 717 | if not equipped then return end | |
| 718 | key = key:lower() | |
| 719 | if key == "r" then | |
| 720 | remote:FireServer("closeportals")
| |
| 721 | for i = 1,20 do | |
| 722 | yrotoffsetportal = math.sin(i/2)/8 | |
| 723 | runservice.RenderStepped:wait() | |
| 724 | end | |
| 725 | yrotoffsetportal = 0 | |
| 726 | elseif key == "e" then | |
| 727 | if grabbingwho == nil then | |
| 728 | local ray = Ray.new(character.Head.Position, character.Head.CFrame.lookVector*7) | |
| 729 | local hitray, hitposition = workspace:FindPartOnRayWithIgnoreList(ray, {character})
| |
| 730 | if hitray then | |
| 731 | if not hitray.Anchored then | |
| 732 | grabbingwho = hitray | |
| 733 | canshoot = false | |
| 734 | remote:FireServer("grab", hitray)
| |
| 735 | coroutine.wrap(function() | |
| 736 | while runservice.RenderStepped:wait() do | |
| 737 | if grabbingwho ~= nil then | |
| 738 | grabbingwho.Velocity = Vector3.new() | |
| 739 | grabbingwho.CFrame = grabbingwho.CFrame:lerp(character.Head.CFrame * CFrame.new(0,0,-7), 0.1) | |
| 740 | end | |
| 741 | end | |
| 742 | end)() | |
| 743 | end | |
| 744 | end | |
| 745 | else | |
| 746 | grabbingwho = nil | |
| 747 | remote:FireServer("grab")
| |
| 748 | for i = 1,20 do | |
| 749 | yrotoffsetportal = math.sin(i/2)/8 | |
| 750 | runservice.RenderStepped:wait() | |
| 751 | end | |
| 752 | yrotoffsetportal = 0 | |
| 753 | canshoot = true | |
| 754 | end | |
| 755 | end | |
| 756 | end) | |
| 757 | ||
| 758 | mouse.Button1Down:connect(function() | |
| 759 | if equipped and canshoot then | |
| 760 | remote:FireServer("shootblue", handle.CFrame, mouse.Hit)
| |
| 761 | for i = 1,10 do | |
| 762 | zoffset = math.cos(i/12)/1.5 | |
| 763 | xrotoffset = math.cos(i/12)/5 | |
| 764 | runservice.RenderStepped:wait() | |
| 765 | end | |
| 766 | xrotoffset = 0 | |
| 767 | zoffset = 0 | |
| 768 | end | |
| 769 | end) | |
| 770 | mouse.Button2Down:connect(function() | |
| 771 | orangeshot = true | |
| 772 | coroutine.wrap(function() | |
| 773 | if orangeshot then | |
| 774 | wait(0.1) | |
| 775 | orangeshot = false | |
| 776 | end | |
| 777 | end)() | |
| 778 | end) | |
| 779 | mouse.Button2Up:connect(function() | |
| 780 | if equipped and canshoot then | |
| 781 | if orangeshot then | |
| 782 | remote:FireServer("shootorange", handle.CFrame, mouse.Hit)
| |
| 783 | for i = 1,10 do | |
| 784 | zoffset = math.cos(i/12)/1.5 | |
| 785 | xrotoffset = math.cos(i/12)/5 | |
| 786 | runservice.RenderStepped:wait() | |
| 787 | end | |
| 788 | xrotoffset = 0 | |
| 789 | zoffset = 0 | |
| 790 | end | |
| 791 | end | |
| 792 | end) | |
| 793 | ||
| 794 | tool.Equipped:connect(function() | |
| 795 | equipped = true | |
| 796 | owner = game:GetService("Players").LocalPlayer
| |
| 797 | character = owner.Character | |
| 798 | charhum = character:findFirstChildOfClass("Humanoid")
| |
| 799 | charhum.AutoRotate = false | |
| 800 | rootpart = character.HumanoidRootPart | |
| 801 | mouse = owner:GetMouse() | |
| 802 | character["Right Arm"]:WaitForChild("RightGrip")
| |
| 803 | local fakegrip = Instance.new("Weld", character["Right Arm"])
| |
| 804 | fakegrip.Part0 = character["Right Arm"] | |
| 805 | fakegrip.Part1 = handle | |
| 806 | fakegrip.Name = "RightGriplocal" | |
| 807 | fakegrip.C0 = CFrame.new(0.0172424316, -1.10172808, -0.631057739, 0.939694643, 0.342014611, 1.5361735e-06, 0.336815238, -0.925408483, -0.173644245, -0.0593881048, 0.163174912, -0.984808147) | |
| 808 | local rightarm = Instance.new("Weld", character.Torso)
| |
| 809 | rightarm.Part0 = character.Torso | |
| 810 | rightarm.Part1 = character["Right Arm"] | |
| 811 | rightarm.C0 = CFrame.new(1.5,0,0) | |
| 812 | rightarm.Name = "RightArmWeldportallocal" | |
| 813 | local leftarm = Instance.new("Weld", character.Torso)
| |
| 814 | leftarm.Part0 = character.Torso | |
| 815 | leftarm.Part1 = character["Left Arm"] | |
| 816 | leftarm.C0 = CFrame.new(-1.5,0,0) | |
| 817 | leftarm.Name = "LeftArmWeldportallocal" | |
| 818 | local head = Instance.new("Weld", character.Torso)
| |
| 819 | head.Part0 = character.Torso | |
| 820 | head.Part1 = character.Head | |
| 821 | head.C0 = CFrame.new(0,1.5,0) | |
| 822 | head.Name = "HeadWeldportallocal" | |
| 823 | local humanoidrootpart = Instance.new("Weld", rootpart)
| |
| 824 | humanoidrootpart.Part0 = rootpart | |
| 825 | humanoidrootpart.Part1 = character.Torso | |
| 826 | humanoidrootpart.Name = "HumanoidRootPartWeldportallocal" | |
| 827 | coroutine.wrap(function() | |
| 828 | while wait() and equipped do --send c0 | |
| 829 | remote:FireServer("updatec0", "RightGrip", fakegrip.C0)
| |
| 830 | remote:FireServer("updatec0", "HeadWeldportal", head.C0)
| |
| 831 | remote:FireServer("updatec0", "HumanoidRootPartWeldportal", humanoidrootpart.C0)
| |
| 832 | remote:FireServer("updatec0", "LeftArmWeldportal", leftarm.C0)
| |
| 833 | remote:FireServer("updatec0", "RightArmWeldportal", rightarm.C0)
| |
| 834 | end | |
| 835 | end)() | |
| 836 | coroutine.wrap(function() | |
| 837 | while runservice.RenderStepped:wait() and equipped do | |
| 838 | if rootpart.Velocity.x >= 2 or rootpart.Velocity.x <= -2 or rootpart.Velocity.z >= 2 or rootpart.Velocity.z <= -2 then | |
| 839 | xoffset = math.sin(tick()*5)/10 | |
| 840 | yoffset = math.sin(tick()*10)/10 | |
| 841 | elseif rootpart.Velocity.x <= 2 or rootpart.Velocity.x >= -2 or rootpart.Velocity.z <= 2 or rootpart.Velocity.z >= -2 then | |
| 842 | xoffset = 0 | |
| 843 | yoffset = math.sin(tick())/20 | |
| 844 | --print("standing")
| |
| 845 | end | |
| 846 | end | |
| 847 | end)() | |
| 848 | coroutine.wrap(function() | |
| 849 | while runservice.RenderStepped:wait() and equipped do | |
| 850 | character["Left Arm"].LocalTransparencyModifier = 0 | |
| 851 | character["Right Arm"].LocalTransparencyModifier = 0 | |
| 852 | for q,w in pairs(character.Head:GetDescendants()) do | |
| 853 | if w.Name == "NoPortal" or w.Name == "BluePortal" or w.Name == "OrangePortal" or w.Name == "pellet" then | |
| 854 | w.LocalTransparencyModifier = 0 | |
| 855 | end | |
| 856 | end | |
| 857 | if (workspace.CurrentCamera.CFrame.p - character.Head.CFrame.p).magnitude <= 1.5 then | |
| 858 | charhum.CameraOffset = Vector3.new(0,0.5,0) | |
| 859 | else | |
| 860 | charhum.CameraOffset = Vector3.new(0,0,0) | |
| 861 | end | |
| 862 | local absvel = rootpart.CFrame:vectorToObjectSpace(rootpart.Velocity) | |
| 863 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.fromEulerAnglesXYZ(absvel.z/120,0,-absvel.x/120),0.1) | |
| 864 | if not charhum.PlatformStand then | |
| 865 | rootpart.CFrame = rootpart.CFrame:lerp(CFrame.new(rootpart.Position, Vector3.new(mouse.Hit.p.x,rootpart.Position.y,mouse.Hit.p.z)),0.2) | |
| 866 | else | |
| 867 | charhum.PlatformStand = false | |
| 868 | end | |
| 869 | fakegrip.C0 = fakegrip.C0:lerp(CFrame.new(0.0172424316, -1.10172808, -0.631057739, 0.939694643, 0.342014611, 1.5361735e-06, 0.336815238, -0.925408483, -0.173644245, -0.0593881048, 0.163174912, -0.984808147) * CFrame.fromEulerAnglesXYZ(xrotoffsetportal,yrotoffsetportal,zrotoffsetportal),0.2) | |
| 870 | head.C0 = head.C0:lerp(CFrame.new(0,1,0) * CFrame.fromEulerAnglesXYZ(((mouse.Hit.p-mouse.Origin.p).unit.y),0,0) * CFrame.new(0,0.5,0),0.2) | |
| 871 | leftarm.C0 = leftarm.C0:lerp(CFrame.new(-0.3+xoffset,-0.3+yoffset,-0.5+zoffset) * CFrame.fromEulerAnglesXYZ((((mouse.Hit.p-mouse.Origin.p).unit.y)+math.pi/2)+xrotoffset,yrotoffset,math.rad(30)+zrotoffset) * CFrame.new(0,-1,-0.5),0.2) | |
| 872 | rightarm.C0 = rightarm.C0:lerp(CFrame.new(1+xoffset,0+yoffset,-0.3+zoffset) * CFrame.fromEulerAnglesXYZ((((mouse.Hit.p-mouse.Origin.p).unit.y)+math.pi/2)+xrotoffset,yrotoffset,math.rad(-20)+zrotoffset) * CFrame.new(0,-0.5,-0.5),0.2) | |
| 873 | end | |
| 874 | character["Left Arm"].LocalTransparencyModifier = 0 | |
| 875 | character["Right Arm"].LocalTransparencyModifier = 0 | |
| 876 | charhum.CameraOffset = Vector3.new(0,0,0) | |
| 877 | end)() | |
| 878 | end)]], Tool0) |