骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 2594|回复: 4

[功能与代码] 简易的骑兵反复对步兵冲锋AI

[复制链接]

16

主题

108

回帖

197

积分

见习骑士

Rank: 3

UID
3304622
第纳尔
690
精华
0
互助
26
荣誉
3
贡献
0
魅力
158
注册时间
2021-12-28
鲜花(31) 鸡蛋(0)
发表于 2023-9-24 16:35:23 | 显示全部楼层 |阅读模式
本帖最后由 杰喵喵 于 2023-10-3 22:34 编辑

简易的骑兵反复对步兵冲锋AI:


1.介绍:
简易的骑兵反复对步兵冲锋AI,战团中的骑兵对步兵群会拥挤成一团,针对这点进行优化。

2.核心原理:
(1)agent_set_scripted_destination;
(2)agent_clear_scripted_mode;

3.代码效果展示:
骑马与砍杀战团-简易AI骑兵反复冲锋_骑马与砍杀 (bilibili.com)

4.代码:
  1. common_agent_rider_lead_charge =  (0.5, 0, 0,
  2. [
  3. (assign,":is_run,",0),
  4. (eq,":is_run,",0),
  5. ],
  6. [
  7.     (set_fixed_point_multiplier, 100),
  8.    
  9.     (assign,":move_value",5000),
  10.     #获得地图最大限制
  11.     (init_position,pos26),
  12.     (init_position,pos27),
  13.     (get_scene_boundaries, pos26, pos27),#左下角和右上角的点,方向朝上
  14.     (position_get_x, ":lower_left_corner_x", pos26),
  15.     (position_get_y, ":lower_left_corner_y", pos26),
  16.     (position_get_x, ":upper_right_corner_x", pos27),
  17.     (position_get_y, ":upper_right_corner_y", pos27),         
  18.     (val_add,":lower_left_corner_x",":move_value"),
  19.     (val_add,":lower_left_corner_y",":move_value"),
  20.     (val_sub,":upper_right_corner_x",":move_value"),
  21.     (val_sub,":upper_right_corner_y",":move_value"),
  22.    
  23.     (try_for_agents, ":agent_no"),
  24.         (agent_is_alive, ":agent_no"),
  25.         (agent_is_human, ":agent_no"),
  26.         (agent_is_non_player, ":agent_no"),
  27.         (agent_get_horse, ":horse_no", ":agent_no"),
  28.         (gt,":horse_no",-1),
  29.         (agent_get_team,":agent_team",":agent_no"),
  30.         (agent_get_division, ":agent_division", ":agent_no"),
  31.         (team_get_movement_order, ":movement_order", ":agent_team", ":agent_division"),
  32.         (agent_get_wielded_item, ":weapon_hold", ":agent_no", 0),#获取右手武器
  33.         (gt, ":weapon_hold", 0),
  34.         (item_get_type, ":item_weapon_type", ":weapon_hold"),
  35.         (neq,":item_weapon_type",itp_type_bow),
  36.         (neq,":item_weapon_type",itp_type_pistol),
  37.         (neq,":item_weapon_type",itp_type_thrown),
  38.         (neq,":item_weapon_type", itp_type_musket),
  39.         (neq,":item_weapon_type", itp_type_crossbow),
  40.         
  41.         (try_begin),
  42.             (eq, ":movement_order", mordr_charge),
  43.             (agent_ai_get_move_target,":target_agent",":agent_no"),
  44.             #强制设定目标
  45.             (try_begin),
  46.                 (lt,":target_agent",0),
  47.                 (agent_clear_scripted_mode, ":agent_no"),
  48.                 (agent_ai_get_num_cached_enemies, ":num", ":agent_no"),
  49.                 (try_for_range,":index",0,":num"),#get target_agent
  50.                     (store_random_in_range,":index",0,":num"),
  51.                     (agent_ai_get_cached_enemy, reg40,":agent_no",":index"),
  52.                     (agent_is_alive, reg40),
  53.                     (assign,":target_agent",reg40),
  54.                     (agent_set_look_target_agent,":agent_no",":target_agent"),
  55.                     (assign,":num",-1),#break
  56.                (try_end),
  57.             (try_end),
  58.             
  59.             (gt,":target_agent",-1),
  60.             (agent_get_horse, ":horse_no", ":target_agent"),
  61.             (try_begin),
  62.                 (lt, ":horse_no",0),
  63.                 (agent_slot_eq, ":target_agent", slot_agent_is_running_away, 0),#非逃跑
  64.                 #使用长杆触发
  65.                 #(eq,":item_weapon_type",itp_type_polearm),
  66.                 (init_position,pos40),
  67.                 (init_position,pos41),
  68.                 (agent_get_position,pos40,":agent_no"),
  69.                 (agent_get_position,pos41,":target_agent"),
  70.                 (neg|position_is_behind_position,pos40,pos41),
  71.                 (position_copy_rotation,pos41,pos40),
  72.                 (assign,":move_y",":move_value"),
  73.                 (position_move_y,pos41,":move_y"),
  74.                 (position_set_z_to_ground_level,pos41),
  75.                 (position_get_x, ":x_value", pos41),
  76.                 (position_get_y, ":y_value", pos41),
  77.                 (try_begin),
  78.                     (is_between,":x_value",":lower_left_corner_x",":upper_right_corner_x"),
  79.                     (is_between, ":y_value",":lower_left_corner_y",":upper_right_corner_y"),
  80.                     (agent_set_scripted_destination,":agent_no",pos41,1,1),
  81.                 (else_try),
  82.                     (agent_clear_scripted_mode, ":agent_no"),
  83.                 (try_end),
  84.             (try_end),
  85.         (else_try),
  86.             (agent_clear_scripted_mode, ":agent_no"),
  87.     (try_end),
  88.         
  89.                  
  90. ]
  91. )
