Basics (Need Some Help I7)

I can’t find a way to make this work out right.

some ashes in Esher's stove is a fixed in place thing in Esher's stove. the description is "a pile of burnt wood from last nights fire, resulting in the ash that now resides in the belly of the stove.". understand "ash", and "ashes" as some ashes in Esher's stove. instead of taking some ashes in Esher's stove, say "you don't see any point in taking ash with you, as useless as that would be.".

when the player types take ash it just says they’re fixed in place…

on a side not I’m starting to understand this a little better…bouncing from book to book, and having people help has been a real bonus, lol. I found an extension that’s really helped me, and I’m only using it for one feature. Emily Shortls Room Description Control. That why I can make ghost items, that the players can interact with, and still have the other items in my rooms…like…have cupboards with plates in them…create a plate item with what ever name…and now the players can try to take a plate…when there are plates in the cupboard…but not get one of course, haha…

I’m not sure if that’s the long way of doing things or not, but it’s helping.

Also a new issue has arrised with backdrops in a region. It’s saying that I’m trying to create two regions or something, lol…

Island Ocean is a backdrop. "You can't see the ocean through the storm, but you can hear it crashing down on the island shores." Island Ocean is in The Island.

hmm… I seem to be getting the same problem if I try to make the backdrop into a scenery…

Island Ocean is scenery. "You can't see the ocean through the storm, but you can hear it crashing down on the island shores." Island Ocean is in Outdoors, Path To Lighthouse, Path To Lighthouse Continued, Outside The Lighthouse,  Path To Cliffs, Path To Cliffs Continued,  The Cliffs, and Over The Cliffs.

the error message I get is that I’m trying to create a new region called Island Ocean…

—edit -----

I realize now that’s porbably because scenery can only be in one place like things, but I don’t understand why when I put backdrop in place of scenerey it still thinks I’m trying to create a region, lol.

Here’s a bit more insite into my backdrop problem if it helps…

This is where I tried to make the backdrop. It’s at the top of all my source code…

Island Ocean is backdrop. "You can't see the ocean through the storm, but you can hear it crashing down on the island shores." Island Ocean is in Outdoors, Path To Lighthouse, Path To Lighthouse Continued, Outside The Lighthouse, Path To Cliffs, Path To Cliffs Continued, The Cliffs, and Over The Cliffs.

Here’s where I defined the region, much farther down in the source…

The Island is a region. Outdoors, Path To Lighthouse, Path To Lighthouse Continued, Outside The Lighthouse, Path To Cliffs, Path To Cliffs Continued, The Cliffs, and Over The Cliffs are in The Island. Esher's Cabin is a room. Path To Lighthouse is west of Outdoors. Path To Lighthouse Continued is west of Path To Lighthouse. Outside Lighthouse is north of Path To Lighthouse Continued. Path To Cliffs is east of Outdoors. Path To Cliffs Continued is east of Path To Cliffs. The Cliffs is north of Path To Cliffs Continued. Over The Cliffs is north of The Cliffs.

Edit

I made some headway in my backdrop issue. If I declare the backdrop below where I declared the region it complies. There’s a problem though…

Ocean is a backdrop.

that code placed below where the region is declared in source works…but…

Ocean is a backdrop. "You can't see the ocean through the storm, but you can hear it crashing down on the island shores" Ocean is in The Island.

that code gives me this compile error…

Problem. You wrote ‘“You can’t see the ocean through th […] crashing down on the island shores” Ocean is in The Island’ : but it looks as if perhaps you did not intend that to read as a single sentence, and possibly the text in quotes was supposed to stand as as a sentence on its own? (The convention is that if text ends in a full stop, exclamation or question mark, perhaps with a close bracket or quotation mark involved as well, then that punctuation mark also closes the sentence to which the text belongs: but otherwise the words following the quoted text are considered part of the same sentence.)

this is the section of code in entirety…

[code]The Island is a region.
Outdoors, Path To Lighthouse, Path To Lighthouse Continued, Outside The Lighthouse, Path To Cliffs, Path To Cliffs Continued, The Cliffs, and Over The Cliffs are in The Island.
Esher’s Cabin is a room.
Path To Lighthouse is west of Outdoors. Path To Lighthouse Continued is west of Path To Lighthouse. Outside Lighthouse is north of Path To Lighthouse Continued. Path To Cliffs is east of Outdoors. Path To Cliffs Continued is east of Path To Cliffs. The Cliffs is north of Path To Cliffs Continued. Over The Cliffs is north of The Cliffs.

Ocean is a backdrop. “You can’t see the ocean through the storm, but you can hear it crashing down on the island shores” Ocean is in The Island.[/code]

It’s just that you’re missing a period after “island shores.”

oh, lol. Thanks…

I’m trying to create a ladder, to go from one floor of the lighthouse to the second floor. I’m not sure how to go about this…should I make it a door? Then how do I make it climbable.

