• 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

Ah, I see what is happening. The dialog code checks the storyline tracking attribute 'pchar.quest.main_line' and only allows you to ask about Rheims if that is set to "blaze_talk_with_silehard_complete", which it is after Silehard released you from prison and then sent you to find Rheims. But the dialog code also sets an attribute on Ines Diaz and does not allow you to ask about Rheims if that attribute is set, the idea being that you can only ask once, then you need to go and talk to Ines Diaz.

Find this line in case "first time":
Code:
characters[GetCharacterIndex("Ines Diaz")].quest.rheims = "speak_with_humans";
Move it to case "search_rheims". That way the attribute should only be set on Ines Diaz after you have asked one of the citizens about Rheims. Incidentally, you need to ask one of the citizens about Rheims before you talk to Ines Diaz because she only checks your Leadership skill and reputation if that attribute is set.
 
Ah, I see what is happening. The dialog code checks the storyline tracking attribute 'pchar.quest.main_line' and only allows you to ask about Rheims if that is set to "blaze_talk_with_silehard_complete", which it is after Silehard released you from prison and then sent you to find Rheims. But the dialog code also sets an attribute on Ines Diaz and does not allow you to ask about Rheims if that attribute is set, the idea being that you can only ask once, then you need to go and talk to Ines Diaz.

Find this line in case "first time":
Code:
characters[GetCharacterIndex("Ines Diaz")].quest.rheims = "speak_with_humans";
Yes, everything works correctly now.
Incidentally, you need to ask one of the citizens about Rheims before you talk to Ines Diaz because she only checks your Leadership skill and reputation if that attribute is set.
Yes, in this case, Ines is now giving information on Reims.

1) If I understand correctly, I can pay the person at any time for information about Reims after line 62 of "quest_pirate_01_dialog.h". But after that he stands still and you cannot start a dialogue with him.
2) There is no period at the end of the sentence. Add line 248 to quest_pirate_01_dialog.c :
link.l1 = DLG_TEXT[72] + characters[GetCharacterIndex(DLG_TEXT[73])].lastname + ".";
 

Attachments

  • 1719533232722.png
    1719533232722.png
    869.7 KB · Views: 61
  • 1719533759696.png
    1719533759696.png
    765 KB · Views: 55
Last edited:
1: In "quests_reaction.c", case "quest_pirate_01_back_to_player", add:
Code:
LAi_SetCitizenType(CharacterFromID("quest_pirate_01"));
2: That line should not need to add a period, nor should it need to add the character's last name, because "Rheims" is already included in English DLG_TEXT[72], which is line 74:
"Well, that's certainly not much. I hope your information about where Rheims was heading is worth more."
The Spanish version also includes "Rheims". Change the Russian version to match, then change that line in "quest_pirate_01_dialog.c" to:
Code:
link.l1 = DLG_TEXT[72];

Incidentally, check how much money you have before and after you pay the pirate. I'm not sure the 1500 is removed from your money. If not, in "quest_pirate_01_dialog.c" case case "ines_info_denied_6", add:
Code:
PlayStereoSound("INTERFACE\took_item.wav");
AddMoneyToCharacter(PChar, -1500);
 
Incidentally, check how much money you have before and after you pay the pirate. I'm not sure the 1500 is removed from your money. If not, in "quest_pirate_01_dialog.c" case case "ines_info_denied_6", add:
Code:
PlayStereoSound("INTERFACE\took_item.wav");
AddMoneyToCharacter(PChar, -1500);
Yes, the money is not taken away, but if I insert AddMoneyToCharacter(PChar, -1500); in case "ines_info_denied_6", then in
case "ines_info_denied_bad_good": they will also be taken away.
Dialog.snd = "voice\QUP1\QUP1031";
dialog.text = DLG_TEXT[71];
link.l1 = DLG_TEXT[72];
link.l1.go = "ines_info_denied_6";
PlayStereoSound("INTERFACE\took_item.wav");
AddMoneyToCharacter(pchar, 356);
1: In "quests_reaction.c", case "quest_pirate_01_back_to_player", add:
Code:
LAi_SetCitizenType(CharacterFromID("quest_pirate_01"));
Now it works well.
 
