null nil false true 0 0 1 1 0 0 0 1 0 0 0 1 RoachfingersDodgeball http://www.roblox.com/asset/?id=131774352 Dodgeball false -0.5 0.5 0 0 -0.5 0.5 0 0 23 -19.9982605 1.45499945 57.539917 1 7.45122178e-017 8.75443291e-008 -3.33066907e-016 1 0 -8.75443291e-008 0 1 true 0.5 0.300000012 -0.5 0.5 0 0 -0.5 0.5 0 0 false 512 Handle 0 -0.5 0.5 0 0 0 0 0 -0.5 0.5 0 0 0 0 0 0 0 0 2.92999935 2.92999935 2.92999935 false Fire 1 false http://www.roblox.com/asset/?id=131774671 1 owner passTo http://www.roblox.com/Asset?ID=94156535 EquipAnim2 http://www.roblox.com/Asset?ID=94156486 IdleEquipAnim2 http://www.roblox.com/Asset?ID=94157627 ThrowAnim2 http://www.roblox.com/Asset?ID=94156580 UnEquipAnim2 true Killer --[[ ULTIMATE ROBLOX DODGEBALL 2 ALEXNEWTRON 2013 THE STEALING OF THIS SCRIPT IS NOOBISH. ]] Ball = script.Parent; Owner = Ball:WaitForChild("owner").Value; PassTo = Ball:WaitForChild("passTo"); --OriginalTeam = game.Players[Owner]["playerTeam"].Value; OriginalColor = Ball:WaitForChild("ballColor").Value BALL_KILL_IMAGE = "http://www.roblox.com/asset/?id=130512988"; Ball.BrickColor = BrickColor.new("White"); Ball.Fire:Play(); function killOfficial(victim) local k = Instance.new("StringValue"); k.Name = "Killer"; k.Value = Owner; local v = Instance.new("StringValue"); v.Parent = k; v.Name = "victim" v.Value = victim; local w = Instance.new("StringValue"); w.Parent = k; w.Name = "weapon" w.Value = BALL_KILL_IMAGE k.Parent = workspace["GameKills"]; end function hitOfficial(victim, dmg) local o = Instance.new("StringValue"); o.Name = "owner"; o.Value = Owner; local v = Instance.new("StringValue"); v.Parent = o; v.Name = "victim" v.Value = victim; local d = Instance.new("IntValue"); d.Parent = o; d.Name = "damage" d.Value = dmg; o.Parent = workspace["DamageLog"]; Ball.PlayerHit:Play(); Ball.Fire:Stop(); end function toucher(hit) print("Hit "..hit.Name); if (hit.Parent:findFirstChild("Humanoid")) then if (hit.Parent.Name ~= Owner) then if (game.Players[hit.Parent.Name]:findFirstChild("playerTeam")) then if (game.Players[hit.Parent.Name]["playerTeam"].Value == OriginalTeam) then -- Pass the ball to the team member. PassTo.Value = hit.Parent.Name; script.Disabled = true; else -- Make the player loose health. if (hit.Parent.Humanoid.Health > 0 and game.Players[hit.Parent.Name]:findFirstChild("isInGame")) then if (game.Players[hit.Parent.Name]["isInGame"].Value) then hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - workspace.globalDodgeballDamage.Value; hitOfficial(hit.Parent.Name, 999999999999) if (hit.Parent.Humanoid.Health <= 0) then killOfficial(hit.Parent.Name); -- We killed somebody. end print("Disabling Ball"); Ball.BrickColor = OriginalColor script.Disabled = true; end end end end end end end Ball.Touched:connect(toucher); wait(2); print("Disabling Ball"); Ball:Destroy(); Ball.BrickColor = OriginalColor script.Disabled = true; false Hit 1 false http://www.roblox.com/asset/?id=130781043 1 false Sound --[[ ULTIMATE ROBLOX DODGEBALL 2 ALEXNEWTRON 2013 THE STEALING OF THIS SCRIPT IS NOOBISH. ]] Ball = script.Parent; BallTouch = Ball:WaitForChild("Hit"); LAST_SOUND_HIT = 0; SOUND_ALLOWED_TIME = 0.1; GROUND_ALLOWED_TIME = 0.3; equipped = 0 if (Ball.Parent:isA("Tool")) then Ball.Parent.Equipped:connect(function() equipped = 1 while equipped == 1 do Ball.Hold:Play() wait(4.233011) end end); Ball.Parent.Unequipped:connect(function() equipped = 0 Ball.Hold:Stop() end); end Ball.Touched:connect(function(hit) if (LAST_SOUND_HIT+SOUND_ALLOWED_TIME<time() and hit.CanCollide) then LAST_SOUND_HIT = time(); if (hit.Size == Vector3.new(10,0.2,10)) then -- This is a ground. Have we hit our debounce for the ground? if (LAST_SOUND_HIT+GROUND_ALLOWED_TIME>time()) then return; end end BallTouch.Volume = math.min(Ball.Velocity.magnitude/50,1); print("MAGNITUDE: "..Ball.Velocity.magnitude); BallTouch.Pitch=.5+math.random(); if (Ball.Velocity.magnitude > 60) then BallTouch:Play(); end end end); false Hold 1 false http://www.roblox.com/asset/?id=131774430 1 false PlayerHit 1 false http://www.roblox.com/asset/?id=131774794 1 5 Decal 20 0 http://www.roblox.com/asset/?id=131774352 0 true Passer false Dodgeball Scriptv3 --[[ ULTIMATE ROBLOX DODGEBALL 2 ALEXNEWTRON 2013 THE STEALING OF THIS SCRIPT IS NOOBISH. ]] local Tool = script.Parent; local player = game.Players.LocalPlayer; local Ball = Tool:WaitForChild("Handle"); local PLAYER_HAS_THROWN = false; local BallColor = nil; local EquipAnim local IdleEquipAnim local ThrowAnim local UnEquipAnim if not Ball:findFirstChild("ballColor") then BallColor = Ball.BrickColor; local bc = Instance.new("BrickColorValue") bc.Parent = Ball; bc.Name = "ballColor" bc.Value = BallColor; else BallColor = Ball["ballColor"].Value end Ball.BrickColor = BallColor; Ball.Killer.Disabled = true; Ball.Passer.Disabled = true; if (Ball:findFirstChild("BodyForce")) then Ball["BodyForce"]:remove(); end function WaitForChild(parent, childName) while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end print("done waiting"); return parent[childName] end function onActivated() wait() local character = Tool.Parent; local humanoid = character.Humanoid; local targetPos = humanoid.TargetPoint; local lookAt = (targetPos - character.Head.Position).unit; Ball.Hold:Stop() if (workspace:findFirstChild(player.Name):findFirstChild("Torso") and not PLAYER_HAS_THROWN and workspace.canThrowDodgeball.Value) then PLAYER_HAS_THROWN = true; local torso = player.Character.Torso; local spawnPos = torso.Position + (lookAt * 25); if ThrowAnim then ThrowAnim:Play() end wait(0.3) print("Shooting"); local p = Tool.Handle:Clone(); p.owner.Value = player.Name; p.passTo.Value = ""; p.CanCollide = true; local prts = {}; -- Are there any other parts? local tl = Tool:GetChildren(); for i=1, #tl do if (tl[i].className == "Part" and tl[i].Name ~= "Handle") then -- There are extra parts in this dodgeball that need to be sent to the Handle. local prT = tl[i]:Clone(); prT.Parent = p; prT.Name = "EXTRAPART"..i prT.Anchored = true; local w = Instance.new("Weld") w.Parent = p w.Part0 = p w.Part1 = prT w.C0 = p.CFrame:inverse(); w.C1 = prT.CFrame:inverse(); prT.Anchored = false; table.insert(prts, prT); end end table.insert(prts, p); p.Parent = workspace; -- p.Fire:Play(); for i=1, #prts do prts[i].Velocity = lookAt * ((200 / #prts) * #prts); end local bForce = Instance.new("BodyForce"); bForce.force = Vector3.new(0,100,0); bForce.Parent = p; p.Killer.Disabled = false; p.Passer.Disabled = false OnUnequipped(); script.Parent:remove(); end end function OnEquipped(m) local character = Tool.Parent; local humanoid = character.Humanoid; print("running"); if (humanoid) then print("running2"); EquipAnim = humanoid:LoadAnimation(WaitForChild(Tool.Handle, 'EquipAnim2')) IdleEquipAnim = humanoid:LoadAnimation(WaitForChild(Tool.Handle, 'IdleEquipAnim2')) ThrowAnim = humanoid:LoadAnimation(WaitForChild(Tool.Handle, 'ThrowAnim2')) UnEquipAnim = humanoid:LoadAnimation(WaitForChild(Tool.Handle, 'UnEquipAnim2')) end if EquipAnim then EquipAnim:Play() end if IdleEquipAnim then IdleEquipAnim:Play() end end Tool.Activated:connect(onActivated) function OnUnequipped() print("Stopping Animations"); if EquipAnim then EquipAnim:Stop() end if ThrowAnim then ThrowAnim:Stop() end if IdleEquipAnim then IdleEquipAnim:Stop() end end Tool.Equipped:connect(OnEquipped) Tool.Unequipped:connect(OnUnequipped)