• 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

Yes, but it spoiled the Russian words (explanations for the code). I restored everything taking into account the changes. By the way, this is not the only file.
 

Attachments

  • quests_reaction.c
    363.9 KB · Views: 56
Last edited:
I also noticed that in the B_FOREST.H file you changed 'exit_attack1' to 'Exit_attack1' so that the links match. Just below the same situation with 'exit_attack2'.
 
1) Shouldn't there be one possible answer here, which is on line 48 in the John Adams_dialog.h file. Besides this answer, I can spend the night in the common room from 1 hour to 8 hours.
2)Also, by starting the story as Jack, I can go to all locations and even sail away from the island. Shouldn't locations be blocked? So that I go only to the door where the guard is standing.
3)FAILED ! You can't save without an active Profile ! - does not translate.
 

Attachments

  • 1705274435000.png
    1705274435000.png
    688.3 KB · Views: 64
  • 1705275267239.png
    1705275267239.png
    660.7 KB · Views: 62
  • 24124.png
    24124.png
    263.1 KB · Views: 44
1, 2: I'll need to try starting a game playing "Hoist the Colours" to see what is happening at those places.
3: Try this version of "PROGRAM\INTERFACE\save_load.c". You'll also need to add a line for "You can't save without an active Profile" to "interface_strings.txt", directly below line 281 ("leaves.")
 

Attachments

  • save_load.c
    57.1 KB · Views: 48
Also, the word FAILED is in interface_strings.txt on line 276, but for some reason it is not translated. Although in the file seadogs.c on line 549 it has a TranslateString postscript.
Log_SetStringToLog(TranslateString("","Quicksave") + ": " + TranslateString("","FAILED") + "!");
Adding the save_load.c file and a line to interface_strings.txt does not translate the text.
You can't save without an active Profile{Вы не можете сохранить игру без активного профиля!}
 

Attachments

  • 1705325294599.png
    1705325294599.png
    45.4 KB · Views: 44
  • interface_strings.txt
    142.8 KB · Views: 51
Last edited:
Try this version of "PROGRAM\INTERFACE\interface.c". That's where the on-screen message about "You can't save without an active profile" came from. The old version has this on line 214:
Code:
Log_SetStringToLog(TranslateString("","Quicksave") + ": FAILED ! You can't save without an active Profile !");
That's why "Quicksave" is translated but the rest is not. The new version splits the rest into parts which are already translated:
Code:
Log_SetStringToLog(TranslateString("","Quicksave") + ": " + TranslateString("", "FAILED") + "! " + TranslateString("", "You can't save without an active Profile") + "!");
So that should translate the whole line.

1) Shouldn't there be one possible answer here, which is on line 48 in the John Adams_dialog.h file. Besides this answer, I can spend the night in the common room from 1 hour to 8 hours.
2)Also, by starting the story as Jack, I can go to all locations and even sail away from the island. Shouldn't locations be blocked? So that I go only to the door where the guard is standing.
1: The extra part for spending hours is from "PROGRAM\DIALOGS\tavern.c", which is a group dialog file shared by all tavern keepers. Perhaps something is lost in translation; in the English self-dialog, you say that you will wait in the tavern hall, which is where you're standing talking to John Adams. Then Joshamee Gibbs invites you to join him, you sit with him and he begins to tell you about Jack Sparrow, and then the storyline begins.

2: Blocking fast-travel is a good idea because some people like to fast-travel all over the place. But you're really determined to avoid the story and sail off somewhere else, that's your choice! You can do it anyway after the town hall scene - instead of going to Barbados to continue the story, sail wherever you want.
 

Attachments

  • interface.c
    62.9 KB · Views: 43
Try this version of "PROGRAM\INTERFACE\interface.c". That's where the on-screen message about "You can't save without an active profile" came from. The old version has this on line 214:
Yes, it works.
1: The extra part for spending hours is from "PROGRAM\DIALOGS\tavern.c", which is a group dialog file shared by all tavern keepers. Perhaps something is lost in translation; in the English self-dialog, you say that you will wait in the tavern hall, which is where you're standing talking to John Adams. Then Joshamee Gibbs invites you to join him, you sit with him and he begins to tell you about Jack Sparrow, and then the storyline begins.
Yes, in the Russian version he will also talk to himself in 2 versions. This is a congress and an overnight stay for 8 hours. But then in the second option it’s already 4 am.
2: Blocking fast-travel is a good idea because some people like to fast-travel all over the place. But you're really determined to avoid the story and sail off somewhere else, that's your choice! You can do it anyway after the town hall scene - instead of going to Barbados to continue the story, sail wherever you want.
Well, if I can swim off the island from the very beginning, then this is no longer a storyline. I still have to get to the governor.

