• 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 was informed that the archive is downloaded with the name "b14_beta4_final.1.tar", and the name "b14_beta4_final.tar" is required for installation.
That now appears to be fixed. I tried uploading it again and it showed up as "b14_beta4_final.2.tar". So I e-mailed ModDB and asked them to change it to the correct name, and they did. Ask whoever reported that to try downloading the file now.
 
OK, forget that! Put "Will Turner_dialog.h", "Port Guard_dialog.h" and their associated ".c" files back the way they were.

In "PROGRAM\utils.c", find:
Code:
Preprocessor_Save("cursed_ship", "Black Pearl");        // PB: For Jack Sparrow storyline
Preprocessor_Save("uncursed_ship", "Crimson Blood");    // PB: For Jack Sparrow storyline

And in "PROGRAM\Ships\Ships.c", find:
Code:
Preprocessor_Save("cursed_ship", "Crimson Blood");
Preprocessor_Save("uncursed_ship", "Black Pearl");
Replace "Black Pearl" with XI_ConvertString("Black Pearl") in both, and do the same for "Crimson Blood".

That will only take effect in a new game, or if you have yet to complete "Sao Feng's Bodyguards". To correct your current game, put this into "PROGRAM\console.c":
Code:
Preprocessor_Delete("cursed_ship");
Preprocessor_Delete("uncursed_ship");
Preprocessor_Save("cursed_ship", XI_ConvertString("Black Pearl"));
Preprocessor_Save("uncursed_ship", XI_ConvertString("Crimson Blood"))

Press F12 to activate "console.c". Then watch for anywhere that those ship names should appear and don't - it probably means they're being translated and don't need to be.
Sorry, I didn't have time to check this. This works in dialogue, but the Black Pearl ship turns into a corvette. Probably the same problem with 'Crimson Blood'.
Maybe it somehow depends on the fact that in Ships.c 'Black Pearl' is the definition of "uncursed_ship", and in utils.c "cursed_ship".
It might be easier to replace the commands in the .h files with ship names in different languages.

Small improvement:
We need to increase the time so that they have time to approach.
case "The_Governor_and_Norrington_arrive":
LAi_ActorRunToLocator(characterFromID("James Norrington"), "officers", "Sea_1_2", "", 30.0);
case "The_Governor_and_Norrington_arrive2":
LAi_ActorDialog(characterFromID("James Norrington"), Pchar, "", 10.0, 0);
case "Swann_starts_talking":
LAi_ActorDialog(characterFromID("Weatherby Swann"), Pchar, "", 8.0, 0);

You also probably need to block the fast transition so as not to break the quest. The smartest thing to do is after arriving at the pier, but I don't know where to turn it off because there are 3 storylines.
case "You_need_to_pay_mooring":
DisableFastTravel(true);

If you fight with the soldiers on the pier, you can run away to the city and break the quest.
case "Fight_Port_soldiers":
Locations[FindLocation("Redmond_port")].reload.l1.disable = true;
case "Fight_with_Turner_in_Shipyard":
Locations[FindLocation("Redmond_port")].reload.l1.disable = false;

Reduce delay in case "Dauntless_Deck_NORR6":
LAi_QuestDelay("Dauntless_Deck_NORR7", 1.0);
 

Attachments

  • 1711560459826.png
    1711560459826.png
    588.4 KB · Views: 43
Last edited:
1) If I kill the left soldier first, I will be immediately transported to the shipyard. After that, I will be chased by another soldier in the port all the time until I kill him.
2) I stole a ship and immediately landed at Port Royal. Now I have no opportunity to go to sea. Perhaps we should prohibit mooring in this port while we are sailing to Tortuga.
 

Attachments

  • 1711632928190.png
    1711632928190.png
    1 MB · Views: 43
  • 1711633578534.png
    1711633578534.png
    876.6 KB · Views: 49