Try this version of "quest_pirate_01_dialog.c". I've copied case "ines_info_denied_6", called the copy case "ines_info_denied_6_pay", and only put the code to take the 1500 into that copy. Then I've changed cases "ines_info_denied_4" and "ines_info_denied_5" to link to "ines_info_denied_6_pay" as they're the ones where you pay the 1500. Cases "ines_info_denied_bad_good" and "ines_info_denied_bad_bad" still link to the original "ines_info_denied_6" so you won't lose the 1500.
 

Attachments

  • quest_pirate_01_dialog.c
    9.4 KB · Views: 42
Try this version of "quest_pirate_01_dialog.c". I've copied case "ines_info_denied_6", called the copy case "ines_info_denied_6_pay", and only put the code to take the 1500 into that copy. Then I've changed cases "ines_info_denied_4" and "ines_info_denied_5" to link to "ines_info_denied_6_pay" as they're the ones where you pay the 1500. Cases "ines_info_denied_bad_good" and "ines_info_denied_bad_bad" still link to the original "ines_info_denied_6" so you won't lose the 1500.
Everything seems to be working well.
 
I've attached saves if you need them.
1) If you choose the option to kill the guards, they miraculously come to life and enter the Reims house after the search. But even when I kill them in the room, they will again stand at the door on the street. It might be easier to add other people entering the room if you decide to kill the guards.
2) If you climb through the window and kill the guys in the room, then they won’t be near the door, which is correct. But the window remains open, and if you go into it again, these guys will be walking around the room alive.
3) Any dialog when taking a room in the tavern adds an entry to the quest log, even though it should only happen at night.
4) There was a bug that mixed two quests: Edgar Attwood Adventures and Artois Voysey (Quest) (The second option in which Artois keeps the information to himself). A team member came up to me and said that Attwood ran away, and the dialog box with Artois didn't pop up when he was shot. It happened in Port Royal.
5) ERROR - Missing Character ID: quest_smuggler_02
Probably related to point 4 - an error popped up when entering the city and the doors to the port closed. I think it came from the case "smuggler_line_begin"
Locations[FindLocation("Redmond_Town_01")].reload.l5.disable = 1;
6) After talking with the Head of the Pirates on Sailhard’s quest, he lost the governor’s dialogue. He keeps saying lines 2 and 3 "Isenbrandt Jurcksen_dialog.h".
 

Attachments

  • 1719782780313.png
    1719782780313.png
    515.9 KB · Views: 63
  • 1719783758669.png
    1719783758669.png
    1 MB · Views: 47
  • Smugglers lair.7z
    575.1 KB · Views: 57
  • 2 quests mixed.7z
    567 KB · Views: 66
  • Head of the Pirates.7z
    582 KB · Views: 52
