• 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

Characters[GetCharacterID("Fernam Barrios")].model = "man4";
This command doesn't seem to work.
1: Try this version of "danielle_dialog.c". It's the same problem we've seen before - the dialog code looks directly at attribute 'pchar.name', which is blank when the character only has one name like your "Danielle". I've replaced it with function call 'GetMyName(PChar)' at both points.
The file solved the problem with line 176, but line 196 also does not output anything.
Change it to:
Code:
if (Characters[GetCharacterIndex("Danielle")].sex == "woman")
{
Preprocessor_AddQuestData("kid", XI_ConvertString("girl"));
AddQuestRecord("again_find_rheims", 12);
}
else
{
Preprocessor_AddQuestData("kid", XI_ConvertString("lad"));
AddQuestRecord("again_find_rheims", 7);
}

It didn't work for me when I started the task again. Maybe you need to delete the below "AddQuestRecord("again_find_rheims", 7);"?
AddQuestRecord("again_find_rheims", 7);
CloseQuestHeader("again_find_rheims");
Preprocessor_Remove("pronoun3");
Preprocessor_Remove("kid");
Preprocessor_Remove("pronoun2");
Preprocessor_Remove("Danielle");

1) Should reputation be taken away when I give documents to Domingus? In this quest, it turns out that I will go into the minus in terms of reputation anyway.
 

Attachments

  • 1720895937896.png
    1720895937896.png
    935.4 KB · Views: 32
  • 1720913880585.png
    1720913880585.png
    851 KB · Views: 29
Last edited:
This command doesn't seem to work.
My mistake. :oops: It should be:
Code:
Characters[GetCharacterIndex("Fernam Barrios")].model = "man4";

The file solved the problem with line 176, but line 196 also does not output anything.
Try this one. If it doesn't work, upload "error.log" because I probably made a typing mistake somewhere. I've tried to replace all attributes ".name" and ".lastname" with functions 'GetMyName' and 'GetMyLastName'.

It didn't work for me when I started the task again. Maybe you need to delete the below "AddQuestRecord("again_find_rheims", 7);"?
AddQuestRecord("again_find_rheims", 7);
CloseQuestHeader("again_find_rheims");
Preprocessor_Remove("pronoun3");
Preprocessor_Remove("kid");
Preprocessor_Remove("pronoun2");
Preprocessor_Remove("Danielle");
What happened when you started the task again?

1) Should reputation be taken away when I give documents to Domingus? In this quest, it turns out that I will go into the minus in terms of reputation anyway.
Yes, you take a -1 loss anyway and another -3 loss if you blackmail him.
 

Attachments

  • danielle_dialog.c
    62.6 KB · Views: 29
Try this one. If it doesn't work, upload "error.log" because I probably made a typing mistake somewhere. I've tried to replace all attributes ".name" and ".lastname" with functions 'GetMyName' and 'GetMyLastName'.
Now the dialog is gone, the error is in error.log:
COMPILE ERROR - file: storyline\standard\dialogs\Danielle_dialog.c; line: 724
invalid syntax
What happened when you started the task again?
The same line was displayed "("again_find_rheims", 7);", and not "("again_find_rheims", 12);".
Code:
Characters[GetCharacterIndex("Fernam Barrios")].model = "man4";
Yes, the skins have changed, only the head remains the same.

See the difference between the two runs (morning and night). At night the guards disappear when I kill them, but not in the morning. Also, in the morning the door remains open, while after the night everything is closed. I think it should all be identical. And you need to replace the skins, like in my video, for better visuals.
 

Attachments

  • 1721046323929.png
    1721046323929.png
    917.7 KB · Views: 28
  • 1721046949279.png
    1721046949279.png
    688.1 KB · Views: 33
Now the dialog is gone, the error is in error.log:
COMPILE ERROR - file: storyline\standard\dialogs\Danielle_dialog.c; line: 724
invalid syntax
If it doesn't work, upload "error.log" because I probably made a typing mistake somewhere. I've tried to replace all attributes ".name" and ".lastname" with functions 'GetMyName' and 'GetMyLastName'.
Not surprisingly with all the changes I made, there was indeed a typing mistake - a missing bracket. I've uploaded it again.