1)Also in the tavern I can draw a saber, usually it says at the top in the logs that it is not worth drawing a weapon here and I cannot get it in other taverns.
2)If you kill the officer, there will be no dialogue. Maybe he should be made immortal? After that, I went into the residence and saw 2 governors. :D
 

Attachments

  • 1705411313472.png
    1705411313472.png
    713.7 KB · Views: 42
  • 1705412325100.png
    1705412325100.png
    880.8 KB · Views: 50
  • 1705412462016.png
    1705412462016.png
    841.5 KB · Views: 37
Last edited:
Well, if I can swim off the island from the very beginning, then this is no longer a storyline. I still have to get to the governor.
Most storylines can be broken if the player really wants to. But then, if they don't want to play the story, they should be playing FreePlay instead, that's what it's for!

1)Also in the tavern I can draw a saber, usually it says at the top in the logs that it is not worth drawing a weapon here and I cannot get it in other taverns.
2)If you kill the officer, there will be no dialogue. Maybe he should be made immortal? After that, I went into the residence and saw 2 governors. :D
1: I thought you could draw your weapon in other taverns. Sometimes a random person will talk to you and may pick your pocket; then you can attack the thief and get your money back. In fact, you have to be able to fight in taverns because sometimes there are tavern brawls.
2: It should be easy enough to block fighting in Cayman Port at the start. The port is already under a 'vcskip' to prevent random thugs from attacking you. The block on fighting can be cancelled when you have been arrested and are in the town hall.
 
2: Blocking fast-travel is a good idea because some people like to fast-travel all over the place. But you're really determined to avoid the story and sail off somewhere else, that's your choice! You can do it anyway after the town hall scene - instead of going to Barbados to continue the story, sail wherever you want.
In any case, I did it as it should be:
In case "TotBB_HtC3" added lines
Locations[FindLocation("Cayman_port")].reload.l1.disable = 1;
Locations[FindLocation("Cayman_port")].reload.l3.disable = 1;
Locations[FindLocation("Cayman_port")].reload.l4.disable = 1;

and in case "into_position_Cayman"
Locations[FindLocation("Cayman_port")].reload.l1.disable = 0;
Locations[FindLocation("Cayman_port")].reload.l3.disable = 0;
Locations[FindLocation("Cayman_port")].reload.l4.disable = 0;

1)Thomas the Terror repeats his lines several times when speaking. Here's a video:
 

Attachments

  • quests_reaction.c
    614.8 KB · Views: 36
In any case, I did it as it should be:
In case "TotBB_HtC3" added lines
Locations[FindLocation("Cayman_port")].reload.l1.disable = 1;
Locations[FindLocation("Cayman_port")].reload.l3.disable = 1;
Locations[FindLocation("Cayman_port")].reload.l4.disable = 1;

and in case "into_position_Cayman"
Locations[FindLocation("Cayman_port")].reload.l1.disable = 0;
Locations[FindLocation("Cayman_port")].reload.l3.disable = 0;
Locations[FindLocation("Cayman_port")].reload.l4.disable = 0;
There's a far easier way. You don't need to block "reload.l1" because, if fighting is disabled and you can't kill the soldiers, then the arrest scene will trigger when you get anywhere near the town gate. You don't need to block "reload.l3" because that leads to the jungle, from where you can get to a shore or a cave. The shore is Cayman Kai and you won't get anywhere from there because your ship is in port. The cave does not lead anywhere. So if you want to go exploring the jungle before continuing the story, go ahead. (By comparison, in "Tales of a Sea Hawk", you start in Speightstown and you can wander into the jungle before sailing to Port Royale.)

And you don't need to block "reload.l4". All you need to do is move this line:
Code:
bQuestDisableSeaEnter = false;
from case "TotBB_HtC3" to case "Sparrow_start". Then you can go to your ship if you like, visit the cabin, explore the deck, but you're not going to sail away until you've been to the town hall.

But I still say that if the player wants to sail around before continuing the story, allow it.

1)Thomas the Terror repeats his lines several times when speaking. Here's a video:
Yes, and there are probably lots more characters in this and other storylines who do the same. That way, if the player wasn't paying enough attention first time, the character will repeat what was said, and the player gets another chance to see the important dialog.
 
