Dialog options problem

Started by Slasher, Wed 06/03/2019 19:40:40

Previous topic - Next topic

Slasher

Hi, i'm trying to make it so the text in the option boxes for options 3 and 4 does not show in room when options 3 and 4 appear.

All say options are ticked off.

Code: ags

// Dialog script file
@S  // Dialog startup entry point
option-off 3
option-off 4 

  if(cTurner.Room==14){
option-on 3 
option-on 4 
option-off-forever 1
option-off-forever 2  
  }

return
@1
    Display("You decide to investigate the cavern.");
    object[2].MergeIntoBackground();
    cTurner.TweenPosition(1.2,2518,3216,eEaseInEaseOutTween,eNoBlockTween);
    cTurner.TweenScaling(1.2,28,eEaseInEaseOutTween,eBlockTween);
    cTurner.ChangeRoom(14,565,629);

stop    
@2

  Display("You decide to ignore the cavern, for now.");

stop
@3
 Display("You decide to take the left cavern in the hope that it will solve the case of the Loch Ness Monster.");
  
stop
@4
  Display("You decide to take the right cavern in the hope that it will solve the case of the Loch Ness Monster.");

stop



Matti

I'm not quite sure what the problem is and what you mean when you say the option box text should not show when the options appear. Or do you mean clicked?

Does the text in the option box appear when you click the dialog option, although you unticked Say? Or do you mean the display commands shouldn't show? Then why not delete them?

Khris

So all "Say" boxes are unchecked, but when you click Option 3 or 4, the player still says the option text?

That sounds like a bug, as if  option-on  also turns on "Say" and not just "Show".
But why has nobody else discovered this yet? Weird.

ManicMatt

Does the text appear if you have a character speak the lines instead of using "display"?

I've never tried "display" in a dialog but I would have thought display would override the say checkbox, but I guess Khris would have picked up on this, if that was the case.

Khris

#4
I don't think that's how the engine works, no.
AFAIK, if you check "Say", the character will definitely say the line.
Only after does AGS even start to care what it says in the dialog script.

And using  player: Hello  makes no difference because it is handled exactly like  player.Say("Hello");


Edit:
I tried this and can't reproduce it.
I'm using this:


Everything works as expected, I only see Display texts on screen, no Option texts, spoken or otherwise.

Slasher

Cheers Khris

all working  (nod)

thanks

ManicMatt

I was being stupid. For some reason I thought his display text was the dialog options. It was late, that's all I got!

Aw come on Slasher, we need a conclusion, what did you do wrong before that's now fixed?

Slasher

Quote from: ManicMatt on Thu 07/03/2019 07:54:53
I was being stupid. For some reason I thought his display text was the dialog options. It was late, that's all I got!

Aw come on Slasher, we need a conclusion, what did you do wrong before that's now fixed?
My first post and then amended to Khris' solution..



ManicMatt

Which was.. the tick boxes?

Slasher

Quote from: ManicMatt on Thu 07/03/2019 13:54:30
Which was.. the tick boxes?
The tick boxes were exactly as seen in Khris' answer

ManicMatt


Matti

I'm still curious about this problem and how it got solved  ???

Slasher

Basically all I did was change to a new variable top of dialog.

Khris

I don't think it matters what you did inside the dialog script.
People (including me) are confused because the only way we can reproduce the problem is by having some "Say" ticks in there, yet you claim you didn't have them.
Unless what you thought was the player saying the option text was actually a Display() command inside the dialog script, but not realizing that also seems kind of weird, given how straightforward dialog entry points work.

SMF spam blocked by CleanTalk