The same line was displayed "("again_find_rheims", 7);", and not "("again_find_rheims", 12);".
What's wrong with that? Line 7 is for when "danielle" is male because you're female and "danielle" is Nathaniel. Line 12 is for when "danielle" is Danielle.

Yes, the skins have changed, only the head remains the same.
That's to be expected. The console command I gave you was the same as the command in "TempQuest.c" in the character's definition. It changes the character's model but the whole character creation process has not been repeated, so the head model has not changed. It should match the character model when you start a new game.

See the difference between the two runs (morning and night). At night the guards disappear when I kill them, but not in the morning.
That's because quest case "wait_for_night_complete", which is where they are set to disappear when they die, is triggered by talking to the tavern keeper. They can't be made to disappear before then, otherwise they may disappear if you kill them even earlier.

Also, in the morning the door remains open, while after the night everything is closed. I think it should all be identical.
The only reason it's open if you kill them during the day is so that you can walk straight in because they're dead and can't stop you. Very few players are going to bother to try different ways to see what happens differently. If that's their idea of fun, let them have differences to find. ;)

And you need to replace the skins, like in my video, for better visuals.
Already done. I've changed "TempQuest.c" so that Fernam Barrios and Leborio Violate use "man4" and "capitan" as you suggested. It will be in the next update.
 
Not surprisingly with all the changes I made, there was indeed a typing mistake - a missing bracket. I've uploaded it again.
Also add a parenthesis to line 763, otherwise there will be an empty dialog.
Preprocessor_Add("Governor", GetMyLastName(CharacterFromID("Robert Christopher Silehard")));
After that, everything worked and there were no missing variables!
What's wrong with that? Line 7 is for when "danielle" is male because you're female and "danielle" is Nathaniel. Line 12 is for when "danielle" is Danielle.
Damn, I thought the opposite.
Already done. I've changed "TempQuest.c" so that Fernam Barrios and Leborio Violate use "man4" and "capitan" as you suggested. It will be in the next update.
Also please change the quest skins of ship boarders with figurines. I think this option looks better:
Characters[GetCharacterIndex("pirate for abordage 01")].model = "Pirat5";
Characters[GetCharacterIndex("pirate for abordage 02")].model = "Pirat9";
Characters[GetCharacterIndex("pirate for abordage 03")].model = "Pirat7";
 

Attachments

  • 1721071261064.png
    1721071261064.png
    777.6 KB · Views: 25
Also add a parenthesis to line 763, otherwise there will be an empty dialog.
Preprocessor_Add("Governor", GetMyLastName(CharacterFromID("Robert Christopher Silehard")));
After that, everything worked and there were no missing variables!
Thanks! :cheers I'll not repost "danielle_dialog.c" again until something else needs to be fixed, since your copy now works, but I've made the same correction to mine.

Damn, I thought the opposite.
Line 7 was supposed to be the version for both male and female "danielle", with preprocessed variables:
Code:
That hurts! That crazy #skid# stuck #spronoun3# dagger in me when I tried to figure out what was going on. Rheims was mortally wounded, and from their talk with #sDanielle#, it appears that Silehard is the one who ordered Rheims killed. What's more - he ordered Rheims killed because Rheims had discovered some treasures. Vincent was a killer in Silehard's service. Oh, dear! To think I served such a rascal! I have to find #sDanielle# now and convince #spronoun2# that I am not to blame.
Of course, it won't work properly with any language in which the adjective "crazy" changes depending on the gender of "#skid#", which is probably most languages apart from English.

The code which I suggested to choose between lines 7 and 12 is:
Code:
            if (Characters[GetCharacterIndex("Danielle")].sex == "woman")
            {
                Preprocessor_AddQuestData("kid", XI_ConvertString("girl"));
                AddQuestRecord("again_find_rheims", 12);
            }
            else
            {
                Preprocessor_AddQuestData("kid", XI_ConvertString("lad"));
                AddQuestRecord("again_find_rheims", 7);
            }
If "Danielle" is a woman, use line 12, otherwise use line 7.

