• 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 Dialogue marks over NPC heads

Mirsaneli

Privateer
Storm Modder
I need help from Storm modders. Do you know where is the code of the marks that appear above NPC heads in AOP located? I guess it's in Program/scripts, but I cannot find the exact code. I'm trying to implement this to Age of Pirates 2. I see that the model files are already there, which means that they just switched them off.

tsgp55b.png

tsgp55b
 
This is how you set the quest flag for an NPC:
Code:
chr.quest.questflag.model = "questionmarkI";
chr.quest.questflag.model = "questionmarkB";

"questionmarkI" is for the "i" flag, which stands for tutorial or general information, and "questionmarkB" is for the standard quest flag (the question mark), I think.

"chr" stands for NPChar (non-player character object) -- either passed down into the function or defined at the start of it in a dialogue script like so:
Code:
ref NPChar;
makeref(NPChar,CharacterRef);

In the latter case use:
Code:
NPChar.quest.questflag.model = "questionmarkI";

To clear the quest flag, simply set it to empty:
Code:
chr.quest.questflag.model = "";

You'll find the lines setting these quest flags throughout files in the "scripts" and "dialogs" folders, and in the "loc_ai" folder in "LAi_utilities.c" and "LAi_utils.c".

Edit:

There is also a "questionmarkW", and "questionmarkY", though I'm not sure what these quest flag models stand for. You can find/see all available quest flag models in "RESOURCE/Models/quest_signs/".

Note that you can disable the showing of quest flags/marks directly in the game's settings. There's a checkbox for it you can tick on or off.
 
Last edited:
This is how you set the quest flag for an NPC:
Code:
chr.quest.questflag.model = "questionmarkI";
chr.quest.questflag.model = "questionmarkB";

"questionmarkI" is for the "i" flag, which stands for tutorial or general information, and "questionmarkB" is for the standard quest flag (the question mark), I think.

"chr" stands for NPChar (non-player character object) -- either passed down into the function or defined at the start of it in a dialogue script like so:
Code:
ref NPChar;
makeref(NPChar,CharacterRef);

In the latter case use:
Code:
NPChar.quest.questflag.model = "questionmarkI";

To clear the quest flag, simply set it to empty:
Code:
chr.quest.questflag.model = "";

You'll find the lines setting these quest flags throughout files in the "scripts" and "dialogs" folders, and in the "loc_ai" folder in "LAi_utilities.c" and "LAi_utils.c".

Edit:

There is also a "questionmarkW", and "questionmarkY", though I'm not sure what these quest flag models stand for. You can find/see all available quest flag models in "RESOURCE/Models/quest_signs/".

Note that you can disable the showing of quest flags/marks directly in the game's settings. There's a checkbox for it you can tick on or off.

The checkbox is available only in AoP: Caribbean Tales?
 
The checkbox is available only in AoP: Caribbean Tales?
I imagine in CT and beyond -- so COAS, TEHO, etc. I'm not sure if POTC has it.

age-of-pirates-caribbean-tales-pc-13.jpg


In English its label says "Show quest signs over NPCs". It's on by default (in the base game).

To override/hard-set it (to be on) in the code, do this:
Code:
InterfaceStates.EnabledQuestsMarks = true;
 
Last edited:
I
I imagine in CT and beyond -- so COAS, TEHO, etc. I'm not sure if POTC has it.

age-of-pirates-caribbean-tales-pc-13.jpg


In English its label says "Show quest signs over NPCs". It's on by default (in the base game).

To override/hard-set it (to be on) in the code, do this:
Code:
InterfaceStates.EnabledQuestsMarks = true;

I'm doing something wrong, cause the game won't start. It tells that there is INI syntax error.
 
I'm doing something wrong, cause the game won't start. It tells that there is INI syntax error.
Based on this feedback, it seems to me that you're writing code into "RESOURCE" instead of the "Program" folder. (The INIs are located in the "RESOURCE" folder, and a syntax error means that whatever you've written isn't in the right place or written in the right language structure, can't be processed/read.)

What were you trying to do, exactly? If I know what you're trying to do, I may be able to help.
 
I'm not sure if POTC has it.
It doesn't.

It does look a bit odd, floating around up there, but I like the idea.
Useful. :onya

Based on this feedback, it seems to me that you're writing code into "RESOURCE" instead of the "Program" folder.
Odd... I've never experienced an error log ever mentioning the RESOURCE\INI folder...
 
