Fallout 2 mod Megamod version 2.46 Bug Reports and Suggestions - Closed

So, I'm pretty sure the Smitty problems comes from the first part of his timed event procedure.
Code:
procedure timed_event_p_proc
begin
  variable LVar1 := 8694;

  asm_expr(op_fixed_param() == 0);
  asm(0x802f);
  asm_push_value(0);
  asm_expr(op_combat_is_initialized() == 0);
  asm(0x802f);
  asm_push_value(8926);
  asm(0x8004);
  if (op_fixed_param() == 1) then
  begin
  if (op_combat_is_initialized() == 0) then
  begin
  asm_push_value(0);
  asm_expr(((op_local_var(4) bwand 2048) != 0) == 0);
  asm(0x802f);
  end
  op_metarule3(100, op_self_obj(), 1, 0);
  op_add_timer_event(op_self_obj(), op_game_ticks(op_random(15, 90)), 1);
  end
  else if (op_fixed_param() == 11) then
  begin
  if ((op_local_var(4) bwand 1024) != 0) then
  op_set_local_var(4, op_local_var(4) bwor 2);
  op_set_local_var(4, op_local_var(4) bwor 2048);
  end
end

What is that assembly stuff doing there?
Anyway, I cleaned up the script so I could compile it (removed op_ and stuff), and replaced the timed events procedure with the following code from the RP:

Code:
procedure timed_event_p_proc
begin
   if (fixed_param == 0) then begin
     if (combat_is_initialized == 0) then begin
     end
   end
   else begin
     if (fixed_param == 1) then begin
       if (combat_is_initialized == 0) then begin
         if (((local_var(4) bwand 2048) != 0) == 0) then begin
         end
       end
       metarule3(100, self_obj, 1, 0);
       add_timer_event(self_obj, game_ticks(random(15, 90)), 1);
     end  
       else begin
         if (fixed_param == 11) then begin
           if ((local_var(4) bwand 1024) != 0) then begin
             set_local_var(4, local_var(4) bwor 2);
           end  
           set_local_var(4, local_var(4) bwor 2048);
         end
     end
   end  
end
I have a save that always crashed, but stopped doing that with my altered script. It could be something else that fixed it by accident when changed the op_code stuff, but it seems more likely it's the timed events procedure causing the trouble.
 
I had no idea about that other code in there. I have no explanation for that one. The only thing I can think of is that I used a version of ruby to decompile the script and it didn't understand some sfall functions, and then I incorporated the code without paying attention.
 
Last edited:
I had no idea about that other code in there. I have no explanation for that one. The only thing I can think of is that I used a version of ruby to decompile the script and it didn't understand some sfall functions, and then I incorporated the code without paying attention.
Yeah that sounds plausible. I guess ruby is a bit more forgiving.

I looked at the flashlight script, very nice job @VonZorch.
I knew the normal light comes back on every map enter but apparently it also comes on every time you open up the backpack and touch an item.
This should take care of that.
Code:
procedure start
begin
   register_hook_proc(24, Move);
   register_hook_proc(18, Click);
   if (game_loaded) then begin
     set_global_script_repeat(1);
   end
   else begin
     if (IsOn) then begin
       obj_set_light_level(dude_obj, 100, 15);
     end
     else begin
       obj_set_light_level(dude_obj, 0, 0);    
     end
   end