Sorry, I didn't have time to check this. This works in dialogue, but the Black Pearl ship turns into a corvette. Probably the same problem with 'Crimson Blood'.
Maybe it somehow depends on the fact that in Ships.c 'Black Pearl' is the definition of "uncursed_ship", and in utils.c "cursed_ship".
It might be easier to replace the commands in the .h files with ship names in different languages.
What exactly did you do to trigger the change? Did you use "console.c", and if so, what did you put in it?

The code in "utils.c" sets the default - Black Pearl is to be cursed, Crimson Blood is not.

The code in "Ships.c" is in function 'CrimsonBlood_ModifyShip()'. This should only be called if you have captured the Crimson Blood during "Sao Feng's Bodyguards". In that case, if you kept the Crimson Blood for yourself and gave the Black Pearl to Jaoquin de Masse, it's the Crimson Blood which will be cursed. The function wipes the original preprocessed text assignments, then reassigns them.

Either way, the code in "utils.c" and "Ships.c" should only affect preprocessed text variables, not ship ID's. There is code in "Ships.c" to change a ship ID:
Code:
    refShip.Name            = "CrimsonBlood";
    refShip.Nation            = PIRATE;
    refShip.id                = SHIP_CURSED;
    refShip.All                = "Corvette1";
This is also part of 'CrimsonBlood_ModifyShip()'. The function should do everything to Crimson Blood to make it the cursed ship - give it the special ID so it can have skeletons as boarding crew, much higher HP, torn sails, and a fog trail.

Small improvement:
We need to increase the time so that they have time to approach.
case "The_Governor_and_Norrington_arrive":
LAi_ActorRunToLocator(characterFromID("James Norrington"), "officers", "Sea_1_2", "", 30.0);
case "The_Governor_and_Norrington_arrive2":
LAi_ActorDialog(characterFromID("James Norrington"), Pchar, "", 10.0, 0);
case "Swann_starts_talking":
LAi_ActorDialog(characterFromID("Weatherby Swann"), Pchar, "", 8.0, 0);
Fair enough. The extra time shouldn't do any harm if they can get into place sooner.

You also probably need to block the fast transition so as not to break the quest. The smartest thing to do is after arriving at the pier, but I don't know where to turn it off because there are 3 storylines.
case "You_need_to_pay_mooring":
DisableFastTravel(true);
Add 'DisableFastTravel(false);' to case "And_the_Film_Continues5", which is where that part of the quest seems to end. After that, fast travel shouldn't be a problem until "You_cant_park_That_Here", which won't trigger if you went into town (by fast-travel or otherwise), talked to Henry the Beggar and chose the alternative quest.

Add 'DisableFastTravel(true);' to case "You_cant_park_That_Here" so you can't teleport away from the soldier walking towards you to talk. Put it just above the line 'pchar.quest.henry_talk = "no_comment";' so that fast travel is only blocked if you haven't talked to Henry and chosen the alternative quest. Add 'DisableFastTravel(false);' to case "Dauntless_Deck_NORR8", which seems to be where you've finished stealing the Interceptor and are free to sail off to the next part of the story. Or you can do other things here.

If you fight with the soldiers on the pier, you can run away to the city and break the quest.
case "Fight_Port_soldiers":
Locations[FindLocation("Redmond_port")].reload.l1.disable = true;
case "Fight_with_Turner_in_Shipyard":
Locations[FindLocation("Redmond_port")].reload.l1.disable = false;
Do the same to 'reload.l6'. That way you can't run into the port master's house either.

Reduce delay in case "Dauntless_Deck_NORR6":
LAi_QuestDelay("Dauntless_Deck_NORR7", 1.0);
No, I believe this is to give you time to see the ship sailing away before Gillette says his next piece.
 
1) If I kill the left soldier first, I will be immediately transported to the shipyard. After that, I will be chased by another soldier in the port all the time until I kill him.
That is correct, only one soldier is checked. If you want to kill both soldiers before going to the shipyard, change the end of case "Fight_Port_soldiers" to:
Code:
            Pchar.quest.Off_to_shipyard_now6.win_condition.l1 = "NPC_Death";
            Pchar.quest.Off_to_shipyard_now6.win_condition.l1.character = "Red_soldier_2";
            Pchar.quest.Off_to_shipyard_now6.win_condition.l2 = "NPC_Death";
            Pchar.quest.Off_to_shipyard_now6.win_condition.l2.character = "Red_soldier_1";
            Pchar.quest.Off_to_shipyard_now6.win_condition = "Off_to_shipyard_now6";

