BIS Mapper Problems

Stuporstar

First time out of the vault
Hey all, I've run across some weird behavior in the mapper when adding scripts. I've followed all the advice available here. The scripts.lst file is edited, the scripts are compiled. They all show up in the mapper fine. And yet, when adding a new script to an object, it only ever selects the last of my scripts added to the list. It will properly select all the original scripts, and those added by other mods, but it's acting buggy with all of mine.

These are my three scripts in my scripts.list:
Code:
acrats.int    ; Arroyo Mutant Rats                # local_vars=0
didelobs.int    ; Den Disappearing Objects            # local_vars=0
dsaprobs.int    ; Den Appearing Objects                # local_vars=0

They all show up in the dropdown menu, but if I select either acrats or didelobs, it always selects dsaprobs instead. If I change the list so that didelobs is last, it always selects didelobs instead, and all the objects that formerly had dsaprobs as their script now all have didelobs in its place.

I then deleted the last two scripts from the .lst file and reloaded my map. All the objects that had dsaprobs as their script now just show .int. I selected acrats for one of them, saved and reloaded, and it still had acrats selected. So I put didelobs back on the list, and now that one kept acrats but the rest were now all didelobs. So I deleted the scripts on everything except the ones that are supposed to have didelobs, added dsaprobs back to the list, and reloaded the map. The ones that had didelobs kept their script and I was now able to add dsaprobs back to the others.

So I can only add one new script at a time. If I need to add a prior script, I need to temporarily delete everything after that in my scripts.lst before I can add it.

Does anyone know why the Mapper is behaving this way?
 
Do you use LVARs inside your scripts? If so try to write 'local_vars=AmountOfLVARs'.
Did you modify SCRIPTS.H?
 
I did modify scripts.h and even put them in the mapper's scripts folder just in case. But that doesn't seem to matter.

I didn't need any LVARs inside my scripts. I was wondering though if there are any LVARs inside the standard headers which mean that no local script would truly have 0 LVARs. All I have included are command.h and define.h though, and in the rat's script the acvillage.h header, which only has MVARs.
 
I tested some things but couldn't reproduce your problem.
Are the line numbers in SCRIPTS.H corresponding to the ones in SCRIPTS.LST?
 
Usually, only map scripts have local_vars set to 0, because map object holds MVARs, not LVARs. Setting local_vars to 0, especially for critters, will cause odd in-game behaviour
 
Huh, I suspected that might be the problem, but then I went back to the script I based acrats on and it's this in the .lst.
Code:
mcRat.int       ; Modoc Garden Rat                              # local_vars=0

I tried setting local_vars to 1 to everything I added to the .lst anyway, just to test it, but it hasn't fixed the mapper problem unfortunately.

I also made sure scripts.h matches scripts.lst, but that had no effect on the problem either. I'm really stumped.
 
Shot in the dark...

I once had minor issues in mapper which was caused by scripts.lst having an extra line after the last entry. Which was also not easy to see inside the lst (i.e. it had an extra line but wouldn't show it, only when selecting the last line and going to the very end of it it changed from line 112 (last visible line) to 113 (actual last line)). Anyway, if "dsaprobs" is the last entry in the lst, and the mapper keeps getting hang up on it - "maybe" you have an extra line in the lst. I doubt that's the problem here (from reading it)... but that was something that can confuse the mapper.
 
IIRC Mapper has a hardcoded limit of how many scripts it can work with.
Try setting INCREASE_SCRIPT_LIMIT=0 to 1 in your m2_res.ini
 
Back
Top