骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
查看: 2082|回复: 11

[功能与代码] 自己做的火箭功能,精确到agent的骨骼与燃烧减血效果

[复制链接]

13

主题

86

回帖

145

积分

见习骑士

Rank: 3

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

自己做的火箭功能,精确到agent的骨骼与燃烧减血效果。攻击精确到agent的骨骼位置、持续燃烧10s减少生命值。一、module_items
  1. fuel_arrows_missile_hit = [
  2.   (ti_on_missile_hit,
  3.     [

  4.      (store_trigger_param_2, ":object_type"),
  5.      (copy_position,pos5,pos1),

  6.      (try_begin),
  7.         (eq|this_or_next,":object_type",0),
  8.         (eq|this_or_next,":object_type",3),
  9.         (eq,":object_type",4),
  10.         (particle_system_burst,"psys_fuel_arrows_fire",pos5,300),
  11.      (try_end),

  12.      
  13.     ])]
复制代码


二、module_mission_templates 将下面三个触发器放入需要的地方,如lead_charge等
  1.    
  2. # ti_on_missile_hit        = -52.0 #can only be used in module_items triggers
  3. # Position Register 1: Missile Position
  4. # Trigger Param 1: shooter agent id
  5. fuel_arrows_missile_hit = [
  6.   (ti_on_missile_hit,
  7.     [
  8.      (set_fixed_point_multiplier, 1000),
  9.      #(store_trigger_param_1, ":agent_shooter"),
  10.      (copy_position,pos5,pos1),
  11.      (position_get_distance_to_ground_level,":height_to_ground", pos5),
  12.      (assign,":flag",0),
  13.      #判断是否攻中agent附近并且高于50,如果不在agent附近则点火特效,可以有效防止鬼火
  14.      (try_begin),
  15.      (ge,":height_to_ground",50),
  16.          (try_for_agents,":possable_agent"),
  17.               (neq,":flag",-1),
  18.               (agent_is_alive,":possable_agent"),
  19.               (agent_get_position,pos3,":possable_agent"),
  20.               (get_distance_between_positions,":dist",pos5,pos3),
  21.               (this_or_next|eq,pos5,pos3),
  22.               (le,":dist",300),
  23.               (assign,":flag",-1),
  24.          (try_end),
  25.      (try_end),
  26.      
  27.     (try_begin),
  28.        (eq,":flag",0),
  29.        (particle_system_burst,"psys_fuel_arrows_fire",pos5,300),
  30.     (try_end),
  31.      
  32.     ])]
复制代码
  1. agent_buff_check = (
  2.   0,0,0,[],
  3.   [
  4.   (set_fixed_point_multiplier, 1000),   
  5.   
  6.   (try_for_agents,":agent_no"),
  7.     (agent_is_alive,":agent_no"),
  8.     (agent_is_human,":agent_no"),
  9.       
  10.     (try_for_range,":slot",slot_agent_fuel_abdomen,slot_agent_fuel_num),
  11.          (agent_get_slot,":num",":agent_no",":slot"),
  12.          (gt,":num",0),
  13.          (store_sub,":value",":slot",slot_agent_fuel_abdomen),
  14.          (agent_get_bone_position,pos56,":agent_no",":value",1),
  15.          (position_move_z,pos56,-25),
  16.          (particle_system_burst,"psys_torch_fire",pos56,5),
  17.     (try_end),
  18.    
  19.   (try_end),
  20.   
  21.   ])
复制代码
  1. time_task_1s = (
  2.   1,0,0,[],
  3.   [

  4.   ##################agent-AI######################
  5.   (set_fixed_point_multiplier,1000),#cm
  6.   
  7.      (try_for_agents, ":agent_no"),
  8.         (assign,":fuel_harm",0),
  9.         (try_for_range,":slot",slot_agent_fuel_abdomen,slot_agent_fuel_num),
  10.             (agent_get_slot,":num",":agent_no",":slot"),
  11.             (gt,":num",0),
  12.             (val_add,":fuel_harm",":num"),
  13.             (val_sub,":num",1),
  14.             (agent_set_slot,":agent_no",":slot",":num"),
  15.         (try_end),
  16.         
  17.         (try_begin),
  18.             (gt,":fuel_harm",0),
  19.             (store_div,":harm",":fuel_harm",10),
  20.             (store_mul,":remainder",":harm",10),
  21.             (store_sub,":remainder",":fuel_harm",":harm"),
  22.             
  23.             (try_begin),
  24.                 (gt,":remainder",0),
  25.                 (val_add,":harm",1),
  26.             (try_end),
  27.             
  28.             (troop_get_type,":type",":troop_id"),
  29.             (try_begin),
  30.                 (is_between,":type",tf_undead,tf_undead_end),
  31.                 (val_mul,":harm",2),
  32.             (try_end),
  33.             
  34.             (store_agent_hit_points,":cur_hp",":agent_no",1),
  35.             (val_sub,":cur_hp",":harm"),
  36.             (agent_set_hit_points,":agent_no",":cur_hp",1),
  37.             
  38.             (get_player_agent_no,":player_agent_id"),
  39.             (try_begin),
  40.                 (eq,":agent_no",":player_agent_id"),
  41.                 (store_agent_hit_points,":cur_hp",":agent_no",1),
  42.                 (assign,reg20,":harm"),
  43.                 (assign,reg21,":cur_hp"),
  44.                 (display_message,"@player fuel harm {reg20} and residue hp {reg21}",0xFFFF3333),
  45.             (try_end),
  46.         (try_end),
  47.          

  48.      (try_end),  
  49.    
  50.    ]
  51. )