2) I stole a ship and immediately landed at Port Royal. Now I have no opportunity to go to sea. Perhaps we should prohibit mooring in this port while we are sailing to Tortuga.
That serves you right for stealing the ship and then going straight back to the port where you stole it! :p A lot of this story is about making choices and facing the consequences of those choices. This is one of those choices and consequences.
 
What exactly did you do to trigger the change? Did you use "console.c", and if so, what did you put in it?

The code in "utils.c" sets the default - Black Pearl is to be cursed, Crimson Blood is not.
I just started a new game and teleported to the moment with the dead man's chest. There used to be a black pearl there.
You can quickly check this yourself by starting a new game and approach the person to the right of the bar counter in the tavern.
That is correct, only one soldier is checked. If you want to kill both soldiers before going to the shipyard, change the end of case "Fight_Port_soldiers" to:
Code:
Pchar.quest.Off_to_shipyard_now6.win_condition.l1 = "NPC_Death";
Pchar.quest.Off_to_shipyard_now6.win_condition.l1.character = "Red_soldier_2";
Pchar.quest.Off_to_shipyard_now6.win_condition.l2 = "NPC_Death";
Pchar.quest.Off_to_shipyard_now6.win_condition.l2.character = "Red_soldier_1";
Pchar.quest.Off_to_shipyard_now6.win_condition = "Off_to_shipyard_now6";
Yes, that's better.
That serves you right for stealing the ship and then going straight back to the port where you stole it! :p A lot of this story is about making choices and facing the consequences of those choices. This is one of those choices and consequences.
The very possibility of landing after you have stolen a ship breaks the meaning.
 
1) After arriving at the port of Tortuga on a quest with a stolen ship, I cannot go to sea. (Сase Tortuga_for_Annamaria_after_Redmond)
2) On the deserted shore there is a closed cave that you need to go into on assignment. (Сase allercavern)
3) If you talk to Will Turner near the cave, he will have the same dialogue as at the Tortuga Pier.
4) Before the video, you can have time to exit the cave back. It doesn’t seem to affect anything, because it teleports me back to the location, but it’s better to close it. Fast travel is also available.
5) Extra space after name. I don't know what line this is, but the answer is (line 30 Will Turner_dialog.h)
6) Also extra space after name. (Line 33 Will Turner_dialog.h)
7) After case coupwill, Jack Sparrow's name may change if Will kills him. This doesn't always happen, but sometimes he kills Jack with his hand.
 

Attachments

  • 1711887544164.png
    1711887544164.png
    749.9 KB · Views: 34
  • 1711890266769.png
    1711890266769.png
    854.5 KB · Views: 43
  • 1711890753290.png
    1711890753290.png
    739.8 KB · Views: 37
  • 1711890931935.png
    1711890931935.png
    916.5 KB · Views: 39
  • 1711891810945.png
    1711891810945.png
    809.2 KB · Views: 43
I just started a new game and teleported to the moment with the dead man's chest. There used to be a black pearl there.
You can quickly check this yourself by starting a new game and approach the person to the right of the bar counter in the tavern.