end
"IsOn" should probably be made into a global variable, so the light stays on when you load a game. I'm thinking it can get annoying to have to turn on the light every time you load.
The "That does nothing." message can only be overridden by item scripts I assume (which we can't use). Unless someone smart can add something to sfall.
 
@Darek
Got it. Thanks for the additional code.

Playtesting continues...
I hope to have 2.46 out by Sunday.
 
MIB88, did you get that Gecko enclave encounter sorted out?
I looked at it and saw two problems. The first is that if you save and then load the game on the main Gecko settler map you break the encounter.
Either use a "if (not(metarule(22, 0))) then begin" check just before you override the map start, or move the following code from the map enter procedure to the map exit procedure like this:

Code:
procedure map_exit_p_proc
begin
   if (global_var(827) == 1) then begin
     set_global_var(827, 2);
   end
end

Secondly, the map override only works when you come from the worldmap, if you go somewhere else in Gecko you break the encounter. I'm thinking the exit grids might have something to do with the override not working. Anyway, while you visually don't change map elevation (except for the car trunk disappearing), as far as the map script is concerned, you did. It will run code it shouldn't and set gvar 827 to 3 so you can't get the encounter after that.

I have no idea how to fix the map override or the map elevation check, but the simple solution would be to add the following to both the Gecko Junkyard and the Reactor map scripts:

Code:
procedure map_exit_p_proc
begin
   if (global_var(827) == 2) then begin
     set_global_var(827, 1);
   end
end

That should make sure that the only time the map override can happen is when you come from the worldmap.


Another thing, Where do you get the flashlight?
I never really used flares before, but without the player lighting up anymore I thought they could be useful. But they are not working at the moment, so I played around with the flashlight script to include them, but couldn't get it to work to my satisfaction.
I can only get them to start to light up the player when in the active hand, after that they work in the off hand. I guess that would be OK, but the main problem is that If you save a game while you have a lit flare, it removes the flare from the timer event queue, causing it to stay lit forever instead of being removed. So, as flares are basically useless, I was hoping that you get the flashlight early.
 
I had one of the Gecko encounter items fixed, which was that if you bypassed the encounter you would have have multiple patrols stacking on one another. I hadn't gotten the other part resolved yet, and I have already incorporated the fixes you provided.

Regarding the flashlights, there are two different ones. Only one was added already at the Destroyed Lab. It's over there southeast of Vault City, so not too early on. It isn't involved in any quest and it is outside the normal travel lanes. I never really gave it much though, since it was just a trinket anyway. Now that it works and has a use, I am open to suggestions about where they should be.
 
Last edited:
OK, so how the hell do I refuel the car?
No really, how do I do it? Using power cells does nothing. Has something been changed or is my game bugged, or what?
 
OK, so how the hell do I refuel the car?
No really, how do I do it? Using power cells does nothing. Has something been changed or is my game bugged, or what?

Nothing has changed regarding refueling the car. After you add the fusion cells, it should say something like "You add more power to the car," or something like that. Same as usual.
 
Nothing has changed regarding refueling the car. After you add the fusion cells, it should say something like "You add more power to the car," or something like that. Same as usual.
If "same as usual" means hold mouse on car, go to backpack, click on the micro fusion cells and then get the message "You charge the car with more power.", then yeah, that's not happening. Nor do I get the percentage left when I look at the car with the binoculars.
I tested to paint the car, and when it gets back to the original metal color it works properly again. When it is a rust bucket or when painted black it doesn't.
Maybe refueling the car is hard coded to the car's original proto? So, I wonder if I am missing some file or if it's broken for everyone?
 
I don't know if it is coded to the original car. I guess the paint job mod needs to come out. I can't believe it took this long to catch this bug.
Using the binoculars will not give the percentage of power left. I don't remember when I lost that... I think it was tied to the car breakdown script. Or, that may have been lost with the paint job mod. I honestly don't recall.
 
If "same as usual" means hold mouse on car, go to backpack, click on the micro fusion cells and then get the message "You charge the car with more power.", then yeah, that's not happening. Nor do I get the percentage left when I look at the car with the binoculars.
I tested to paint the car, and when it gets back to the original metal color it works properly again. When it is a rust bucket or when painted black it doesn't.
Maybe refueling the car is hard coded to the car's original proto? So, I wonder if I am missing some file or if it's broken for everyone?
If you're using sfall 3.7a, that's probably the reason why you can't charge the new car because one of the fixes added in 3.7 is hard coded to the car's original PIDs (body & trunk):
>Added a fix for the original engine issues with being able to charge the car with using cells on scenary/critters...
And it's was me being stupid to remove it from ddraw.ini in 3.7a. :oops:
I've re-added it back to ddraw.ini in the latest commit. The next version (3.7b or 3.8) will have CarChargingFix option back to let players charge custom cars. Sorry about that.
 
If you're using sfall 3.7a, that's probably the reason why you can't charge the new car because one of the fixes added in 3.7 is hard coded to the car's original PIDs (body & trunk):
Yeah, that would be the reason. Thanks a lot! ;)
I thought the refueling method must have been changed and was almost pulling my hair out for not being able to figure it out. :lol:
Oh well, no worries, shit happens. Plus now I got to see the massive change with how the car is handled.
Not to criticize, but just a thought... why did the creator of that car mod choose to use different protos to get different looks/cars, instead of just changing the art fids used? I think it would have been a lot easier and not needing any sfall fix either.
 