复制代码
三、module_constants设置slot
  1. #agent 燃烧buff slot
  2. slot_agent_fuel_abdomen = 200
  3. slot_agent_fuel_thigh = 201
  4. slot_agent_fuel_calf_l = 202
  5. slot_agent_fuel_foot_l = 203
  6. slot_agent_fuel_thigh_r = 204
  7. slot_agent_fuel_calf_r = 205
  8. slot_agent_fuel_foot_r = 206
  9. slot_agent_fuel_spine = 207
  10. slot_agent_fuel_thorax = 208
  11. slot_agent_fuel_head = 209
  12. slot_agent_fuel_shoulder_l = 210
  13. slot_agent_fuel_upperarm_l = 211
  14. slot_agent_fuel_forearm_l = 212
  15. slot_agent_fuel_hand_l = 213
  16. slot_agent_fuel_item_l = 214
  17. slot_agent_fuel_shoulder_r = 215
  18. slot_agent_fuel_upperarm_r = 216
  19. slot_agent_fuel_forearm_r = 217
  20. slot_agent_fuel_hand_r = 218
  21. slot_agent_fuel_item_r = 219
  22. slot_agent_fuel_num = 220
  23. #腹部= 200 骨骼位置0
  24. #大腿l = 201 骨骼位置1
  25. #小腿l = 202 骨骼位置2
  26. #脚l = 203 骨骼位置3
  27. #大腿r = 204 骨骼位置4
  28. #小腿r = 205 骨骼位置5
  29. #脚r = 206 骨骼位置6
  30. #脊柱= 207 骨骼位置7
  31. #胸腔= 208 骨骼位置8
  32. #头= 209 骨骼位置9
  33. #肩膀l = 210 骨骼位置10
  34. #上臂l = 211 骨骼位置11
  35. #前臂l = 212 骨骼位置12
  36. #手l = 213 骨骼位置13
  37. #项l = 214 骨骼位置14
  38. #肩膀r = 215 骨骼位置15
  39. #上臂r = 216 骨骼位置16
  40. #前臂r = 217 骨骼位置17
  41. #手r = 218 骨骼位置18
  42. #项r = 219 骨骼位置19
复制代码
四、粒子特效
  1.    
  2.    ("fuel_arrows_fire", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size|psf_randomize_rotation, "prt_mesh_fire_1",
  3.       50, 1.0, 0, -1.2, 15.0, 10.0,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
  4.       (0.2, 0.7), (1, 0),        #alpha keys
  5.       (0.2, 1.0), (1, 0.9),      #red keys
  6.       (0.2, 0.7),(1, 0.3),       #green keys
  7.       (0.2, 0.2), (1, 0.0),      #blue keys
  8.       (0, 0.20),   (0.20, 1),          #scale keys
  9.       (0.20, 0.20, 0.020),           #emit box size
  10.       (0, 0, 0.0),               #emit velocity
  11.       0.0,                       #emit dir randomness
  12.       250,                       #rotation speed
  13.       0.3                        #rotation damping
  14.    ),
  15.    
复制代码
五、效果图




20230307212719_1.jpg

击中骨骼

击中骨骼

评分

参与人数 1第纳尔 +10 互助 +1 魅力 +5 收起 理由
幼稚园殺手 + 10 + 1 + 5 您的帖子很有价值!

查看全部评分

鲜花鸡蛋

黑脸小白  在2023-12-16 10:55  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

55

主题

2716

回帖

1756

积分

子爵[版主]

吟游诗人

Rank: 7Rank: 7Rank: 7

UID
3054380
第纳尔
23959
精华
2
互助
57
荣誉
44
贡献
916
魅力
1418
注册时间
2019-1-18

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章霸主正版勋章剧本设计大奖赛骑友真人秀Ⅷ勋章骑友真人秀Ⅶ勋章骑友真人秀Ⅸ勋章

