骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买霸主CDKEY 购买战帆CDKEY
查看: 52|回复: 0

[功能与代码] 非NPC保镖(txt|ms)

[复制链接]

6

主题

52

回帖

17

积分

随仆

Rank: 1

UID
2557955
第纳尔
134
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2015-7-9
鲜花(1) 鸡蛋(0)
发表于 前天 20:13 | 显示全部楼层 |阅读模式
本帖最后由 afl001 于 2026-3-31 20:29 编辑

搜索了一下,没看到同类帖子,只有一些NPC保镖的修改帖,这个是非NPC保镖,就发一下

加在mission_templates,这两个场景
sneak_caught_fight                   【潜入被发现】
bandits_at_night                     【夜间被打劫】

txt修改
在上述两个场景添加下面这段代码,然后修改触发器计数+1,不知道什么是场景、什么是触发器计数的,去多看几个txt修改帖就懂了
理论上应该是全MOD通用的。
#默认保镖兵种1-雇佣剑士 最多3人
#默认保镖兵种2-职业杀手 最多2人
兵种修改方法:搜索这段代码中的 360287970189639710 ,就是兵种2代码,用计算器转成16进制是 50000000000001E ,去除5和后面的一串0,保留“1E”,通过计算器转换成10进制就是30 ,魔球查一下,正好是职业杀手的兵种序列号。反过来操作就能修改了。兵种1修改搜索 360287970189639709 参考兵种2类推。
不要设置NPC当保镖,NPC保镖早已经有别的帖子发过了,去参考就行。
刷出的保镖数量修改方法
兵种1数量:搜索 1224979098644774924 3 ,后面的3就是兵种1数量
兵种2数量:搜索 1224979098644774925 2 ,后面的2就是兵种2数量
数量还受到队伍中此兵种人数的限制,如果人数只有1个,是刷不出2、3个的。

1.000000 0.000000 100000000.000000  0  70 2133 2 1224979098644774912 360287970189639709 2133 2 1224979098644774913 360287970189639710 2133 2 1224979098644774914 0 2133 2 1224979098644774915 0 2133 2 1224979098644774916 0 1700 1 1224979098644774917 1702 1 1224979098644774917 1770 2 1224979098644774918 1224979098644774917 2133 2 1224979098644774919 648518346341351424 1650 2 1224979098644774920 1224979098644774919 6 3 1224979098644774921 0 1224979098644774920 1652 3 1224979098644774922 1224979098644774919 1224979098644774921 1653 3 1224979098644774923 1224979098644774919 1224979098644774921 4 0 31 2 1224979098644774922 1224979098644774912 2105 2 1224979098644774914 1 2133 2 1224979098644774915 1 2133 2 1224979098644774924 1224979098644774923 2110 2 1224979098644774924 3 5 0 31 2 1224979098644774922 1224979098644774913 2105 2 1224979098644774914 1 2133 2 1224979098644774916 1 2133 2 1224979098644774925 1224979098644774923 2110 2 1224979098644774925 2 3 0 3 0 32 2 1224979098644774914 0 4 0 31 2 1224979098644774915 1 2136 3 1224979098644774926 0 100 4 0 31 2 1224979098644774914 1 2133 2 1224979098644774926 0 3 0 2147483680 2 1224979098644774926 50 1710 2 1 1224979098644774917 6 3 1224979098644774927 0 1224979098644774924 1541 3 1224979098644774928 1224979098644774912 8 1542 3 1224979098644774929 1224979098644774912 8 1543 3 1224979098644774912 8 -1 1970 1 1 1972 1 1224979098644774912 1543 3 1224979098644774912 8 1224979098644774928 1544 3 1224979098644774912 8 1224979098644774929 2133 2 1224979098644774930 72057594037927936 1771 2 1224979098644774930 1224979098644774918 1807 2 1224979098644774930 1 3 0 1790 3 1224979098644774918 9 1 2133 2 1224979098644774914 0 3 0 4 0 32 2 1224979098644774914 0 31 2 1224979098644774916 1 1710 2 1 1224979098644774917 6 3 1224979098644774927 0 1224979098644774925 1541 3 1224979098644774928 1224979098644774913 8 1542 3 1224979098644774929 1224979098644774913 8 1543 3 1224979098644774913 8 -1 1970 1 1 1972 1 1224979098644774913 1543 3 1224979098644774913 8 1224979098644774928 1544 3 1224979098644774913 8 1224979098644774929 2133 2 1224979098644774930 72057594037927936 1771 2 1224979098644774930 1224979098644774918 1807 2 1224979098644774930 1 3 0 1790 3 1224979098644774918 9 1 3 0