In "quests_reaction.c", case "houplaboom":
Code:
            if (PreprocessText("#scursed_ship#") == "Black Pearl")
                GiveShip2Character(pchar,"BlackPearl",  TranslateString(PreprocessText("#scursed_ship#"), ""),-1,PIRATE,TRUE,TRUE);
            else
            {
                GiveShip2Character(pchar,"CrimsonBlood",TranslateString(PreprocessText("#scursed_ship#"), ""),-1,PIRATE,TRUE,TRUE);
That condition won't work with Russian, Spanish, or any other language in which "Black Pearl" is translated, because it's comparing the definition of "#scursed_ship#" to the untranslated "Black Pearl". On the other hand, the ship name used in 'GiveShip2Character' no longer needs to be translated. Replace this with:
Code:
            if (PreprocessText("#scursed_ship#") == XI_ConvertString("Black Pearl"))
                GiveShip2Character(pchar,"BlackPearl",  PreprocessText("#scursed_ship#"),-1,PIRATE,TRUE,TRUE);
            else
            {
                GiveShip2Character(pchar,"CrimsonBlood",PreprocessText("#scursed_ship#"),-1,PIRATE,TRUE,TRUE);

Do the same in case "Barbossa_leaves_for_now" - add 'XI_ConvertString' to the condition, remove 'TranslateString' from the names of the ship you're being given. ('TranslateString' checks a lot of different files for translation while 'XI_ConvertString' only checks "common.ini". Since "Black Pearl", "Crimson Blood" and some other special names are translated in "common.ini", 'XI_Convertstring' will be enough and is more efficient.)

In cases "insertforchase2" and "allersurilot", you can also remove the 'TranslateString' from the 'GiveShip2Character' lines.
 
1) After arriving at the port of Tortuga on a quest with a stolen ship, I cannot go to sea. (Сase Tortuga_for_Annamaria_after_Redmond)
2) On the deserted shore there is a closed cave that you need to go into on assignment. (Сase allercavern)
3) If you talk to Will Turner near the cave, he will have the same dialogue as at the Tortuga Pier.
4) Before the video, you can have time to exit the cave back. It doesn’t seem to affect anything, because it teleports me back to the location, but it’s better to close it. Fast travel is also available.
5) Extra space after name. I don't know what line this is, but the answer is (line 30 Will Turner_dialog.h)
6) Also extra space after name. (Line 33 Will Turner_dialog.h)
7) After case coupwill, Jack Sparrow's name may change if Will kills him. This doesn't always happen, but sometimes he kills Jack with his hand.
1, 2, 3: Possibly the side effects of using a jump start rather than playing the whole storyline. I never did trust jump starts!

4: At case "allercavern2", add:
Code:
            StartQuestMovie(true, false, false); TrackQuestMovie("start","allercavern2");
            DisableFastTravel(true);
And at case "insertforchase", add:
Code:
            DisableFastTravel(false);
            EndQuestMovie(); TrackQuestMovie("end","insertforchase");

5, 6: When you know the line number in a "dialog.h", look for a 'DLG_TEXT' which is 2 less in the "dialog.c". Line 1 of the "dialog.h" is the "DLG_TEXT" declaration, so line 2 is the first line of text. Computing often starts counting at 0. So 'DLG_TEXT[0]' in "dialog.c" is line 2 in "dialog.h".

Therefore, if the suspect line shows line 30 of "Will Turner_dialog.h", you're looking for 'DLG_TEXT[28]' in "Will Turner_dialog.c". That's in case "begin_20":
Code:
dialog.text = Pchar.name + " !";

And line 33 of "Will Turner_dialog.h" is 'DLG_TEXT[31]', which is in case "begin_22":
Code:
dialog.text = DLG_TEXT[31] + Pchar.name + " !";

7: At "coupwill", try adding:
Code:
LAi_SetImmortal(PChar, true);
Then at case "revoirbarbossa2":
Code:
LAi_SetImmortal(PChar, false);
 