1-4: I'll take a look at that savegame. For one thing, the two guards are Evaristo Filho and Macario Regalo, neither of which have the "questchar" attribute, so they might respawn but they should have different names - they're supposed to be their replacements who just happen to look the same. For another, that shouldn't happen anyway because of this in "quests_reaction.c":
Code:
        case "blaze_fight_in_rheims_house_complete":
            Locations[FindLocation("Rheims_house_in_smugglers")].reload.l1.disable = 0;
            if (LAi_IsDead(CharacterFromID("Macario Regalo")) && LAi_IsDead(CharacterFromID("Evaristo Filho")))
            {
                //ïîÿâëÿåì äðóãèõ ñòðàæíèêîâ
                ChangeCharacterAddressGroup(CharacterFromID("Fernam  Barrios"), "Rheims_house_in_smugglers", "reload", "reload1");
                ChangeCharacterAddressGroup(CharacterFromID("Leborio Violate"), "Rheims_house_in_smugglers", "reload", "reload1");
                LAi_SetActorType(CharacterFromID("Leborio Violate"));
                LAi_ActorFollow(PChar, CharacterFromID("Leborio Violate"), "", 1.0);
                LAi_ActorFollow(CharacterFromID("Leborio Violate"), PChar, "blaze_fight_in_rheims_house_complete_2", 1.0);
            }
            else
            {
                //ïîÿâëÿåì ñòðàæíèêîâ ó äîìà ðåéìñà
                ChangeCharacterAddressGroup(CharacterFromID("Macario Regalo"), "Rheims_house_in_smugglers", "reload", "reload1");
                ChangeCharacterAddressGroup(CharacterFromID("Evaristo Filho"), "Rheims_house_in_smugglers", "reload", "reload1");
                LAi_SetActorType(CharacterFromID("Evaristo Filho"));
                LAi_ActorFollow(PChar, CharacterFromID("Evaristo Filho"), "", 1.0);
                LAi_ActorFollow(CharacterFromID("Evaristo Filho"), PChar, "blaze_fight_in_rheims_house_complete_3", 1.0);
            }
        break;
If they're both dead, two other characters should appear inside Rheims' house.

5: Check "PROGRAM\Characters\init\CommonQuest.c". Character "quest_smuggler_02" should be defined there. But if you started the storyline before you downloaded the June update, the character files will already have been read without him. You may need to restart the storyline.

6: That is correct. A better question would be, when did Isenbrandt Jurcksen have standard governor dialog? He's not supposed to be a normal governor and his character definition does not include the line 'ch.Dialog.Filename.GroupDialog = "governor.c";' which is what gives real governors their governor dialog. If you are not hostile to pirates then he asks you to join the Brotherhood. If you are hostile to pirates then, unless a quest attribute has been set which he recognises, he should indeed always use lines 2 and 3.
 
1) case "blaze_to_incas_collection_begin_4":
link.l1 = pcharrepphrase(DLG_TEXT[58], DLG_TEXT[59] + GetCharacterAddressForm(PChar, ADDR_GENDER, false, false)) + ".";
Is it possible to remove this variable at the end of the sentence, which cannot be moved anywhere? This breaks the translation since it is only located at the end. You can replace the code with a variable that can be moved #...#.
2) The pirate icon is incorrect.
 

Attachments

  • 1719846484608.png
    1719846484608.png
    709.6 KB · Views: 35
  • 1719847077657.png
    1719847077657.png
    1 MB · Views: 39
Last edited:
1: It's probably easiest to add a couple of lines to the end of "Friedrich Corleis_dialog.h" for "a busy man" and "a busy woman". I'll need to change "Friedrich Corleis_dialog.c" to choose between two lines depending on the player character's sex, then use Google Translate to add similar lines to the end of other language versions of "Friedrich Corleis_dialog.h".

2: in "quest_reactions.c", case "wait_for_pirate_in_tavern_complete", delete these lines:
Code:
characters[GetCharacterIndex("quest_pirate_01")].model = "corsair2";
characters[GetCharacterIndex("quest_pirate_01")].headmodel = "h_corsair2";
And replace them with:
Code:
SetModelFromID(CharacterFromID("quest_pirate_01"), "corsair2");
That should change the pirate's outfit properly.
 
1) I chose to find the road to the pirate fort on my own, but after getting to the fort location I froze in place. This only happens if you go alone.
2) Should bandits attack when I'm talking to a pirate?
3) Line 31 Alistair Garcilaso_dialog.h says that Daniel killed the boatswain, although it should have been Nathaniel. We need a variable.
 

Attachments

  • 1719863496991.png
    1719863496991.png
    1 MB · Views: 44
  • 1719863789803.png
    1719863789803.png
    1,015.1 KB · Views: 51
  • -=Тест1=- Бонайре.7z
    587.4 KB · Views: 39