Based on this feedback, it seems to me that you're writing code into "RESOURCE" instead of the "Program" folder. (The INIs are located in the "RESOURCE" folder, and a syntax error means that whatever you've written isn't in the right place or written in the right language structure, can't be processed/read.)

What were you trying to do, exactly? If I know what you're trying to do, I may be able to help.

I'm trying to enable that option into COAS. Can you just point me what to change to enable it?
Yes, I did change some lines into INI folder.
 
Yes, I did change some lines into INI folder.
This is what it was likely complaining about. Something you've written into those INI files isn't in the right place and/or breaks the structure of the INI file (the language/syntax rules required for processing the information in the INI file).

This could be something as simple as leaving out a closing or opening quotation mark.

I'm trying to enable that option into COAS. Can you just point me what to change to enable it?
COAS has this option in its settings menu as well from what I can see, but if you're looking for where it is defined in the code, it's in "Program/INTERFACE/option_screen.c". Search for "EnabledQuestsMarks". What happens when you tick the checkbox is defined here.

If you really want to override it, you could put the above line before the save code in the "ProcessOkExit" function, for example:
Code:
void ProcessOkExit()
{
   InterfaceStates.EnabledQuestsMarks = true;
   SaveGameOptions();
   ProcessExit();
   Event("eventChangeOption");
   SetSeaGridStep(stf(InterfaceStates.SeaDetails));
}

This means that you'll need to open the settings menu once and click the OK/save button for the override to take effect.
 
This is what it was likely complaining about. Something you've written into those INI files isn't in the right place and/or breaks the structure of the INI file (the language/syntax rules required for processing the information in the INI file).

This could be something as simple as leaving out a closing or opening quotation mark.


COAS has this option in its settings menu as well from what I can see, but if you're looking for where it is defined in the code, it's in "Program/INTERFACE/option_screen.c". Search for "EnabledQuestsMarks". What happens when you tick the checkbox is defined here.

If you really want to override it, you could put the above line before the save code in the "ProcessOkExit" function, for example:
Code:
void ProcessOkExit()
{
   InterfaceStates.EnabledQuestsMarks = true;
   SaveGameOptions();
   ProcessExit();
   Event("eventChangeOption");
   SetSeaGridStep(stf(InterfaceStates.SeaDetails));
}

This means that you'll need to open the settings menu once and click the OK/save button for the override to take effect.

Ok, so I guess my version doesn't have it because I installed GOF Mod over it. They must have removed it?
 
Ok, so I guess my version doesn't have it because I installed GOF Mod over it. They must have removed it?
:shrug I guess so. I don't know much about what the GOF mod changes. Do you mean that the settings menu is missing, or just that checkbox?

If it's the latter, you could still make this suggested override in "option_screen.c", and it should work.
 
21eKebt.png

:shrug I guess so. I don't know much about what the GOF mod changes. Do you mean that the settings menu is missing, or just that checkbox?

If it's the latter, you could still make this suggested override in "option_screen.c", and it should work.

It's missing completely.
 
Did they move it to "HUD" or "Mod Options" maybe?

The "option_screen.c" file should still be there. They may have renamed it, but it should still be there, under "Program/INTERFACE/". Look for anything named "option" or "setting".

What you're seeing here (the settings menu) has a code that makes it run somewhere (in "INTERFACE").
 
Okay, just put
Code:
InterfaceStates.EnabledQuestsMarks = true;
at the start of the "ProcessOkExit" function (as I've shown above). Save.

Then start the game, open the settings menu, and click the "OK" button to apply your override.

See if it makes a difference in-game.
 
Okay, just put
Code:
InterfaceStates.EnabledQuestsMarks = true;
at the start of the "ProcessOkExit" function (as I've shown above). Save.

Then start the game, open the settings menu, and click the "OK" button to apply your override.

See if it makes a difference in-game.

Can you send me the edited file here?
 
I tried editing the lines as you said, but it didn't change anything. I guess it has been also removed elsewhere in the game directory.
 
I tried editing the lines as you said, but it didn't change anything. I guess it has been also removed elsewhere in the game directory.
Did you remember to open the settings menu and click the "OK" button?

Are the model files (GMs) still present in "RESOURCE/Models/quest_signs/"?
 
Back
Top