Line 12 has no preprocessed variables but it isn't simply a pure female version of line 7. It looks like an obsolete line for an attempt to put more film material into the storyline, presumably abandoned when Jack Sparrow got his own storyline, as it names Barbossa instead of Vincent as the killer. Change line 12 to:
Code:
That hurts! That crazy girl stuck her dagger in me when I tried to figure out what was going on. Rheims was mortally wounded, and from their talk with Danielle, it appears that Silehard is the one who ordered Rheims killed. What's more - he ordered Rheims killed because Rheims had discovered some treasures. Vincent was a killer in Silehard's service. Oh, dear! To think I served such a rascal! I have to find Danielle now and convince her that I am not to blame.

Also please change the quest skins of ship boarders with figurines. I think this option looks better:
Characters[GetCharacterIndex("pirate for abordage 01")].model = "Pirat5";
Characters[GetCharacterIndex("pirate for abordage 02")].model = "Pirat9";
Characters[GetCharacterIndex("pirate for abordage 03")].model = "Pirat7";
Done, although the change needs to be made in "TempQuest.c" and the lines would be 'ch.model' rather than 'Characters[GetCharacterIndex("pirate for abordage 01")].model'. I've changed "TempQuest.c" to use those models and you'll get the credit for it.
 
1) In the file "Found_Blaze_1_dialog.c" in case "Explanation_4" replace
DoQuestCheckDelay("Story_OfficersGoToTavernWithBlaze", 1.0);
on
AddDialogExitQuest("Story_OfficersGoToTavernWithBlaze");
In the port, when talking with the team, the dialogue skips and I don’t have time to read it. This already happened in a tavern in Bonaire with a Frenchman.
2) How can I change the name of the sailors on the pier? For Nathaniel this was correct, but here it should be: "Член Команды Даниэль". Now: "Член Команды Даниэля". And in general, to avoid problems with this, you don’t have to add the name to "Crewmember".
3) After the storm, the tavern in the city is closed, although in the quest log "Where_are_i.txt" there is a line "text.t2" which says that the tavern advised me to contact the pirates in the jungle.
4) The name of the ship is not highlighted with quotation marks when the kraken attacks, as it always happens, for example, at a shipyard. (Lines 468-469 and 470 interface_strings.txt)
5) The ship "Lucky" has no translation.
6) Wilfred Bythesea has no dialogue after giving the assassination task. In addition, the next time you enter the tavern, he will spawn in the doorway.
7) After talking with Sidonio Ogarrio, his people attack me, but he himself does not attack and after killing his people he has the same dialogue. If I kill him, they will write about it in the quest log, but I won’t be able to leave the house, the doors are locked.
8) I added a little time so Nathaniel could run up to me instead of shouting from the other pier.
case "Story_BlazeMeetDanielleInMuellePort":
LAi_ActorFollow(CharacterFromID("danielle"), PChar, "Story_BlazeMeetDanielleInMuellePort_2", 12.0);
I also added time so that he would not disappear into the air before he could reach the ship.
case "danielle_MetInMuellePort_Exit":
LAi_ActorRunToLocator(CharacterFromID("danielle"), "reload", "reload3", "Story_DanielleGoesToBlazeShip", 10.0);
Also, when he runs to the ship, you can use fast travel and forget him on the island.
 

Attachments

  • 1721956425993.png
    1721956425993.png
    950.3 KB · Views: 19
  • 1721957109515.png
    1721957109515.png
    807.4 KB · Views: 22
  • 1721957170874.png
    1721957170874.png
    888.2 KB · Views: 22
  • 1721957392633.png
    1721957392633.png
    839.4 KB · Views: 25
  • 1721957736468.png
    1721957736468.png
    748.1 KB · Views: 24
  • 1721957749051.png
    1721957749051.png
    720.6 KB · Views: 19
  • 1721958166006.png
    1721958166006.png
    677.7 KB · Views: 19
  • 1721958664806.png
    1721958664806.png
    819 KB · Views: 22
1: I've made that change to my copy.

