实战用法
set_portraits 最常见于动态角色替换场景:当某个角色因剧情事件发生身份转变(如流亡、化妆潜伏、晋升换装)时,需要在不重建角色的情况下替换其头像。也可用于 DLC 风格的外观包 mod,根据玩家选择的国家外观分支动态切换领袖或将领的肖像资源。
# 某国领袖因政变改变身份后换装
country_event = {
id = my_mod.5
option = {
name = my_mod.5.a
set_portraits = {
character = GER_my_leader
civilian = { large = "GFX_my_leader_disguised_large" }
}
}
}
配合关系
[set_character_name](/wiki/effect/set_character_name):换装常伴随改名,两者配合可实现角色完整的"身份重塑",视觉与名称同步变更。
[add_country_leader_trait](/wiki/effect/add_country_leader_trait) / [remove_country_leader_trait](/wiki/effect/remove_country_leader_trait):肖像替换往往对应角色能力的变化,与特质增删联用使角色转变更完整。
[promote_character](/wiki/effect/promote_character):角色被提拔到新职位时,搭配 set_portraits 为其新身份配置专属头像,避免新旧职位共用同一张图显得突兀。
[has_character](/wiki/trigger/has_character):执行前先用此触发器确认目标角色确实存在于该国,防止脚本报错或静默失败。
常见坑
- 忘记 GFX 定义:
set_portraits 只负责指定 GFX 键名,若对应的 spriteType 未在 interface/*.gfx 文件中声明,游戏不会报错但会显示默认占位图,新手常误以为命令本身出了问题。
- 作用域混淆:在国家 scope 下使用时必须通过
character = <token> 指定目标角色;若已在角色 scope 内则可省略,但两者混用(既在角色 scope 又写 character =)并不会报错,却容易让逻辑意图不清晰,后期维护时造成误读。