Tutorial: about LOAD_CHARCODE, LOAD_CHARCODE2, LOAD_FULL_CHARCODE and da.charcode.load

Rudgar

Content Creator
Joined
Nov 18, 2016
Location
Germany
Ahoy @ll!

As I recently researched about changing girls within a dialogue, I tumbled over several statements about the different ways to do this. To save others from spending as many hours as I spent, I tried to summarize what I found out (or at least what I think that I've found out :wink:)
  1. Pim_gd Pim_gd 's mod Dialogue Actions is required(!) to be loaded!

  2. All three triggers [LOAD_CHARCODE], [LOAD_CHARCODE2], [LOAD_FULL_CHARCODE] will load the content of the variable da.charcode.load

  3. The variable da.charcode.load has to be filled in the same dialogue line that contains one of these three triggers.

  4. The variable da.charcode.load does not have to be filled directly by a "set" attribute at the end of a dialogue line.
    It also can be set by a "[SERVARBYNAME:_da.charcode.load_otherVariableName]" trigger.

  5. The variable da.charcode.load does not have to contain a complete charcode. You can even set single settings (see example dialogue below)

  6. Trigger [LOAD_CHARCODE] ignores everything beyond the basic standard settings: charName; mood; bodyScale; arms; throatResist; hair; iris; breasts; skin; nose; ear; lipstick; eyeshadow; sclera; blush; freckles; mascara; nailpolish; eyebrow; hairhsl; skinhsl; hisskinhsl; bg; hisBody; hisPenis; balls; hisSkin; hisTop; hisBottoms; hisFootwear; collar; cuffs; gag; panties; top; armwear; legwear; footwear; eyewear; headwear; tonguePiercing; herTan

  7. Beside the basic standard settings (as listed in 6.) [LOAD_CHARCODE2] loads all settings provided by sby sby 's mods (breastfirmness and others). But it will load only settings provided by sby sby 's mods and it will ignore all other unknown settings.

  8. [LOAD_FULL_CHARCODE]will load the complete content of the variable da.charcode.load including settings that are completely unknown.

  9. Omitting all three triggers and just setting the variable da.charcode.load will make SDT load the variable's content as if there would be a trigger [LOAD_CHARCODE] (even if it actually is not). This means it will ignore all settings beyond the basic standard settings (as listed in 6.)

  10. None of the three triggers [LOAD_CHARCODE], [LOAD_CHARCODE2], [LOAD_FULL_CHARCODE] will break a dialoge. All of them allow to call another line type (by trigger as well as by attribute "next")
I wrote this little dialogue as a proof of concept:
Code:
#DialogueChecker-NoDoubleSpace#
#DialogueChecker-IgnoreObjects#
dialogue_name:"test: Load Charcode"

all:"CLEAR"

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

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

setting_INSTANT:"[will_NOT_change_bg]"          {"set":{"loadfunction":"LOAD_CHARCODE",      "da.charcode.load":"moreclothingBG:Cell Doggy Blue 1;"}, "style":"him"}
setting_INSTANT:"[will_NOT_change_bg_NEXT]"     {"set":{"loadfunction":"LOAD_CHARCODE",      "da.charcode.load":"moreclothingBG:Cell Doggy Blue 2;"}, "style":"him"}
setting_INSTANT:"[will_NOT_change_bg]"          {"set":{"loadfunction":"LOAD_CHARCODE2",     "da.charcode.load":"moreclothingBG:Cell Doggy Blue 3;"}, "style":"him"}
setting_INSTANT:"[will_NOT_change_bg_NEXT]"     {"set":{"loadfunction":"LOAD_CHARCODE2",     "da.charcode.load":"moreclothingBG:Cell Doggy Blue 4;"}, "style":"him"}
setting_INSTANT:"[will_NOT_change_bg]"          {"set":{"loadfunction":"LOAD_FULL_CHARCODE", "da.charcode.load":"moreclothingBG:Rudgar 006 KA;"},     "style":"him"}
setting_INSTANT:"[will_NOT_change_bg_NEXT]"     {"set":{"loadfunction":"LOAD_FULL_CHARCODE", "da.charcode.load":"moreclothingBG:Rudgar 606 KA;"},     "style":"him"}

setting_INSTANT:"[will_NOT_change_bg_tmp]"      {"set":{"loadfunction":"LOAD_CHARCODE",      "tmp":"moreclothingBG:Cell Doggy Sand 1;"},              "style":"him"}
setting_INSTANT:"[will_NOT_change_bg_tmp_NEXT]" {"set":{"loadfunction":"LOAD_CHARCODE",      "tmp":"moreclothingBG:Cell Doggy Sand 2;"},              "style":"him"}
setting_INSTANT:"[will_change_bg_tmp]"          {"set":{"loadfunction":"LOAD_CHARCODE2",     "tmp":"moreclothingBG:Cell Doggy Sand 3;"},              "style":"him"}
setting_INSTANT:"[will_change_bg_tmp_NEXT]"     {"set":{"loadfunction":"LOAD_CHARCODE2",     "tmp":"moreclothingBG:Cell Doggy Sand 4;"},              "style":"him"}
setting_INSTANT:"[will_change_bg_tmp]"          {"set":{"loadfunction":"LOAD_FULL_CHARCODE", "tmp":"moreclothingBG:Rudgar black KA;"},                "style":"him"}
setting_INSTANT:"[will_change_bg_tmp_NEXT]"     {"set":{"loadfunction":"LOAD_FULL_CHARCODE", "tmp":"moreclothingBG:Rudgar gold KA;"},                 "style":"him"}

will_NOT_change_bg:"[sequel]Is there a sequel after *loadfunction*? no changes ...БББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ[*loadfunction*]ББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ" {"style":"Speak"}
will_NOT_change_bg_NEXT:"Is there a sequel after next *loadfunction*? no changes ...БББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ[*loadfunction*]ББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ" {"style":"Speak", "next":"sequel"}

will_NOT_change_bg_tmp:"[sequel][SETVARBYNAME_da.charcode.load_tmp]Is there a sequel after *loadfunction*?ББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ[*loadfunction*]no changes ...ББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ" {"style":"Thought"}
will_NOT_change_bg_tmp_next:"[SETVARBYNAME_da.charcode.load_tmp]Is there a sequel after *loadfunction* with next?БББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ[*loadfunction*]no changes ...ББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ" {"style":"Thought", "next":"sequel"}

will_change_bg_tmp:"[sequel][SETVARBYNAME_da.charcode.load_tmp]Is there a sequel after *loadfunction*?ББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ[*loadfunction*]*tmp* nowББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ" {"style":"Him"}
will_change_bg_tmp_NEXT:"[SETVARBYNAME_da.charcode.load_tmp]Is there a sequel after *loadfunction* with next?БББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ[*loadfunction*]*tmp* nowББББББББББББББББББББББББББББББББББББББББББББББББББББББББББББ" {"style":"Him", "next":"sequel"}

sequel:"Yes, there is at least a sequel." {"style":"him"}
Please inform me in case I forgot something (or was talking bullshit).

HTH


Respectfully, Rudgar
 
Last edited:
Top Bottom