In "quests_reaction.c", case "houplaboom":
Code:
            if (PreprocessText("#scursed_ship#") == "Black Pearl")
                GiveShip2Character(pchar,"BlackPearl",  TranslateString(PreprocessText("#scursed_ship#"), ""),-1,PIRATE,TRUE,TRUE);
            else
            {
                GiveShip2Character(pchar,"CrimsonBlood",TranslateString(PreprocessText("#scursed_ship#"), ""),-1,PIRATE,TRUE,TRUE);
That condition won't work with Russian, Spanish, or any other language in which "Black Pearl" is translated, because it's comparing the definition of "#scursed_ship#" to the untranslated "Black Pearl". On the other hand, the ship name used in 'GiveShip2Character' no longer needs to be translated. Replace this with:
Code:
            if (PreprocessText("#scursed_ship#") == XI_ConvertString("Black Pearl"))
                GiveShip2Character(pchar,"BlackPearl",  PreprocessText("#scursed_ship#"),-1,PIRATE,TRUE,TRUE);
            else
            {
                GiveShip2Character(pchar,"CrimsonBlood",PreprocessText("#scursed_ship#"),-1,PIRATE,TRUE,TRUE);

Do the same in case "Barbossa_leaves_for_now" - add 'XI_ConvertString' to the condition, remove 'TranslateString' from the names of the ship you're being given. ('TranslateString' checks a lot of different files for translation while 'XI_ConvertString' only checks "common.ini". Since "Black Pearl", "Crimson Blood" and some other special names are translated in "common.ini", 'XI_Convertstring' will be enough and is more efficient.)

In cases "insertforchase2" and "allersurilot", you can also remove the 'TranslateString' from the 'GiveShip2Character' lines.
Yes it works, do the same for the moment where Davy Jones hands the ship to Jack.
Davy Jones_dialog.c (Line 262) (Line 366)
if (PreprocessText("#scursed_ship#") == XI_ConvertString("Black Pearl"))
GiveShip2Character(pchar,"UncursedPearl", PreprocessText("#scursed_ship#"),-1,PIRATE,true,true);
else
GiveShip2Character(pchar,"CrimsonBlood", PreprocessText("#scursed_ship#"),-1,PIRATE,true,true);

Also in the Morris Murtogg_dialog.c file there is this line:
Preprocessor_Add("cursedship", TranslateString(PreprocessText("#scursed_ship#"), ""));
4: At case "allercavern2", add:
Code:
StartQuestMovie(true, false, false); TrackQuestMovie("start","allercavern2");
DisableFastTravel(true);
Please move this to the beginning of the "allercavern" case, otherwise it will not work.

If you go to the cave after switching to Barbossa and then back to the beach, you will experience a terrible fog as you head out to sea.
 

Attachments

  • 1712061973104.png
    1712061973104.png
    267.2 KB · Views: 28
Yes it works, do the same for the moment where Davy Jones hands the ship to Jack.
Davy Jones_dialog.c (Line 262) (Line 366)
if (PreprocessText("#scursed_ship#") == XI_ConvertString("Black Pearl"))
GiveShip2Character(pchar,"UncursedPearl", PreprocessText("#scursed_ship#"),-1,PIRATE,true,true);
else
GiveShip2Character(pchar,"CrimsonBlood", PreprocessText("#scursed_ship#"),-1,PIRATE,true,true);
Done.

Also in the Morris Murtogg_dialog.c file there is this line:
Preprocessor_Add("cursedship", TranslateString(PreprocessText("#scursed_ship#"), ""));
Remove that line entirely. It was part of a fix for the untranslated "#scursed_ship#" in "utils.c". Now that "#scursed_ship#" is being translated at its source, that line is no longer needed. And in "Morris Murtogg_dialog.h", on line 9, change "#scursedship#" to "#scursed_ship#".

If you go to the cave after switching to Barbossa and then back to the beach, you will experience a terrible fog as you head out to sea.
Barbossa is probably confused about why you are sending him back into the cave when he's supposed to be going to his ship to destroy the Interceptor. xD
 
1) After Barbossa drops me and Elizabeth off the ship, I can return to the ship using the fast travel option.
2) After returning to the cave, I need to talk to Barbossa myself, or he will do it after a while. It would be better to have him come to me. (Case "proposerabarbossa")
3) If I die from Barbossa, the camera will get stuck and the game won't end. And by the way, shouldn't Elizabeth be fighting too?
4) If I don't put my sword away, I can leave the area without having to talk to Turner.
Insert into case "justapresfight":
LAi_SetFightMode(PChar, false);
5) Soldier - not translated.
6) Weatherby - not translated. This probably happened because Jack hit him on the pier.
7) Forgot to put a period in the code. (James Norrington_Dialog.c)
case "the_prison_scene":
link.l1 = DLG_TEXT[49] + Pchar.name;
 