1) Church in Jungle - Does not translate after moving to the church using cheats.
2) Kidnappers' Hideout - does not translate.
3) On the island of Hispaniola the residence is not designated, only the name of the city of Santo Domingo.
4) Thomas Tipman is still standing in the tavern and tells me that the admiral’s son disappeared after completing the quest. Although Lucas is on my team and stands next to me.
5) Thomas Terror does not leave the location after he said that he will go to the tailor. Because of this, he appears on the pier after a conversation in the tavern.
 

Attachments

  • 4142421.png
    4142421.png
    892.7 KB · Views: 34
  • 1241422.png
    1241422.png
    781.4 KB · Views: 65
  • 12412241.png
    12412241.png
    686.6 KB · Views: 41
  • 12421.png
    12421.png
    960 KB · Views: 47
  • 21441214.png
    21441214.png
    551 KB · Views: 43
  • 324324444.png
    324324444.png
    677.8 KB · Views: 27
Last edited:
1: That's a new location in "PROGRAM\Storyline\JackSparrow\Locations\init\QuestLocations.c":
Code:
// Dead Man's Chest Locations -->

    Locations[n].filespath.models = "locations\Outside\Jungle_Church";
    Locations[n].id = "Jungle_Church";
    locations[n].id.label = "Church in Jungle";
You may want to go through the rest of that file, look for other 'Locations[n].id.label' lines, check that they're in "interface_strings.txt", and add them if they're not.

2: "PROGRAM\Storyline\JackSparrow\quests\quests_reaction.c", line 7554:
Code:
Locations[FindLocation("Rheims_house_in_smugglers")].id.label = "Kidnappers' Hideout";
Change that to:
Code:
Locations[FindLocation("Rheims_house_in_smugglers")].id.label = TranslateString("","Kidnappers' Hideout");
Then add "Kidnappers' Hideout" to "interface_strings.txt".

3: No idea why that should happen. "Santo_Domingo_Townhall" should have label "#stown_name# townhall", which is in "interface_strings.txt", and there does not seem to be anything in the "JackSparrow" quest files which changes it. Have you a savegame from that position?

4: Did you talk to Thomas Tipman before starting the quest? If so, once he's given the tip, he should switch to the basic line "I've got me ear to the ground Captain."
"PROGRAM\Storyline\JackSparrow\quests\quests_reaction.c", case "Lucas_search_start": after this line:
Code:
DeleteEnterLocationQuest("Santo_Domingo_townhall", "Luc_start_check");
... add this:
Code:
Characters[GetCharacterIndex("Thomas Tipman")].dialog.currentnode = "First time";
You would need to reload a savegame from before you took the quest to find Lucas. With this line added, when you talk to the admiral, Thomas Tipman should be set to his basic line even if you have not already talked to him.

5: "PROGRAM\Storyline\JackSparrow\quests\quests_reaction.c": at case "Thomas leaves at Oxbay", see what happens if you add this line:
Code:
Characters[GetCharacterIndex("Thomas the Terror")].location = "";
You would need to start a new game to try this. Change the profile name when you do, so that you do not lose your progress in the existing game.
 
3: No idea why that should happen. "Santo_Domingo_Townhall" should have label "#stown_name# townhall", which is in "interface_strings.txt", and there does not seem to be anything in the "JackSparrow" quest files which changes it. Have you a savegame from that position?
Attached the save.
 

Attachments

  • -=Джек=- Эспаньола.7z
    542.3 KB · Views: 52
You may want to go through the rest of that file, look for other 'Locations[n].id.label' lines, check that they're in "interface_strings.txt", and add them if they're not.
I looked through the file and added what was missing, and also changed some cities to #stown_name#.
Did you talk to Thomas Tipman before starting the quest?
No, I didn’t talk to him before the quest started, only after it.
You would need to reload a savegame from before you took the quest to find Lucas. With this line added, when you talk to the admiral, Thomas Tipman should be set to his basic line even if you have not already talked to him.
Yes it works as it should!
5: "PROGRAM\Storyline\JackSparrow\quests\quests_reaction.c": at case "Thomas leaves at Oxbay", see what happens if you add this line:
Thomas Terror still appears on the locator near the gate after arriving on the island. But now he’s not standing on the pier after the conversation in the tavern, and that’s already a small victory.

1)In addition, I was unable to go to sea from the island of Hispaniola after moving to the part with the dead man's chest using cheats. The function in the console helped me - bQuestDisableSeaEnter = false; . You can also see this in Peter's video at 4 minutes. I don't know what this is connected with.
2)On the island of La Grenada in the smugglers' camp, if you quickly go to the shore, the character will get stuck in the locator.
 

Attachments

  • QuestLocations.c
    107.9 KB · Views: 30
  • interface_strings.txt
    143.4 KB · Views: 41
  • 1706550244200.png
    1706550244200.png
    807.3 KB · Views: 59