QQ
鲜花(506) 鸡蛋(2)
发表于 2023-3-19 21:58:34 | 显示全部楼层
好东西
珍惜 奉献 不负韶华

16

主题

591

回帖

327

积分

见习骑士

Rank: 3

UID
3102512
第纳尔
2370
精华
0
互助
29
荣誉
0
贡献
0
魅力
63
注册时间
2019-9-6

骑砍中文站APP会员勋章战团正版勋章霸主正版勋章

鲜花(51) 鸡蛋(0)
发表于 2023-3-20 00:04:29 来自手机 | 显示全部楼层
雀氏是好东西来自: Android客户端

0

主题

57

回帖

17

积分

随仆

Rank: 1

UID
3346943
第纳尔
519
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2022-4-8
鲜花(2) 鸡蛋(0)
发表于 2023-3-20 12:27:53 来自手机 | 显示全部楼层
感谢分享来自: Android客户端

13

主题

86

回帖

145

积分

见习骑士

Rank: 3

UID
3304622
第纳尔
595
精华
0
互助
19
荣誉
2
贡献
0
魅力
123
注册时间
2021-12-28
鲜花(26) 鸡蛋(0)
 楼主| 发表于 2023-3-20 12:44:28 | 显示全部楼层

大佬过誉了

13

主题

86

回帖

145

积分

见习骑士

Rank: 3

UID
3304622
第纳尔
595
精华
0
互助
19
荣誉
2
贡献
0
魅力
123
注册时间
2021-12-28
鲜花(26) 鸡蛋(0)
 楼主| 发表于 2023-3-20 12:44:57 | 显示全部楼层

大佬过誉了,大佬过誉了

32

主题

175

回帖

62

积分

扈从

Rank: 2Rank: 2

UID
3256923
第纳尔
746
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2021-7-30
鲜花(5) 鸡蛋(0)
发表于 2023-4-9 02:15:41 来自手机 | 显示全部楼层
可以喔,用来做毒气弹挺不错的来自: Android客户端

1

主题

53

回帖

21

积分

随仆

Rank: 1

UID
3363978
第纳尔
76
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-5-30
鲜花(0) 鸡蛋(0)
发表于 2023-10-18 20:32:47 | 显示全部楼层
module_items的代码怎么添加啊,复制进去报错

43

主题

1159

回帖

441

积分

骑士

Rank: 4Rank: 4

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

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

QQ
鲜花(108) 鸡蛋(0)
发表于 2023-10-18 23:58:40 | 显示全部楼层
本帖最后由 半世尘埃 于 2023-10-19 00:00 编辑
土豆豆豆豆豆 发表于 2023-10-18 20:32
module_items的代码怎么添加啊,复制进去报错

报错说的啥,第一段那个是item的触发器单独放,然后在物品代码里调用。也可以整合进武器触发器里
忠 誠 勇 毅 ,心 系 社 會

1

主题

53

回帖

21

积分

随仆

Rank: 1

UID
3363978
第纳尔
76
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-5-30
鲜花(0) 鸡蛋(0)
发表于 2023-10-26 15:48:13 | 显示全部楼层
半世尘埃 发表于 2023-10-18 23:58
报错说的啥,第一段那个是item的触发器单独放,然后在物品代码里调用。也可以整合进武器触发器里 ...

我是把iteam的代码放到了我新建的弩箭代码下面然后编译就报错

from module_items import *
  File "H:\Game\Qimayukanshazhantuan\ceshimodule_system\Module_system 1.171\module_items.py", line 1315
    fuel_arrows_missile_hit = [
                            ^
SyntaxError: invalid syntax

43

主题

1159

回帖

441

积分

骑士

Rank: 4Rank: 4

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

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

QQ
鲜花(108) 鸡蛋(0)
发表于 2023-10-26 16:20:41 | 显示全部楼层
土豆豆豆豆豆 发表于 2023-10-26 15:48
我是把iteam的代码放到了我新建的弩箭代码下面然后编译就报错

from module_items import *

编译没问题,你加到imodbits_none上面,不要加到item那个括号里面
忠 誠 勇 毅 ,心 系 社 會

1

主题

53

回帖

21

积分

随仆

Rank: 1

UID
3363978
第纳尔
76
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2022-5-30
鲜花(0) 鸡蛋(0)
发表于 2023-10-29 23:28:28 | 显示全部楼层
半世尘埃 发表于 2023-10-26 16:20
编译没问题,你加到imodbits_none上面,不要加到item那个括号里面

代码只需要加到imodbits_none上面就可以吗,不用再加到下面某个弩箭下?
还有一个就是上面module_mission_templates的代码如何添加到不同的场景如lead_charge中?
抱歉大佬,我学业繁忙回您有点慢,感谢大佬赐教
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-5-27 13:45 , Processed in 0.138142 second(s), 34 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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