just to clarify: creating objects in initial_settings ONLY? Or would [SETVAR_...] be sufficient? (1 Viewer)

Rudgar

Content Creator
Joined
Nov 18, 2016
Hello @ll!

I'm a bit unsure for I didn't find the documentation any more. I know there was something about declaring/creating variables properly before accessing them with e.g. "check".

My question(s):
  • This also goes for object variables, right? (Yes/No - no multiple choice, please :wink:)

  • Does this have to happen within line type "initial_settings:{"obj.attr.subattr":666}" or would it be enough if it's decared with something like "[SETVAR_obj.attr.subattr_666]"?
A hint where I can find the suitable documentation again will be appreciated, too. Thanks in advance!

Respectfully, Rudgar
 

Pim_gd

Content Creator
Joined
Jan 25, 2013
DialogueChecker warns about creating variables via sets randomly in your dialogue because it's considered bad form to reference variables at random in the middle of your dialogue - it implies there's some variable that either the author or DialogueChecker doesn't know about.

Object variables are best initialized via [DEFINEOBJECT_<rootVariableName>._subName1_subName2_subNameN] though, see WeeWillie's Bazaar - [DEFINEOBJECT_OutfitInfo._panties_bottoms_legwear_legwearB_footwear_top_tops_armwear_headwear] - this to allow DialogueActions to properly recognize the entire thing for object level manipulation.

You can find most documentation regarding object variables in "About object variables.txt" bundled with DialogueActions... Pim_gd / SDTDialogueActions / source / Documentation / For Dialogue Writers / About object variables.txt — Bitbucket

See also this post - DA 3.1 Global Variables and Save Games - it's talking about the ideas behind object variables and where they were created...

I think I wrote more on the topic, but it's... somewhere. Somewhere on this forum.
 

Rudgar

Content Creator
Joined
Nov 18, 2016
Hello and thanks for your appreciated reply, Pim_gd Pim_gd , buuut ...
DialogueChecker warns about creating variables via sets randomly in your dialogue because it's considered bad form to reference variables at random in the middle of your dialogue - it implies there's some variable that either the author or DialogueChecker doesn't know about.
Ummm ... well ...
  1. I have to put DialogueChecker's result to secondary priority since it has some little bugs like not realizing that a variable "x":"*" is actually used in *value1 x value2* Beside this, my question aimed not to what the Checker will say - I wanted to know how the Loader or the FlashPlayer will act.

  2. In my humble opinion, warning randomly(!) does not increase the checker's reliability. Either there is a reason for a warning or there is none.

  3. I don't unterstand your last statement here. So it is technically possible to declare an object or a variable somewhere in the middle of the code but it's considered as bad form, right?

  4. For the records: i don't plan to declare the vars somewhere in the middle. I was thinking about doing the declaration in a customer line type that is triggered by the "start:""" line type (instead of declaring them in the "initial_settings:""" line type)

Object variables are best initialized via [DEFINEOBJECT_<rootVariableName>._subName1_subName2_subNameN] though, see WeeWillie's Bazaar - [DEFINEOBJECT_OutfitInfo._panties_bottoms_legwear_legwearB_footwear_top_tops_armwear_headwear] - this to allow DialogueActions to properly recognize the entire thing for object level manipulation.
I'm afraid that this is insufficient for my needs because I don't declare just "flat" objects having some attributes. In my case I'd rather work with object TREES meaning some attributes of an object are an object by themself.

Example:
Code:
- the digit at the lowest level stands for atv_positiontype

initial_settings:{"her.was.virgin.0":0, "her.is.virgin.0":0, "her.was.virgin.1":0, "her.is.virgin.1":0, "her.was.virgin.2":0, "her.is.virgin.2":0, "her.was.virgin.3":0, "her.is.virgin.3":0, "her.was.virgin.4":0, "her.is.virgin.4":0}

You can find most documentation regarding object variables in "About object variables.txt" bundled with DialogueActions... Pim_gd / SDTDialogueActions / source / Documentation / For Dialogue Writers / About object variables.txt — Bitbucket
Oh, THIS documentation I know all too well - read it more than once very carefull. I expect the [COPYOBJECT_{layer}_...] will be of great importance for me. But again: I doubt that the [DEFINEOBJECT_ ... ] (<smartass> shouldn't it be "DEFINECLASS" correctly? </smartass>) can deal with objects having tree structures.

See also this post - DA 3.1 Global Variables and Save Games - it's talking about the ideas behind object variables and where they were created...
Oh, that looks promising. Will work (and I mean it) through it - expect further feedback in some hours.

I think I wrote more on the topic, but it's... somewhere. Somewhere on this forum.
I know the problem of this "somewhere". It's the reason why I posted my question. :rolleyes::oops::wink:

For now: thank you very much!

Respectfully,
Rudgar[/I]
 

Rudgar

Content Creator
Joined
Nov 18, 2016
I've gone through my post history and compiled a list of interesting things over at Pim_gd's Advanced Dialogue Guide (v1.01 - updated 10 December 2013) - maybe there's something that answers it? ... Or you'll just get confused reading various outdated bits of information.
Yep
Code:
#DialogueChecker-IgnoreObjects#
dialogue_name:"Copy Object"

all:"CLEAR"

initial_settings:{"obj1.attribute1":11, "obj1.attribute2":12, "obj1.attribute3":13, "obj1.attribute4":14, "obj1.attribute5":15, "obj2.attribute4":24, "obj2.attribute6":26, "obj2.attribute7":27, "obj2.attribute8":28, "obj2.attribute9":29}

intro:"[general]" {"style":"him"}

general:"[COPYOBJECT_1_obj1._obj2.][debug]" {"style":"him"}

debug:"*obj1.attribute3* - *obj1.attribute4* - *obj1.attribute5* - *obj1.attribute6*"  {"style":"him"}
 

Users who are viewing this thread

Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.