Attached the save.
I've found the problem. It's not just in "Hoist the Colours" and it's been there for ages! Even I didn't spot it, and my "Ardent" storyline has a scene at the townhall door.

"PROGRAM\Locations\init\Hispaniola.c", line 2537, is part of the definition for location "Santo_Domingo_townhall":
Code:
locations[n].id.label = "#stown_name#";
It's supposed to be setting the label for the door out of the townhall but it's wrong. It's changing the label for the townhall itself. And the townhall's label is what appears for the outside door leading into the townhall. Change that line to:
Code:
Locations[n].reload.l1.label = "#stown_name#";

It won't correct the door in your current game, but when you start a new game in any storyline, the door to Santo Domingo town hall should be correct.
 
In addition, I was unable to go to sea from the island of Hispaniola after moving to the part with the dead man's chest using cheats. The function in the console helped me - bQuestDisableSeaEnter = false; . You can also see this in Peter's video at 4 minutes. I don't know what this is connected with.
Indeed that happens if you use the DMC jumpstart.
Attached file in PROGRAM\Storyline\JackSparrow\dialogs should help.
 

Attachments

  • Billy Brock_dialog.c
    22.3 KB · Views: 28
I looked through the file and added what was missing, and also changed some cities to #stown_name#.

No, I didn’t talk to him before the quest started, only after it.

Yes it works as it should!

Thomas Terror still appears on the locator near the gate after arriving on the island. But now he’s not standing on the pier after the conversation in the tavern, and that’s already a small victory.

1)In addition, I was unable to go to sea from the island of Hispaniola after moving to the part with the dead man's chest using cheats. The function in the console helped me - bQuestDisableSeaEnter = false; . You can also see this in Peter's video at 4 minutes. I don't know what this is connected with.
2)On the island of La Grenada in the smugglers' camp, if you quickly go to the shore, the character will get stuck in the locator.
You probably missed my message.
1) God gained - does not translate.
2) (blaze_dialog.h) Line 306 #suncursed_ship# - not translated.
3)Missing line of Padre's response in code. (padre Domingues_dialog.h)
Should be:
Line 132 in response to 133
Line 134 in response to 135
And now:
Line 132 in response to 135
4)The pirate on the coast of Nevis has a name that doesn't fully translate. This is apparently due to the fact that a 1 was added to his name so that it would not be confused with Roche Braziliano. Apparently they forgot to add Roche1 to characters_names.txt. His full name is Gilles Roche1.
5)After completing the quest Sao Feng's Missing Bodyguards, Jack Sparrow's father approached me and gave me a peso, which means that I am now a pirate baron. It doesn't show up in the inventory, is that how it should be?
 

Attachments

  • 2414444.png
    2414444.png
    80.5 KB · Views: 28
  • 241412.png
    241412.png
    833.2 KB · Views: 48
  • 12441212.png
    12441212.png
    562.9 KB · Views: 45
  • 24124.png
    24124.png
    1 MB · Views: 27
  • 14412142.png
    14412142.png
    922.7 KB · Views: 62
1: What is the rest of that line?
2: I'm not sure if this will work - see what happens. Use the attached version of "PROGRAM\Storyline\JackSparrow\dialogs\blaze_dialog.c". In "blaze_dialog.h", line 306, change "#suncursed_ship#" to "#sstolen_ship#".
[Edit: file deleted, a better version is attached to a later post.]
3: Not so. In "padre_Domingues_dialog.c":
Code:
        case "Domingues_in_cave2":
            if (CheckQuestAttribute("ANIMISTS","completed"))
            {
                dialog.text = DLG_TEXT[130];
                link.l1 = DLG_TEXT[131];
                link.l1.go = "Domingues_in_cave3";
            }
            else
            {
                dialog.text = DLG_TEXT[136];
                link.l1 = DLG_TEXT[137];
                link.l1.go = "exit";
                AddDialogExitQuest("Domingues_warning");
            }
        break;
       
        case "Domingues_in_cave3":
            dialog.text = DLG_TEXT[132];
            link.l1 = DLG_TEXT[133];
            link.l1.go = "Domingues_in_cave4";
        break;
       
        case "Domingues_in_cave4":
            dialog.text = DLG_TEXT[134];
            link.l1 = DLG_TEXT[135];
            link.l1.go = "exit";
            AddDialogExitQuest("Story_Domingues_released");
        break;