Lighthouse Ladder is a scenery door. it is north of Lighhouse First Floor and south of Lighthouse Second Floor. it is open and not openable. the description is "A large metlal ladder reaching up into the second floor of the lighthouse. It looks safe enough."

I know I need to make a rule for the door…Not sure how…

I’ve tried this…

Instead of climbing Lighthouse Ladder: try entering Lighthouse Ladder.

What’s the best way to go about making ladders that go from one room to another?

Yeah, just make it a door but have the prose call it a ladder. And Instead of climbing the ladder, try going up instead. Or if you do this more than once, Instead of climbing a door… and use a when clause to test if the ladder goes up or down from the location. Staircases are the same way.

If the ladder is portable, it’s probably not a good idea to make it a door, since there are specific low-level rules that determine where doors appear. But you might have a door that pretends to be the ladder, which is only present when the ladder is set up. It is a bit of a tricky problem.

One way would be to have a separate scenery (or at least fixed in place) object called “the top of the ladder.” You’d have to do some careful management to make sure it appeared where it needed to be. One way would be to use the Conditional Backdrops extension.

[code]Instead of climbing the ladder:
[this rule is listed later because it’s less specific]
say “The ladder doesn’t lead anywhere right now.”

Instead of climbing the ladder when the top of the ladder is in a room (called the destination):
move the player to the destination.

Instead of climbing the top of the ladder:
move the player to the location of the ladder.[/code]

Thanks guys. I appreciate the help. I’m sorry so much of this is causing me problems, lol…some examples I’m working with are from books, and they still aren’t working!!

like this one isn’t killing my player, lol.

This is what I’ve changed the code to…

after entering Over The Cliffs: say "Esher fell to his death."; end the game in death.

after everything I’ve read on google, and in the books I have this should kill the player, but he’s certianly not dying, lol…it’s funny, cuz you can go over the cliff read that the player died, and then just walk right back where ya came from, lol. If only falling off cliffs was like that.

I believe the problem is that you’re using “entering,” which is the verb for, say, an enterable container (like a car or elevator or big cardboard box). For a room, the player gets there by “going,” so here you probably want to use “going to”.

That was exactly it, thanks :smiley: . I was thinking entering a room, lol. I was hoping I would get help with that because I got stuck coding my first puzzle. It’s rather simple, but I’m not sure about the best way in doing it. I’m trying to create a simple lock with three levers that can either be up, or down. this is the code that I have so far…

Lighthouse Lock is a fixed in place thing in Outside Lighthouse. the description is "There's three tiny levers, that look like switches in a row. Each lever can either be up, or down. They have to be operated in the right sequence in order for the old lock to disengage its latch." LightLockLever1 lever is a part of Lighthouse Lock. the description is "the first of three tiny levers in a row on the lighthouse lock.". understand "lever one", "lever 1", "the first lever", and "first lever" as LightLockLever1. LightLockLever2 lever is a part of Lighthouse Lock. the description is "the second of three tiny levers in a row on the lighthouse lock.". understand "lever two", "lever 2", and "the second lever" as LightLockLever2. LightLockLever3 lever is a part of Lighthouse Lock. the description is "the third of three levers in a row on the lighthouse lock.". understand "lever three", "lever 3", and "the third lever" as LightLockLever3.

but then I realized after testing that when you pull a lever it says nothing obvious happens…I’m thinking a lever might only have one state…pulled, lol…is that right?

because I’d like the lock to have three tiny levers that can be either be up, or down, and they have to be in the right sequence to disengage the lock.

I thought then it might be a good idea to use devices, because they have two states…but those states are on, and off…which don’t really work either…unless there’s a way to tell inform that off means down, and on means up…I’m not sure of how to do something like that though…

By default, whatever you pull nothing obvious happens.

Inform comes with only a small set of predefined kinds of objects, and levers are not one of them. (Uou can see which they are by looking at the Kinds tab after clicking the Index tab in the IDE.)
If you want more kinds of things, you’ll have to create them yourself, giving them whatever properties they need (see documentation ch. 4):

A lever is a kind of thing. A lever can be *up or *down. A lever is usually *down. 

LightLockLever1 is a lever [&c.]

Carry out pulling a lever: 
	if the noun is *down, now the noun is *up; 
	otherwise now the noun is *down.

After pulling a lever: 
	say "You pull the lever [if the noun is *up]up[otherwise]down[end if]."

Instead of pushing a lever: try pulling the noun.

(I wrote “*up” and “*down”, with asterisks, to distinguish these either/or properties of levers from the directions up and down – which are built into Inform.)

For the lock unlocking how would I got about that? I could create an action called unlocking, but that it would have to be player typed right? I’ve tried a simple sentence like…

if Locklever1 is *up and LockLever2 is *down and LockLever3 us *down now Lighthouse Door is unlocked.

