nabinraj
|
  |
| Joined: 07 Nov 2010 |
| Total Posts: 276 |
|
|
| 07 Mar 2014 02:29 PM |
hello, i am making a game which includes the gear hyperlaser. however, i need to change the color of the bullet. in the script it shows a line saying, BaseShot.BrickColor = BrickColor.new('Toothpaste'), i changed it but nothing happened, can someone tell me which part of the script below do i need to change? please copy and paste the line or section/paragraph.
Script:
----------------- --| Constants |-- -----------------
local SHOT_SPEED = 100 local SHOT_TIME = 1
local NOZZLE_OFFSET = Vector3.new(0, 0.4, -1.1)
----------------- --| Variables |-- -----------------
local PlayersService = Game:GetService('Players') local DebrisService = Game:GetService('Debris')
local Tool = script.Parent local Handle = Tool:WaitForChild('Handle')
local FireSound = Handle:WaitForChild('Fire') local ReloadSound = Handle:WaitForChild('Reload') local HitFadeSound = script:WaitForChild('HitFade')
local PointLight = Handle:WaitForChild('PointLight')
local Character = nil local Humanoid = nil local Player = nil
local BaseShot = nil
----------------- --| Functions |-- -----------------
-- Returns a character ancestor and its Humanoid, or nil local function FindCharacterAncestor(subject) if subject and subject ~= Workspace then local humanoid = subject:FindFirstChild('Humanoid') if humanoid then return subject, humanoid else return FindCharacterAncestor(subject.Parent) end end return nil end
-- Removes any old creator tags and applies new ones to the specified target local function ApplyTags(target) while target:FindFirstChild('creator') do target.creator:Destroy() end
local creatorTag = Instance.new('ObjectValue') creatorTag.Value = Player creatorTag.Name = 'creator' --NOTE: Must be called 'creator' for website stats
local iconTag = Instance.new('StringValue') iconTag.Value = Tool.TextureId iconTag.Name = 'icon'
iconTag.Parent = creatorTag creatorTag.Parent = target DebrisService:AddItem(creatorTag, 4) end
-- Returns all objects under instance with Transparency local function GetTransparentsRecursive(instance, partsTable) local partsTable = partsTable or {} for _, child in pairs(instance:GetChildren()) do if child:IsA('BasePart') or child:IsA('Decal') then table.insert(partsTable, child) end GetTransparentsRecursive(child, partsTable) end return partsTable end
local function SelectionBoxify(instance) local selectionBox = Instance.new('SelectionBox') selectionBox.Adornee = instance selectionBox.Color = BrickColor.new('Toothpaste') selectionBox.Parent = instance return selectionBox end
local function Light(instance) local light = PointLight:Clone() light.Range = light.Range + 2 light.Parent = instance end
local function FadeOutObjects(objectsWithTransparency, fadeIncrement) repeat local lastObject = nil for _, object in pairs(objectsWithTransparency) do object.Transparency = object.Transparency + fadeIncrement lastObject = object end wait() until lastObject.Transparency >= 1 or not lastObject end
local function Dematerialize(character, humanoid, firstPart) humanoid.WalkSpeed = 0
local parts = {} for _, child in pairs(character:GetChildren()) do if child:IsA('BasePart') then child.Anchored = true table.insert(parts, child) elseif child:IsA('LocalScript') or child:IsA('Script') then child:Destroy() end end
local selectionBoxes = {}
local firstSelectionBox = SelectionBoxify(firstPart) Light(firstPart) wait(0.05)
for _, part in pairs(parts) do if part ~= firstPart then table.insert(selectionBoxes, SelectionBoxify(part)) Light(part) end end
local objectsWithTransparency = GetTransparentsRecursive(character) FadeOutObjects(objectsWithTransparency, 0.1)
wait(0.5)
humanoid.Health = 0 DebrisService:AddItem(character, 2)
local fadeIncrement = 0.05 Delay(0.2, function() FadeOutObjects({firstSelectionBox}, fadeIncrement) if character then character:Destroy() end end) FadeOutObjects(selectionBoxes, fadeIncrement) end
local function OnTouched(shot, otherPart) local character, humanoid = FindCharacterAncestor(otherPart) if character and humanoid and character ~= Character then ApplyTags(humanoid) if shot then local hitFadeSound = shot:FindFirstChild(HitFadeSound.Name) if hitFadeSound then hitFadeSound.Parent = humanoid.Torso hitFadeSound:Play() end shot:Destroy() end Dematerialize(character, humanoid, otherPart) end end
local function OnEquipped() Character = Tool.Parent Humanoid = Character:WaitForChild('Humanoid') Player = PlayersService:GetPlayerFromCharacter(Character) end
local function OnActivated() if Tool.Enabled and Humanoid.Health > 0 then Tool.Enabled = false
FireSound:Play()
local handleCFrame = Handle.CFrame local firingPoint = handleCFrame.p + handleCFrame:vectorToWorldSpace(NOZZLE_OFFSET) local shotCFrame = CFrame.new(firingPoint, Humanoid.TargetPoint)
local laserShotClone = BaseShot:Clone() laserShotClone.CFrame = shotCFrame + (shotCFrame.lookVector * (BaseShot.Size.Z / 2)) local bodyVelocity = Instance.new('BodyVelocity') bodyVelocity.velocity = shotCFrame.lookVector * SHOT_SPEED bodyVelocity.Parent = laserShotClone laserShotClone.Touched:connect(function(otherPart) OnTouched(laserShotClone, otherPart) end) DebrisService:AddItem(laserShotClone, SHOT_TIME) laserShotClone.Parent = Tool
wait(0) -- FireSound length
ReloadSound:Play() wait(0) -- ReloadSound length
Tool.Enabled = true end end
local function OnUnequipped()
end
-------------------- --| Script Logic |-- --------------------
BaseShot = Instance.new('Part') BaseShot.Name = 'Effect' BaseShot.FormFactor = Enum.FormFactor.Custom BaseShot.Size = Vector3.new(0.2, 0.2, 3) BaseShot.CanCollide = false BaseShot.BrickColor = BrickColor.new('Toothpaste') --<-- i tried to change the color of this, but it don't SelectionBoxify(BaseShot) -- work Light(BaseShot) HitFadeSound:Clone().Parent = BaseShot
Tool.Equipped:connect(OnEquipped) Tool.Unequipped:connect(OnUnequipped) Tool.Activated:connect(OnActivated) |
|
|
| Report Abuse |
|
|
|
| 07 Mar 2014 02:41 PM |
Following all logic, changing it should work.
What did you change it to? Remember that all colours are case sensitive, so if you did like "Really Yellow" it doesnt work because it needs to be "Really yellow" |
|
|
| Report Abuse |
|
|
|
| 07 Mar 2014 03:02 PM |
Did you try changing the color of the selection box as well?
There are 2 functions in this script that create instances for the shot. One for the part, and one for a SelectionBox, the latter of which is near the top of the script. |
|
|
| Report Abuse |
|
|
|
| 07 Mar 2014 03:05 PM |
| By the way... Is it just me or does the Hyper Laser gun look exactly like the M1 Shuriken pistol from Mass Effect... o.o |
|
|
| Report Abuse |
|
|
| |
|
nabinraj
|
  |
| Joined: 07 Nov 2010 |
| Total Posts: 276 |
|
|
| 07 Mar 2014 04:04 PM |
thanx xiao. i found it, it was one of the function, grrr. hate hiding functions!!!!
-- local function SelectionBoxify(instance) local selectionBox = Instance.new('SelectionBox') selectionBox.Adornee = instance selectionBox.Color = BrickColor.new('Toothpaste') <--- OMG THERE IT IS!!!! selectionBox.Parent = instance return selectionBox end |
|
|
| Report Abuse |
|
|
|
| 07 Mar 2014 04:06 PM |
Lol,u could've just.. Went into the script Pressed ctrl+f Searched for "BrickColor" |
|
|
| Report Abuse |
|
|
|
| 07 Mar 2014 04:45 PM |
"hate hiding functions!!!!"
Fix for it:
Write your own code :) |
|
|
| Report Abuse |
|
|
nabinraj
|
  |
| Joined: 07 Nov 2010 |
| Total Posts: 276 |
|
|
| 08 Mar 2014 01:42 PM |
| Lol, ikr i hate hiding functions too. i would've made it myself, lets just say... i am just a basic scripter, i know the basics of scripting, going to move into intimate. |
|
|
| Report Abuse |
|
|