Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
I have so far tried following two tutorials on building a dialog. Both use a tag at some point. The first was for a Trader with a Flag of Start Trade and the second to create a Journal entry for a quest.

In both cases I carefully followed the video and in both cases the tag does not seem to do anything.

I did notice that in both cases when the user on the video added the tag and returned to the dialog node there was a little check box on that tag that he had to check. When I add the tag and return that box is already checked and that is the only thing I see different than the video.

Any ideas as to what may be my problem here?

Last edited by Lord Volton; 24/02/18 11:54 AM.
Joined: Nov 2017
L
member
Offline
member
L
Joined: Nov 2017
Hello Lord Voltron.

There is a distinction between 'flags' and 'tags'.
Tags mostly describe basic traits of the character, such as whether they're an ELF, UNDEAD, a HERO, a BARBARIAN, et cetera. They are found in the 'flags' category of the dialogue, so for purposes of the dialogue they may seem like a type of flag.
Flags, conversely, are mostly used to record and cause game events. The most basic form is a character flag, which is a flag that can be set or cleared on a character (added to or removed from them, basically).
There are also party and user flags.
When you set or clear a party flag on a character, what you're really doing is setting or clearing that flag on that character's entire party. When you check if a party flag is set, what you're really doing is checking if any member of the party has that character flag.
User flags work the same way as party flags, except that, instead of applying to the entire party, they only apply characters controlled by that player.
In a single-player game, they are identical.

Global flags are flags that aren't set on any character, but rather they can be set or cleared for the entirety of the game.
Local flags are flags that aren't set on any character, but exist only within one dialogue. It is important to make the distinction that they persist through different instances of the dialogue, i.e. that if start a dialogue "CharactersDialogue" with a character, exit that dialogue, and start it again, the local flag will still be set.


Specifically to start a trade, we use character flags. Make sure that:
1. What you're setting is a character flag, not a tag.
2. It is being set, not checked.
3. It is being set on the correct speaker.

It would help to determine the cause of your problem if you could provide a screenshot of your dialogue, specifically of the node where you're setting these flags, and the sidebar.

Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
[Linked Image]
[Linked Image]

Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
Yes I guess I was talking about Flags not working, sorry for the poor usage of terminology.

In both case the dialog displays as expected but when I choose the option that should start trade nothing happens on the trader though the trade icon is there and does start trading as expected. On the other one no journal entry is added. I went over both of them more than once and compared to the video and seems to be the same as what was working for the guy in the video but no luck here.

Last edited by Lord Volton; 24/02/18 11:48 AM.
Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
The check I was referring to is on the flag portion of the node options. In both videos when the user added the flag ad returned to that screen the box was unchecked and the user placed a check in the box next to the flag. When I add the flag and return the check mark is already there. I assume that maybe I am using an updated version that just does this automatically but as I mentioned before that is the only thing I saw different than what was being done in the videos so thought I would bring it up in case that indicates an issue of some sort.

Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Have you built story at least once already for your mod? Both the quest update and starting trade through setting a flag are handled by story scripting from the Shared mod, and story scripting only becomes active once you built story for your mod (= compiled the story scripts, which includes the scripts from mods your mod depends on, such as the Shared mod).

Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
Yes, I did build the story after creating the journal scripting.
I had not did so when i created the trader but I just went and built the story again with both the trader and the quest trigger in place and no change both still fail to work.



Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
If you open the story.div (can do that via the file menu of the story editor) and search for "Start Trade via Event", can you find anything?

If so, after trying to start the trade via the dialog option in the editor, open the file osirislog.log (using any text editor) that you can find in the same directory as the editor binary (glasses.exe) and search there for a line containing ObjectFlagSet followed by "StartTrade" (including the quotes) (if your editor does not support regular expressions, or you don't know them, just search for "StartTrade" until you find it on a line that also contains ObjectFlagSet). Then post that line and the following lines (until and including the next line that starts with >>>) here.

Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
Thanks,

The trade is working now, I watched that video and repeated the part where he set the flag several times and it looked like he was using a space in there as in 'Start Trade' At first he appeared to type it without a space then inserted a space. Of course trying to read text in you tube videos is not always easy to do;)

