• 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!

Need Help Updating the Russian Translation

I don't recall seeing carts in any silver quest. The quests I can think of which involve silver are:
The French Pirate in the Tavern: the one you've just been doing, no visible way of transporting silver;
The Silver Train: takes place on Petit Tabac, there are some donkeys and crates at the location of the final battle;
Silver for Cartagena: takes place around Cartagena, there are some donkeys carrying crates which appear at the location of the first battle, move to the location of the second battle, then disappear.

The reason donkeys don't appear at all on one quest, appear and stay there in one quest, appear and disappear in one quest, is that the three were written by different authors. "The French Pirate in the Tavern" is the oldest and may even be in the original, unmodded game. "The Silver Train" is a newer quest and different versions of it appear in a couple of storylines. "Silver for Cartagena" is the newest.
 
I don't recall seeing carts in any silver quest. The quests I can think of which involve silver are:
The French Pirate in the Tavern: the one you've just been doing, no visible way of transporting silver;
The Silver Train: takes place on Petit Tabac, there are some donkeys and crates at the location of the final battle;
Silver for Cartagena: takes place around Cartagena, there are some donkeys carrying crates which appear at the location of the first battle, move to the location of the second battle, then disappear.
Perhaps they were donkeys, but something was carrying silver. I probably saw this about 2 years ago, so I can’t say for sure. I'll check this later.

Also, after killing the soldiers on the beach, it takes a very long time before Claire begins to speak. I can just go back to the jungle location and freeze in place, and there will be no dialogue. I attached a save in front of the bay to check it out.
 

Attachments

  • 1700152748889.png
    1700152748889.png
    883.6 KB · Views: 70
  • -=Test3=- Barbados.7z
    661.9 KB · Views: 65
Last edited:
Can you load a save from before you reach the bay? Play until you arrive at the beach, then quit immediately and post "compile.log".
 
I think I loaded save above, right before the bay. But I can upload one more before we catch up with the convoy.
 

Attachments

  • compile.log
    6.5 KB · Views: 46
  • -=Вещи=- Барбадос.7z
    658.1 KB · Views: 53
According to that log, you have fought the soldiers at the shore. There should indeed be a delay, and Claire explained why in the dialog before the fight. You're waiting for the gold to be loaded onto the ship. That's when you went back to the jungle.

Except that then Claire says "Whew! This has been one wild day. Finally we can load the gold and make good our escape." It seems that you have waited all this time to load the gold, and now it needs to be loaded again! The important thing is, this is when you decide whether to split the loot equally, demand a bigger share, or demand it all.

The real problem is that while you're waiting, you can leave the shore to go to the jungle, which can break the quest. The code for this part of the quest is:
Code:
        case "fight_in_shore_completed":
            DeleteAttribute(&Locations[FindLocation("Oxbay_jungle_02")],"vcskip"); // PB
            LAi_QuestDelay("fight_in_shore_completed_almost", 4.0);
        break;

        case "fight_in_shore_completed_almost":
            locations[FindLocation("Oxbay_shore_02")].reload.l1.disable = 0;
            locations[FindLocation("Oxbay_shore_02")].reload.l2.disable = 0;
            locations[FindLocation("Oxbay_shore_02")].reload.l3.disable = 0;
            locations[FindLocation("Oxbay_shore_02")].reload.l4.disable = 0;
//            DoQuestReloadToLocation("Oxbay_shore_02", "reload", "reload2_back", "fight_in_shore_2_completed");
            LAi_QuestDelay("fight_in_shore_2_completed", 5.0);
        break;

        case "fight_in_shore_2_completed":
            LAi_SetStayType(pchar);
            Preprocessor_AddQuestData("nation", GetNationDescByType(GetTownNation("Greenford")));
            AddQuestRecord("larrouse", 11);
            Preprocessor_Remove("nation");
            characters[GetCharacterIndex("Claire Larrouse")].dialog.currentnode = "fight_in_shore_completed";
            LAi_SetActorType(characterFromID("Claire Larrouse"));
            LAi_ActorDialog(characterFromID("Claire Larrouse"), pchar, "player_back", 4.0, 1.0);
            LAi_SetImmortal(characterfromID("Claire Larrouse"), false);
        break;