2: In "quests_reaction.c", case "before_storm", add:
Code:
            if PChar.sex == "woman"
            {
                Characters[GetCharacterIndex("Blaze_Crewmember_01")].name = TranslateString("", "Danielle's Crewmember");
                Characters[GetCharacterIndex("Blaze_Crewmember_02")].name = TranslateString("", "Danielle's Crewmember");
                Characters[GetCharacterIndex("Blaze_Crewmember_03")].name = TranslateString("", "Danielle's Crewmember");
            }
In "RESOURCE\INI\TEXTS\RUSSIAN\characters_names.txt", below the line for "Nathaniel's Crewmember", add a line for "Danielle's Crewmember".

3: Some modder evidently changed it from the original game in which you had to walk all the way into town, ask at the tavern, then walk all the way back to the pirate fort. But the modder forgot to change the questbook to match. I'm half inclined to put the quest code back the way it was.

4: If that's line 468 in the Russian version then you're missing some earlier lines because it's line 484 in both English and Spanish. The easiest way to add the quotation marks is where the texts are used, in "PROGRAM\NK.c", functions "KrakenAttack" and "FinishKrakenAttack". Add them in lines 4133 and 4144.

5: Add the 'TranslateString' command in "quests_reaction.c", case "Wifred_give_to_us_ship". Then add a line for "Lucky" to the end of "RESOURCE\INI\TEXTS\RUSSIAN\Storyline\standard\storyline_strings.txt".

6, 7: Try again, then upload "compile.log". There is certainly supposed to be quest code to unlock the door and set an attribute recognised by Wilfred so you can tell him you killed Sidonio.

8: Instead of:
Code:
LAi_ActorRunToLocator(CharacterFromID("danielle"), "reload", "reload3", "Story_DanielleGoesToBlazeShip", 10.0);
... remove the quest case:
Code:
LAi_ActorRunToLocator(CharacterFromID("danielle"), "reload", "reload3", "", 10.0);
Then add this to the end of "danielle_MetInMuellePort_Exit":
Code:
            PChar.quest.Story_DanielleGoesToBlazeShip.win_condition.l1 = "ExitFromLocation";
            PChar.quest.Story_DanielleGoesToBlazeShip.win_condition.l1.location = PChar.location;
            PChar.quest.Story_DanielleGoesToBlazeShip.win_condition = "Story_DanielleGoesToBlazeShip";
That should trigger "Story_DanielleGoesToBlazeShip" when you leave the port, either by fast travel or by running to your ship and reaching it before Nathaniel's finishes his run.
 
6, 7: Try again, then upload "compile.log". There is certainly supposed to be quest code to unlock the door and set an attribute recognised by Wilfred so you can tell him you killed Sidonio.
1) Here is the save file before entering the square behind the tavern and the compile.log. The quest is broken 100%.
2) If you sink the frigate Athena, the quest log will say that I captured her. Also somehow I get the idol out of the water. It would be nice to make a scene like with the figurines, when we move to the shore and the sailor says that we managed to get them out of the water.
 

Attachments

  • compile.log
    9 KB · Views: 19
  • -=Тест1=- Пуэрто-Рико. Сан-Хуан.7z
    615 KB · Views: 22
2: In "quests_reaction.c", case "before_storm", add:
error.log says that parentheses are needed here.
if (PChar.sex == "woman")
8: Instead of:
After this, Nathaniel does not disappear, but stands on the pier. Fast travel is not available, it is said that something will happen here. Moving to the deck is available, after reappearing in the port, Nathaniel joins me.
 

Attachments

  • 1721997814382.png
    1721997814382.png
    790.8 KB · Views: 20
error.log says that parentheses are needed here.
if (PChar.sex == "woman")
Oops! :oops:

After this, Nathaniel does not disappear, but stands on the pier. Fast travel is not available, it is said that something will happen here. Moving to the deck is available, after reappearing in the port, Nathaniel joins me.
See what happens if you replace:
Code:
LAi_ActorRunToLocator(CharacterFromID("danielle"), "reload", "reload3", "", 10.0);
... with...
Code:
LAi_ActorRunToLocation(CharacterFromID("danielle"), "reload", "reload3", "none", "", "", "", 10.0);
'LAi_ActorRunToLocator' will indeed leave the character standing at the location. 'LAi_ActorRunToLocation' should make the character run to the location and then teleport to a new location - in this case, "none".

