I wrote this script for a forcefield that changes colour and makes a noise when touched. There is a button that turns it on and off. The transparency bit is therefore needed for this to properly work. Here is the script:
01 | db = false |
02 |
03 | function hit(part) |
04 | if db then return end |
05 | if script.Parent.Transparency = = 0.6 then |
06 | script.Parent.hit:Play() |
07 | script.Parent.BrickColor = BrickColor.new( "Institutional white" ) |
08 | db = true |
09 | wait( 0.2 ) |
10 | script.Parent.BrickColor = BrickColor.new( "Bright blue" ) |
11 | db = false |
12 | else return end |
13 | end |
14 |
15 |
16 | script.Parent.Touched:connect(hit) |
However, this does not seem to work and the output tells me nothing. The part IS 0.6 transparency when the field is turned on. Can someone help?
EDIT: I changed the script to include a debounce.
Considering nobody seemed bothered and/or capable enough to answer this properly, I figured I should try and work it out myself. After a long time of editing, I realised the Transparency was somehow the problem. So, I merely changed it to:
if script.Parent.Transparency ~= 1 then
That seemed to do the trick.
Thanks me!
use this instead..
1 | function hit(part) |
2 | script.Parent.hit:Play() |
3 | script.Parent.BrickColor = BrickColor.new( "Institutional white" ) |
4 | wait( 0.2 ) |
5 | script.Parent.BrickColor = BrickColor.new( "Bright blue" ) |
6 | end |
7 |
8 |
9 | script.Parent.Touched:connect(hit) |