本帖最后由 殇垣 于 2026-8-3 10:25 编辑
战场触发器MT
# 呵气凝雾 玩家呼吸 #breathe condense
breathe_condense_player =(1, 0, 1, [ (eq, "$breathe_condense", 1),],#1个获取地形的全局变量
[
(get_player_agent_no, ":player_agent"), # 获取玩家演员代理
(try_begin),
(agent_is_alive, ":player_agent"),
(agent_get_bone_position, pos2, ":player_agent", 9, 1), #获取agent的骨骼头部位置
(copy_position, pos3, pos2),#复制骨骼位置到 生成所需位置
(position_move_z, pos3, 19), #头的前 移 cm
(position_move_y, pos3, -1), #头的下 移 cm
(particle_system_burst, "psys_food_steam", pos3, 5),#粒子效果 食物热烟 # 5 is power.力度
(try_end),
])
# 室内 呵气凝雾 全员 #breathe condense
breathe_condense_indoor =(1, 0, 1, [ (eq, "$breathe_condense", 1),],
[
(try_for_agents, ":agents_no"),
(agent_is_human, ":agents_no"), # Source Agent is not horse 是人类 不是马
(agent_is_alive, ":agents_no"),
(agent_get_bone_position, pos2, ":agents_no", 9, 1), #获取agent的骨骼头部位置
(copy_position, pos3, pos2),#复制骨骼位置到 生成所需位置
(position_move_z, pos3, 19), #头的前 移 cm
(position_move_y, pos3, -1), #头的下 移 cm
(particle_system_burst, "psys_food_steam", pos3, 3),#粒子效果 食物热烟 # 3 is power.力度
(try_end),
])####呼吸吐纳结束
脚本SP 添加四处 搜索脚本原文,添加红字部分
#script_get_meeting_scene: 部队会面谈话
# INPUT: none
# OUTPUT: reg0 contain suitable scene_no
("get_meeting_scene",
[ (assign, "$breathe_condense", 0), #呼吸CCCC#1个获取地形的全局变量
(party_get_current_terrain, ":terrain_type", "p_main_party"),
(assign, ":scene_to_use", "scn_random_scene"),
(try_begin),
(eq, ":terrain_type", rt_steppe),#草原
(assign, ":scene_to_use", "scn_meeting_scene_steppe"),
(else_try),
(eq, ":terrain_type", rt_plain),#平原
(assign, ":scene_to_use", "scn_meeting_scene_plain"),
(else_try),
(eq, ":terrain_type", rt_snow),#雪景
(assign, ":scene_to_use", "scn_meeting_scene_snow"),
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(else_try),
(eq, ":terrain_type", rt_desert),#沙漠
(assign, ":scene_to_use", "scn_meeting_scene_desert"),
(else_try),
(eq, ":terrain_type", rt_steppe_forest),#草原森林
(assign, ":scene_to_use", "scn_meeting_scene_steppe"),
(else_try),
(eq, ":terrain_type", rt_forest),#森林
(assign, ":scene_to_use", "scn_meeting_scene_plain"),
(else_try),
(eq, ":terrain_type", rt_snow_forest),#雪森
(assign, ":scene_to_use", "scn_meeting_scene_snow"),
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(else_try),
(eq, ":terrain_type", rt_desert_forest),#沙林
(assign, ":scene_to_use", "scn_meeting_scene_desert"),
(else_try), #others 其它
(assign, ":scene_to_use", "scn_meeting_scene_plain"),
(try_end),
(assign, reg0, ":scene_to_use"),
]),
|
# script_process_village_raids 村庄突袭过程外观
# Input: none
# Output: none
# called from triggers every two hours
("process_village_raids",
[ (assign, "$breathe_condense", 0), #呼吸CCCCCCCCC
(try_for_range, ":village_no", villages_begin, villages_end),
##CABA Fix
## CC
(party_get_current_terrain, ":cur_terrain", ":village_no"),
(try_begin),
# (this_or_next|is_between, ":village_no", "p_village_16", "p_village_23"), #Shapeshte through Shulus (up to Ilvia)
# (this_or_next|is_between, ":village_no", "p_village_49", "p_village_51"), #Tismirr and Karindi
# (this_or_next|eq, ":village_no", "p_village_75"), #Bhulaban
# (this_or_next|is_between, ":village_no", "p_village_85", "p_village_87"), #Ismirala and Slezkh
# (this_or_next|is_between, ":village_no", "p_village_117", "p_village_119"),
# (eq, ":village_no", "p_village_127"),
(this_or_next|eq, ":cur_terrain", rt_snow),#雪景
(eq, ":cur_terrain", rt_snow_forest),#雪森
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(assign, ":normal_village_icon", "icon_village_snow_a"),
(assign, ":burnt_village_icon", "icon_village_snow_burnt_a"),
(assign, ":deserted_village_icon", "icon_village_snow_deserted_a"),
(else_try),
|
# script_setup_random_scene #设置 野战随机场景
# Input: arg1 = center_no, arg2 = mission_template_no
# Output: none
("setup_random_scene",
[ (assign, "$breathe_condense", 0), #呼吸CCCCCCCCC
(set_fixed_point_multiplier, 100), #设定定点乘数
(party_get_current_terrain, ":terrain_type", "p_main_party"), #获取部队当前地形
(assign, ":scene_to_use", "scn_random_scene"),
(try_begin),
(eq, ":terrain_type", rt_steppe),
(assign, ":scene_to_use", "scn_random_scene_steppe"),#草原
(play_sound, "snd_desert_ambiance"),#风声
(else_try),
(eq, ":terrain_type", rt_plain),
(assign, ":scene_to_use", "scn_random_scene_plain"),#平原
(play_sound, "snd_plain_birds",),#鸟语花香
(else_try),
(eq, ":terrain_type", rt_snow),#雪景
(assign, ":scene_to_use", "scn_random_scene_snow"),
(play_sound, "snd_desert_ambiance"),#风声
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(else_try),
(eq, ":terrain_type", rt_desert),
(assign, ":scene_to_use", "scn_random_scene_desert"),
(play_sound, "snd_desert_ambiance"),#风声
(else_try),
(eq, ":terrain_type", rt_steppe_forest),
(assign, ":scene_to_use", "scn_random_scene_steppe_forest"),#草原森林
(play_sound, "snd_desert_ambiance"),#风声
(else_try),
(eq, ":terrain_type", rt_forest),
(assign, ":scene_to_use", "scn_random_scene_plain_forest"),#平原森林
(play_sound, "snd_inforest_ambiance"), #森林 鸟语花香
(else_try),
(eq, ":terrain_type", rt_snow_forest),#雪森
(assign, ":scene_to_use", "scn_random_scene_snow_forest"),
(play_sound, "snd_desert_ambiance"),#风声
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(else_try),
(eq, ":terrain_type", rt_desert_forest),
(assign, ":scene_to_use", "scn_random_scene_desert_forest"),
(play_sound, "snd_desert_ambiance"),#沙漠环境 风声
(else_try),
(eq, ":terrain_type", rt_water),#河流?
(assign, ":scene_to_use", "scn_water"),
(play_sound, "snd_plain_birds"),#鸟语花香
(try_end),
|
# script_set_town_picture 设置城镇图片
# Input: none
# Output: none
("set_town_picture",
[ (assign, "$breathe_condense", 0), #呼吸CCCCCCCCC
(try_begin),
(party_get_current_terrain, ":cur_terrain", "$current_town"),
(party_slot_eq,"$current_town",slot_party_type, spt_town), #城市
(try_begin),
(this_or_next|eq, ":cur_terrain", rt_steppe),
(this_or_next|eq, ":cur_terrain", rt_steppe_forest),
(this_or_next|eq, ":cur_terrain", rt_desert),
( eq, ":cur_terrain", rt_desert_forest),
(set_background_mesh, "mesh_pic_towndes"),#沙漠城镇
(else_try),
(this_or_next|eq, ":cur_terrain", rt_snow),#雪景
( eq, ":cur_terrain", rt_snow_forest),
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(set_background_mesh, "mesh_pic_townsnow"), #雪城镇
(else_try),
(set_background_mesh, "mesh_pic_town1"),#城镇
(try_end),
(else_try),
(try_begin),
(this_or_next|eq, ":cur_terrain", rt_steppe),
(this_or_next|eq, ":cur_terrain", rt_steppe_forest),
(this_or_next|eq, ":cur_terrain", rt_desert),
( eq, ":cur_terrain", rt_desert_forest),
(set_background_mesh, "mesh_pic_castledes"),#沙漠堡垒
(else_try),
(this_or_next|eq, ":cur_terrain", rt_snow),#雪景
( eq, ":cur_terrain", rt_snow_forest),
(assign, "$breathe_condense", 1), #呼吸CCCCCCCCC
(set_background_mesh, "mesh_pic_castlesnow"), #雪堡垒
(else_try),
(set_background_mesh, "mesh_pic_castle1"),#城堡
(try_end),
(try_end),
]),
|
然后在战触 MT 需要的地方加入 两者中的其中一个。根据需求情况,只能二选一。
breathe_condense_player, #仅玩家 呵气凝雾或
breathe_condense_indoor, #室内全员 呵气凝雾
领主大厅,酒吧等人数少,战斗少的情况下,可以全员有效果。
只有玩家有效果的,往往是大规模战场,为减少卡顿做的性能优化。
例如 这样
# This template is used in party encounters and such.部队遭遇等场合的交谈
#
(
"conversation_encounter",0,-1, #对话与邂逅
"Conversation_encounter",
[
(0, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(1, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(2, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(3, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(4, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(5, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(6, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(7, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(8, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(9, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(10, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(11, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(12, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(13, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(14, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(15, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(16, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(17, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(18, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(19, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(20, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(21, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(22, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(23, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(24, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(25, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(26, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(27, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(28, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(29, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(30, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
(31, mtef_visitor_source, af_override_fullhelm, 0, 1, []),
],
[
breathe_condense_indoor, # 呵气凝雾
],# 对话
),
|
拒绝任何潘德的预言相关mod及其改版使用
署名为:瓮海
|