Last edited:
1) If you choose the option to kill the guards, they miraculously come to life and enter the Reims house after the search. But even when I kill them in the room, they will again stand at the door on the street. It might be easier to add other people entering the room if you decide to kill the guards.
2) If you climb through the window and kill the guys in the room, then they won’t be near the door, which is correct. But the window remains open, and if you go into it again, these guys will be walking around the room alive.
3) Any dialog when taking a room in the tavern adds an entry to the quest log, even though it should only happen at night.
4) There was a bug that mixed two quests: Edgar Attwood Adventures and Artois Voysey (Quest) (The second option in which Artois keeps the information to himself). A team member came up to me and said that Attwood ran away, and the dialog box with Artois didn't pop up when he was shot. It happened in Port Royal.
5) ERROR - Missing Character ID: quest_smuggler_02
Probably related to point 4 - an error popped up when entering the city and the doors to the port closed. I think it came from the case "smuggler_line_begin"
Locations[FindLocation("Redmond_Town_01")].reload.l5.disable = 1;
6) After talking with the Head of the Pirates on Sailhard’s quest, he lost the governor’s dialogue. He keeps saying lines 2 and 3 "Isenbrandt Jurcksen_dialog.h".
1: There is already code to put two other guards in the room if the first two are dead. The problem is that because they respawn, they aren't dead, so the replacements aren't used. The attached "quests_reaction.c" stops both the original pair and the replacements from respawning, which means...
2: ... the only person in the house if you go back in should now be a random walker. The code to prevent the guards from respawning only happens at case "wait_for_night_complete", so they will respawn if you try to kill them before you've waited for night in the tavern.
UPDATE: "quests_reaction.c" deleted, newer version in a later post.

3: The attached "PROGRAM\DIALOGS\Fabiao Dunga_dialog.c" moves the code to trigger the next quest case from dialog case "room" to case "room_night_wait", so the questbook entry should only happen at night. More importantly, the window should only open at night.
UPDATE: the code is now moved back and a new condition added to check for night time.

4: That's because both Atwood running away and Voysey being shot are both triggered by you arriving at Port Royale port. There are probably other cases where sidequests can conflict either with other sidequests or with storylines. The one I can think of right away is Claire Larrouse and "Strange Things Going On in the Caribbean". If both those quests are active, you could arrive at Barbados, the fight with the Satanist ships is supposed to trigger, then Claire Larrouse teleports you to the mine. Basically, don't mix sidequests unless you know how they work.

Incidentally, the guards outside Rheims' house are always there, even in other storylines. There are two possible ways to deal with this - remove them in all storylines except "Tales of a Sea Hawk", or do something silly with the house. To general approval, I decided some time ago not to remove them the guards. :D Play any other storyline, talk to one of the guards. Then wait for nightfall - the trigger is different so you don't need to rent the room, you can also ask to drink rum for a few hours or pass the time any way you like. Don't have any other quest active which has a time limit because time is about to do something weird...
 

Attachments

  • Fabiao Dunga_dialog.c
    7.2 KB · Views: 26
