Messorem wrote:*I downloaded the latest inform that was provided to me by the website, i'll just download the correct version then.
*I am a beginner at this after all, so most code is built upon other templates and files. I also forgot to change things like "combat helmet" and "whip" from other files to the appropriate texts.
*I'll use other descriptive terms in the future.
*The caps half is in cause of the copied code that you help me with.
*I looked at the examples that i saw and built the stats to be so that the wearer would be really hard to beat.
*The table filling part is mostly for planning.
*I'm also not such a fan of heavy nineties content, the gauntlet will be changed.
*As for any descriptive parts of the rooms and their names, I did write them in a bit of a rush but they will be polished a bit later.
*The event will also be polished in the future, do you think that imitating the event in the toy store with the latex foxes will be a good thing to do with this event?
Thanks for the guide and the feedback as well, this is gonna help a lot if i'm going to continue writing things for FS.
You're probably using the correct version of Inform, but my guess is you haven't actually downloaded the content for FS into which your new stuff will be inserted. To do this:
- Go to the Code Repository
- On the right hand side, you'll see a button for 'download ZIP'. Save that.
- Go into Inform and create a new project entitled 'Flexible Survival'.
- Close Inform.
- Go to the directory for the created project and unzip the downloaded content file into its 'source' folder.
- Copy the 'story.ni' file from the 'Inform' directory into the 'source' folder as well. This is the one downloaded from the Code Repository and not the one you've been working on.
- Reopen Inform. You should now have the body of the story.ni file appearing in the left hand portion of the program.
- Click on the 'Go!' button (and watch it fail).
- If the program won't run (most likely the case), you'll most likely need to install the various extensions. This will be a tedious procedure. Choose 'File', 'Install Extension...'. A directory window will pop up. Go to the 'source' directory and then go into the first sub-folder. Using Shift-Select or boxing them all with the mouse, select all files from the directory and choose 'Open'. Wait a few moments for the process to complete itself.
- Repeat the above process for each and every sub-folder one by one. Please note, there'll be a pause of a few seconds while each is being done before you can proceed to the next.
- Once all of them are done and the last pause period is completed, try compiling the game again by clicking 'Go!'
- If it successfully completes the compile, you should eventually (after maybe several minutes) have a test version of the game appear in one of the two panels. This will be the current version of the game without your new content.
To add your addition:
WARNING: Given the extent of recoding required, it won't compile until fixed. so be aware.
- Take the file you've been working on and rename it to: "Xeno Hive.i7x"
- Add "Version 1 of Xeno Hive by Messorem begins here." to the very top of the file.
- Add "Xeno Hive ends here." to the very bottom of the file.
- Go to the 'source' directory for your local copy of FS and create the 'Messorem' sub-folder.
- Place the 'Xeno Hive.i7x' file in your folder.
- Add the line "Include Xeno Hive by Messorem." to the story.ni file for Flexible Survival. You will place it in the NPC subsection of the extensions list. To find that, search for "[NPCs]" and include that line at the bottom of that section.
- Install the new extension, as above, by going 'File', 'Install Extension...' and then selecting the new extension from your folder.
- Select 'Go!' to attempt to compile. It'll fail due to all the bugs, but now you've got your file in and can begin trying to deal with all the bugs.
As for the other points, there's just a few things to mention:
- I know you were using other material as a template for building your stuff and that's fine. I was just pointing out spots you'd missed changing over.
- The code I'd provided for changing the player and updating the Xeno's stats didn't originally contain 'Single' in all caps. You must've accidentally added that. Just be aware that the capitalization has to match for most text checks in FS, such as checking feats and infection names.
- The 'Toy Store' event is a really poor one to use as your template, as it uses older architecture that is more prone to bugs and doesn't properly account for fleeing. A better example would be the 'Captured Bird' event at the top of the 'Athanasia.i7x' file in my directory.
And now to continue on:
Section 4:
- For formatting, displayed text paragraphs should start with 5 spaces to indent the first line of text. This makes for smoother reading, especially when the scenes are multiple paragraph's long.
- The indentation right at the start of 'losetoXenoQueen' is thrown off and continues to show trouble. Thing of each tab as a different level or stage. Whenever you enter a command line that ends in a colon (:) , such as an if statement, while loop or repeat loop, all of the content running within that process is indented up one level. In the case of if statements, they can be further staggered through use of 'otherwise if', 'otherwise' or 'else' sections, but these are at the same level as the original 'if' that started that section. For example:
- Code: Select all
to say cheesemonkey:
say "Something smells funky. You look around for a cheesemonkey. ";
if chmky > 0: [1st if statement level]
say "You find the smelly bastard. It's a ";
if chmky is 1: [2nd if statement level]
say "Swiss bonobo - you can tell from the holes in his ears.";
otherwise if chmky is 2: [still 2nd if statement level - otherwise if]
say "Cheddar capuchin - you can tell from the orange colour.";
otherwise if chmky is 3: [still 2nd if statement level - another otherwise if]
say "Mozzarella howler - you can tell because he's munching on some wild pasta.";
otherwise: [still 2nd if statement level - otherwise]
say "species you haven't seen before. You quickly take a photo of it.";
otherwise: [back to 1st if statement level - otherwise]
say "Nope. You don't spot a cheesemonkey. The smell must be coming from something else.";
if gasmask is true: [a new if statement, independent of the others back at the lowest level]
say "Thankfully, you've got a gas mask. You put it on, protecting you from the cheesy stink.";
say "You decide to move on quickly, continuing your search elsewhere.";
In the example above, the first say statement (smelling something and looking around) will always trigger.
If the chmky variable is greater than zero, the if statement succeeds and the program enters that section. The message saying the monkey was found will appear and then a new if statement will run to check what kind of monkey it is, showing the message for #1, #2, #3 or any other result.
The first level 'otherwise' only kicks in if the first level if check came back as a failure. The message that there's no monkey around will instead appear.
The next if statement, about the gas mask, is independent of the others before it and will be checked regardless of the earlier outcomes. if it succeeds, the message about the gas mask will be displayed. It has no 'otherwise' or 'otherwise if' sub-clauses.
The final statement about moving on, back at the base level, will appear always and after all the rest of the material above, regardless of their outcomes.
Hopefully that'll help you better see how such indentation and nested if clauses are handled.
I'll try to provide you some further feedback soon.