• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Bug Weird NPC Follow Bug - Need help

AyeGovenor

Landlubber
Ahoy matey's,

Yesterday I was casually doing some side missions. Then after some time I stumbled upon a captain named Pieter Boelen.

Ofcourse I accepted the mission he gave me right away. Sailed to La Tortue to finish the mission. Some how the event doesn't trigger and the mission fails because of the time limit.

Now im stuck with him... Tried everything to stop him from following me. With no change in the end.

I guess he just likes to be around me. :unsure

Any of you guys know what i can do to fix this annoying problem? :modding

Here is a short clip of the bug:
POTC New Horizons Bug

Love the mod btw. Thnx for the hard work! :duel:
 
I assume it's this line from PROGRAM\QUESTS\quests_side.c that causes it:
Code:
LAi_ActorFollowEverywhere(characterFromID("Pieter Boelen"), "", 60.0);

Maybe this works?
Code:
LAi_ActorStay(characterFromID("Pieter Boelen"));

Or, if you're very pissed off at it, you can also try:
Code:
LAi_KillCharacter(CharacterFromID("Pieter Boelen"));

Or the especially violent one:
Code:
ClearCharacter(CharacterFromID("Pieter Boelen"));
Which will erase me from existence.

Execute through console; see here point #4:
Tutorial - Modding Tips & Tricks

----------------

Did you get this entry in your Questbook?
Code:
text.t5=Pieter has prevented the landing at the port, but his ship, the 'Amsterdam' got damaged during the battle. He now needs my help to get him to #sTortuga# off the coast of #sisland_Hispaniola# to ask for assistance of the pirates there in case the Spanish try to attack again.
If so, that confirms this quest case did execute:
Code:
       case "gotoport":
           AddQuestRecord("Turkshelp", 5);
           setCharacterShipLocation(characterFromID("Captain"), "none");
           LAi_ActorFollowEverywhere(characterFromID("Pieter Boelen"), "", 60.0);
           locations[FindLocation("Turks_port")].reload.l5.disable = 0;       //JRH: new Turks shipyard

           locations[FindLocation("Turks_port")].reload.l3.disable = 0;       //JRH: new Turks townhall
           locations[FindLocation("Turks_port")].reload.l10.disable = 0;       //JRH: new Turks store
           locations[FindLocation("Turks_port")].reload.l13.disable = 0;       //JRH: new Turks blacksmith
           locations[FindLocation("Turks_port")].reload.l14.disable = 0;       //JRH: new Turks library
           locations[FindLocation("Turks_port")].reload.l15.disable = 0;       //JRH: new Turks tailor

           locations[FindLocation("Turks_port")].reload.l2.disable = false;   //JRH: new Turks, unlocked to sea now instead
           PChar.quest.Turkshelp = "Tortuga";
           Pchar.quest.Turkshelp.win_condition.l1 = "location";
           Pchar.quest.Turkshelp.win_condition.l1.location = "Tortuga_port";
           PChar.quest.Turkshelp.win_condition = "finalstory";
           LAi_QuestDelay("Turks_timer4", 0.0);
       break;
The only thing left is then:
Code:
       case "finalstory":
           ChangeCharacterAddressGroup(CharacterFromID("Pieter Boelen"), "Tortuga_port", "goto", "goto31");
           LAi_SetActorType(characterFromID("Pieter Boelen"));
           Characters[GetCharacterIndex("Pieter Boelen")].dialog.currentnode = "begin_15";
           LAi_ActorDialog(characterFromID("Pieter Boelen"), pchar, "", 1.0, 1.0);
           Pchar.quest.Turks_timer4.over = "yes";
       break;

For some reason, there is a reference there to "Turks_timer4":
Code:
       case "Turks_timer4":
           PChar.quest.Turks_timer4.win_condition.l1 = "Timer";
           PChar.quest.Turks_timer4.win_condition.l1.date.day = GetAddingDataDay(0, 0, 7);
           PChar.quest.Turks_timer4.win_condition.l1.date.month = GetAddingDataMonth(0, 0, 7);
           PChar.quest.Turks_timer4.win_condition.l1.date.year = GetAddingDataYear(0, 0, 7);
           PChar.quest.Turks_timer4.win_condition = "Turks_fin_timer";
       break;
That should trigger the following quest cancellation after 7 days:
Code:
       case "Turks_fin_timer":
           Characters[GetCharacterIndex("Pieter Boelen")].Location = "none";
           Characters[GetCharacterIndex("Diego Cordoba")].Location = "none";
           PChar.quest.Turkshelp = "end";
           PChar.quest.Turkshelp.over = "yes";

           AddQuestRecord("Turkshelp", 8);
           CloseQuestHeader("Turkshelp");

           // PB: Open up all locations, just in case -->
           locations[FindLocation("Hispaniola_shore_01")].reload.l2.disable = 0;
           locations[FindLocation("Hispaniola_shore_01")].reload.l3.disable = 0;
           locations[FindLocation("Turks_Lighthouse")].reload.l1.disable = 0;
           locations[FindLocation("Turks_Lighthouse")].reload.l2.disable = 0;
           locations[FindLocation("Turks_Lighthouse")].reload.l5.disable = 0;
           locations[FindLocation("Turks_Lighthouse")].reload.l3.disable = 0;
           locations[FindLocation("Turks_port")].reload.l5.disable = 0;       //JRH: new Turks shipyard

           locations[FindLocation("Turks_port")].reload.l3.disable = 0;       //JRH: new Turks townhall
           locations[FindLocation("Turks_port")].reload.l10.disable = 0;       //JRH: new Turks store
           locations[FindLocation("Turks_port")].reload.l13.disable = 0;       //JRH: new Turks blacksmith
           locations[FindLocation("Turks_port")].reload.l14.disable = 0;       //JRH: new Turks library
           locations[FindLocation("Turks_port")].reload.l15.disable = 0;       //JRH: new Turks tailor

           locations[FindLocation("Turks_port")].reload.l2.disable = false;   //JRH: new Turks, unlocked to sea now instead
           // PB: Open up all locations, just in case -->
       break;
Not sure why there's such a rush to get to Tortuga, but when triggered, it SHOULD teleport me to "nowhere".
Could it be that 'FollowEverywhere' overrides that?

If so, "I" would still be there even though you do also have this QuestBook entry
Code:
text.t8=I've lost too much time during the journey, so the mission is over. I just hope Pieter and the other pirates have been able to fend off whatever the Spanish governor has sent their way.
 
Thanks a lot Sire Boelen for your lightning fast response.

I guess my only option was to completely delete Mr. Pieter from my game, because he kept on coming back after killing him.

Cheers for your time and the fix ofcourse! :onya
 
Back
Top