Last edited:
1) I chose to find the road to the pirate fort on my own, but after getting to the fort location I froze in place. This only happens if you go alone.
2) Should bandits attack when I'm talking to a pirate?
3) Line 31 Alistair Garcilaso_dialog.h says that Daniel killed the boatswain, although it should have been Nathaniel. We need a variable.
1: After that happens, quit the game and post "compile.log".
2: Very possibly. Random bandit attacks can happen any time. These ones are being clever and attacking while you're distracted. (In fact, of course, they're just appearing at random and were lucky.) They may also appear and attack you when you're talking to a citizen, a random walker or a guard. Either finish talking quickly or have some officers who can take care of the bandits while you are busy.
3: Replace the word "lass", or its Russian translation, with "#sladlass#". In "Alistair Garcilaso_dialog.c", case "blaze_node_3", add:
Code:
Preprocessor_Add("ladlass", GetMyAddressForm(NPChar, CharacterFromID("Danielle"), ADDR_INFORMAL, false, false));
That should insert "lass" or "lad" depending on whether "Danielle" is actually Nathaniel. (When I arranged for female player characters to meet Nathaniel instead of Danielle, I didn't use a different character. "Danielle" just gets a new name and a random choice of one of the "Blaze" models.)
 
1: There is already code to put two other guards in the room if the first two are dead. The problem is that because they respawn, they aren't dead, so the replacements aren't used. The attached "quests_reaction.c" stops both the original pair and the replacements from respawning, which means...
It doesn't seem to work. If I attack the guards in the morning, I will see them inside and after leaving, they will be standing at the door. The door becomes open after I go out and when I go in, all the same guards are wandering around there.
3: The attached "PROGRAM\DIALOGS\Fabiao Dunga_dialog.c" moves the code to trigger the next quest case from dialog case "room" to case "room_night_wait", so the questbook entry should only happen at night. More importantly, the window should only open at night.
Now the quest book is updated only if you pay for the room for the night. Spending the night in the hall or time does not allow recording the quest.
4: That's because both Atwood running away and Voysey being shot are both triggered by you arriving at Port Royale port. There are probably other cases where sidequests can conflict either with other sidequests or with storylines. The one I can think of right away is Claire Larrouse and "Strange Things Going On in the Caribbean". If both those quests are active, you could arrive at Barbados, the fight with the Satanist ships is supposed to trigger, then Claire Larrouse teleports you to the mine. Basically, don't mix sidequests unless you know how they work.
Maybe turn off the trigger at Artois on Port Royal? As far as I know, they shoot at him in the following cities: Port Royale, Bridgetown, San Juan, Speightstown, Kralendijk, Pirate Settlement Nevis.
1: After that happens, quit the game and post "compile.log".
 

Attachments

  • compile.log
    9.1 KB · Views: 29
  • 1719921339113.png
    1719921339113.png
    1 MB · Views: 48
  • 1719921354379.png
    1719921354379.png
    843.1 KB · Views: 48
Last edited:
It doesn't seem to work. If I attack the guards in the morning, I will see them inside and after leaving, they will be standing at the door. The door becomes open after I go out and when I go in, all the same guards are wandering around there.
It must have worked to some extent. Check the names of the guards in the house. The one you are looking at appears to be the Russian version of "Fernam Barrios". He's one of the replacements. The originals are Macario Regalo and Evaristo Filho.

See what happens if you move these lines:
Code:
LAi_NoRebirthEnable(CharacterFromID("Fernam  Barrios"));
LAi_NoRebirthEnable(CharacterFromID("Leborio Violate"));
from case "wait_for_night_complete" to case "back_to_smuggler_guard".

Now the quest book is updated only if you pay for the room for the night. Spending the night in the hall or time does not allow recording the quest.
I've re-uploaded "Fabiao Dunga_dialog.c" in post #1072. The trigger code is now back where it was but a new condition is added to check for night time.

Maybe turn off the trigger at Artois on Port Royal? As far as I know, they shoot at him in the following cities: Port Royale, Bridgetown, San Juan, Speightstown, Kralendijk, Pirate Settlement Nevis.
Bridgetown is the first place Attwood disappears, triggering another self-dialog. It's also where you meet Wilfred early in "Tales of a Sea Hawk" when you escort Ewan Glover's ship there. San Juan - later in "Tales of a Sea Hawk", after the storm, you meet your officers. Kralendijk - Danielle/Nathaniel may want to talk to you there about Rheims. Pirate Settlement - self-dialog in "Hard Labours of an Assassin" if your target is Pepin Bertillon. So about the only safe place for Voysey to be shot is Speightstown, and that's only if you're playing "Tales of a Sea Hawk" - other storylines may have things happening there.
 
1) I chose to find the road to the pirate fort on my own, but after getting to the fort location I froze in place. This only happens if you go alone.
Try this version of "quests_reaction.c". Case "go_to_pirate_fort3_complete" has a line moving "quest_pirate_01" into the pirate fort, then checking if he's dead. I've moved the line which puts him into the fort inside the condition checking if he's dead so that he won't try to spawn in the fort.