Anyway I had tried it with the space, with an underscore but not without a space until reading the post above. With the space removed the trade window pops up as expected.

So now if I could determine why the quest update is not adding a journal entry. My guess is I am missing something simple. Many of the tutorials I have saw so far seem to gloss over or leave out one or two things that are required to actually get it to work.

I've been trying again using this link https://docs.larian.game/How_to_create_a_basic_adventure_with_quests,_dialog_and_scripts

Got it built but something is not right as I get no journal entry when I accept the quest

Last edited by Lord Volton; 24/02/18 03:15 PM.
Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
Looking closer at the tutorial link I am using when it shows creating the quest in the Journal editor it shows to create a quest named TV_Medicine. Later when it makes reference to the Journal that quest is showing as LostMedicine and has 3 states assigned. The code and the flags refer to lost medicine so basically the tutorial has skipped the part about creating the states and in code and flags uses an ID other than the one that is said to use earlier.

I have changed the quest id to LostMedicine and added the 3 states with the same ID as shown in the window, checked the code and the flag to insure they matched, rebuilt and reloaded and still no journal entry.

The dig sites work at least wink

Last edited by Lord Volton; 24/02/18 03:31 PM.
Joined: Mar 2016
Location: Belgium
T
addict
Offline
addict
T
Joined: Mar 2016
Location: Belgium
Glad you're making progress! Make sure to restart the editor after adding the quest states, I think it does not (re)load them until you do that.

Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
I like the editor and see some real possibilities with it, just really hard to find info as to how to use it properly. That tutorial I mentioned before when followed exactly results in a quest that does not work.
Some is missing somewhere.

I have reloaded, rebuilt exited and restarted but have yet to get anything to appear in the journal.

Are there any other resources out there that maybe do a better job of describing how to create a simple quest and update the journal with the related entries?

Joined: Nov 2017
L
member
Offline
member
L
Joined: Nov 2017
The wiki entries on the journal editor
https://docs.larian.game/Journal_editor
and the Osiris helpers
https://docs.larian.game/Osiris/Shared/DB_QuestDef_State
may be useful here.

Are the right updates set as add events?

Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
Thanks, I'll have a look at those links
Originally Posted by LarIlya

Are the right updates set as add events?

Not sure, I did what was shown in the tutorial I mentioned but there was clearly something missing from it as at the point where they add the flag the quest id is different than what they added and there are state entries added with no information about them. Could very well be something else that was left out.

The other tutorial I used was a video, it seemed simple enough but it also was missing at least one step and in the end the journal did not update.

In the script window for the journal I have

DB_IsPlayer(CHARACTERGUID_S_GLO_CharacterCreationDummy_001_da072fe7-fdd5-42ae-9139-8bd4b9fca406);

DB_QuestDef_State("LostMedicine","Started",1);

The custom flag used is QuestUpdate_LostMedicine_Started



Last edited by Lord Volton; 24/02/18 09:36 PM.
Joined: Feb 2018
L
stranger
OP Offline
stranger
L
Joined: Feb 2018
hmm.. Ok now that is odd. I went back to my first attempt and saw that it was referring to dummy character 002 rather than 001, I changed that and the journal updated.

I went to the second attempt which I have been talking about here hoping to find the same thing but everything looked fine I clicked rebuild and reload and it works now too. The strange thing is that I had already clicked that build and reload before multiple times trying to get it to work.

In this case it did not work when I loaded it up. I checked the character string to insure that it was set to 001 and it was. Just to be sure it was right I deleted it and entered it again then rebuild and reload and it worked as expected but did not appear to be any different than before.

Oh well, still confused but making progress smile

Thanks for the assist.



Moderated by  Larian_KVN 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5