Interactive Fiction and Adventure Creator (IFAC)

Interactive Fiction and Adventure Creator (IFAC)

Not enough ratings
Command Reference
By Critical Failure
This is the command reference portion of the manual reproduced here for easy referencing via the Steam overlay.
   
Award
Favorite
Favorited
Unfavorite
Condition Keywords
AT Int - Checks the players current location ID to see if equals the parameter and return TRUE if it does.

NOTAT Int - Checks the players current location ID and if it is not equal to the parameter it returns TRUE.

ATGT Int - Check the players current location ID and if it is greater than the paramter returns TRUE.

ATLT Int - Check the players current location ID and if it is less than the parameter return TRUE.

PRESENT Int - Returns TRUE if the Item with ID of the parameters is at the players location or in inventory.

ABSENT Int - Returns TRUE if the Item with ID of the parameter is not at the players location or in inventory.

WORN Int - Returns TRUE if the Item with ID of the parameter is currently being worn by the player.

NOTWORN Int - Returns TRUE if the Item with ID of the parameter is not currently being worn by the player.

CARRIED Int - Returns TRUE if the Item with the ID of the parameter is in the players inventory.

NOTCARR Int - Returns TRUE of the Item with the ID of the parameter is not in the players inventory.

CHANCE Int - Returns TRUE if the value of the parameter is greater than a random number generated by the computer. In
practice this equates to a percentage chance. So if you want something to have a 25% chance of returning
TRUE then you would use CHANCE 25 as your condiiton.

ZERO Int - Returns TRUE if user flag number denoted by the parameter has the value zero.

NOTZERO Int - Returns TRUE if the user flag number denoted by the parameter has a value greater than zero.

ISDARK - Returns TRUE if the Dark flag is currently set.

NOTDARK - Returns TRUE if the Dark flag is currently not set (or cleared)

EQ Int Int - Returns TRUE if the value of the user counter defined by the first parameter is equal to the value of the
second parameter.

GT Int Int - Returns TRUE if the value of the user counter defined by the first parameter is greater than the value of the
second parameter.

LT Int Int - Returns TRUE if the value of the user counter defined by the first parameter is less than the value of the
second parameter.

SYSZERO Int - Retruns TRUE if the system flag number denoted by the parameter has the value zero.

SYSNOTZERO Int - Returns TRUE if the system flag number denoted by the parameter has a value greater than zero.

SYSEQ Int Int - Returns TRUE if the value of the system Flag defined by the first parameter is equal to the value of the second
parameter.

SYSGT Int Int - Returns TRUE if the value of the system Flag defined by the first parameter is greater than the value of the
second parameter.

SYSLT Int Int - Returns TRUE if the value of the system Flag defined by the first parameter is less than the value of the
second parameter.

OBJ ItemID AT LocationID
OBJ ItemID NOTAT LocationID - An improvement to the existing PRESENT condition. These two will test if an object is at a particluar location in the game (or NOT). This means you will no longer need to use Flags if you want the player to drop items in certain locations to solve a puzzle which will make logic clearer and simpler.

Instruction Keywords
INVEN - Outputs the contents of the players Inventory.

DESC - Outputs the full detailed description of the current location.

SCORE - Outputs the players current score which is stored in System Flag #12.

TURNS - Outputs the number of turns the player has made in the current game.

GOTO Int - Immediately changes the player's location to the location with the ID of the parameter.

MSG Int - Outputs the user message with the ID of the parameter.

GET Int - Attempts to get (pick up) the item with the ID of the parameter.

NOTE: This executes exactly the same way as if the player had issued a GET command to the interpreter. If
this is the implementation of a Special Pickup that is fine but if it is not then to avoid unexpected messages it is
normal to have a PRESENT condition for the same object ID in the Condition block wherever you plan on
using the GET command.

DROP Int - Attempts to drop the item with the ID of the parameter.
NOTE: As above this executes in the same way as if the player had issued a DROP command to the
interpreter. Unless implementing a Special Pickup then usually match this up with a CARRIED condition.

WEAR Int - Attempts to wear the item with the ID of the parameter.

REMOVE Int - Attempts to remove the item with the Id of the parameter and leave it in the inventory.

DESTROY Int - Sets the location of the item with ID of the parameter to the null location, effectively removing it from the game
world.

CREATE Int - Sets the location of the item with ID of the parameter to the current location, effectively moving it into the game
world.
NOTE: Unless the player LOOKs after this has happened he will not see that the item is there so you will most
usually output a MSG to inform the player that this item just popped into existence.

SWAP Int Int - Swaps the locations of the two objects identified by the IDs passed as parameters. This is most obviously
used for objects that have multiple states such as the lamp (lit and unlit) but can be used to swap items over
that are on two teleport pads that are in different locations.

MAKEDARK - Sets the Dark flag.
NOTE: Once you do this EVERYWHERE is dark. It's implemented this way so you can have a power failure in
your world if you wish. Usually though you just want it to be dark in specific locations. You do this by setting the
Dark flag with this instruction when the player enters the location.

MAKENOTDARK - Clears the Dark flag.
NOTE: Relating to the previous command you need to use this when the player exits the dark location. This
requires using the Event entries for movement. An example is in the small adventure that you should have
worked through earlier in the manual.

SET Int - Selects the user flag with ID identified by the parameter and changes its Flag value to TRUE and Counter
value to its max value (currently 10,000 as I write this).

CLEAR Int - The user flag with ID identified by the parameter has Flag set to FALSE and Counter to zero.

LET Int Int - Assigns the value of the second parameter to the user counter identified by the first parameter.

PLUS Int Int - Increases the value of the user counter identified by the first parameter by the amount of the second
parameter.

MINUS Int Int - Decreases the value of the user counter identified by the first parameter by the amount of the second
parameter.

SYSLET Int Int - Assigns the value of the second parameter to the system counter identified by the first parameter.

SYSPLUS Int Int - Increases the value of the system counter identified by the first parameter by the amount of the second
parameter.

SYSMINUS Int Int - Decreases the value of the system counter identified by the first parameter by the amount of the second
parameter.

SYSCLEAR Int - Clears to zero the system counter identified by the parameter

CREATE ItemID AT LocationID - An improvement on the existing CREATE, this new one will allow you to create an Item in response to an Event at any Location in the game. Use it with a message to give the player a hint that they did something that changed the game in ways they cannot presently see.

SETCHANCE FlagID - Sets the User Flag identified by the ID to a random percentage value - that is between 0 and 100. You're probably then going to use LT and GT on that flag to determine the outcome. The use of multiple User Flags together can make random events with many outcomes very easy. Three Flags split 50/50 can control eight outcomes. Three flags split 33/33/33 produces 27 outcomes.
There is a detailed post on the Community site explaining in detail the entries you need to make to do this.

SETRAND FlagID UpperBound - Similar to the previous command except this time you control how high the random number goes that is assigned to the flag.
Change Log
11/26/2022 - Started Guide
11/27/2022 - Obtained permission to reprint a portion of the manual.
11/28/2022 - Published
2/6/2023 - New commands have been added to the game via update. I'll get this guide updated as soon as I can.
12/4/2024 - Finally revisited this and got the new commands added.