• 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

1: How far are you into the game? Have you been to the port yet without fast travel?

Try starting a FreePlay as a Spanish character with any background that starts you at San Juan. From there sail to Havana port, then go to the town centre and see if the same happens.
In FreePlay there is a transition to the port. So it's something in the Ardent storyline.
2: Do you find that chest in any other ship which you board? Not your own - attack an enemy ship, fight your way to the cabin, duel the captain and then see if the chest is there. If it is, I can easily add it to the quest cabin. If it's not, assume you bring the chest with you when you take over a new ship for yourself. Likewise, a captured ship will have a ship's locker and a weapon chest containing random equipment, but only the ship's locker and weapon chest in your own cabin will contain whatever you put there, and they'll continue to contain your equipment when you take a new ship for yourself.
It seems that this is only in the quest location.
 

Attachments

  • 1714566052125.png
    1714566052125.png
    909.5 KB · Views: 57
Where were you in the story when you were trying to fast travel to Havana port?
 
Where were you in the story when you were trying to fast travel to Havana port?
This happens after I return from the slave mine to the city of Havana with the team. The location where the tavern is located, I still need to talk to the captain of the ship. Most likely this is an isolated incident in the plot, because after that I got a port.
 
Yes, that is a special incident. Your crew is supposed to meet you in the port but they haven't got there yet. To make sure they arrive when they should, I programmed a quest case to happen when you go to the port gate. The fast travel mechanism may block fast travel to the port if the reload to the port is being used for a quest.
 
Some bugs from people on discord:
1) (Bartolomeu) In order for Soares to join us after the operation in Havana to rescue him, we need to empty the cell in the passengers, otherwise he will stand like a pillar on the beach and will not react to anything.
2) I am completing the Woods Rogers line quest 5th reward.
I jump across the rooftops to the shipyard and take the 5th pistol.
Then I get stuck in the textures. There is no activator for going down.
(I checked this and it seems that if you don’t take the pistol in the barrel and go further, you won’t come back, and the quest checks for the presence of this pistol in order to jump. But according to the author, he took it.) Case "shipyard_loft9".
3)Mephistopheles - not translated for free play.
 

Attachments

  • 1714995961913.png
    1714995961913.png
    1.1 MB · Views: 72
  • 1714995973447.png
    1714995973447.png
    616.8 KB · Views: 44
1: I've never seen that problem and I've played the "Bartolomeu" storyline several times. However, although there certainly seems to be code to make the prison empty, it may not be in the right places to have any effect. In "quests_reaction.c", move this line:
Code:
Locations[FindLocation("Havana_prison")].vcskip = true;
... from case "tuerdansprison_rox" to case "entrar_havana_jail_rox". Move the same line from case "tuerdansprison" to case "entrar_havana_jail". That should fix it if you chose to kill Johan Elting and Roxanne Lalliere is helping you to rescue Emilio Soares, and also if you chose to ally with Johan Elting and he's helping you.

2: @Jack Rackham, have you any idea what is going wrong here?

3: Add a translation for "Mephistopheles" to "RESOURCE\INI\TEXTS\RUSSIAN\Storyline\FreePlay\characters_names.txt" at the bottom of the section for "StartStoryline.c", just under the line for "Gules".

Incidentally, have a look at this:
PTBR Translation
@Peter Norton found that "Hendrick Vanderdecken_dialog.c" contains embedded dialog text and has separated it out into "Hendrick Vanderdecken_dialog.h". (He also noticed "Gunsmith_dialog.c" but you already spotted that some time ago and we fixed it.)
 
Last edited:
... from case "tuerdansprison_rox" to case "entrar_havana_jail_rox". Move the same line from case "tuerdansprison" to case "entrar_havana_jail". That should fix it if you chose to kill Johan Elting and Roxanne Lalliere is helping you to rescue Emilio Soares, and also if you chose to ally with Johan Elting and he's helping you.
Bring it back otherwise Elting will not kill the guards, but will say that he killed. I have a save and Emilio does not join us if I have 4 officers in the case "partir_bahia".
I changed SetOfficersIndex(PChar, -1, GetCharacterIndex("Emilio Soares"));
on
SetOfficersIndex(PChar, 1, GetCharacterIndex("Emilio Soares"));
And then Emilio joined me.
I don't really understand the code, but I looked it up in the Jack Sparrow storyline for the "After_Tortuga_port_cleanup" case.
 
That's because the number in 'SetOfficersIndex' is the slot where the officer is to go. If it's -1, the officer will go to the lowest free slot and will fail if there is no free slot because you have a full set of officers. If it's 1, the officer will go to slot 1, and if you already have an officer in slot 1 then Emilio replaces that officer.

