Tigabyte -
Since finding your program (by putting HyperCard into Google), I've decided I'd like to try and get back into designing games. I've started by re-making my old Clue game, originally written in HyperCard. (In case you are wondering, Mr. Body was killed by Miss Scarlett in the Library with the Wrench in this particular story. He broke her heart and their engagement, asking for the ring back - the cheap scoundrel.) Other scenarios will follow if I can figure out the scripting on this one.
Please bear with me.
1. I have a room (say the typical Hall in the Clue game). In the Hall there are several items. The Butler who answered the door, a wrench, a flower pot, a book, a door to another room. I would like to click on each of these items in the Hall then have the response described in field 1 ("Welcome to the Body Mansion, Mr. Detective." from the Butler). It would be easiest if I could put an invisible button on these items to put my message into field one (as I did in HyperCard) but apparently invisible buttons are not an option in HyperNext. Baring that impossibility, can I make a 'click area' (in this case the wrench) on the canvas of the Hall to put a statement into field 1? ("you have clicked on the wrench!" Or, "you've clicked on the flower pot!") Putting a visible button to do this deed on the canvas does work, but it's a bit risky. It often (but not always) disappears behind the canvas and can no longer be found.
On HyperCard (clicking an invisible or visible button on the canvas - assuming that button stayed on top - which it always did in HyperCard) the script would be:
OnMouseUp
Put "you have found the Wrench!" into Card field 1
End MouseUp
2. Next problem: Going to the card "Library" from the Hall. Easy enough with the goto option on the properties menu, but can I then put into field 1 (on the library card) the statement that I just arrived from the Hall? Evidently, anything after 'gotocard library' in the script is not accepted and gives me an error.
On HyperCard the script would be:
OnMouseUp
Goto card "Library"
Put "Hall" into card Field 1 -- in this instance 'Field 1' would be on the library card.
End MouseUp
3. Next uncertainty: Can I create a button to take me directly back to the hall? If I put in 'prior button' from your properties menu, it does not take me to the last card I was on (the Hall or some other previous room) but to the card immediately before the card I am now on (in this case into the Lounge where I do not want to go).
On HyperCard the script would be:
OnMouseUp
Go last card -- the last card being the Hall, not the Lounge
End MouseUp
4. Sound. I have asked this before, but I still haven't found a solution. I have a cat loitering in the hall. I would like to click on its button and have the cat purr (using the sound button on properties), but I would then like to have the sound of 'thunder' immediately following the cat's purr. Then, naturally, the cat utters a loud 'meow!' and runs away (ButtonSetView 5,0 with your scripting to get the cat to skitter away - I did figure that part out.) Silly for all this activity from the cat, of course, but it's part of the game. On your properties menu, only one sound can be added. I still haven't learned how to script a sound (SoundPlay (channel,filename) - the sound is purr.aiff - I have no idea what the channel would be, or exactly what you are asking for.
On HyperCard my script would be:
On OpenCard
show cd button "cat" -just in case the cat was missing when you got to the Hall
End OpenCard
On Mouseup -- clicking on the cat
Play "purr'
Play "Thunder"
Play "Meow!"
Hide me -- the cat disappears, which is why I would have to put "show button "cat" on OpenCard
End MouseUp
I realize that I am more or less asking you to recreate HyperCard, and I apologize for the comparison, but it was a programming language I understood and could write easily. Feel free to complain to your colleagues "this impossible woman is a real pain in the arse!" and tell me to go to the devil. I promise to completely understand and bother you no further.
Leslie