The Day Pass thing was just a thought. I've always interpreted "Day Pass" as meaning good for one day, but I can see the point others have about it meaning "valid during daytime hours."
@Darek et. al.
I had a little extra time and was curious about all these troubles in Broken Hills, so I used my save from outside the Raider camp and went down there since it's close. Maybe killap already fixed all these things, but I ran through the stuff around town with the note about the missing people, Jacob and Aileen, etc, and here's what happened to me:
--Making no other change to Francis other than using the latest script Darek posted in this thread plus the comment he made about the typo in the global variable reference, Francis was working perfectly as far as I could tell (no F2se fiddling needed). I went down to the ant caves and got the note, showed it to Zaius, and then confronted Francis. He agreed to leave town and disappeared. If you talk to Marcus about the missing people before talking to Francis, it's the same as if you talk to him afterward--you just mention that you found the missing people, but nothing about the note (as it should be, since the Chosen One says upon finding the note "I'd better not tell Marcus about this"). This isn't to say others aren't having problems with Francis, but I can't see any reason why he wouldn't work, the game would crash, etc and didn't have any problems like that.
--I think all the troubles with Marcus stem from three issues:
a) It's true that he's in "testing mode" in regard to joining the party, which is easily fixed by changing procedure Node001a in his script to:
Code:
procedure Node001a
begin
if ((op_global_var(302) == 7) or (op_global_var(302) == 8) or (op_global_var(302) == 9) and ((op_global_var(304) == 7) or (op_global_var(304) == 8) or (op_global_var(303) == 7) or (op_global_var(301) == 5)) and ((op_global_var(0) >= 0) or op_has_trait(0, op_dude_obj(), 39)) and (((((op_metarule(16, 0) - 1) >= (floor(op_get_critter_stat(op_dude_obj(), 3) / 2) + op_has_trait(0, op_dude_obj(), 98))) or ((op_metarule(16, 0) - 1) >= 5)) == 0) and ((op_party_member_obj(16777377) != 0) == 0))) then
call Node030();
else
call Node031();
end
b) Even after that, though (of course re-entering Broken Hills for the first time so the changed script will load), the player can walk up to Marcus without ever having spoken to him before and basically say "Hey stranger, who are you? Come travel with me and we'll be tentmates 4ever." That seems pretty silly--and is made even more confusing by the fact that Marcus may respond by saying "You have too many people with you already" when he wouldn't have joined anyway. However I looked at some older versions and it's always been that way with Marcus, so even though it's potentially confusing it's not a bug.
c) There's a relatively bad bug (because it fouls up two quests) in procedure Node025a that may be behind the remaining confusion and troubles with Marcus. Presently it reads:
Code:
procedure Node025a
begin
variable LVar1 := 0;
Perform_Jailing := 1;
if (op_global_var(305) == 7) then
begin
op_set_global_var(305, 11);
op_item_caps_adjust(op_dude_obj(), 500);
op_gsay_reply(600, 198);
end
else if (op_global_var(305) == 8) then
begin
op_set_global_var(305, 11);
LVar1 := op_create_object(287, 0, 0, -1);
op_add_obj_to_inven(op_dude_obj(), LVar1);
op_display_msg(op_msg_string(600, 644));
op_gsay_reply(600, 199);
end
op_giq_option(4, 600, 200, @Node999, 50);
end
Node025a deals with telling Marcus about the missing people, not Jacob and Aileen. It should be changed to:
Code:
procedure Node025a
begin
variable LVar1 := 0;
if (op_global_var(305) == 7) then
begin
op_set_global_var(305, 11);
op_item_caps_adjust(op_dude_obj(), 500);
op_gsay_reply(600, 198);
end
else if (op_global_var(305) == 8) then
begin
op_set_global_var(305, 11);
LVar1 := op_create_object(287, 0, 0, -1);
op_add_obj_to_inven(op_dude_obj(), LVar1);
op_display_msg(op_msg_string(600, 644));
op_gsay_reply(600, 199);
end
op_giq_option(4, 600, 200, @Node999, 50);
end
The line about the perform_jailing variable was probably just included accidently. I followed all the dialogue nodes about the quests in the script with the msg open beside it, and (unless I missed something) if that's fixed everything should be fine.