A better fix is:
Code:
if(SetOfficersIndex(PChar, -1, GetCharacterIndex("Emilio Soares")) == GetCharacterIndex("Emilio Soares")) SetOfficersIndex(PChar, 1, GetCharacterIndex("Emilio Soares"));

'SetOfficersIndex' is actually an integer function. It returns a number. If it can't assign the officer, it returns the index of the officer you're trying to assign. If it's assigning the officer to a slot which is already full, it returns the index of the officer being replaced, otherwise it returns -1, and it will also return -1 if the officer it's trying to assign is already your officer.

So this version tries to put Emilio into any free slot. If there isn't one, it forces him into slot 1.

You will also need to do this at case "partir_bahia_rox". This is where you rescue Emilio Soares if you chose to kill Johan Elting, so Roxanne Lalliere is helping with the rescue.

You can see the same code in the "Assassin" storyline at case "spyoxbay".
 
2) I am completing the Woods Rogers line quest 5th reward.
I jump across the rooftops to the shipyard and take the 5th pistol.
Then I get stuck in the textures. There is no activator for going down.
(I checked this and it seems that if you don’t take the pistol in the barrel and go further, you won’t come back, and the quest checks for the presence of this pistol in order to jump. But according to the author, he took it.) Case "shipyard_loft9".
When you are moved to goto9 (in reach of pistol5) there is only one thing you can do: pick up the gun. After that you are moved to the edge of the loft and next out in the air.
From where you fall down to the shipyard floor.

So I can't see "going further without pistol5" happening. There's no walk patch up there so you are being moved from spot to spot.
I'm sorry but I can't repeat the bug.

I found some other bugs though when using this jump start
6) To Port Royal: TERRACE to LIBRARY. (pistol5) You couldn't get in to wr_residence from wr_terrace. Fixed now.
 

Attachments

  • jump start fix 24-05-07.7z
    18.1 KB · Views: 30
1) Could you please tell me what could be the reason why the trigger from Claire Voyant_dialog.c is not launched in beyond-new-horizons. Here's the error.
2) In addition, it seems that the name has become untranslatable for two versions. I think this happened after Pyle was bandaged.
 

Attachments

  • 1715257027337.png
    1715257027337.png
    1.3 MB · Views: 38
Can you load a savegame from before that point, play again up to the point where you get the error message, then post "compile.log", "system.log", and "error.log" if it exists?
 
Can you load a savegame from before that point, play again up to the point where you get the error message, then post "compile.log", "system.log", and "error.log" if it exists?
 

Attachments

  • compile.log
    34.8 KB · Views: 25
  • system.log
    94.4 KB · Views: 19
  • -=Player=-_QuickSave_sloop6_A.7z
    1.1 MB · Views: 37
@Jack Rackham: I haven't figured out where "Howard" and "Pyle" stop being translated, but I've found where that attempt to trigger quest case "sloop6_A" is happening. It's in "blaze_dialog.c" case "HOP_is_read", triggered from quest case "HOP_read_check" if you've read all four books:
Code:
    case "HOP_is_read":
        PlaySound("VOICE\ENGLISH\blaze_sigh.wav");
        Dialog.Text = DLG_TEXT[631];
        Link.l1.go = "exit";
        AddDialogExitQuest("sloop6_A");
    break;
 
Some fixes:
1) Profilename was resetting after other changes. A Russian guy named Lipsar fixed this for beyond-new-horizons, but I tested it for the POTC version and it seems to work.
PROGRAM\INTERFACE\select_storyline.c
2) I discovered a flaw in this fix: it opens the main menu, but does not block the continue button, thus I can return to the bug. There is no tavern on the island of Khael Roa and if you enable rebirth, the screen will freeze after death. There is also such a bug in the POTC version.
PROGRAM\QUESTS\quests_common.c
P.S. The problem with the continue button has already been resolved and the fix will be uploaded on Monday along with other new ones. I will send the file after publication if necessary.
3) Sometimes on the character screen, personal gold will read off the same as crew gold if you have no personal gold
PROGRAM\INTERFACE\character.c
4) Malcolm will not provide dialog options if ability points are assigned too early in the tutorial
PROGRAM\reload.c
Also change in PROGRAM/Characters/characters_init.c (line 572) "ch.skill.freeskill = 0;" to "ch.skill.freeskill = 2;". This will give the character 2 skill points at the beginning, just like it was in POTC.
5) Do these changes make sense for our version of the Woodes Rogers storyline?
 

Attachments

  • select_storyline.c
    132.6 KB · Views: 25
  • quests_common.c
    279.9 KB · Views: 37
  • character.c
    60.7 KB · Views: 29
  • reload.c
    19.5 KB · Views: 27