Fast travel is normally blocked when a quest in that location is active, as you might have noticed in various ports where something is supposed to happen to Artois Voysey or Edgar Atwood, for example. Here, the quest which is blocking fast travel is "Story_DanielleGoesToBlazeShip", now triggered when you leave the location. The other option would be to disable fasttravel with 'DisableFastTravel(true)', but that doesn't prevent you from breaking the quest by running to your ship faster than Nathaniel.

After you walk to your ship - or, for that matter, if you walk back into town - Nathaniel will indeed join you because case "Story_DanielleGoesToBlazeShip" makes him an unremovable officer. He'd have done that before all these changes.
 
Found a small bug. After I told Nathaniel that I was starting the assault, I was transported to the sea and if I get to my ship’s cabin after that, the port of Bridgetown is bugged and I can dock as in a regular port. But mooring to the shore does not break anything, only the deck.
 

Attachments

  • 1722265285892.png
    1722265285892.png
    759.2 KB · Views: 21
  • compile.log
    6.2 KB · Views: 12
  • -=Тест1=- Барбадос.7z
    597.7 KB · Views: 20
7) After talking with Sidonio Ogarrio, his people attack me, but he himself does not attack and after killing his people he has the same dialogue. If I kill him, they will write about it in the quest log, but I won’t be able to leave the house, the doors are locked.
This does not happen to me. It is true that Sidonio Ogarrio does not attack and when I have killed his guards, he does not defend himself when I hit him, he cowers in terror until I kill him. After that the door unlocks and I can leave the house.

Sidonio Ogarrio is originally set to "merchant" type so that he can stand still and you can talk to him, which is why this is in "compile.log":
Code:
Actor error: character <Sidonio Ogarrio> now is not actor, his have type <merchant>
. In case "kill_Ogario_fight", add this somewhere before the 'LAi_ActorAttack' line:
Code:
LAi_SetActorType(CharacterFromID("Sidonio Ogarrio"));
That makes him fight. However, due to the positioning of the guards, I found that I couldn't hit him until I'd killed all the guards anyway.

Make sure case "kill_Ogario_complete" looks like this:
Code:
        case "kill_Ogario_complete":
            DisableFastTravel(false);
            EndQuestMovie();
            characters[GetCharacterIndex("Wilfred Bythesea")].quest.kill_Ogarrio = "Almost_complete";
            AddQuestRecord("Kill_Ogario", 2);
            CloseQuestHeader("Kill_Ogario");
        break;
That should re-enable fast travel and unlock the doors (fast travel is disabled and doors locked during the fight so you can't get out until you've killed Ogarrio). It also sets an attribute on Wilfred Bythesea, who should be in "stay" mode so you can talk to him when you return to the tavern. His dialog file will recognise that attribute and allow you to report success.

The problem with "Wilfred Bythesea_dialog.c" is that it checks attribute "quest.kill_ogarrio", sets up the dialog about giving you the ship and the job if it's set to "0", sets up the dialog about reporting success if it's "Almost_complete", and does nothing otherwise. So you get a blank dialog and there's probably something in either "error.log" or "system.log" about it. Add this before the checks on "quest.kill_ogarrio":
Code:
            dialog.text = "...";
            link.l1 = "...";
            link.l1.go = "exit";
That should properly set up a default, nearly blank dialog which will be replaced if either of the attribute checks passes.
 
Last edited:
Found a small bug. After I told Nathaniel that I was starting the assault, I was transported to the sea and if I get to my ship’s cabin after that, the port of Bridgetown is bugged and I can dock as in a regular port. But mooring to the shore does not break anything, only the deck.
After you tell Nathaniel that you are starting the attack, you go to sea. Where - near the lighthouse or near the fort?

Starting from your savegame, after telling Nathaniel to start the attack, I am at sea near the lighthouse. I then sail to the fort. It is just possible to sail near enough to the fort that it starts firing at me but the game has not switched to battle mode, in which case I can go to the cabin but I'm nowhere near the port and can not go to port from the deck. But your picture shows you right next to the port, and if I'm that close, the game will not let me go to the cabin or deck.

