home *** CD-ROM | disk | FTP | other *** search
- -------------------------------------------------------------------------
- STARDOCK LOCO - Expansion module help for programmers - IGM's
- -------------------------------------------------------------------------
-
- You are welcome to write any code that you wish for Stardock Loco's
- expansion module features, as long as you give me credit, and you do not
- charge more than the cost of Stardock Loco - if you create a module
- that you wish to have them register. I would like to have a look at it
- for approval, to make sure it stays within the game story, and doesn't
- trash a BBS's game files.
-
- I do _not_ require any $$ from the proceeds of your module(s). But if you
- want, send it over... <G>
-
- The module must run from one of the expansion module areas in the game.
-
- If you create a module, upload it to the support bbs, and I like it, I will
- send you a registration key for yourself or for your favorite BBS. It
- doesn't necessarily have to be a great or large module by any means,
- just something creative and interesting. I'm pretty easy on the standards!
- Heck, this is all for fun anyway!
-
- See the very bottom of this file for the support bbs numbers and how to get
- in touch with me if you need help.
-
-
- There are many IGM/expansion module areas:
-
- * The <U> Upstairs and <D> Downstairs portions of Terran Pete's Slush Bar.
- * The <O> Other Places area in the ShipYards. (30 slots)
- * The area on board a players ship: <G> Go for a cruise.
- * The Blackmarket. <Enter> at the Main Menu.
- * Favrie Colony IGM slots. (5 slots)
-
- NEW:
- * Sickbay, Weaponshop, Armorshop, Terran Pete's, Sleeping Pods, Bank, Nehrus,
- Other Aliens.
-
- Feel free to create new places for the following:
-
- These are accessed:
-
- Sickbay: sb??????.exe
- WeaponShop: ws??????.exe
- ArmorShop: as??????.exe
- Terran Petes: tp??????.exe
- Sleeping Pods: sp??????.exe
- Bank: bk??????.exe
- Nehru's Arena: na??????.exe
- Other Aliens: oa??????.exe
-
- If you drop an .exe into the SDL directory with the beginning letters of the
- above, it will bypass my code for those areas. Your IGM will appear instead.
- Give it a try by copying roid.exe to sbroid.exe and you will see what I mean.
-
-
-
- IGM Necessary Information:
- ---------------------------------------------------------------------------
- SDLoco was created using Brian Pirie's Opendoors program. If you are unfamiliar
- with this C library, I recommend that you download it from a BBS, and register
- it if you are going to use his library. You may NOT attach a module that
- uses a library or program that is unregistered that interfaces with a modem,
- a BBS, and with Stardock Loco. I accept no responsibility for your program
- and/or its uses!
-
- <Mean Mode OFF> :)
-
- ----------------------------------------------------------------------------
- NEW ADDITION: I have just added MODULE.C to the stardock zip file. It
- contains the full source of the blkmkt1.exe to get you started easier on a mod.
- Just trying to make it easier on all of us...:) You may want to read the
- code below, to get a little more insight, and see why I did what.....
-
- Feel free to use module.c
- as a starting point for your module. You can create a new black market that
- runs from that slot, but you must include the armor and weapon upgrades as
- part of your black market. Note: It is written using Brian Pirie's Opendoors
- serial comm door program, and cannot be compiled without the odoorh.lib. But,
- you can change that easily if you have another program that you use. See the
- MODULE.C for more information.
-
- That slot is accessed by blkmkt?.exe, the question mark being the number or
- letter that you or I add to it. The version included with sdloco is
- blkmkt1.exe.
-
- --------------------------------------------------------------------------
- The Shipyards Expansion Slots
- --------------------------------------------------------------------------
- If you create a module, it would be a good idea to include a description
- for the Sysop to type into the sd_add.exe program. Or you can write an
- easy install, and add it yourself. See the structure of the module.lst
- file below. (waaaay below..) <--this only applies to the shipyards module
- area!
-
-
- -------------------------------------------------------------------------
- Terran Pete's module slots
- -------------------------------------------------------------------------
- For the upstairs/downstairs area, no description is necessary. All that you
- must do is begin the module name with:
-
- dn To run from Downstairs
- up To run from Upstairs
-
- Example: DNmymod.exe <--it must end with .exe
-
- -And then dump it in the sdloco directory.
-
- I use the C function _dos_findfirst to look for the module. I am using the
- wildcard characters in the following way:
- up*.exe
- dn*.exe
-
- Whatever you put between the up/dn and the .exe doesn't matter to me. Do
- note that it looks for the first occurence of an "up" or a "dn", and will
- run that module. If there are other modules in the directory, it will
- run the _first_ one it finds. Make sure to notify the sysop of this, and
- tell them about removing another up/dn module, and possibly renaming it
- and adding it to the shipyard module area using the sd_add.exe.
-
- -------------------------------------------------------------------------
- On board the ship module slot <G> Go for a cruise
- -------------------------------------------------------------------------
- For the on-board the ship area, no description is necessary. All that you
- must do is begin the module name with:
-
- nd
-
- Example: ndMymod.exe <--it must end with .exe
-
- -And then dump it in the sdloco directory.
-
- This one is accessed from the <G> Go for a cruise part of the menu.
- Feel free to create a new ending for the game if you wish! Or take
- 'em for a ride to the center of the universe...I dinna care! <G>
-
- Once again, I am using _dos_find_first! See the Terran Pete's module
- slot reference about this.
-
- -------------------------------------------------------------------------
- Favrie Colony * New Developments Area
- -------------------------------------------------------------------------
- This area is for those of you that wish to create a planet based IGM. There
- are 5 slots. You will have to create a text file for the description of your
- module. Just open an editor such as dos edit, and type in your description
- on the first line. You have a 50 character line you can use. If you like, you
- can colorize your description with the following:
- `red` For bright colors:
- `blue` add bright:
- `yellow` example: `bright red`
- `cyan`
- `green`
-
- Here is an example description:
- `bright green`Into the Jungles of Favrie. <-this will show up on the menu
- as a bright green item.
-
- The ` is very important.
-
- The modules and description files are as follows:
- 1fc*.exe
- 2fc*.exe
- 3fc*.exe <-IGM names
- 4fc*.exe
- 5fc*.exe
-
- 1fc*.dsc
- 2fc*.dsc
- 3fc*.dsc <-Description files
- 4fc*.dsc
- 5fc*.dsc
-
- -And then dump it in the sdloco directory.
- They will then run from the corresponding <1> <2> etc from the New Develop-
- ments menu on the Favrie Colony.
-
- I use the C function _dos_findfirst to look for the module. I am using the
- wildcard characters in the following way:
- 1fc*.dsc
- 1fc*.exe
- 3fc*.dsc, etc.
- Anything between the first three letters and the . are yours to add. I don't
- look at them or worry about them.
-
- If there are other modules with the same first 3 letters in the directory,
- it will run the _first_ one it finds. Make sure to notify the sysop of this,
- and tell them about removing the other favrie module, and possibly renaming it
- and adding it to the shipyard module area using the sd_add.exe, or renaming
- yours to another module such as 5fcMymod.exe/.dsc.
-
- ------------------------------------------------------------------------
- For all module areas:
- ------------------------------------------------------------------------
- Try to make the program install and un-install in a minute or less. Save
- the Sysop all the hassle you can! They're busy ya know!
-
- NOTE WELL:
- * You must have exclusive file access if you access my player file! See the
- C version of the exclusive file access I have included.
-
- ABOUT ME:
- I am a new C programmer, as you experienced C people may notice in some
- of the following code. As a student at DeVry in Phoenix, Az, I decided
- to really learn C the first day of the C class. So, I wrote this sucker
- in the following month. I learned some C. While the rest of the class
- was doing printf, I was banging away at spawning other programs, and
- doodling in memory allocation and serial comm. They hate me...<JK>
-
- So, you may notice some weird stuff in the code that is in this text file.
- I didn't change some of it because it worked, even though I found out later
- that it wasn't the _best_ way. But it werked at the time, and werks now.
- Expect nicer cleaner stuff soon.....
-
- And, thanks for reading this, and playing Stardock Loco. If you know
- how to write stuff, please add on to the game. It would be tremendously
- cool to have a lot of nice add-ons that are full featured games that
- work together!! It could make it _the_ game to have!
-
-
- All of this is in C, if you don't know C, it shouldn't be too tough for
- you Pascalites, or other language types with a big book.
-
- -------------------------------------------------------------------------
- Expansion Modules: All areas, Terran Pete's/Shipyard Modules/On ship
- -------------------------------------------------------------------------
- I make the expansion modules separate entities from the game. When they run
- the module, Stardock Loco is swapped to disk. Your module then takes control
- of any modem interfacing. When they return, Stardock then checks to see if
- the player's lifepoints are greater than 0. If so, they continue the game.
- If not, they are sent back to the BBS.
-
- The module is spawned similar to the spawnvpe function in C. (Opendoors 5.0
- od_spawnvpe function). What I pass to the module is the *path* to the door.sys
- or whatever type the door file is for the BBS. That file contains all the
- information that is required for the door. (od_control structure for Opendoors
- users). Then I extract the player's real name from the door file.
-
- Note: If the game is run in local mode, I pass a switch of /L in the
- argv. This causes the Sysop to log into the module....(gonna change that!)
-
- When the player goes to the modules, I look up their real name, then when
- the match is found, run the module. If it isn't found, that is a major error,
- and they return... The favrie.exe Colony has it's own special player file.
- fav_pl.lst. See the example waaaay at the bottom of this file.
-
-
- FILE AND CODE INFORMATION: //Also see MODULE.C (Blackmarket)
-
- *****************READ THIS, EVEN IF YOU'RE USING MODULE.C!!***************
-
- ---------------------------------------------------------------------------
- The main player file as defined in C: player.lst
- ---------------------------------------------------------------------------
- The player.lst is saved in text format.
-
- I then convert the player to the correct integer and long values that
- I need in the game. (Don't ask why..<G>)
-
- //size definitions
- #define MAXNAME 30
- #define MAXBBSNAME 36
- #define MAXWEAPONNAME 20
- #define MAXARMORNAME 20
- #define MAXSTANDARDLONG 10
- #define MAXSTANDARDINT 4
-
- struct player
- {
- char on_now[MAXSTANDARDINT+1]; //If they are currently on-line = 1
- char name[MAXNAME+1]; //Game name
- char bbs_name[MAXBBSNAME+1]; //Real name
- char living[MAXSTANDARDINT+1]; //if alive = 1, dead = 0
- char killer[MAXNAME+1]; //Who killed them
- char location[MAXSTANDARDINT+1]; //Where they are. 1=Terran Pete's
- // 2=Pods
- char lifepoints[MAXSTANDARDLONG+1]; //lifepoints
- char lifepointsttl[MAXSTANDARDLONG+1]; //Total lifepoints
-
- char weapon[MAXWEAPONNAME+1]; //Weapon name
- char weapon_energy[MAXSTANDARDLONG+1]; //Current amount of Energy Packs
- char weapon_strength[MAXSTANDARDINT+1]; //Weapon strength i.e. 1, 2, 3, 4 etc.
- char max_packs[MAXSTANDARDLONG+1]; //Total energy packs gun will hold
-
- char weapon_status[MAXSTANDARDINT+1]; //if owns weapon = 1
- char weapon_cost[MAXSTANDARDLONG+1]; //Weapon's value
-
- char armor[MAXARMORNAME+1]; //Armor Name
- char armor_strength[MAXSTANDARDLONG+1]; //Strength of Armor
- char armor_status[MAXSTANDARDINT+1]; //if they have armor = 1
- char armor_cost[MAXSTANDARDLONG+1]; //Armor Value
-
- char credits[MAXSTANDARDLONG+1]; //credits on hand
- char bank_credit[MAXSTANDARDLONG+1]; //credits in Guido's Bank
-
- char pod[MAXSTANDARDINT+1]; //if own a pod = 1
-
- //SOMEBODY CRUISE THIS SHIP ALL OVER THE GALAXY PLEASE!!! <G>
- //Battles! Trading, quests, exploration, planets, stars...
-
- char ship[MAXSTANDARDINT+1]; //if own a ship = 1 // 2=I'stellar cruiser
- char ship_name[MAXNAME+1]; //name of ship
- char ship_type[MAXSTANDARDINT+1]; //type of ship. 1=garbage scow
- // 2=I'stellar cruiser
-
- char mt[MAXSTANDARDINT+1]; //has a matter transmitter =1
- char arkon_bomb[MAXSTANDARDINT+1]; //has a bomb = 1
-
- char level[MAXSTANDARDINT+1]; //player level
- char experience[MAXSTANDARDLONG+1]; //Experience
- char kills[MAXSTANDARDINT+1]; //kills. <-used on asteroid. Turns used.
- char droids[MAXSTANDARDINT+1]; //number of droids
- char passkey[MAXSTANDARDINT+1]; //number of passkeys
-
- //globals
- char on_off[MAXSTANDARDINT+1]; //if droids armed = 1
- char sickbay_closed[MAXSTANDARDINT+1]; //if sickbay closed = 1
- char bank_closed[MAXSTANDARDINT+1]; //if bank_closed = 1
- char pickpocket[MAXSTANDARDINT+1]; //pickpocketed nurse wetley
- char tipcnt[MAXSTANDARDINT+1]; //how many times stolen tips
- char owns[MAXSTANDARDINT+1]; //owns weaponshop = 1
- //owns armorshop = 2
- //owns both = 3
- char fights[MAXSTANDARDINT+1]; //fights used today
- char last_played[MAXSTANDARDINT+1]; //day last played. (stardate)
- };
-
-
- That big mess is converted to this in the game:
-
-
- struct on_line_player
- {
- int on_now;
- char name[MAXNAME+1];
- char bbs_name[MAXBBSNAME+1];
- int living;
- char killer[MAXNAME+1];
- int location;
- long lifepoints;
- long lifepointsttl;
-
- char weapon[MAXWEAPONNAME+1];
- unsigned long weapon_energy;
- int weapon_strength;
- unsigned long max_packs;
- int weapon_status;
- unsigned long weapon_cost;
-
- char armor[MAXARMORNAME+1];
- unsigned long armor_strength;
- int armor_status;
- unsigned long armor_cost;
-
- unsigned long credits;
- unsigned long bank_credit;
-
- int pod;
-
- int ship;
- char ship_name[MAXNAME+1];
- int ship_type;
- int mt;
- int arkon_bomb;
-
- int level;
- unsigned long experience;
- int kills;
- int droids;
- int passkey;
- int on_off;
- //reset daily by extern: //from defaults....
- int sickbay_closed; //killed staff
- int bank_closed; //angered guido
- int pickpocket; //picked N. Wetlys pocket
- int tipcnt; //max tips taken
- int owns; //1 owns weapon shop, 2 owns armor shop
- int fights; //fights used today
- int last_played; //stardock days running
- };
-
- --------------------------------------------------------------------------
- Favrie Colony player list: fav_pl.lst
- --------------------------------------------------------------------------
- If you wish to use the special skills that the player has gotten on the
- colony, or any other stuff, here it is:
-
-
- Expect this to change if I expand the colony.
-
- struct fahvrie
- {
- unsigned long cillenium; //how much cillenium they have found
- int skill; //skill 1 = nard kick, 2 3 4 5 6 7 8 9
- //if they are a level 4, they can use 4,3,2,1
- int mine_turns; //turns used in the mine
- int fight_turns; //turns used in the nightclub
- int fights; //total fights in the nightclub
- // important to raise skill level.
- unsigned long bank_credit;
- };
-
-
- As stored in the fav_pl.lst, text format:
-
- struct p_file
- {
- char name[MAXNAME+1]; //Real Name
- char cillenium[MAXSTANDARDLONG+1]; /////////////////////////
- char weapon[MAXWEAPONNAME+1]; /// <<-not used yet
- char mine_turns[MAXSTANDARDINT+1]; /// Same as above
- char complex_turns[MAXSTANDARDINT+1]; /// <<-not used yet
- char nightclub_turns[MAXSTANDARDINT+1]; ///
- char bank_credit[MAXSTANDARDLONG+1]; ///
- char fight_turns[MAXSTANDARDINT+1]; ///
- char skill[MAXSTANDARDINT+1]; ///
- char fights[MAXSTANDARDINT+1]; ////////////////////////
- char exp2[MAXSTANDARDINT+1]; //expansion slot <-not used yet.
- char date; //date last played. date<<_dos_getdate
- };
-
-
- --------------------------------------------------------------------------
- module.lst record definition
- --------------------------------------------------------------------------
- I've added this for those of you that wish to add an easy install for the
- sysop that automatically adds your module into the module.lst for the
- ShipYards expansion area.
-
- Please include an easy un-install as well.
-
- #define MAXPATH 36 // length of fields in entry box
- #define MAXDESCRIPTION 40
-
- struct record
- {
- char path[MAXPATH];
- char description[MAXDESCRIPTION];
- };
-
- ---------------------------------------------------------------------------
- News File: news.fil
- ---------------------------------------------------------------------------
- Wanna dump something in the news? Here ya go.
-
- #define MAXNEWS 80
-
- struct daily
- {
- char date[MAXSTANDARDINT+1]; //Stardate (game running date for delete)
- //game starts at 1 - see global.dat file
- //description for more details on date.
- char line[MAXNEWS+1]; //80 + 1 //news goes here.
- };
-
-
-
- ---------------------------------------------------------------------------
- Mail File: mail.fil
- ---------------------------------------------------------------------------
- #define MAXNEWS 80
-
- struct new_mail
- {
- char from_name[MAXNAME+1]; //from
- char to_name[MAXNAME+1]; //to
- char line[MAXNEWS+1]; //what they said.
- };
-
- --------------------------------------------------------------------------
- Global.dat file (Created by the install program sd_init.exe)
- (Stardate updated by first player on new day
- by spawned sd_ext.exe - maintenance program)
- --------------------------------------------------------------------------
- struct global_file
- {
- char lifepoints[MAXSTANDARDLONG+1]; //new player lifepoints
- char lifepointsttl[MAXSTANDARDLONG+1]; //new player total lifepoints
- char credits[MAXSTANDARDLONG+1]; //new player credits
- char droids[MAXSTANDARDINT+1]; //new player droids
- char tipcnt[MAXSTANDARDINT+1]; //maximum stolen tips a day (turns)
- char wep_owner[MAXNAME+1]; //who currently owns weaponshop
- char arm_owner[MAXNAME+1]; //who currently owns armorshop
- char fights[MAXSTANDARDINT+1]; //fights per day
- char stardate[MAXSTANDARDINT+1]; //current stardate running
- //^use this if you create news! // this starts at one, and is
- // updated during each maintenance
- // run. Incremented by 1.
- unsigned char realdate; //Real d.day from _dos_getdate
- }; //I just check for a change.
-
-
- --------------------------------------------------------------------------
- Exclusive File Access
- --------------------------------------------------------------------------
- This is the exclusive file access routine used for the program:
-
- For those that haven't used exclusive file access: What this does is
- keeps two players from writing or reading a file at the same time. Big
- problems could develop on multi-line BBS's if players are playing
- at the same time, and writing the same file at the same moment. Bad Bad
- Bad!!! <G>
-
- Author of the following exclusive file access function:
- Brian Pirie, Opendoors Door Programming Toolkit. <-get it, it's good!
-
-
- #define WAIT_FOR_FILE 10 /* Time to wait for access to file */
- FILE *OpenExclusiveFile(char *pszFileName, char *pszAccess, time_t Wait);
-
-
- FILE *OpenExclusiveFile(char *pszFileName, char *pszAccess, time_t Wait)
- {
- FILE *pfFile;
- time_t StartTime = time(NULL);
-
- for(;;)
- {
- /* Attempt to open file */
- pfFile = fopen(pszFileName, pszAccess);
-
- /* If file was opened successfuly, then exit */
- if(pfFile != NULL) break;
-
- /* If open failed, but not due to access failure, then exit */
- if(errno != EACCES) break;
-
- /* If maximum time has elapsed, then exit */
- if(StartTime + Wait < time(NULL)) break;
-
- /* Give the OpenDoors kernel a chance to execute before trying again */
-
- /////////NOTE///////////////////
- od_kernel(); //should be included if you use Opendoors 5.0
- } //or exclude it if you don't.
-
- /* Return pointer to file, if opened */
- return(pfFile);
- }
-
- ---------------------------------------------------------------------------
- Enemies are hard coded in the game....ewwww.
- ---------------------------------------------------------------------------
-
- struct enemy
- {
- char name[MAXNAME+1]; //name of alien
- int living; //if alive = 1
- char weapon[MAXWEAPONNAME+1]; //weapon name
- unsigned long weapon_energy; //weapon enemy
- int weapon_strength; //weapon strength
- int level; //level <-not used
- unsigned long experience; //experience
- int kills; //kills <-not used
- int weapon_status; //if they have a weapon = 1 <-not used
- char armor[MAXARMORNAME+1]; //armor name
- unsigned long armor_strength; //armor strength
- unsigned long credits; //credits
- long lifepoints; //yep
- long lifepointsttl; //uh-huh
- };
-
-
- Well, there it all is. If you want some more info, write me e-mail at
- alanen@hvs.mail.com (Rock Garden BBS, Phoenix AZ) or at the Sherwood Forest
- BBS, (602) 876-0013.
- I'd be glad to look at what you have, or try to answer any pertinent questions.
-
-
- Hasta luego amigos. Estamos locos....(pardon my bad spanish) I'm a finlander
- that should be herding raindeer, not babbling in spanish and drinking irish
- cervezas...<G>
-
- ----------------------------------------------------------------------------
- More Help for Opendoors Hombres...
- ----------------------------------------------------------------------------
- This is the main routine for the favrie colony. Also follows is a
- player file read for any module or main file. See also MODULE.C.
-
- void main(int argc,char *_argv[])
- {
- int counter;
- int sync=0;
-
- for(counter=1;counter<argc;++counter)
-
- {
- if((_argv[counter])[1]=='l'||(_argv[counter])[1]=='L')
- {
- od_control.od_force_local=TRUE; //make it local mode.
- od_clr_scr();
- od_printf("`cyan`╒═════════════════════════════════════════════════════════════╕\n\r");
- od_printf("│`green`STARDOCK LOCO -`cyan` Local Mode - Favrie Colony │\n\r");
- od_printf("╘═════════════════════════════════════════════════════════════╛\n\r");
- od_printf(" Enter your name: ");
- od_input_str(door_sys_name,MAXBBSNAME,32,127);
- door();
- sync=1; //keep from playing game twice.
- }
- }
- if(sync==0) //otherwise we play game twice in local mode...
- { //hey, I'm new at this...<G>
- if(argc>1) strncpy(od_control.info_path,_argv[1],59); //path to door file
- od_init(); //opendoors initialization.
- strcpy(door_sys_name,od_control.user_name); //move user_name from door.sys
- door(); //to my door_sys_name.
- }
- }
-
- #define MAXBBSNAME 36
- char door_sys_name[MAXBBSNAME+1];
-
-
- void door(void)
- {
- char answer;
- r_player_file(); //get the player's normal stats.
- if(playerfound==1)
- {
- r_fahvrie_file(); //get the player's favrie stats.
- od_clr_scr(); //clear screen.
- od_printf("\n\r╒═════════════════════════════════════════════════════════════╕\n\r");
- od_printf("│`green`STARDOCK LOCO -`cyan` Rental Craft │\n\r");
- od_printf("╘═════════════════════════════════════════════════════════════╛\n\r");
- od_printf("You get into the little short range Needler that you rented\n\r");
- od_printf("from Guido and head over to the Favrie Colony. \n\r");
- od_printf("\n\r <`red`L`cyan`> Land at the Favrie Colony\n\r");
- od_printf(" <`red`X`cyan`> Exit back to Stardock\n\r");
- od_printf("\n\rMake your choice: ");
- answer=od_get_answer("LX\n\r");
- switch(answer)
- {
- case 'X':
- od_printf("\n\rScared of Deep Space, you decide to return to the Stardock.");
- WaitForEnter();
- break;
- case 'L':
- default:
- favrie_main(); //main favrie screen and options menu.
- break;
- }
- }
- else
- {
- od_printf("\n\rPlayer not found!");
- od_printf("Name Error.");
- WaitForEnter();
- } //then will return from whence it came...
- }
-
-
- ////////////////////read of player file to get details///////////////
-
- void r_player_file(void)
- {
- struct player *names;
- int p;
- FILE *fptr;
- record_count=0;
- if((names=(struct player*) calloc(100,sizeof(struct player)))==NULL)
- {
- od_printf("\n\rNot enough memory for Player.lst");
- WaitForEnter();
- }
- else
- { ///must have the exclusive file access....
- fptr = OpenExclusiveFile("player.lst", "rb", WAIT_FOR_FILE);
- while( fread(&names[record_count],sizeof(names[record_count]),1,fptr)==1)
- record_count++;
- fclose(fptr);
- }
-
- //check for a match of name[p].bbs_name
- //against door_sys_name
- for(p=0;p<record_count;p++)
- { //begin for
- if (stricmp (door_sys_name,names[p].bbs_name) ==0 )
- { //begin if
- playerfound=1; //player is found...
- strcpy(current.name,names[p].name);
- strcpy(current.bbs_name,names[p].bbs_name);
- current.living=atoi(names[p].living);
- strcpy(current.killer,names[p].killer);
- current.location=atoi(names[p].location);
- current.lifepoints=atol(names[p].lifepoints);
- current.lifepointsttl=atol(names[p].lifepointsttl);
- /////////AAAAAAAAAAAAAAAAAAAAAAAAAGGGGGGGGGGGGGHHHHHH
- strcpy(current.weapon,names[p].weapon);
- current.weapon_energy=atol(names[p].weapon_energy);
- current.weapon_strength=atoi(names[p].weapon_strength);
- current.max_packs=atol(names[p].max_packs);
- /////////////lalalalalallaalalalalalalalal
- current.weapon_status=atoi(names[p].weapon_status);
- current.weapon_cost=atol(names[p].weapon_cost);
-
- strcpy(current.armor,names[p].armor);
- current.armor_strength=atol(names[p].armor_strength);
- current.armor_status=atoi(names[p].armor_status);
- current.armor_cost=atol(names[p].armor_cost);
-
- current.credits=atol(names[p].credits);
- current.bank_credit=atol(names[p].bank_credit);
-
- current.pod=atoi(names[p].pod);
- ///AND THERE IS YET MORE!!!!!!!!!!!!!
- current.ship=atoi(names[p].ship);
- strcpy(current.ship_name,names[p].ship_name);
- current.ship_type=atoi(names[p].ship_type);
- current.mt=atoi(names[p].mt);
- current.arkon_bomb=atoi(names[p].arkon_bomb);
- ///Talk about a pain in the butt.
- current.level=atoi(names[p].level);
- current.kills=atoi(names[p].kills);
- current.experience=atol(names[p].experience);
- current.droids=atoi(names[p].droids);
- current.passkey=atoi(names[p].passkey);
- ///I shan't do it like this again......
- current.on_off=atoi(names[p].on_off);
- current.sickbay_closed=atoi(names[p].sickbay_closed);
- current.bank_closed=atoi(names[p].bank_closed);
- current.pickpocket=atoi(names[p].pickpocket);
- current.tipcnt=atoi(names[p].tipcnt);
- current.owns=atoi(names[p].owns);
- current.fights=atoi(names[p].fights);
- current.last_played=atoi(names[p].last_played);
- //////////get me outta here!!!!!!!!!!
- p=record_count;
- } //end if
- else playerfound=0;
- } //end for
- free(names); /////Dump the calloc
- }
-
- Any additional questions can be sent to me at the following addresses:
- ----------------------------------------------------------------------------
- The support BBS for new versions of Stardock Loco is the Sherwood Forest BBS.
- This BBS is run by a friend of mine, John Myers, aka Little_john.
-
- The number is: (602) 876-0013.
-
- To access the file and message areas for Stardock Loco,
- use the following log-in:
-
- First Name: Stardock
- Last Name : Loco
- Password : Support
-
- My name, if you forgot, is Aaron Alanen. I can also be reached by i-mail/e-mail
- at alanen@inficad.com
-
- Other ways to reach me:
- alanen@mail.hvs.com (Rock Garden BBS, Phoenix, AZ)
-
- MajorNet: notme atall@rok
-
- Or snail:
-
- Aaron Alanen
- 6502 E. Vernon
- Scottsdale, AZ 85257-1140
- USA.
-
- See the ORDER.FRM to get information on registering Stardock Loco!
-
- Thanks for reading this far!
- ----------------------------------------------------------------------------
-