Last edited:
1) Why is this code on line 54 of Fadrique Castillo_dialog.c? It spoils the text. It was necessary to do as in line 8 Salvadore Xalmiento_dialog.h.
2) Use Vegetal - I guess it hasn't been translated.
 

Attachments

  • 1715610597070.png
    1715610597070.png
    130 KB · Views: 24
  • 1715610607239.png
    1715610607239.png
    27.2 KB · Views: 28
  • 1715610623874.png
    1715610623874.png
    39.9 KB · Views: 25
  • 1715610706458.png
    1715610706458.png
    708.6 KB · Views: 47
1) Why is this code on line 54 of Fadrique Castillo_dialog.c? It spoils the text. It was necessary to do as in line 8 Salvadore Xalmiento_dialog.h.
2) Use Vegetal - I guess it hasn't been translated.
1: That code in "Fadrique Castillo_dialog.c" should produce a line similar to the line in "Salvadore Xalmiento_dialog.h".
Code:
dialog.text = TimeGreeting() + " " + GetMyAddressForm(NPChar, PChar, ADDR_POLITE, false, false) + DLG_TEXT[6];

Function 'TimeGreeting()' is defined in "PROGRAM\Dialog_func.c". It returns "Good day", "Good morning" or "Good evening" depending on the time of day, all translated by 'XI_Convertstring' which means you'll find them in "common.ini". 'GetMyAddressForm(NPChar, PChar, ADDR_POLITE, false, false)' is used directly here, and exactly the same is used in "Salvadore Xalmiento_dialog.c" to fill in preprocessed variable "#ssir#". DLG_TEXT[6] is line 8 in English "Fadrique Castillo_dialog.h":
Code:
"! What do you want?",
The same line in Russian "Fadrique Castillo_dialog.h" is missing the exclamation mark and space at the start. The text also appears different from the end of line 8 in Russian "Salvadore Xalmiento_dialog.h".

2: I've no idea where that's coming from. That is, I do have an idea, but even in English it should not show "Use Vegetal". That icon should be the result of this code in "PROGRAM\BATTLE_INTERFACE\LandInterface.c":
Code:
objLandInterface.UserIcons.(UI_name).note = LanguageConvertString(idLngFile, "land_UseVegetal");
'idLngFile' is set to point to "commands_name.txt". In the English version, "land_UseVegetal" translates to "Use Hoasca". There is a translation of "land_UseVegetal" in the Russian version of "commands_name.txt".
 
1: That code in "Fadrique Castillo_dialog.c" should produce a line similar to the line in "Salvadore Xalmiento_dialog.h".
Code:
dialog.text = TimeGreeting() + " " + GetMyAddressForm(NPChar, PChar, ADDR_POLITE, false, false) + DLG_TEXT[6];
Function 'TimeGreeting()' is defined in "PROGRAM\Dialog_func.c". It returns "Good day", "Good morning" or "Good evening" depending on the time of day, all translated by 'XI_Convertstring' which means you'll find them in "common.ini". 'GetMyAddressForm(NPChar, PChar, ADDR_POLITE, false, false)' is used directly here, and exactly the same is used in "Salvadore Xalmiento_dialog.c" to fill in preprocessed variable "#ssir#". DLG_TEXT[6] is line 8 in English "Fadrique Castillo_dialog.h":
Yes, I corrected it, but the point is that after “Good day” there should be a comma, at least in Russian, because it is an address to a character.
Also see the post above for some corrections.
 
Easily enough fixed, just add the comma into that line in "Fadrique Castillo_dialog.c":
Code:
dialog.text = TimeGreeting() + ", " + GetMyAddressForm(NPChar, PChar, ADDR_POLITE, false, false) + DLG_TEXT[6];
It works better in English with the comma as well, and probably also in other languages, so the comma may as well go there.

I saw the previous post and will look at the new files. One thing I did notice is that, to fix the problem with resurrection on Khael Roa - or anywhere else that has no resurrecting officiant - it would be better to prevent the resurrection process from starting at all, which means fixing it in "PROGRAM\Loc_ai\LAi_events.c", not in "quests_common.c".
 
I saw the previous post and will look at the new files. One thing I did notice is that, to fix the problem with resurrection on Khael Roa - or anywhere else that has no resurrecting officiant - it would be better to prevent the resurrection process from starting at all, which means fixing it in "PROGRAM\Loc_ai\LAi_events.c", not in "quests_common.c".
I wrote to him about it, let's see what he does.
 
When I go to the governor in the "Convoy Strike" quest without a uniform, the governor tells me to leave immediately, although the door is closed. I think it's better to end the game here if you take off your officer's clothes.
 

Attachments

  • 1715700841071.png
    1715700841071.png
    792 KB · Views: 45
  • 1715700861155.png
    1715700861155.png
    739.1 KB · Views: 40
Back
Top