@Grey Roger Strange enough I find cases in Blaze dialog.c which don't have that Link.l1=DLG_TEXT[xxx]; line 

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!
Quick links for Beyond New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
- Bug Tracker on Github
Quick links for Maelstrom
- Download the latest version of Maelstrom
- Download the latest version of ERAS II
- Download the latest version of New Horizons on Maelstrom
Quick links for PotC: New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
Thanks to YOUR votes, GOG.com now sells:
- Sea Dogs
- Sea Dogs: Caribbean Tales
- Sea Dogs: City of Abandoned Ships
Vote now to add Pirates of the Caribbean to the list!
Quick links for AoP2: Gentlemen of Fortune 2
- Downloads and info
- ModDB Profile
- Forums Archive
A Pirate Podcast with Interviews
Music, Comedy and all things Pirate!
- Episode Guide - About - Subscribe -
- Twitter - Facebook - iTunes - Android -
- Youtube - Fill the Coffers -
I don't know how it works, then. One such case is "calling_the_black_pearl", which calls for text line 274, which is "[The cursed coin in the necklace around Elizabeth's neck has called the Black Pearl]". Can anyone who has played "Jack Sparrow" remember what, if anything, you say to yourself in answer to that?@Grey Roger Strange enough I find cases in Blaze dialog.c which don't have that Link.l1=DLG_TEXT[xxx]; line![]()
Very true. "Blaze" refers to "Blaze Devlin", who was meant to be the main character of Sea Dogs 2.for code purposes, the player is always "Blaze". This was to be your character's name in "Sea Dogs 2" before your name was changed to "Nathaniel Hawk" and the game's name was changed to "Pirates of the Caribbean"
Actually, it IS possible to change it and that actually happens at one point in the Standard storyline too.I'm guessing it's hard-wired into the underlying engine which we can't mess with, so you're always going to be "Blaze".
Technically, GetCharacterIndex("Blaze") returns that ID number. By using that in the characters[] array like in your example, you can get the actual reference to the character.Having said that, 'characters[GetCharacterIndex("Blaze")]' presumably yields your character's ID number
ref PChar = GetMainCharacter();
ref PChar = &characters[GetMainCharacterIndex()];
ref PChar = &characters[GetCharacterIndex("Blaze")];
Indeed apart from very few specific examples, the game code is not case-dependent, so you can use those and also "pchar" interchangeably."Pchar", or "PChar" - apparently capital and lower case don't matter
Right again, though that "resetting of the dialog filename" is a bonus effect that I added not so long ago.Alternatively, they seem to have "player_back" in there, which calls a piece of code in "PROGRAM\QUESTS\quests_common.c" which resets the choice of dialog file to be the default one in case you've been using something else.
case "Maximus_Philippe_to_XXXXX":
characters[GetCharacterIndex("Captain Maximus")].Dialog.Filename = "Captain Maximus_dialog.c";
LAi_SetActorType(characterFromID("Captain Maximus"));
LAi_ActorDialog(characterFromID("Captain Maximus"),PChar,"",5.0,5.0);
Characters[GetCharacterIndex("Captain Maximus")].dialog.currentnode = "Going_for_the_Doctor";
break;
case "Philippe_and_Maximus_get_Doctor":
LAi_SetActorType(pchar);
RemoveCharacterCompanion(pchar, characterFromID("Captain Maximus"));
RemoveCharacterCompanion(pchar, characterFromID("Captain Philippe"));
LAi_ActorRunToLocator(characterFromID("Captain Philippe"), "goto", "goto12", "",14.0);
LAi_ActorRunToLocator(characterFromID("Captain Maximus"), "goto", "goto12", "",14.0);
characters[GetCharacterIndex("Blaze")].Dialog.Filename = "blaze_dialog.c";
characters[GetCharacterIndex("Blaze")].dialog.CurrentNode = "Isla_muerta_alone";
LAi_ActorSelfDialog(pchar, "");
break;
case "Another_local_option":
LAi_SetImmortal(Pchar, true);
...
case "Going_for_the_Doctor":
dialog.snd = "Voice\ARGU\ARGU001";
dialog.text = DLG_TEXT[12];
link.l1 = DLG_TEXT[13];
link.l1.go = "Exit_Going_for_the_Doctor";
break;
case "Exit_Going_for_the_Doctor":
DialogExit();
NextDiag.CurrentNode = NextDiag.TempNode;
AddDialogExitQuest("Philippe_and_Maximus_get_Doctor");
break;
case "Isla_muerta_alone":
Dialog.Text = DLG_TEXT[306];
Link.l1= DLG_TEXT[307];
Link.l1.go = "exit";
AddDialogExitQuest("Another_local_option");
break;
string DLG_TEXT[308] = { <---1
"Oh, it's you, ", <---2
". What are you doing here?", <---3
...
"No wait! No, no. Oi! No, no! Wait, I said! Ahhhhh! Now what?" <---308
"..." <---309
}; <---310
string DLG_TEXT[323] = {
"Oh, it's you, ",
". What are you doing here?",
"But grandma, we have no crew -",
"- the only ones loyal are the deaf cannon crew!",//97
Thanks!ok so this is just the last version of the files. i have added/removed lines and cases i don't even know how many times trying things out.
"No wait! No, no. Oi! No, no.! Wait, I said! Ahhhhh! Now what?"
"..."