null
nil
-
true
0
0.400000006
0.5
1
0
-0
0
0
1
0
-1
-0
ClassicPaintballGun
rbxasset://Textures\Gun.png
true
-
true
Paintball
ball = script.Parent
damage = 99
function onTouched(hit)
local humanoid = hit.Parent:findFirstChild("Humanoid")
if hit:getMass() < 1.2 * 200 then
hit.BrickColor = ball.BrickColor
end
-- make a splat
for i=1,3 do
local s = Instance.new("Part")
s.Shape = 1 -- block
s.formFactor = 2 -- plate
s.Size = Vector3.new(1,.4,1)
s.BrickColor = ball.BrickColor
local v = Vector3.new(math.random(-1,1), math.random(0,1), math.random(-1,1))
s.Velocity = 15 * v
s.CFrame = CFrame.new(ball.Position + v, v)
ball.BrickCleanup:clone().Parent = s
s.BrickCleanup.Disabled = false
s.Parent = game.Workspace
end
if humanoid ~= nil then
tagHumanoid(humanoid)
humanoid:TakeDamage(damage)
wait(2)
untagHumanoid(humanoid)
end
connection:disconnect()
ball.Parent = nil
end
function tagHumanoid(humanoid)
-- todo: make tag expire
local tag = ball:findFirstChild("creator")
if tag ~= nil then
local new_tag = tag:clone()
new_tag.Parent = humanoid
end
end
function untagHumanoid(humanoid)
if humanoid ~= nil then
local tag = humanoid:findFirstChild("creator")
if tag ~= nil then
tag.Parent = nil
end
end
end
connection = ball.Touched:connect(onTouched)
wait(8)
ball.Parent = nil
true
-
false
Mouselcon
local MOUSE_ICON = 'rbxasset://textures/GunCursor.png'
local RELOADING_ICON = 'rbxasset://textures/GunWaitCursor.png'
local Tool = script.Parent
local Mouse = nil
local function UpdateIcon()
if Mouse then
Mouse.Icon = Tool.Enabled and MOUSE_ICON or RELOADING_ICON
end
end
local function OnEquipped(mouse)
Mouse = mouse
UpdateIcon()
end
local function OnChanged(property)
if property == 'Enabled' then
UpdateIcon()
end
end
Tool.Equipped:connect(OnEquipped)
Tool.Changed:connect(OnChanged)
true
-
false
PaintballShooter
Tool = script.Parent
colors = {45, 119, 21, 24, 23, 105, 104}
function fire(v)
Tool.Handle.Fire:play()
local vCharacter = Tool.Parent
local vPlayer = game.Players:playerFromCharacter(vCharacter)
local missile = Instance.new("Part")
local spawnPos = vCharacter.PrimaryPart.Position
spawnPos = spawnPos + (v * 8)
missile.Position = spawnPos
missile.Size = Vector3.new(1,1,1)
missile.Velocity = v * 100
missile.BrickColor = BrickColor.new(colors[math.random(1, #colors)])
missile.Shape = 0
missile.BottomSurface = 0
missile.TopSurface = 0
missile.Name = "Paintball"
missile.Elasticity = 0
missile.Reflectance = 0
missile.Friction = .9
local force = Instance.new("BodyForce")
force.force = Vector3.new(0,90,0)
force.Parent = missile
Tool.BrickCleanup:clone().Parent = missile
local new_script = script.Parent.Paintball:clone()
new_script.Disabled = false
new_script.Parent = missile
local creator_tag = Instance.new("ObjectValue")
creator_tag.Value = vPlayer
creator_tag.Name = "creator"
creator_tag.Parent = missile
missile.Parent = game.Workspace
end
Tool.Enabled = true
function onActivated()
if not Tool.Enabled then
return
end
Tool.Enabled = false
local character = Tool.Parent;
local humanoid = character.Humanoid
if humanoid == nil then
print("Humanoid not found")
return
end
local targetPos = humanoid.TargetPoint
local lookAt = (targetPos - character.Head.Position).unit
fire(lookAt)
wait(0.1)
Tool.Enabled = true
end
script.Parent.Activated:connect(onActivated)
true
-
true
BrickCleanup
-- this script removes its parent from the workspace after 120 seconds
wait(120)
script.Parent.Parent = nil
true
-
false
-0.5
0.5
0
0
-0.5
0.5
0
0
194
-308.171051
16.299324
-522.388489
0.300854057
-0.953669786
-0.000759380753
-3.3196188e-009
0.000796270848
-0.999999642
0.953670025
0.300853968
0.000239558169
false
false
0.5
0
0.300000012
-0.5
0.5
0
0
-0.5
0.5
0
0
false
256
Handle
0
-0.5
0.5
0
0
0
0
0
-0.5
0.5
0
0
0
0
0
0
true
1
1
3
2
-
2
2
rbxasset://fonts/PaintballGun.mesh
5
Mesh
0
0
0
1
1
1
rbxasset://textures/PaintballGunTex128.png
1
1
1
true
-
false
Fire
1
25
false
rbxasset://sounds\\paintball.wav
1
true