队伍中要有相关兵种保镖才会出现。不过即便保镖死了队伍也不会减员。因为是临时刷的,不是你队里的人。
保镖兵种用纹章甲或者纹章盾之类纹章道具,会显示所在城镇领主的纹章,当然也可以理解为伪装。如果介意就不要用这个兵种当保镖。
如果保镖兵种的物品栏有多匹马,有可能骑马上场,只有一匹则不会骑马上场。狭小战场骑马是劣势,可以修改保镖兵种物品栏最多只留一匹马。这个脚本只是暂时清空装备栏的马,没清空物品栏,所以有这问题。
纹章问题和马的问题虽然可以解决,但是会增加很多判断,多改好几个地方,用的别的兵种的slot、箱子空间、全局变量什么的,影响通用性,感觉没必要。反正保镖兵种也是确定的,不会改来改去,只要设定保镖兵种的时候注意点就行了。

ms修改
## 刷出保镖跟随(非NPC)
    (1, 0, ti_once, [],
    [
        (assign, ":escort_1", "trp_mercenary_swordsman"), #保镖兵种1-雇佣剑士
        (assign, ":escort_2", "trp_hired_blade"), #保镖兵种2-职业杀手
        (assign, ":gensui", 0),
        (assign, ":escort_1_in_party", 0),
        (assign, ":escort_2_in_party", 0),
        (get_player_agent_no, ":player_agent"),
        (agent_is_alive, ":player_agent"),
        (agent_get_team, ":player_team", ":player_agent"),
        (assign, ":party_no", "p_main_party"),
        (party_get_num_companion_stacks, ":num_stacks",":party_no"),
        (try_for_range, ":stack_no", 0, ":num_stacks"),
          (party_stack_get_troop_id, ":stack_troop", ":party_no", ":stack_no"),
          (party_stack_get_size, ":stack_size",":party_no",":stack_no"),
          (try_begin),
            (eq, ":stack_troop",":escort_1"), #阵中有保镖兵种1
            (val_add, ":gensui", 1),
            (assign, ":escort_1_in_party", 1),
            (assign, ":escort_1_num", ":stack_size"),
            (val_min, ":escort_1_num", 3), #保镖兵种1最多上3个人
          (else_try),
            (eq, ":stack_troop",":escort_2"), #阵中有保镖兵种2
            (val_add, ":gensui", 1),
            (assign, ":escort_2_in_party", 1),
            (assign, ":escort_2_num", ":stack_size"),
            (val_min, ":escort_2_num", 2), #保镖兵种2最多上2个人
          (try_end),
        (try_end),
        (gt, ":gensui", 0), #阵中有任何保镖兵种
        (try_begin),
          (eq, ":escort_1_in_party", 1), #有保镖兵种1
          (store_random_in_range, ":rnd", 0, 100),
          (try_begin),
            (eq, ":gensui", 1),
            (assign, ":rnd", 0), #如果这是阵中拥有的唯一一个保镖兵种,必刷出无视随机几率
          (try_end),
          (le,":rnd",50), #否则设定几率
          (agent_get_position, pos1, ":player_agent"),
          (try_for_range, ":unused", 0, ":escort_1_num"),
            (troop_get_inventory_slot, ":horse", ":escort_1", 8), #备份装备栏的马
            (troop_get_inventory_slot_modifier, ":horse_mod", ":escort_1", 8), #备份马前缀
            (troop_set_inventory_slot, ":escort_1", 8, -1), #暂时去除装备栏的马
            (set_spawn_position, pos1),
            (spawn_agent, ":escort_1"), #刷出保镖兵种1
            (troop_set_inventory_slot, ":escort_1", 8, ":horse"), #装备栏的马还原
            (troop_set_inventory_slot_modifier, ":escort_1", 8, ":horse_mod"), #前缀还原
            (assign, ":agent_spawn", reg0),
            (agent_set_team, ":agent_spawn", ":player_team"), #角色阵营
            (agent_set_is_alarmed, ":agent_spawn", 1),
          (try_end),
          (team_give_order, ":player_team", 9, 1), #行动命令-全体跟随我
          (assign, ":gensui", 0), #已经刷出就不再刷后面的兵种
        (try_end),
        (try_begin),
          (gt, ":gensui", 0),
          (eq, ":escort_2_in_party", 1), #有保镖兵种2,最后一个保镖兵种只要之前没刷出就刷,不需要几率
          (agent_get_position, pos1, ":player_agent"),
          (try_for_range, ":unused", 0, ":escort_2_num"),
            (troop_get_inventory_slot, ":horse", ":escort_2", 8),
            (troop_get_inventory_slot_modifier, ":horse_mod", ":escort_2", 8),
            (troop_set_inventory_slot, ":escort_2", 8, -1),
            (set_spawn_position, pos1),
            (spawn_agent, ":escort_2"), #刷出保镖兵种2
            (troop_set_inventory_slot, ":escort_2", 8, ":horse"),
            (troop_set_inventory_slot_modifier, ":escort_2", 8, ":horse_mod"),
            (assign, ":agent_spawn", reg0),
            (agent_set_team, ":agent_spawn", ":player_team"),
            (agent_set_is_alarmed, ":agent_spawn", 1),
          (try_end),
          (team_give_order, ":player_team", 9, 1), #行动命令-全体跟随我
        (try_end),
    ]),
### 刷出保镖跟随over

您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2026-4-1 22:17 , Processed in 0.096518 second(s), 17 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表