intfiction.org

The Interactive Fiction Community Forum
It is currently Tue May 21, 2013 4:39 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Mon Apr 23, 2007 12:09 pm 
Hello again! I am sorry to be so needy! Embarassed (LOL) I promise I will try and help you guys out when I figure out TADS 3 enough to understand what's going on! Very Happy

I have run into yet another snag while trying to work my way through the "Heidi" game in the "Getting Started in TADS 3" guide. Here's the scoop: I am to the part of the game where I am having a conversation with the charcoal burner (Joe Black) and I am trying to make it so Heidi can ask him about the ring as soon as he mentions it in their dialog. I am using the macro "gSetKnown(ring)" to accomlish this, as per Eric Eve. Here is the code in which this macro appears:

++ SpecialTopic 'ask why' ['ask','why']
"<q>Why will your name be mud?</q> you want to know.<.p>
He shakes his head, lets out an enormous sigh, and replies,
<q>I was going to give her the ring tonight -- her engagement ring --
only I've gone and lost it. Cost me two months' wages it did. And
now she'll never speak to me again,</q> he concludes, with another
mournful shake of the head, <q>never.</q><<gSetKnown(ring)>>"
;

In the guide, Eric says "Now, once Joe has mentioned the ring, Heidi will be able to ask about it and get a sensible response (see below), even is she hasn't found the ring yet. If you recompile and play the game with these changes, you should find it all works properly." Confused However, it is not working properly for me. Even after the burner mentions the ring I still get the "DefaultAskTellTopic" (Code):

;
++ DefaultAskTellTopic
"<q>What do you think about <<gTopicText>>?</q> you ask.<.p>
<q>Ah, yes indeed, <<gTopicText>>,</q> he nods sagely,
<q><<rand('Quite so', 'You never know', 'Or there again, no
indeed')>>.</q>"
;

Instead of the response I should be getting, (Code):


++ AskTellTopic, StopEventList @ring
[
'<q>What happened to the ring -- how did you manage to lose it?</q> you
ask.<.p>
<q>You wouldn\'t believe it.</q> he shakes his head again, <q>I took it
out to take a look at it a couple of hours back, and then dropped the
thing. Before I could pick it up again, blow me if a thieving little
magpie didn\'t flutter down and fly off with it!</q>',
'<q>Where do you think the ring could have gone?</q> you wonder.<.p>
<q>I suppose it\'s fetched up in some nest somewhere,</q> he sighs,
<q>Goodness knows how I\'ll ever get it back again!</q>',
'<q>Would you like me to try to find your ring for you?</q> you
volunteer earnestly.<.p>
<q>Yes, sure, that would be wonderful.</q> he agrees, without sounding
in the least convinced that you\'ll be able to. '
]

Does anyone know why this might be happening? The game compiles and runs, I cannot find any typos in my code anywhere, I've been over it and over it. I've tried retyping it several times in different ways, I tried using the full code "gPlayerChar.setKnowsAbout(ring)" instead of the macro, I've tried moving the property outside of the double quotes ""... all to no avail.
Any help would be greatly appreciated!
If you have any questions for me, I should be online all day, and I'll check the forum regularly.
Thank you in advance!


Top
  
 
PostPosted: Wed Apr 25, 2007 11:51 am 
:D
Hi all!
I am glad to say that I have solved my own problem with the "Heidi" game!

The problem is that the code in the "Getting Started in TADS 3" Guide is missing several <.convstay> commands and the "Burner" character was leaving the conversation node containing the "gSetKnown(ring)" too early. It was, essentially, never receiving the message that Heidi knew about the ring. In order to solve the problem, I had to add the <.convstay> command to the following lines of code:

(added code in bold)

++ SpecialTopic 'ask why' ['ask', 'him', 'why']
"<q>Why will your name be mud?</q> you want to know.<.p>
He shakes his head, lets out an enormous sigh, and replies, <q>I was going to give her the ring tonight -- her engagement ring -- only I've gone and lost it. Cost me two month's wages it did. And now she'll never speak to me again,</q> he concludes, with another mournful shake of the head,<q>never</q><<gSetKnown(ring)>><.convstay>"
;
++ DefaultAskTellTopic
"<q>And why does...</q> you begin.<.p>
<q>Mud.</q> he repeats with a dispairing sigh. <.convstay>"
;
++AskTellTopic, StopEventList @ring
[
'<q>What happened to the ring -- how did you manage to lose it?</q> you ask.<.p>
<q>You wouldn\'t beleive it.</q> he shakes his head again, <q>I took it out to take a look at it a couple of hours back, and then dropped the thing. Before I could pick it up again, blow me if a thieving little magpie didn\'t flutter down and fly off with it!</q><.convstay>',
'<q>Where do you think the ring could have gone?</q> you wonder.<.p>
<q>I suppose it\'s fetched up in some nest somewhere,</q> he sighs,
<q>Goodness knows how I\'ll ever get it back again!</q><.convstay>',
'<q>Would you like me to try to find your ring for you?</q> you volunteer earnestly.<.p>
<q>Yes, sure, that would be wonderful.</q> he agrees, without sounding in the least convinced that you\'ll be able to.'
]

__________________________________________________________

I hope this helps anyone else who is trying to work their way through Heidi.

Oh, and does anyone know Eric Eve's email address? The only one I could find came back as undeliverable. I was trying to let him know about these little bugs.

Thank you!

EDITED - 4/26/07-
Took out last "<.convstay>" command (in the stop event list about the ring) as it caused the player to become trapped in the conversation node about the ring.
-A.


Last edited by aubrey_25_99 on Thu Apr 26, 2007 2:07 pm, edited 1 time in total.

Top
  
 
PostPosted: Thu Apr 26, 2007 4:46 am 
Offline
User avatar

Joined: Sat Dec 22, 2007 6:00 pm
Posts: 355
Location: Western Australia
aubrey_25_99 wrote:
Oh, and does anyone know Eric Eve's email address? The only one I could find came back as undeliverable. I was trying to let him know about these little bugs.

Thank you!

I PMed you.


Top
 Profile Send private message  
 
PostPosted: Thu May 10, 2007 3:36 pm 
If I recall correctly, the <<>> syntax can only be used with function calls that take no arguments. So <<gSetKnown(ring)>> won't work. You can easily create your own method (even within the same topic object), call it from within the quotation, and use it to call gSetKnown(ring).

Hope this helps.

--JA


Top
  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group