That "compile.log" showed a couple of other bugs. Quest case "quest_pirate_01_exit_with_fight" triggered twice. At a guess, one trigger was supposed to happen after the dialog in the jungle where he demands your money. The other was set back when you teleported outside town; a check is set on his HP so that if you attack him there, he will fight back. That check was never cancelled, so when he attacked you in the jungle and you hit him back, the HP check triggered.

The fight also triggered quest case "kill_pirate_for_rheims_lore_complete". That's because "quest_pirate_01" is also the character who appeared in Pirate Settlement when you had been asking about Rheims. A trigger was set there in case you kill him rather than pay him and it was still active when you fought him in the jungle.

Who else did you have with you? "compile.log" complains about Artois Voysey but there's nothing about him in the code for this part of the quest.
 

Attachments

  • quests_reaction.c
    431.9 KB · Views: 27
See what happens if you move these lines:
Code:
LAi_NoRebirthEnable(CharacterFromID("Fernam Barrios"));
LAi_NoRebirthEnable(CharacterFromID("Leborio Violate"));
from case "wait_for_night_complete" to case "back_to_smuggler_guard".
This seems to have removed the guards who wandered around the room when re-entering the house. Well, is this necessary? Maybe just lock the doors and window after we found the letter and left the house. The window is open until the morning, the next night you can no longer climb into it. Apparently you need to move the closing code a little higher.
It would be ideal if the models of the entering guards were different, and not the ones I killed.
I've re-uploaded "Fabiao Dunga_dialog.c" in post #1072. The trigger code is now back where it was but a new condition is added to check for night time.
Thanks, now it works perfect.
Try this version of "quests_reaction.c". Case "go_to_pirate_fort3_complete" has a line moving "quest_pirate_01" into the pirate fort, then checking if he's dead. I've moved the line which puts him into the fort inside the condition checking if he's dead so that he won't try to spawn in the fort.
Now everything works. But maybe to improve it, make the pirate run to the next location, and not stand still when I said that I would find the way myself. Because in the next location he appears in front of me when he wants to kill me.
Who else did you have with you? "compile.log" complains about Artois Voysey but there's nothing about him in the code for this part of the quest.
Yes, Artois is probably supposed to tell you on the quest that there is a treasure behind the waterfall. Should I remove him from the passengers so as not to break the quest?
1: It's probably easiest to add a couple of lines to the end of "Friedrich Corleis_dialog.h" for "a busy man" and "a busy woman". I'll need to change "Friedrich Corleis_dialog.c" to choose between two lines depending on the player character's sex, then use Google Translate to add similar lines to the end of other language versions of "Friedrich Corleis_dialog.h".
You may have forgotten about this, I remind you.
 

Attachments

  • 1719943162211.png
    1719943162211.png
    1 MB · Views: 57
  • 1719943175988.png
    1719943175988.png
    701 KB · Views: 39
  • 1719949594119.png
    1719949594119.png
    958.7 KB · Views: 36
This seems to have removed the guards who wandered around the room when re-entering the house. Well, is this necessary? Maybe just lock the doors and window after we found the letter and left the house. The window is open until the morning, the next night you can no longer climb into it. Apparently you need to move the closing code a little higher.
It would be ideal if the models of the entering guards were different, and not the ones I killed.
The guards should be removed because you're supposed to have killed them. The intent is presumably that you can return to the house after the fight because there's a line in case "back_to_smuggler_guard" to delete the "vcskip" attribute on the house, which allows random inhabitants to appear.

