Block Mouseclicks at the beginning of text

Started by san.daniele, Sun 16/06/2013 11:24:13

Previous topic - Next topic

san.daniele

We all know the problem of players accidently skipping dialog lines by clicking at the wrong time.

as the font in my game needs some time to get used to and can be hard to read, I decided to never let it time out itself. every text needs a click/key to disappear.
I use a lot of small pauses inbetween text lines for dramaturgical reasons. When watching others play the game I noticed that during those pauses they sometimes assume the cutscene/dialog is done and start clicking (who can blame them). So it happens that they skip the following line by accident.

While there exists the property IgnoreUserInputAfterTextTimeoutMs; to avoid similar issues, I would like it to be the other way around.
Something like IgnoreUserInputWhenTextAppearsMs;

I tried adding a Wait(); into my custom speech function (see below). It kinda works. The text lines don't dissapear, but the characters' speech view stops. I could live with that, but it's still not an optimal solution. Is there any other way I could go about the issue?

Code: AGS
	void Saa(this Character*, String Aussage) {
  lblText.Text = Aussage;
	InvOff();
  gDialog.Visible = true;
  this.Say(Aussage);
	Wait(20); //click during that time stops the speechcycle.
	InvOn();
  gDialog.Visible = false;	
 }

san.daniele

#1
hmm … Game.MinimumTextDisplayTimeMs did the trick after all. I've tried it before but probably screwed something up and figured that it just doesn't work if I use text that never times out itself (the manual actually says so as well).


i take that back. The property itself works fine, but: if the user clicks during the defined timeframe (in my case 500ms), the text disappears as soon as that time runs out.
and the manual is not exactly on point about this.

QuoteNOTE: This property is ignored [...] if the General Settings are set not to allow text to be automatically removed.
it's not ignored. just acts slightly different (see above).



SMF spam blocked by CleanTalk