FO2 - Help with a map

You need to solve this problem - if you get into scripting in any major way - being able to compile the scripts is a must.

Yeah, but I don't think I'm gonna get serious about scripting. It seems really complicated (I know it isn't so much once you get into it) and to be honest, I'm not willing to spend too much time learning.
 
If you want maps, you'll have to at least create map scripts. There'll eventually be more than just the car that you'll need to set with them.

It's not FSE that doesn't work on 64 bit windows, but the script compiler it uses by default. (Which is a 16 bit dos application.) Grab this and follow the instructions to make FSE use its compiler instead of its own. (This has the problem that FSE is unable to pick up any compilation errors, and will always report that the script compiled successfully.)

I've no idea how to set up watcom, but if you want to try the visual studio express route instead I'll be able to help with that.
 
Many thanks, I was able to compile the script successfully. Another problem, though - the car still doesn't appear in the map. Do I have to do anything else apart from putting a line for my script in scripts.lst?

EDIT: So, the last line in scripts.h in 'headers' folder looks like this:
Code:
#define SCRIPT_MYHOUSE          (1304)  // myhouse.int     ; Script for the car in my map

And the last line in scripts.lst looks like this:
Code:
myhouse.int     ; Script for my map                             # local_vars=0

Any ideas what to do next?
 
Damn, I really can't believe this. I've finally figured out where I made mistakes, so I tried to compile the script with FSE. Everything looks fine, I get the "Script compiled successfully" line as usual... except that the script file isn't anywhere. I haven't changed any settings at all. I tried compiling it several times, even reinstalled FSE (twice). Nothing.

Do any of you guys know what could possibly be wrong this time? I'm getting desperate here.

EDIT:

OK, I can compile the script again. Now this will sound like a broken record, but the car still doesn't appear. It would be best to show you the script, so here goes:

Code:
#include "headers\define.h"
#include "headers\MYHOUSE.h"
#include "headers\updatmap.h"

#define NAME                    SCRIPT_MYHOUSE

#include "headers\command.h"

procedure start;
procedure map_enter_p_proc;
procedure map_update_p_proc;

procedure start begin
end

procedure map_enter_p_proc begin

   if ((map_var(MVAR_Made_Car) == 0) and (global_var(GVAR_PLAYER_GOT_CAR) != 0) and (car_current_town == AREA_MYHOUSE)) then begin
       set_map_var(MVAR_Made_Car,1);
       Create_Car(CAR_MYHOUSE_MAP_HEX,CAR_MYHOUSE_MAP_ELEV)
   end

   else if ((map_var(MVAR_Made_Car) == 1) and (car_current_town != AREA_MYHOUSE)) then begin
       set_map_var(MVAR_Made_Car,0);
       Dest_Car(CAR_MYHOUSE_MAP_HEX,CAR_MYHOUSE_MAP_ELEV)
   end

   Lighting;

   set_global_var(GVAR_LOAD_MAP_INDEX,0);
end

procedure map_update_p_proc begin
   Lighting;
end

I can't figure out what's wrong...
 
Back
Top