ID:700255
 
Keywords: bug, click, dm
Hi, I'm coding a simple check list right now and for some reason Click() is taking two clicks to change the icon state.

I noticed this in a couple of other games as well where it would take two clicks to activate something instead of one. This isn't lag either.
XxIrishSnailxX wrote:
Hi, I'm coding a simple check list right now and for some reason Click() is taking two clicks to change the icon state.

I noticed this in a couple of other games as well where it would take two clicks to activate something instead of one. This isn't lag either.

Are you using the DblClick() procedure instead of Click()? If not, mind providing us with a code snippet?

NVM my friend says it's my mouse settings?

obj
Click()
if(icon_state=="1")
icon_state = "2"
else
icon_state = "1"

I believe I figured it out, It's a problem with Byond Beta 494 or whatever

Alright I have no clue what's wrong. Also the indents are in there, I just have no clue how to use the html tags.
client

MouseDown(X)


I found Click() to be vastly inferior to it's counterpart MouseDown(). Should solve your problem. I used this for targeting enemies and it worked very quickly.

Also the tag for code is (dm) (/dm) but replace the () symbols with <>.
If Click() consistently has a problem in 494 but not in 493, make a demo and post a bug report.
@XxIrishSnailxX
Do some debugging:
var/count = 1 // global variable
obj
Click(location, control, params)
world << "[src.name] has been clicked [count++] time(s)."

When you click once, does the message appear twice?

If so, it could be one of the following problems:
1) Your mouse is dirty, try cleaning it.
2) Try adjusting the sensitivity in your Control Panel.
3) It is broken. Try using another mouse.

If another mouse produces the same effect, perhaps it is a BYOND bug. Therefore, I would suggest reporting it.


@Zecronious
I am unsure why you consider Click() inferior to MouseDown(). As you probably know, MouseDown() and Click() are two different procedures. MouseDown() is called when the mouse button is down and as the reference states: Don't define this unless you need it, because it generates extra communication that is otherwise avoided..
In response to .screw
.screw wrote:
@XxIrishSnailxX
Do some debugging:
> var/count = 1 // global variable
> obj
> Click(location, control, params)
> world << "[src.name] has been clicked [count++] time(s)."
>

When you click once, does the message appear twice?

If so, it could be one of the following problems:
1) Your mouse is dirty, try cleaning it.
2) Try adjusting the sensitivity in your Control Panel.
3) It is broken. Try using another mouse.

If another mouse produces the same effect, perhaps it is a BYOND bug. Therefore, I would suggest reporting it.


@Zecronious
I am unsure why you consider Click() inferior to MouseDown(). As you probably know, MouseDown() and Click() are two different procedures. MouseDown() is called when the mouse button is down and as the reference states: Don't define this unless you need it, because it generates extra communication that is otherwise avoided..

When I used Click() in Shooter Engine it preformed well under par. By that I mean it wasn't viable to use it with my Shooting System. However... MouseDown preformed exceptionally well.

When lag time just isn't an option, MouseDown is the best hands down.
In response to Zecronious
Zecronious wrote:
When I used Click() in Shooter Engine it preformed well under par. By that I mean it wasn't viable to use it with my Shooting System. However... MouseDown preformed exceptionally well.

If one were make a shooting game, you wouldn't want to use Click(). You would want to use MouseDown() because the procedure is initiated when the mouse button is pressed. With Click(), you would continuously have to "click" to shoot. But MouseDown() isn't a feasible replacement for Click(). It simply depends on what you're trying to accomplish.
Alright, I changed it to MouseDown() and it works perfectly fine.