角色模组制作:修订间差异

本页面所适用的版本可能已经过时,最后更新于1.1
无编辑摘要
第2行: 第2行:
 修改角色涉及改变他们的外观、数据和行为。这可以从小的调整,如添加金币或虔诚,到复杂的变化,如脚本新的视觉效果和更多。
 修改角色涉及改变他们的外观、数据和行为。这可以从小的调整,如添加金币或虔诚,到复杂的变化,如脚本新的视觉效果和更多。


== Changing appearance through scripts ==
== 通过脚本改变外观 ==
Crusader Kings 3 uses a DNA system to define a character's appearance, which has changed from the one used in Crusader Kings 2. These changes allow for more specific and realistic appearances.
十字军之王3使用DNA系统来定义角色的外观,与《十字军之王2》中使用的系统相比有所改变。这些变化使得外观更加具体和逼真。


You can change a character's DNA through dna_modifiers. Create a file in {{cite file|gfx/portraits/portrait_modifiers}} with any filename and add this:
你可以通过dna_modifiers改变角色的DNA。在{{cite file|gfx/portraits/portrait_modifiers}} 中创建一个文件,文件名为任何文件名,然后添加这个


<pre>
<pre>
第36行: 第36行:
</pre>
</pre>


This will add the western_imperial headgear and change the hair color of any character with the "dna_change_example_modifier" flag. You can add a flag to a character with the add_character_flag command, like this:
这将为任何带有 "dna_change_example_modifier " 标志的角色添加西方帝国头饰并改变其头发颜色。你可以用add_character_flag命令为一个角色添加一个标志,就像这样


<pre>
<pre>
第44行: 第44行:
</pre>
</pre>


If you encounter any issues, check the error.log of the game for any specific error messages and correct your script accordingly.
如果你遇到任何问题,请检查游戏的error.log ,查看任何特定的错误信息,并相应地修改你的脚本。


== Adding new characters or changing existing ==
== Adding new characters or changing existing ==

2020年11月22日 (日) 11:40的版本

修改角色涉及改变他们的外观、数据和行为。这可以从小的调整,如添加金币或虔诚,到复杂的变化,如脚本新的视觉效果和更多。

通过脚本改变外观

十字军之王3使用DNA系统来定义角色的外观,与《十字军之王2》中使用的系统相比有所改变。这些变化使得外观更加具体和逼真。

你可以通过dna_modifiers改变角色的DNA。在gfx/portraits/portrait_modifiers中创建一个文件,文件名为任何文件名,然后添加这个

dna_change_example_modifier = {
    usage = game
    dna_change_example_modifier = {
        dna_modifiers = {
            accessory = {
                mode = add
                gene = headgear
                template = western_imperial
                value = 1.0
            }
            color = {
                mode = modify
                gene = hair_color
                x = 0.5
                y = -0.5
            }
        }
        weight = {
            base = 0
            modifier = {
                add = 100
                has_character_flag = dna_change_example_modifier
            }
        }
    }
}

这将为任何带有 "dna_change_example_modifier "标志的角色添加西方帝国头饰并改变其头发颜色。你可以用add_character_flag命令为一个角色添加一个标志,就像这样

add_character_flag = {
    flag = dna_change_example_modifier
}

如果你遇到任何问题,请检查游戏的error.log,查看任何特定的错误信息,并相应地修改你的脚本。

Adding new characters or changing existing

For some mods, for example total conversions, new characters are needed. In Crusader Kings 3 this kind of character modding is pretty easy. After creating your mod (which is explained in a corresponding article), you have to edit an existing or create a new txt.-file in the folder example-mod/history/characters. In our example the file will be named example.txt. An example character will look like this:

999001 = {
	name = "Henri"	#Henri de Lyon
	dna = lyon_twin_dna_entry
	dynasty = 2100001 #Lyon
	martial = 14
	diplomacy = 23
	intrigue = 10
	stewardship = 21
	religion = catholic	
	culture = french
	trait = diligent
	trait = education_learning_4
	trait = just
	trait = twin
	trait = physique_good_3
	trait = intellect_good_3
	trait = beauty_good_3
	trait = shrewd
	disallow_random_traits = yes
	father = 999003
	mother = 999004
	846.7.29 = {
		birth = yes
	}
	920.5.25 = {
		death = yes
	}
}
  • First of all, a character ID is assigned. The ID needs to be unique; going for 900000 and further should be safe. This ID is used to refer to the character within the game files.
  • The first name of the character can be set via the use of name = "NAME". Note that in-game names may change based on culture (see culture modding).
  • In the dna-line the path for a specific dna can be inserted. An existing dna from the 00_dna.txt in common/dna_data can be used or an new created by using the portrait editor.
  • To set the character's gender to female, use female = yes.
  • A character can be added to an existing or a new dynasty. Use dynasty = DYNASTY_ID for dynasties without houses, or dynasty_house = HOUSE_ID otherwise. The dynasty ID and house ID can be found in common/dynasties and common\dynasty_houses, respectively. See dynasties modding.
  • Culture and faith must be assigned with culture = CULTURE_ID and religion = FAITH_ID, respectively. The right names can be found by searching in the corresponding folders common/culture and common/religion.
  • Attributes can be set freely. Their value caps at 100. If they are not assigned, the game will generate random values. Note that this only adds to the character's base attribute values, so the final value may be smaller or larger depending on traits and other factors. The attributes are as follows:
  • martial
  • prowess
  • diplomacy
  • intrigue
  • stewardship
  • learning
  • Traits can be added through the use of trait = TRAIT_ID. Replace TRAIT_ID with the appropriate trait ID. An unlimited amount of traits may be added; unless assigned or specified otherwise, the game will generate random traits. To ensure that traits are not changed at the start of the game, use disallow_random_traits = yes.
  • Parents may be optionally assigned by using father = CHARACTER_ID and mother = CHARACTER_ID. Ensure that one uses the target character's ID, as opposed to their name. This can be useful in creating families.
  • Sexuality can be set through sexuality = SEXUALITY_ID. The following can be used:
  • asexual
  • heterosexual
  • homosexual
  • bisexual
  • Set the character's base health through health = HEALTH_VALUE, and fertility with fertility = FERTILITY_VALUE.
  • Finally, birth and death of the character have to be defined. Crusader Kings 3 uses yyyy.mm.dd for date formats. Define a date block using DATE = {...}, replacing ... with birth = yes or death = yes. Alternatively, replace yes with the date surrounded by speech marks ("). See more uses of date blocks.

The same steps work for changing existing characters. Sometimes, like for Charlemagne, there are already most of the possible lines.

Advanced use of date blocks

  • add_spouse = CHARACTER_ID, remove_spouse = CHARACTER_ID to add/remove spouses.
  • give_nickname = NICKNAME_ID to add nicknames. Later uses of give_nickname replace old nicknames. See nickname ID.
  • employer = CHARACTER_ID, similar to set_employer = CHARACTER_ID effect, moves the scoped character to the specified character's court.
  • give_council_position = COUNCILLOR_ID to make the character a councillor. The following are accepted:
  • councillor_marshal
  • councillor_spymaster
  • councillor_chancellor
  • councillor_court_chaplain
  • councillor_steward
  • Assignments defined in the previous section, like trait = TRAIT_ID, may also be used in date blocks.
  • Various other effects can be used that have a character scope, either directly in the date block or in an effect sub-block. See the following example from the game files, used to add a character flag and set character sexuality randomly:[1]
101515 = {
	...
	1019.1.1 = {
		...
		effect = {
			add_character_flag = has_scripted_appearance
			random_list = {
				50 = { set_sexuality = heterosexual }
				50 = { set_sexuality = bisexual }
			}
		}
	}
	...
}

References

  1. game\history\characters\danish.txt, character 101515