Attachments

  • 1712193465137.png
    1712193465137.png
    764.9 KB · Views: 29
  • 1712196632104.png
    1712196632104.png
    1 MB · Views: 38
  • 1712196610972.png
    1712196610972.png
    1 MB · Views: 27
  • 1712195546804.png
    1712195546804.png
    640.9 KB · Views: 38
  • 1712194000084.png
    1712194000084.png
    720.8 KB · Views: 32
  • 1712193858690.png
    1712193858690.png
    685.2 KB · Views: 34
  • 1712196734024.png
    1712196734024.png
    997.6 KB · Views: 27
1: That could be prevented with 'DisableFastTravel(true)' but there may be a better way. At case "allersurilot", add:
Code:
            DeleteAttribute(PChar, "Ship");
            PChar.Ship.Type = SHIP_NOTUSED_TYPE_NAME;
            PChar.Ship.Name = "";
That should remove your ship entirely - you no longer have the Black Pearl because Barbossa has just stolen it! You'll get it back at case "houplaboom" after the escape from the fort.

2: Barbossa should indeed come to you, but he's probably not in "actor" mode. At case "proposerabarbossa", add:
Code:
LAi_SetActorType(CharacterFromID("Barbossa"));

3: At case "proposerabarbossa", add:
Code:
bSuppressResurrection = true;
Then at case "and_over_the_wall", add:
Code:
bSuppressResurrection = false;
Elizabeth should not fight. She's not even armed! She'll get weapons, and a more suitable outfit in which to use them,

