骑马与砍杀中文站论坛
标题:
战场延续功能
[打印本页]
作者:
野蛮人y
时间:
2021-8-13 23:38
标题:
战场延续功能
本帖最后由 野蛮人y 于 2024-8-4 23:38 编辑
战场延续功能:原战团主角倒下即败退出战场,更改胜负条件,直到最后一个友军倒下才败;
1.添加死亡视角摄像 by MadVader
http://forums.taleworlds.com/index.php/topic
,134460.0.html中文站转载地址
http://bbs.mountblade.com.cn/thread-485769-1-1.html
转载者Brotherdragon
在mission_templates.py前面定义4个摄像功能触发器
common_init_deathcam=()
common_start_deathcam= ()
common_move_deathcam= ()
common_rotate_deathcam= ()
2.主角倒下即退出战场部分更改成如下battle_continuate=(),在mission_templates.py前面定义触发器,
battle_continuate =(
1, 4, ti_once, [(main_hero_fallen)],
[
(assign, "$pin_player_fallen", 1),
(assign, ":allynum", 0),
(assign, ":enemynum", 0),
(get_player_agent_no, ":playagent"),
(agent_get_team, ":ally_team", ":playagent"),
(try_for_agents,":cur_agent"),
(agent_is_alive, ":cur_agent"),
(agent_is_human, ":cur_agent"),
(agent_get_team, ":agent_team", ":cur_agent"),
(try_begin),
(teams_are_enemies, ":agent_team", ":ally_team"),
(val_add, ":enemynum", 1),
(else_try),
(val_add, ":allynum", 1),
(try_end),
(try_end),
(try_begin),
(eq,":allynum",0), #all death or wounded
(gt,":enemynum",0),
(assign,"$g_battle_continuation",0), #all death or wounded
(assign,"$g_battle_result",-1), ##战场友军为零输
(set_mission_result,-1),
(call_script, "script_count_mission_casualties_from_agents"),
(call_script, "script_custom_battle_end"),
(finish_mission),
(else_try),
(ge,":allynum",1), ##还有友军
(gt,":enemynum",0),
(assign, "$g_battle_continuation", 1), #战场继续
(question_box,"str_do_you_want_to_retreat"),
(store_trigger_param_1,":answer"),
(eq,":answer",0),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", 0),
(set_mission_result,-1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission),
(else_try),
(gt,":allynum",0), #all death or wounded
(eq,":enemynum",0),
(assign,"$g_battle_result",1), ##战场敌军为零胜
(try_end),
]
)
3.把原判败条件注释掉custom_battle_check_defeat_condition更改为如下,每5秒检测一次
#################Yeoman##################
custom_battle_check_defeat_condition = (
5, 0, 0,
[
(main_hero_fallen),
(assign, ":allynum", 0),
(assign, ":enemynum", 0),
(get_player_agent_no, ":playagent"),
(agent_get_team, ":ally_team", ":playagent"),
(try_for_agents,":cur_agent"),
(agent_is_alive, ":cur_agent"),
(agent_is_human, ":cur_agent"),
(agent_get_team, ":agent_team", ":cur_agent"),
(try_begin),
(teams_are_enemies, ":agent_team", ":ally_team"),
(val_add, ":enemynum", 1),
(else_try),
(val_add, ":allynum", 1),
(try_end),
(try_end),
(try_begin),
(eq, ":allynum", 0),##友军全死伤
(assign,"$g_battle_continuation",0),##结束战场 输
(assign,"$g_battle_result",-1),
(else_try),
(ge, ":allynum", 1),##还有存活友军
(ge, ":enemynum", 1),##还有存活敌军
(assign,"$g_battle_continuation",1),# 战场继续
(assign,"$g_battle_result",0), #胜负未定
(else_try),
(ge, ":allynum", 1),
(eq, ":enemynum", 0),##敌军全死伤 胜
(assign, "$g_battle_won",1),
(assign, "$g_battle_result", 1),
(display_message,"str_msg_battle_won"),
(set_mission_result,1),
(try_end),
],
[
(neq,"$g_battle_result",0),
(call_script, "script_count_mission_casualties_from_agents"),
(call_script, "script_custom_battle_end"),
(finish_mission,0),
])
####################Y#################
上面还有个判胜条件把玩家倒下那句注释掉:
custom_battle_check_victory_condition = (
1, 60, ti_once,
[
(store_mission_timer_a,reg(1)),
(ge,reg(1),10),
(all_enemies_defeated, 2),
# (neg|main_hero_fallen, 0), ##战场延续主角伤敌全死也是胜
4.在战斗场景引用前面定义好的摄像功能、主角倒下胜负判定(这个不要应该也可以,就为了弹出个菜单要不要继续观战)、5秒胜负判定条件,
以野战场景为例, "lead_charge",mtf_battle_mode|mtf_synch_inventory,charge, 注释掉主角倒下即退出战场
# (1, 4, ti_once, [(main_hero_fallen)],
# [
# (assign, "$pin_player_fallen", 1),
# (str_store_string, s5, "str_retreat"),
# (call_script, "script_simulate_retreat", 10, 20, 1),
# (assign, "$g_battle_result", -1),
# (set_mission_result,-1),
# (call_script, "script_count_mission_casualties_from_agents"),
# (finish_mission,0)]),
更改为如下:
##############Yeoman#############
common_init_deathcam,
common_start_deathcam,
common_move_deathcam,
common_rotate_deathcam,
battle_continuate,
custom_battle_check_defeat_condition,
################Y################
作者:
15653910782
时间:
2021-8-14 09:36
本帖最后由 15653910782 于 2021-8-14 13:19 编辑
奈何本人没文化,一句卧槽行天下,大佬nb
作者:
NEW_SHIT
时间:
2021-8-14 11:03
本帖最后由 NEW_SHIT 于 2021-8-14 16:20 编辑
前排~
作者:
NEW_SHIT
时间:
2021-8-14 17:55
呼叫楼主,编译时他说不认识:allynum与:enemynum这两个词。。
作者:
西岸丰
时间:
2022-4-27 14:11
大佬能给个战团原版的补丁吗,加进去以后一直没生效,求求了
作者:
西岸丰
时间:
2022-4-28 16:42
西岸丰 发表于 2022-4-27 14:11
大佬能给个战团原版的补丁吗,加进去以后一直没生效,求求了
解决了(凑字。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。)
作者:
ggfgfgf
时间:
2022-8-29 21:10
可以延续,但是不能操控摄像机。。。
作者:
ggfgfgf
时间:
2022-10-2 12:10
本帖最后由 ggfgfgf 于 2024-7-30 12:06 编辑
ggfgfgf 发表于 2022-8-29 21:10
可以延续,但是不能操控摄像机。。。
[strike]可以了,[/strike]个鸡毛,代码逻辑有问题
作者:
lyklyk
时间:
2023-9-13 10:49
火钳刘明
作者:
false幻境
时间:
2023-9-15 13:49
显示warning g_battle_contiu........是怎么回事
作者:
88978799
时间:
2024-7-29 16:57
大佬要是能做个补丁就太好了
作者:
ggfgfgf
时间:
2024-7-30 12:07
你这逻辑有问题,输的时候不能结束战斗,卡死在mission里了
欢迎光临 骑马与砍杀中文站论坛 (https://bbs.mountblade.com.cn/)
Powered by Discuz! X3.4