But your savegame did reveal another bug. One of your officers is Gervasio Serrao. You hired him at Bonaire pirate fort when you went there after the storm, or possibly he would not join you as you had no money and you returned to the fort later. Try talking to him and see what happens... (Use the "Passengers" screen to assign him as one of your three companion officers.)
 
. In case "kill_Ogario_fight", add this somewhere before the 'LAi_ActorAttack' line:
Somehow, after these changes, the door began to open and now everything is fine.
The problem with "Wilfred Bythesea_dialog.c" is that it checks attribute "quest.kill_ogarrio", sets up the dialog about giving you the ship and the job if it's set to "0", sets up the dialog about reporting success if it's "Almost_complete", and does nothing otherwise. So you get a blank dialog and there's probably something in either "error.log" or "system.log" about it. Add this before the checks on "quest.kill_ogarrio":
Code:
dialog.text = "...";
link.l1 = "...";
link.l1.go = "exit";
That should properly set up a default, nearly blank dialog which will be replaced if either of the attribute checks passes.
Should he be standing in the doorway? I think he needs to be seated at a table, and at the same time, the random spawning of officers in his place during quests should be removed.
There is now no empty dialogue either and the quest is completed.
After you tell Nathaniel that you are starting the attack, you go to sea. Where - near the lighthouse or near the fort?
Yes, near the lighthouse I immediately go into the cabin, and then leave it and teleport to the port.
But your savegame did reveal another bug. One of your officers is Gervasio Serrao. You hired him at Bonaire pirate fort when you went there after the storm, or possibly he would not join you as you had no money and you returned to the fort later. Try talking to him and see what happens... (Use the "Passengers" screen to assign him as one of your three companion officers.)
He told me “go your way,” and I replied, “I’m already leaving.” After that, a black screen appeared for a second and he sat down at the table. He can also sit in another person or even sit in the jungle in the open air. :D
 

Attachments

  • 1722432551225.png
    1722432551225.png
    670.7 KB · Views: 22
  • 1722433782096.png
    1722433782096.png
    643.9 KB · Views: 16
  • 1722434134614.png
    1722434134614.png
    648.7 KB · Views: 18
  • 1722434212768.png
    1722434212768.png
    952.2 KB · Views: 18
Somehow, after these changes, the door began to open and now everything is fine.
Odd. Firstly because that change should not affect the door, and secondly beause the door opened for me before I changed anything. The only effect of the change is that Ogarrio now fights instead of cowering.

Should he be standing in the doorway? I think he needs to be seated at a table, and at the same time, the random spawning of officers in his place during quests should be removed.
There is now no empty dialogue either and the quest is completed.
Add this to case case "kill_Ogario_complete":
Code:
            ChangeCharacterAddressGroup(CharacterFromID("Wilfred Bythesea"), "Pirate_tavern", "sit", "sit7");
            LAi_SetSitType(CharacterFromID("Wilfred Bythesea"));
That should put him on a seat, and 'LAi_SetSitType' is used by regular tavern people so he should be able to talk. Random characters don't appear on top of characters who are already in place, which is why you never see random characters sitting on top of the people who may gamble or drink with you.

Yes, near the lighthouse I immediately go into the cabin, and then leave it and teleport to the port.
Odd. I couldn't get teleport to port, but perhaps I didn't try going to the cabin at the right time. But since the last place you were moored was the lighthouse, then if you're going to teleport from the cabin, it should be back to the lighthouse.

He told me “go your way,” and I replied, “I’m already leaving.” After that, a black screen appeared for a second and he sat down at the table. He can also sit in another person or even sit in the jungle in the open air. :D
Yes, that's what happened to me. The problem is that his dialog file checks an attribute for two particular settings. If the attribute does not match one of them then the default is exactly what you saw, then it goes to case "exit_wait_for_hire". That triggers quest case "serrao_wait_for_hire", which tries to put him back in the pirate fort tavern in the seat where he started.