It seems that originally, after a 4 second delay, the path back to the jungle was unlocked. There would be a reload to the shore, and then there would be the dialog with Claire. Someone decided to have a 5 second delay instead of the reload to the shore. But that 5 second delay happens after the path is unlocked. If the four 'locations[FindLocation("Oxbay_shore_02")].reload' lines are moved from case "fight_in_shore_completed_almost" to case "fight_in_shore_2_completed", the path won't be unlocked before the dialog with Claire - but then, with the 'DoQuestReloadToLocation' commented out, all that is left in case "fight_in_shore_completed_almost" is the 5 second delay, right after the 4 second delay in case "fight_in_shore_completed". So both delays might as well be combined into a 9 second delay in case "fight_in_shore_completed", leading straight to case "fight_in_shore_2_completed".

Try this version of "quests_side.c". Use your save from before the convoy attack again, and this time you should not be able to go to the jungle while you wait for the dialog with Claire.
 

Attachments

  • quests_side.c
    755.2 KB · Views: 47
Last edited:
Try this version of "quests_side.c". Use your save from before the convoy attack again, and this time you should not be able to go to the jungle while you wait for the dialog with Claire.
Yes it works, I can’t go into the jungle or onto the ship.:onya
 
Peter Blood has the word "doctor" in his name. It is at the very beginning, should it be so?
string = doctor, "Врач" (1472 line common.ini)
 

Attachments

  • 214124.png
    214124.png
    815 KB · Views: 40
Yes it works, I can’t go into the jungle or onto the ship.:onya
Change of plan. 9 seconds is a long time to wait in a game!

I've re-uploaded the file to post #705. I'm not sure why someone chose to replace the reload to shore with a 5 second delay, but at a guess, any officers you have with you might not show up after the reload. It goes to locator "reload2_back". This has no "officer" versions. I've changed it to go to "reload2", which is where the path from the jungle sends you. That does have "officer" versions and so, when I tried it, my officers were there after the reload.
 
Peter Blood has the word "doctor" in his name. It is at the very beginning, should it be so?
string = doctor, "Врач" (1472 line common.ini)
Yes, it is set as a title in his character definition:
Code:
SetRankTitle(ch, TranslateString("", "Doctor"));
 