@Nirran, @Darek has a question for you! Are you around? :cool:

Playtesting continues... slowly. Still can't get Sulik's new art to come up. The coding is fine (I used plugged in the numbers for Myron's and Cassidy's new artwork to test in the Sulik script and those came up fine). I made sure the art folders and names in the .lst files are correct. The voice files play. Just the art is blank. I still wonder if it is the resolution...?
 
Hi...
Has been solved the cocoach isue?
(Like to loong atack animation, maximum speed dint have efect on it, probaly.
Small have ranged atack and big have to much atacks..)
-I just dislike cocoach.
And... about that skyned macho error? (give weapon reach the surface?)
 
There is a small issue with Smitty and repairing broken car parts. If you say "{709}{}{Are you crazy!? That's way too much!}" you always end up with a repaired alternator, no matter what part you had.
Node121 through node125 all take you to node131, when it should be node121 go to node131, node122 go to node 132, node123 go to node 133 etc.
Also, item proto 859 is mislabeled as "Damaged Regulator", should just be "Regulator" as it is the working one.
 
@Darek
Ah, crud. Thanks. I found that alternator bug in the script for Ratch, and corrected it there. I just have just did a horrible cut and paste job. I'll take care of that one now.

@Dretnoth
Most of those things you mentioned with the cockroaches are not issues... they are supposed to be dangerous. However, they no longer get looped in animation.
If roaches are such a turn off for you, just delete the artwork for them. The artwork is all those that begin with march1 and march2. Well, move them to a different folder. However, that should prevent you from encountering them and will not break your game.

I don't understand the error you mention regarding Skynet. Does he attack your party once you get to the surface? If that is the case, then just stop making him angry.
 
Last edited:
No the error has been that when i got him to sentry bot the only speech available has been: "Give weapon. Prossed to surface" "END" (or something)
I cannot leave him somewhere, thats close valut city. He still show pop up scanning message when i enter some area and attack by machine guns or mele. But never use rocket launcher. (And i have that time a super large avengers party. Seven maybe.
/sulik, vic, casidy, miron, cat or spi, klint, skyned-sentry /)
Thats was probably the source of glitch.
 
Hmm... I'm not entirely sure about your errors. Do I understand right, that you cannot tell him to wait? How did you get all of those characters? Do you have the Cult of Personality perk? As for rocket attacks, I must ask you an obvious question: Did you add rockets to his inventory? Finally, did you really add the Skynet cybernetic brain, or one of the other brains?
Also: Did you make Skynet angry while inside the base?
 
Do I understand right, that you cannot tell him to wait?
Every time i click on talk to him only thing he say in dialog is "Give weapon..." And only option is okey or end...

How did you get all of those characters?
If i remember correctly. Ch7 + glasses(Ch+1) + magnetic personality /sulik, vic, casidy, miron, cat or spy
then i hire bot and finally Klint who dint count.
Or something that.

Do you have the Cult of Personality perk?
No.

Did you add rockets to his inventory?
Yes. both types +rocket launcher. Or it use some other rockets?
He switches whit machine guns correctly but using machine gun on one dogs or lesser scorpions is quite expensive to caring ammo.

Finally, did you really add the Skynet cybernetic brain, or one of the other brains?
I think yes. I pick the best.

Did you make Skynet angry while inside the base?
Dont have any idea. Newer atack him. And i dint remember if i wipe out all robots in base before or after i take him.

And i have use combat mod when i enter the entrance field in oder to protect my crew from being crush.
But even then he have less communication ability that Ramus from LoL.
 
Hmmm. These errors are very strange. I have never seen this before. I will have to check this in my current playthrough.
Also, you can make him angry through dialog options, like if you say you won't help him. Killing the other robots doesn't really matter. Even if you eventually do help him he is not friendly. Still, something isn't right.
I am curious: how does Skynet behave when you remove some party members?
 
Back
Top