In English, that should read:
Him: "The children!" (132)
You: "Where are they?" (133)
Him: "They've been holding the children on their ship! You must go after them!" (134)
You: "Too right. Here's the keys I found on the leader. Once I've dealt with the ship, I'll take you back to the church." (135)
Him: "I shall pray for you, my son." (136)
You: "This is going to be a big fight, Padre. Pray for us all." (137)
Check that the Russian translation of those lines is correct.

4: "Roche1" is translated on line 774 of "RESOURCE\INI\TEXTS\ENGLISH\characters_names.txt". The Russian version still has "Roche" there.

5: No item is given. There's a questbook entry. And "Teague Sparrow_dialog.c" sets a couple of attributes on the player character marking him as a pirate lord. One of them is checked when you do the "Gentleman Jocard" quest - you can only challenge Jocard, who is a pirate lord, if you are a pirate lord yourself.
 
Last edited:
1: What is the rest of that line?
This is a line in AIShip.c :
sSunkString = sSunkShipType + " " + GetMyShipNameShow(rDead) + " " + TranslateString("","has been sunk by the") + " " + TranslateString("","hand of god") + TranslateString("", ". God gained") + " " + (1000+rand(2000)) + " " + TranslateString("","Total XP") + ".";
In interface_strings.txt this is written without a dot.
God gained
2: I'm not sure if this will work - see what happens. Use the attached version of "PROGRAM\Storyline\JackSparrow\dialogs\blaze_dialog.c". In "blaze_dialog.h", line 306, change "#suncursed_ship#" to "#sstolen_ship#".
The name now doesn't appear at all.
Not so. In "padre_Domingues_dialog.c":
In Russian everything is exactly the same as in English. Maybe you are looking at a general file, and not for Jack Sparrow. There are girls to be saved there. Look at the code for it.
4: "Roche1" is translated on line 774 of "RESOURCE\INI\TEXTS\ENGLISH\characters_names.txt". The Russian version still has "Roche" there.
In English this line "Roche", which is present in Russian, is replaced by "Roche1". If I change this, will it affect the name Roche Braziliano? Or is it one name for two.
 

Attachments

  • 1707156821750.png
    1707156821750.png
    708.2 KB · Views: 48
This is a line in AIShip.c :
sSunkString = sSunkShipType + " " + GetMyShipNameShow(rDead) + " " + TranslateString("","has been sunk by the") + " " + TranslateString("","hand of god") + TranslateString("", ". God gained") + " " + (1000+rand(2000)) + " " + TranslateString("","Total XP") + ".";
In interface_strings.txt this is written without a dot.
God gained
Change that line to:
Code:
sSunkString = sSunkShipType + " " + GetMyShipNameShow(rDead) + " " + TranslateString("","has been sunk by the") + " " + TranslateString("","hand of god") + ". " + TranslateString("", "God gained") + " " + (1000+rand(2000)) + " " + TranslateString("","Total XP") + ".";

The name now doesn't appear at all.
Is there anything about it in "error.log"?

In Russian everything is exactly the same as in English. Maybe you are looking at a general file, and not for Jack Sparrow. There are girls to be saved there. Look at the code for it.
"PROGRAM\Storyline\JackSparrow\padre Domingues_dialog.c":
Code:
        case "Domingues_in_cave2":
            if (CheckQuestAttribute("ANIMISTS","comp"))
            {
                dialog.text = DLG_TEXT[130];
                link.l1 = DLG_TEXT[133];
                link.l1.go = "Domingues_in_cave3";
            }
            else
            {
                dialog.text = DLG_TEXT[136];
                link.l1 = DLG_TEXT[137];
                link.l1.go = "exit";
                AddDialogExitQuest("Domingues_warning");
            }
        break;
        
        case "Domingues_in_cave3":
            dialog.text = DLG_TEXT[134];
            link.l1 = DLG_TEXT[135];
            link.l1.go = "exit";
            pchar.girls = "1";
            //AddDialogExitQuest("Story_Domingues_released");
        break;
Him: "The women!" (132)
You: "They are fine. Here's the keys I found on the leader. Get the ladies out of their cells now. Once I've dealt with the ship I'll take you back to the church. I just have to talk to the women first." (135)
Him: "I shall pray for you, my son." (136)
You: "This is going to be a big fight, Padre. Pray for us all." (137)

Lines 133 and 134 are the same in the "JackSparrow" version as in the original, and are not needed here.

In English this line "Roche", which is present in Russian, is replaced by "Roche1". If I change this, will it affect the name Roche Braziliano? Or is it one name for two.
No, Roche Brasiliano is a character in the "Assassin" storyline and "Roche" is translated in that storyline's own "characters_names.txt".
 
Back
Top