5, 6: At case "allerfortredmond", add:
Code:
            Characters[GetCharacterIndex("Red_soldier_1").name = TranslateString("", "Soldier");
            Characters[GetCharacterIndex("Red_soldier_1").lastname = "";
            Characters[GetCharacterIndex("Red_soldier_2").name = TranslateString("", "Soldier");
            Characters[GetCharacterIndex("Red_soldier_2").lastname = "";
            Characters[GetCharacterIndex("Weatherby Swann").name = TranslateString("", "Weatherby");
            Characters[GetCharacterIndex("Weatherby Swann").lastname = TranslateString("", "Swann");
These are the same two soldiers you killed earlier in Port Royale. Weatherby Swann was also killed when you knocked him out.

7: Change that to:
Code:
link.l1 = DLG_TEXT[49] + Pchar.name + ".";
Also add a period to the end of line 50 in "James Norrington_Dialog.h".
 
Last edited:
5, 6: At case "allerfortredmond", add:
You forgot to put parentheses in the code.
Characters[GetCharacterIndex("Red_soldier_1")].name = TranslateString("", "Soldier");
Characters[GetCharacterIndex("Red_soldier_1")].lastname = "";
Characters[GetCharacterIndex("Red_soldier_2")].name = TranslateString("", "Soldier");
Characters[GetCharacterIndex("Red_soldier_2")].lastname = "";
Characters[GetCharacterIndex("Weatherby Swann")].name = TranslateString("", "Weatherby");
Characters[GetCharacterIndex("Weatherby Swann")].lastname = TranslateString("", "Swann");

But I discovered another problem, now my game crashes after a fight with soldiers on the pier.
 

Attachments

  • compile.log
    7.1 KB · Views: 33
You forgot to put parentheses in the code.
Characters[GetCharacterIndex("Red_soldier_1")].name = TranslateString("", "Soldier");
Characters[GetCharacterIndex("Red_soldier_1")].lastname = "";
Characters[GetCharacterIndex("Red_soldier_2")].name = TranslateString("", "Soldier");
Characters[GetCharacterIndex("Red_soldier_2")].lastname = "";
Characters[GetCharacterIndex("Weatherby Swann")].name = TranslateString("", "Weatherby");
Characters[GetCharacterIndex("Weatherby Swann")].lastname = TranslateString("", "Swann");
Thanks! I've corrected my copy too.

But I discovered another problem, now my game crashes after a fight with soldiers on the pier.
Can you also upload "system.log", and "error.log" if it exists?
 
Thanks! I've corrected my copy too.


Can you also upload "system.log", and "error.log" if it exists?
There's nothing special here. I don’t know, maybe this is just for quick transition using cheats, but it worked before. A black screen appears and the game crashes.
 

Attachments

  • system.log
    10.8 KB · Views: 33
Is there no "error.log"?

There's nothing suspicious in "system.log" - a lot of reports of "Dut_m_a_045.wav" missing, a few reports of other sounds missing, and the last line reports "TIPS_0048.TGA.tx" missing. None of those ought to crash the game.

The last part of "compile.log" is about case "Fight_with_Turner_in_Shipyard". Did you get to the shipyard? Did Will Turner talk to you?

If you're not even getting to the shipyard, delete or comment out this line in case "Off_to_shipyard_now7":
Code:
LAi_Fade("Fight_with_Turner_in_Shipyard","");
... and this in case "Fight_with_Turner_in_Shipyard":
Code:
DoQuestReloadToLocation("Redmond_shipyard", "goto", "goto1", "_");
Then put this into "Off_to_shipyard_now7":
Code:
DoQuestReloadToLocation("Redmond_shipyard", "goto", "goto1", "Fight_with_Turner_in_Shipyard");

You can also delete or comment out this in "Fight_with_Turner_in_Shipyard":
Code:
LAi_ActorWaitDialog(PChar,characterFromID("Will Turner"));
It shouldn't crash the game but it won't do anything unless the player is in actor mode, and it's probably responsible for this line in "compile.log":
Code:
Actor error: character <Blaze> now is not actor, his have type <player>
 
Is there no "error.log"?

There's nothing suspicious in "system.log" - a lot of reports of "Dut_m_a_045.wav" missing, a few reports of other sounds missing, and the last line reports "TIPS_0048.TGA.tx" missing. None of those ought to crash the game.

The last part of "compile.log" is about case "Fight_with_Turner_in_Shipyard". Did you get to the shipyard? Did Will Turner talk to you?

If you're not even getting to the shipyard, delete or comment out this line in case "Off_to_shipyard_now7":
Code:
LAi_Fade("Fight_with_Turner_in_Shipyard","");
... and this in case "Fight_with_Turner_in_Shipyard":
Code:
DoQuestReloadToLocation("Redmond_shipyard", "goto", "goto1", "_");
Then put this into "Off_to_shipyard_now7":
Code:
DoQuestReloadToLocation("Redmond_shipyard", "goto", "goto1", "Fight_with_Turner_in_Shipyard");

You can also delete or comment out this in "Fight_with_Turner_in_Shipyard":
Code:
LAi_ActorWaitDialog(PChar,characterFromID("Will Turner"));
It shouldn't crash the game but it won't do anything unless the player is in actor mode, and it's probably responsible for this line in "compile.log":
Code:
Actor error: character <Blaze> now is not actor, his have type <player>
Now it crashes at the moment case "Off_to_shipyard_now7":
Here's what's in error.log:
RUNTIME ERROR - file: Loc_ai\types\LAi_stunned.c; line: 284
uninitialized aref
RUNTIME ERROR - file: Loc_ai\types\LAi_stunned.c; line: 284
AClass ERROR n1
RUNTIME ERROR - file: Loc_ai\types\LAi_stunned.c; line: 284
process event stack error
 
Can you send me a savegame from before the fight with the soldiers on the pier?
 
Can you send me a savegame from before the fight with the soldiers on the pier?
This is most likely a problem with fast traveling through the drunkard in the tavern. I loaded the save that was already on the pier and everything was fine.
2: Barbossa should indeed come to you, but he's probably not in "actor" mode. At case "proposerabarbossa", add:
Code:
LAi_SetActorType(CharacterFromID("Barbossa"));
It didn't work... Barbossa continues to stand in the "goto5" locator.
3: At case "proposerabarbossa", add:
Code:
bSuppressResurrection = true;
For some reason this didn't work either.
6) Weatherby - still not translated, although the soldiers have now been transferred.
 

Attachments

  • -=Проклятие=- Эспаньола.7z
    496.5 KB · Views: 29
Last edited:
Back
Top