Try this version of "PROGRAM\DIALOGS\Gervasio Serrao_dialog.c". If you hire him, it should now trigger quest case "serrao_hired". Then, in "quests_reaction.c", add this:
Code:
        case "serrao_hired":
            NPChar = CharacterFromID("Gervasio Serrao");
            NPChar.Dialog.Filename = "Enc_Officer_dialog.c";
            NPChar.Dialog.CurrentNode = "Hired";
        break;
It doesn't really matter where you put it, but a good place might be right after case "serrao_wait_for_hire_2". It switches him to standard officer dialog. Similar code is used for most other quest officers after you hire them and their quests are finished.

I can't upload my version of "quests_reaction.c" because I've been making some larger changes - the version in the next update is going to have almost all the code for "Night Craft" moved into "PROGRAM\quests\quests_side.c" so that it can be found by FreePlay as well as Tales of a Sea Hawk. That will make it possible to use "Night Craft" as a special quest for FreePlay smugglers.
 

Attachments

  • Gervasio Serrao_dialog.c
    4.3 KB · Views: 13
Try this version of "PROGRAM\DIALOGS\Gervasio Serrao_dialog.c". If you hire him, it should now trigger quest case "serrao_hired". Then, in "quests_reaction.c", add this:
Also, without fighting Gervasio Serrao, I can hire him. He sits on the right in the tavern and if I ask him the first time, he will tell me to leave, but the second time he will have the dialogue “Have you decided to hire me?”. In theory, he should always tell me the first phrase. This also breaks the post-fight dialogue and he tells me that 2000 gold coins will be enough.
Add this to case case "kill_Ogario_complete":
Code:
ChangeCharacterAddressGroup(CharacterFromID("Wilfred Bythesea"), "Pirate_tavern", "sit", "sit7");
LAi_SetSitType(CharacterFromID("Wilfred Bythesea"));
For some reason this did not help, he also remains standing near the door.
Try this version of "PROGRAM\DIALOGS\Gervasio Serrao_dialog.c". If you hire him, it should now trigger quest case "serrao_hired". Then, in "quests_reaction.c", add this:
Code:
case "serrao_hired":
NPChar = CharacterFromID("Gervasio Serrao");
NPChar.Dialog.Filename = "Enc_Officer_dialog.c";
NPChar.Dialog.CurrentNode = "Hired";
break;
Now he has a simple officer dialogue, but it turns out we won’t pay him 2000 gold coins after?
 

Attachments

  • 1722447272499.png
    1722447272499.png
    629.2 KB · Views: 21
Yes, near the lighthouse I immediately go into the cabin, and then leave it and teleport to the port.
That still does not happen for me. After going to sea near the lighthouse, I can go to the cabin. Both from the cabin and from the deck, if I try to teleport, it's to the lighthouse, not the port.

Your screenshot shows you next to the fort. If I'm there, I can't go to the cabin, nor do I get any icon to moor. Also, you're going to need a bigger boat. Only 18 pounder or bigger guns will harm a fort, and that frigate only has 9 pounder guns.
 
Also, without fighting Gervasio Serrao, I can hire him. He sits on the right in the tavern and if I ask him the first time, he will tell me to leave, but the second time he will have the dialogue “Have you decided to hire me?”. In theory, he should always tell me the first phrase. This also breaks the post-fight dialogue and he tells me that 2000 gold coins will be enough.
"PROGRAM\DIALOGS\Gervasio Serrao_dialog.c", case "First time": change 'link.l99.go = "exit_wait_for_hire";' to 'link.l99.go = "exit";'.

For some reason this did not help, he also remains standing near the door.
Did you reload your savegame where you're standing in San Juan before killing Sidonio Ogarrio? Case "kill_Ogario_complete" triggers when you kill him, so a save from after you killed him won't do anything - you need to go back to an earlier save and kill him again. I did start again from your savegame in San Juan, killed him again, then went to the pirate tavern, where I found Wilfred sitting where that new code is supposed to put him:
wilfred.jpg

Now he has a simple officer dialogue, but it turns out we won’t pay him 2000 gold coins after?
No, and even before the code to set him to standard officer dialog was added, you won't pay the initial 2000 either. You have sufficiently high "Leadership" skill to persuade him to forget the 2000. As an officer, he'll get his normal salary or share of plunder later along with everyone else.
 
Back
Top