骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] OSP战团代码 守军弓手分组 为防玩家攻城射手分组作弊

[复制链接]

6

主题

46

回帖

36

积分

扈从

Rank: 2Rank: 2

UID
3319238
第纳尔
688
精华
0
互助
2
荣誉
1
贡献
10
魅力
231
注册时间
2022-1-28
鲜花(19) 鸡蛋(0)
发表于 2026-7-18 17:58:22 | 显示全部楼层 |阅读模式
本帖最后由 殇垣 于 2026-7-19 14:11 编辑


OSP 守军弓手分组 为防玩家攻城时 把敌国射手 分组为别的组 而使弓手站位失效。


放在战场触发器 mt 里
      module_mission_templates.py

##守军弓手分组
common_reset_defen_archers = (  # CCCCC攻城战 防止玩家改变射手分组的作弊行为,重置射手分组
#ti_before_mission_start, 0,0, [],#开始前执行 不能用此
0,0,ti_once, [(neg|all_enemies_defeated), #不是所有敌人都被打败了 战斗未结束
],
    [
        (try_for_agents,
":defender_archer_agent"),
        (agent_is_active,
":defender_archer_agent"),
        (agent_is_human,
":defender_archer_agent"),  # 排除马匹
(agent_is_alive, ":defender_archer_agent"),
        (agent_is_defender,
":defender_archer_agent"), #是守军
(agent_get_team, ":defender_party_team", ":defender_archer_agent"),
        (this_or_next | eq,
":defender_party_team", "$defender_team"),  # 守军部队
(eq, ":defender_party_team", "$defender_team_2"),  # 守军友军增援部队
(agent_get_troop_id, ":troop_id", ":defender_archer_agent"),
        (neg | troop_is_hero,
":troop_id"),  # 排除英雄
(is_between, ":troop_id", soldiers_begin, soldiers_end),  #兵范围
#(troop_is_guarantee_ranged, ":defender_archer_agent"),  ##  是远程(这个不能用了,
# 因要避免玩家把守军相同兵种设为非射手)
(assign, ":has_yuan_cheng", 0),
        (try_for_range,
":item", 0, 4),  # 所带武器类型判断
(agent_get_item_slot, ":getRemote", ":defender_archer_agent", ":item"),
          (gt,
":getRemote", 0),
          (item_get_type,
":right_item_type_source", ":getRemote"),
          (try_begin),(eq,
":right_item_type_source", itp_type_bow),  #
(assign, ":has_yuan_cheng", 1),
          (else_try),(eq,
":right_item_type_source", itp_type_crossbow),  #
(assign, ":has_yuan_cheng", 1),
          (else_try),(eq,
":right_item_type_source", itp_type_thrown),  #
(assign, ":has_yuan_cheng", 1),
          (else_try),(eq,
":right_item_type_source", itp_type_musket),  ######滑膛枪
(assign, ":has_yuan_cheng", 1),
          (else_try),(eq,
":right_item_type_source", itp_type_pistol),  #手枪
(assign, ":has_yuan_cheng", 1),
          (try_end),
        (try_end),
        (eq,
":has_yuan_cheng", 1),
        (agent_get_ammo,
":ammo", ":defender_archer_agent"),  # 获取弹药
(gt, ":ammo", 0),  # 有弹药者 #you yuan cheng he dan yao
(set_show_messages, 0),
        (agent_set_division,
":defender_archer_agent", grc_archers),  # 兵种设置分组集合类别
(team_give_order, ":defender_archer_agent", grc_archers, mordr_use_ranged_weapons),  ###弓箭手 使用远程CCCCCC
(set_show_messages, 1),
        (try_end),
])




common_reset_defen_archers,#弓手分组


加在这两个的后面

castle_attack_walls_belfry

castle_attack_walls_ladder




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

本版积分规则

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

GMT+8, 2026-8-5 05:50 , Processed in 0.063051 second(s), 19 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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