The replacement guards are Fernam Barrios and Leborio Violate, both defined in "PROGRAM\Storyline\standard\characters\init\TempQuest.c". Feel free to change their 'ch.model' lines to your choice of models.

Now everything works. But maybe to improve it, make the pirate run to the next location, and not stand still when I said that I would find the way myself. Because in the next location he appears in front of me when he wants to kill me.
It's a big jungle. The game provides a simple path for the player; perhaps other characters can find other paths. Or perhaps after you left, he went back to town and sailed round to the beach near the pirate fort. Besides, if you see him running in the direction you're heading, it's less of a surprise when he shows up again.

Yes, Artois is probably supposed to tell you on the quest that there is a treasure behind the waterfall. Should I remove him from the passengers so as not to break the quest?
Although there was a line in "compile.log" showing that Artois could not find a route to you, there was no report of a quest case involving him. Besides, there are only a few places where he can tell you about the treasure and that's not one of them. If you chose to let him keep his secret and he was shot, and if you then chose to pay the doctor and wait two weeks, he appears at the same port where he was shot. If you chose not to let him keep his secret then he tells you about the treasure at the jungle location where you rescued him. He should not try to tell you about treasure anywhere near the pirate fort.

You may have forgotten about this, I remind you.
Try this version of "Friedrich Corleis_dialog.c". You'll need to edit Russian "Friedrich Corleis_dialog.h". Add "a busy man" and "a busy woman" at the end, then change the first line to 'string DLG_TEXT[93] = {'.
 

Attachments

  • Friedrich Corleis_dialog.c
    12.7 KB · Views: 30
Last edited:
I had problems with electrical voltage all week, but now everything seems to be back to normal.
1) The name is not displayed on lines 176 and 196 "danielle_dialog.h".
2) Is it possible to make a separate line "text.t7" for a female character in the quest log "again_find_rheims.txt"?
And also where lines 8-12 are used, I did not find them in the code.
3) If you capture a barque with figurines, then all the sailors will be the same, is it possible to change two of them? This happens somewhere in the "kill_all_fighting_on_deck_complete" case.
The replacement guards are Fernam Barrios and Leborio Violate, both defined in "PROGRAM\Storyline\standard\characters\init\TempQuest.c". Feel free to change their 'ch.model' lines to your choice of models.
I think that for Fernam Barrios ch.model = "man4";
And for Leborio Violate ch.model = "capitan";
But as I understand it, the skins will only be applied with the new game.
 

Attachments

  • 1720738975293.png
    1720738975293.png
    976.6 KB · Views: 54
  • 1720739533373.png
    1720739533373.png
    735 KB · Views: 49
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.

2: Already done - what I forgot to do was change the quest code to use it. In "quests_reaction.c", case "exit_after_speak_with_rheims", find this:
Code:
            if (Characters[GetCharacterIndex("Danielle")].sex == "woman")
            {
                Preprocessor_AddQuestData("kid", XI_ConvertString("girl"));
            }
            else
            {
                Preprocessor_AddQuestData("kid", XI_ConvertString("lad"));
            }
            AddQuestRecord("again_find_rheims", 7);
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);
            }

3: In "PROGRAM\Storyline\standard\characters\init\TempQuest.c", find "pirate for abordage 01", "pirate for abordage 02" and "pirate for abordage 03". Change their "ch.model" lines to whatever you prefer.

Indeed, changing this file won't do anything for your current game. All character files have already been read and will not be read again. If you want to see what the replacements look like, add this in "console.c":
Code:
Characters[GetCharacterID("Fernam  Barrios")].model = "man4";
Add similar lines for "Leborio Violate", "pirate for abordage 01", "pirate for abordage 02" and "pirate for abordage 03".

Edit: "danielle_dialog.c" deleted, a newer version is in a later post.
 
Last edited:
Back
Top