复制代码




评分

参与人数 2魅力 +21 收起 理由
15653910782 + 20 感谢您对骑砍中文站的支持!
半世尘埃 + 1 原创内容,值得鼓励!

查看全部评分

鲜花鸡蛋

黑暗路西法  在2023-11-20 17:31  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
咸鱼圣代  在2023-9-25 03:45  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
半世尘埃  在2023-9-24 20:08  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
半世尘埃  在2023-9-24 20:08  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
半世尘埃  在2023-9-24 20:07  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

43

主题

1165

回帖

442

积分

骑士

Rank: 4Rank: 4

UID
3065189
第纳尔
675
精华
0
互助
16
荣誉
0
贡献
2
魅力
11
注册时间
2019-3-28

骑士美德之英勇勋章[杰出会员活跃勋章]

QQ
鲜花(108) 鸡蛋(0)
发表于 2023-9-24 20:08:04 | 显示全部楼层
赞!!!!!!!!!!!!
忠 誠 勇 毅 ,心 系 社 會

20

主题

238

回帖

77

积分

扈从

Rank: 2Rank: 2

UID
1464808
第纳尔
919
精华
0
互助
0
荣誉
0
贡献
0
魅力
1
注册时间
2013-7-29

霸主正版勋章

鲜花(0) 鸡蛋(0)
发表于 2023-12-16 03:07:29 | 显示全部楼层
大佬6666666666666

2

主题

9

回帖

13

积分

随仆

Rank: 1

UID
3003382
第纳尔
26
精华
0
互助
2
荣誉
0
贡献
0
魅力
21
注册时间
2018-5-23
鲜花(3) 鸡蛋(0)
发表于 2024-2-24 00:10:34 | 显示全部楼层
大佬可以做一个TXT的吗?

24

主题

3788

回帖

1164

积分

骑士

Rank: 4Rank: 4

UID
2781503
第纳尔
10467
精华
0
互助
4
荣誉
0
贡献
0
魅力
59
注册时间
2016-11-27

骑砍中文站APP会员勋章骑士美德之英勇勋章[杰出会员活跃勋章]霸主正版勋章元老骑士勋章战团正版勋章骑士美德之谦恭勋章[杰出会员财富勋章]

鲜花(97) 鸡蛋(1)
发表于 2024-2-24 15:50:12 | 显示全部楼层
效果不是很明显。。是只对枪骑兵有效吗
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-12-27 12:35 , Processed in 0.123861 second(s), 27 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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