
                 IGM Development Information for Jedi Knights


        Remember though that all third-party IGMs are not supported by
Nelson Software Technologies, and we will not claim any kind of ownership
or rights to the IGM(s) you write. It is totally up to YOU to support,
distribute, and we will not take any responsiblity of any damages that may
occur to the systems running your IGM(s) or systems connected to them. You
don't need any kind of permission from us to write a IGM for Jedi Knights or
even tell us that you are, we would like to know about it though :)

        Now that the unpleasent things are out of the way, lets continue.

        Well I am proud to annouce that Jedi Knights now supports IGMs
(In-Game-Modules) its actually quite simple to write a IGM for Jedi Knights
if you know just some basic programming, although Jedi Knights was written
and compiled under Turbo Pascal 7.0 by no means do you need to use it, you
can use qBasic, C/C++, TP or any other programming language you care to use.

        Getting the needed information from Jedi Knights is quite simple,
when Jedi Knights executes a igm it will make a little "dropfile" which is
plain text, and it will have the name of NODEx.DEF where X is the node number,
similar to the DORINFOx.DEF dropfile, but it will contain all the stats, and
modem information such as the com port and locked baud rate (the layout of
this file will be explained later on in this text file) but make sure you
rewrite this file on exit from your IGM, becuase if you don't any changes
to the players stats will not be saved, and the file MUST be the exact same
format. You may also want to edit the userfile directly from your IGM, if you
need the Structure file for the user file, it is available on request from
Jedi Realms (the number is in the SYSOP.DOC). You may also wish to obtain
the data need from the dropfile that the bbs created for Jedi Knights, in
which case you will need to have your IGM obtain the dropfile type from the
JEDI.CFG file... and remember if you want to write your IGM so it is contained
within its own directory, make sure on exit it changes the current directory
back to the directory that Jedi Knights resides in.

        The only limitation on your IGM(s) is your imagination, creativity,
and programming skill. For example you may make a IGM where you travel back
in time to when Luke goes to Jabba The Hutt's Palace on Tantoonie to save
his friend Han Solo, or you could send them on some wild little quest for the
holy grail! Its totally up to you to decide what you want to do.

        Once last thing before I type out the Jedi Knights' dropfile layout,
I would just like to let you know that IGM support is not crippled in anyway
in the Unregistered Version of the game, although it would be nice if you
as the author of your IGM would Register, its just one of those things where
it is the morally right thing to do <g>

Now the drop file layout Starting on Line #1 it is as follows (#=numeric value)

Jedi Knights Version Number                         #
Com Port                                            #
Locked Baud Rate (0 if no locked baud rate)         #
Game Name
Player Number                                       #
Max Hitpoints                                       #
Current Hitpoints                                   #
Attack Strength                                     #
Defence Strength                                    #
Experiance                                          #
Money on hand                                       #
Money in the Bank                                   #
Force/Skill Points                                  #
Fights Left today                                   #
Level                                               #
Weapon Number                                       #
Weapon Name
Armor Number                                        #
Armor Name
Player-Player fights                                #
Player's Sex
Player's Class
Player Whom Married to (blank if none)
Times Laid                                          #
Player Kills                                        #
Staying in the Inn ("yes" if true blank if false. without quotes)

if your door/igm kit does not support passing a node number, do one of the
two following, either email the author and ask him to add a commandline
switch for the node number or just have your igm read in the node.dat file.
This file will contain the name of the nodeX.def that you will need to use
and Jedi Knights will create it when someone enters your igm and erase it
when they exit

Now there is also a file Called IGM.DAT that resides in the Jedi Knights'
directory... this file is also a straight plain-jane text file that follows
this simple format

any line starting with a ";" is a remark statement and is ignored except when
place in the middle of the 3 line statement

Line 1 of a statement is what will appear as the name of the program
Line 2 is the programs path and filename
Line 3 is any and all commandline switchs

anytime a % is encountered on Line 3 the node number is passed, thus enabling
your igm to know wether or not to look for NODE1.DEF, NODE2.DEF.. etc.

here is a example IGM.DAT

;
;The Example IGM.DAT file
;
Smuggler's Paradice!
c:\doors\jedi\smuggler.exe
/n%


now when Jedi Knights gives the user the chance to execute the given IGM(s)
the list within the game will look something like this

                                Other Stuff

1) Smuggler's Paradice!

Well?

You may even use the pipe color codes in Jedi Knights to give the choices a
bit of style... say you have it so that Instead of "Smuggler's Paradice!" in
the IGM.DAT you put |11Smuggler's |14Paradice!" when Jedi Knights displayed
that entry the word Smuggler would be in Bright Cyan and Paradice would be in
bright Yellow!

If you have any questions about any of the information above feel free to
contact either Ken Mills or Myself... information on how to do that is again
in the SYSOP.DOC

Take it Easy and have fun!

-Martin Nelson
Jedi Knights Author