The Friend_dialog.h file uses code to display (sir, ma'am), but there is no period at the end of the sentence.
 

Attachments

  • 1700483914147.png
    1700483914147.png
    508.6 KB · Views: 41
The easiest fix is probably to add it in "Friend_dialog.c", line 39:
Code:
dialog.text = DLG_TEXT[0] + GetMyAddressForm(NPChar, PChar, ADDR_POLITE, false, false) + ".";
Don't bother uploading a fixed version. I've already corrected my own copy but don't want to use up server space for such a small correction. It will be in the next update.
 
After the Rescue Peter Blood's crew quest, Peter does not join as a passenger, so the quest will not continue on Guadeloupe until you add him as a passenger.
 

Attachments

  • 1700567653810.png
    1700567653810.png
    782.5 KB · Views: 34
Last edited:
After the Rescue Peter Blood's crew quest, Peter does not join as a passenger, so the quest will not continue on Guadeloupe until you add him as a passenger.
Odd. In "PROGRAM\QUESTS\quests_side.c", case "bartofficer":
Code:
SetOfficersIndex(Pchar, 9, getCharacterIndex("Bartolomeu O Portugues"));
That tries to put him in officer slot 9, which does not exist. Change the 9 to -1, which is a special value. It puts the officer into the first available free slot and fails if you already have a full set of officers. You only have one officer, Ralph Fawn (who was assigned to you automatically because you are playing as Danielle Greene). So Peter should go into slot 2.

You're probably wondering why the character is "Bartolomeu O Portugues". Originally it really was Bartolomeu O Portugues, but he has his own entire storyline set in a specific period. So character "Bartolomeu O Portugues" is now named Peter Blood and can appear in any period in which you play, but game code still calls him "Bartolomeu O Portugues".
 
You're probably wondering why the character is "Bartolomeu O Portugues". Originally it really was Bartolomeu O Portugues, but he has his own entire storyline set in a specific period. So character "Bartolomeu O Portugues" is now named Peter Blood and can appear in any period in which you play, but game code still calls him "Bartolomeu O Portugues".
Yes, in the old Russian translation there was the name Bartholomew. I forgot that I didn't have the brothel option enabled after I deleted the settings file. As I understand it, we cannot complete the quest with a ship without a brothel.
 
You should not need the brothel to be enabled. It plays no part in the sidequest "Rescue Peter Blood's Crew" and it's closed in "Search for Peter Blood's Ship". You meet Jean Dusac standing outside the brothel, though the door will not be labelled as "Brothel" if you have not enabled them. You then go to see the brothel's mistress in her house. In fact, even if brothels are enabled, you won't be able to enter the one in Pointe a Pitre during "Search for Peter Blood's Ship".
 
You should not need the brothel to be enabled. It plays no part in the sidequest "Rescue Peter Blood's Crew" and it's closed in "Search for Peter Blood's Ship". You meet Jean Dusac standing outside the brothel, though the door will not be labelled as "Brothel" if you have not enabled them. You then go to see the brothel's mistress in her house. In fact, even if brothels are enabled, you won't be able to enter the one in Pointe a Pitre during "Search for Peter Blood's Ship".
I turned off the brothels and checked again, he is not standing here, here is a screenshot with proof. Also a save where you need to go to the store for the quest to continue. Peter is standing there. I just survived and he stayed with me, but he had to run away.
 

Attachments

  • 1700575637201.png
    1700575637201.png
    665.2 KB · Views: 37
  • -=Тест=- Гваделупа. Пуэнт-а-Питр Port.7z
    557.2 KB · Views: 46
Load your save again, talk to Francisco Cruz in the store, and if Jean Dusac still does not appear, post "compile.log".
 
The problem is nothing to do with brothels being enabled or disabled. If the brothel is disabled, the only difference is that there is no brothel, it's a basic house instead:
no_brothel.jpg

Jean Dusac is currently sleeping in his own bed. Go to the tavern, ask for a room, ask to stay for 3 hours, and then look for him:
wait_in_tavern.jpg dusac_awake.jpg

The long term solution is to edit "PROGRAM\Characters\init\SideQuest.c" and change line 4968 to:
Code:
LAi_SetLoginTime(ch, 6.0, 22.0);
That should give him the same awake time as the store - if you're in town before 6:00 or after 22:00, you won't be able to get into the store, so you won't get to the part of the quest when you talk to Jean Dusac.

And also change line 4757 to the same. That's for Cecile Bienbonne, who has the same problem - she won't currently appear in your game unless you've been to the tavern for a few hours.
 
Last edited:
The problem is nothing to do with brothels being enabled or disabled. If the brothel is disabled, the only difference is that there is no brothel, it's a basic house instead:
View attachment 43551

Jean Dusac is currently sleeping in his own bed. Go to the tavern, ask for a room, ask to stay for 3 hours, and then look for him:
View attachment 43553 View attachment 43550

The long term solution is to edit "PROGRAM\Characters\init\SideQuest.c" and change line 4968 to:
Code:
LAi_SetLoginTime(ch, 6.0, 22.0);
That should give him the same awake time as the store - if you're in town before 6:00 or after 22:00, you won't be able to get into the store, so you won't get to the part of the quest when you talk to Jean Dusac.

And also change line 4757 to the same. That's for Cecile Bienbonne, who has the same problem - she won't currently appear in your game unless you've been to the tavern for a few hours.

Talking of Cecile Bienbonne, this has given me an idea. Some time ago, I overhauled brothels in general. Part of this was to add a mistress character to each brothel. I'd forgotten that "Search for Peter Blood's Ship" shows you the mistress in Pointe a Pitre. The next update is going to change the name and model of the mistress to match the quest:
View attachment 43554
Bartholomew's plot probably has the same problem?
 
Back
Top