* Notice

Important notice: On 28th December 2019 we moved to a new server. Please let us know if you run into any issues.

Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: Helping me understand DLG  (Read 1038 times)

Offline morton

  • Fledgling
  • *
  • Posts: 2
  • Reputation: +0/-0
Helping me understand DLG
« on: February 24, 2018, 12:35:39 PM »
Hello everyone.

I started playing Antitribu again a few Days ago and started to wonder, why a friend of mine had an option in the Carson-dialog i had not.

She had Animalism 1
I had Animalism 2

I found these lines

Probably wanted behaviour:
She gets line 55, I get line 56.

Expected behaviour:
She gets line 55, I get 55 too, since the conditions match for me too and the first LimitSet is supposed to make all other LimitSet(?,6) functions return false.

Observed behaviour:
She gets line 55, i get none of the options.

Which raises several questions for me:

  • Why dont i see the Line 56 ever? (Even if i remove all conditions except the disciplines)
  • Why is it somtimes "&" and sometimes "and"?
  • Why would you only test if Carson is a possible companion [companion.Test(pc,npc)] in 2/4 cases?
  • If i understood right, in LimitSet(?,6), the 6 serves as an ID. I am not sure if the ID needs to be unique in game or just in the dialog file (where no other LimitSet() functions are. Weirdly all tutorials i found did LimitSet(1,2) and LimitSet(2,2). Why not use 1 as an ID it would be less confusing?
  • Why not use LimitSet(3,?) and LimitSet(4,?) on lines 59 and 60?

I hope u can help me with my confusion there.
« Last Edit: February 24, 2018, 12:41:35 PM by morton »

Offline Malkav

  • Antediluvian
  • *****
  • Posts: 1721
  • Reputation: +392/-13
Re: Helping me understand DLG
« Reply #1 on: February 24, 2018, 01:59:57 PM »
If you never get line 56 I'd guess there is a syntax error. Check if all the {} are at the right place and see if there is something in the condition field that doesn't belong there.

For the & and "and", that is a peculiarity of the dialog engine. After a discipline/attribute/feat check, the only possible further condition is "and" and in this case you need to use the &. Furthermore this check has to be the first. For any other check you can use normal logic (and, or, not...) written in regular text.

From the context I'd say the "test()" function determines if your disciplines alone are sufficient to get a companion (animalism 2, presence 3 and probably dominate 1) or if you have to give them ypour blood. But that's just an educated guess since I don't have antitribu installed.

If I understand Dheus manual right, limitset works similar to OneOfSet that is part of the dialog engine. In that case the second number is the number of choices in the set. So in your example line 55 is LimitSet (1,6) line 57 would be LimitSet (3,6) and line 60 (6,6).
If the lines 57 and 58 are missing in the dlg file and you didn't just omit them in your post that might explain the problem.

Hope this helps. As I said I don't have Antitribu so I can't go into details.
Co Author of Camarilla Edition Mod

Offline morton

  • Fledgling
  • *
  • Posts: 2
  • Reputation: +0/-0
Re: Helping me understand DLG
« Reply #2 on: February 24, 2018, 02:28:20 PM »
Hey.. first thank you for your fast answer. The &/and part now seems clearer to me.

The syntax seems fine to me and the dialog editor doesn't show weird things too. (Also there are 598 { and 598 })

The test functions is from the companion mod to make sure u don't already have a companion with the same model
Also notice how the example above has the condition companion.Test(pc,npc) in the 5th column. This means it will only show up if the PC has the Animus Constupro. A handle to the npc is passed as a second parameter to the check so that the Companion Mod can make sure that you do not already have the NPC's model in your collection. (Many prostitutes for example share the same model). The compmod only allows 1 instance of each model in your party.

The only information i found on limitSet(?,?) is this
LimitSet returns true for the first line item that hits it and then all other lines items return false. The second parameter of LimitSet is a set ID. So if you have lots of similar responses linked to the same Set Id, only one of them will show up.
which doesn't sound like it is connected to line numbers.

But even if it all works as intended. The second line (56) couldn't ever be reached because u cant have Animalism 2 without passing the first check can u?


SimplePortal 2.3.7 © 2008-2020, SimplePortal