but that didn’t work…can you create actions that carry out themselves? cuz I’d like to include a message saying the lock clicks as it dissengages its latch or something like that…

I mean I could create

unlocking is an action applying to one thing. check unlocking: if the noun is Lighthouse Lock: if Lighthouse Door is locked; say "you unlock the door"; now the Lighthouse Door is unlocked; otherwise: say "it's already unlocked."

I’m not even sure if that’s coded right, it’s on the fly, and I’m still trying to grasp this, lol…

but what I’d really rather have happen is the lock unlocking itself when the player has the levers in the right positions…

It’ll work, if properly spelled and punctuated* and PUT INSIDE A RULE.
Inform never does anything, unless you write a rule for it!
An every turn rule would probable work fine in this case.

  • One proper punctuation:

if Locklever1 is *up and LockLever2 is *down and LockLever3 is *down: now Lighthouse Door is unlocked.

I was actually trying to work it into an everyturn rule before but was having trouble with it, now I’m a lot closer though :slight_smile:

Here’s the door declared higher up in my source…

Lighthouse Door is a scenery door. it is openable. It is locked. it is north of Outside Lighthouse and south of Lighthouse First Floor.

here’s my code for the lock…

[code]a lever is a kind of thing. a lever can be *up or *down.

Lighthouse Lock is a fixed in place thing in Outside Lighthouse. the description is “There’s three tiny levers, that look like switches in a row. Each lever can either be up, or down. They have to be operated in the right sequence in order for the old lock to disengage its latch. Right now the first lever is [if LightLockLever1 is *down]down[otherwise ]up[end if] the second lever is [if LightLockLever2 is *down]down[otherwise]up[end if] the third lever is [if LightLockLever3 is *down] down[otherwise]up[end if]”.

LightLockLever1 is a lever. it is a part of Lighthouse Lock. the description is “the first of three tiny levers in a row on the lighthouse lock.”.
understand “lever1”, “lever 1”, “lever one”, “first lever”, and “1st lever” as LightLockLever1.
LightLockLever2 is a lever. it is part of Lighthouse Lock. the description is “the second of three tiny levers in a row on the lighthouse lock.”.
understand “lever2”, “lever 2”, “lever two”, “second lever”, and “2nd lever” as LightLockLever2.
LightLockLever3 is a lever. it is part of Lighthouse Lock. the description is “the third of three tiny levers in a row on the lighthouse lock.”.
understand “lever3”, “lever 3”, “lever three”, “third lever”, and “3rd lever” as LightLockLever3.

Carry out pulling a lever:
if the noun is *down, now the noun is *down;
otherwise now the noun is *down.

After pulling the lever:
say “you pull the lever [if the noun is *up] up [otherwise]down[end if].”

Every turn:
if LockLever1 is *up and LockLever2 is *down and LockLever3 is *up and Lighthouse Door is locked:
say “The lock makes a loud clicking noise as its latch disengages.”.
now Lighthouse Door is unlocked.[/code]

I’ve got it down to one error message when I try to compile though…It says…

I’m not sure why though, because doors definitly have the locked property, and its been assigned to this one, lol.

“the now lighthouse door” should be a red flag to you: It’s interpreting the word “now” as part of the name and not as a directive to change something. I searched for it in your code and found the problem right away: You put a period at the end of the previous line, thus ending the rule.

You also have an unnecessary indentation at the beginning of that line.

When I take the period out of that line the code becomes…

Every turn: if LockLever1 is *up and LockLever2 is *down and LockLever3 is *up and Lighthouse Door is locked: say "The lock makes a loud clicking noise as its latch disengages." now Lighthouse Door is unlocked.

but then I get these errors…

I noticed from the error before that it was trying to say the name of something was now lighthouse door, lol…I was trying to understand why, lol.

See especially the points about semicolons and indentation. :wink:

sorry, I remember you telling me about the colons, and semi colons. I’ve got that much fixed, but that tabbing I think is giving me an issue. I can’t for the life of me get it tabbed right, and tried different ways of tabbing it, lol…I matched the code to the tabbing of a check rule you guys helped me with, but that didn’t help either…

Every turn: if LockLever1 is *up and LockLever2 is *down and LockLever3 is *up and Lighthouse Door is locked: say "The lock makes a loud clicking noise as its latch disengages."; now Lighthouse Door is unlocked.

I’ve also tried…

Every turn: if LockLever1 is *up and LockLever2 is *down and LockLever3 is *up and Lighthouse Door is locked: say "The lock makes a loud clicking noise as its latch disengages."; now Lighthouse Door is unlocked.

but get this error…

The first one works for me. Are you sure you were getting the same error message for both? I bet there’s a problem somewhere else in your code.

For example, I had to change “LightLockLever1” to “LockLever1”, etc, in the rest of the code.