本帖最后由 nimoadna 于 2022-6-28 18:10 编辑 西蒙.莱利 发表于 2022-6-20 22:35 十分抱歉刚看到回复,这些代码集成性太强了,不方便独立提取,因为我在做mod的时候提前把mt里所有的相关位置集合到了scripts里面处理,比如agent对武器的wield和unwield,pickup和drop,以及各种按键操作和定时器。 链枷我是这样实现的: 1 给agent加一个slot,存放“所持武器附加部件的spr” 2 给物品加一个slot,存放该物品的附加部件的spr,如果它有附加部件 3 新增物品,链枷 4 新增spr,是链枷的头 5 链枷的附加部件slot指定为如上新增的spr 6 agent每次更换武器,要根据该武器是否有附加部件而决定是否要为agent刷出该附加部件并存入1步的slot。若该slot已经有值,就算了 7 agent放下或收起一个带有附加部件的武器时,以及sgent被杀时,要把agent在1步的slot里存好的spr放入地底深处并隐藏。 8 实时判断agent是否持有包含附加部件的武器,若有,则按1步的slot获得该部件spr,与右手武器联动 基本思路如上,双持也类似,其实还可以更简化。这样操作很方便,一目了然,便于扩展,比如同理添加双截棍,流星锤,甚至星云锁链。缺点是每个agent每次最多只能携带一种带有附加部件的武器。如果需要携带多个,得再加工。 楼上说位置不对,其实是人的实际速度过快导致,需要在实现链枷头联动时根据人物实际速度(骑马或跑步)去校正链枷头的偏移量。 期待大佬们继续发育,给咱们更高的肩膀。但不管继承者跑的多远,开创者永远功不可没,是最亮的那颗星,向他们致敬! |
| 参与人数 1 | 互助 +1 | 收起 理由 |
|---|---|---|
|
| + 1 | 乐于助人! |
西蒙.莱利 发表于 2022-5-13 18:22 旧贴有说明,请看链接 https://bbs.mountblade.com.cn/fo ... B%B2%BF%BD%E2%CE%F6 |
| 参与人数 2 | 互助 +1 | 魅力 +22 | 收起 理由 |
|---|---|---|---|
|
| + 1 | 乐于助人! | |
|
| + 22 | 乐于助人! |
nimoadna 发表于 2022-6-15 15:17 这位兄台,有加工好的代码吗?可否容小弟一观? |
| 站在大佬肩上风景一片好,其实加工下连小兵都能正常使用链枷甚至双持。建议开发mod就把mt里面所有“相关的重复位置”集中到一起,省得来回复制粘贴几十次,稍有不慎又会遗漏...集中起来转移到script处理,相当方便。 |
|
本帖最后由 野蛮人y 于 2022-5-16 11:02 编辑 右挥时链枷头 |
位置计算不对
野蛮人y 发表于 2022-5-13 20:02 你能上传MT文件吗,我至少能自己看着学,你这样说我是真不懂 ![]() |
野蛮人y 发表于 2022-5-13 20:02 大哥,你这样说我更不懂,我毕竟刚刚学,你直接告诉我lead_charge和AI Triggers下 我该怎么添加代码 是加在什么段落,还是直接空一行加代码 无论是空一行还是加在末尾 都不行 会出错 |
|
完整那个放在mt前面,短句放在后面的战斗场景; 就是相当于在前面定义一个公式a=b,后面引用填a,即可使用b功能 |
野蛮人y 发表于 2022-5-13 18:45 而且我短句和完整代码都试过了 无一例外都会出错 |
野蛮人y 发表于 2022-5-13 18:45 原谅我的愚笨,我才刚刚学,我lead_charge和AI Triggers都找到了,但是我不知道该怎么加进去,是加入init_flail_head,这一个小句 还是完整触发器代码,请告诉我lead_charge和AI Triggers段我该怎么加,请说详细,之前我都很迷糊。 |
|
上面不是说了, mt 里搜lead_charge 那个就是野战场景, 再搜AI Triggers,在下一行加init_flail_head, |
野蛮人y 发表于 2022-5-13 17:40 原来是我搞错了,原作者说 ”加一个通用触发器,并把此通用触发器加到所有可能出现连枷的mt里:“ 但是我又搞不懂了,所有可能出现连枷的mt是指那一段? |
野蛮人y 发表于 2022-5-13 17:40 没用,进游戏还是没有链枷的动画,还是没明白 触发代码我看了又看 没发现不对的地方 |
| 放到最后一个括号前就行 |
野蛮人y 发表于 2022-5-13 16:36 两个slot我已经改了,但是游戏里还是没有动画,我猜我大概明白了,是要在每个场景里都加上连枷动画是吗?那这个("flail_head",0,"flail_head","0", []),#锤头的Prop 该加在module_scene_props.py那一段里? 还有那段触发代码是没有问题的吧?要不大佬 你直接把你的修改的所有代码给我看看 我实在是搞不清楚 |
本帖最后由 野蛮人y 于 2022-5-13 16:43 编辑 西蒙.莱利 发表于 2022-5-13 16:25 AGENT SLOTS 那里0-28已经有其他用了,设为30,31试试,是在constants.py文件定义,上面两个是不同的slot,要设不一样,不同内容不能存在一个位置会覆盖掉前面的就没用了; 搜 AI Triggers在lead_charge那个野战场景那里添加引用,试过没问题再在其他战斗场景会出现链枷的也要添加, init_flail_head, |
| 参与人数 1 | 互助 +1 | 收起 理由 |
|---|---|---|
|
| + 1 | 乐于助人! |
野蛮人y 发表于 2022-5-13 15:38 slot_agent_own_flail = 1 slot_agent_flail_id = 1 这2个slot是这样写的吧?大佬 |
野蛮人y 发表于 2022-5-13 15:38 我是个新手,刚照葫芦画瓢学了几天PY,大佬我还是不懂。这是我写进PY里的,我看不出这哪出了问题,请帮我指点一下。 ![]() init_flail_head = ( 0, 0, 0, [], [ (try_for_agents,":agent_no"), (agent_is_alive,":agent_no"), (agent_is_human,":agent_no"), (agent_get_wielded_item, ":item_id", ":agent_no", 0), (eq,":item_id","itm_ba_flail"), (try_begin), (agent_slot_eq, ":agent_no", slot_agent_own_flail, 0), (agent_get_position,pos1,":agent_no"), (set_spawn_position, pos1), (spawn_scene_prop, "spr_flail_head"), (agent_set_slot, ":agent_no", slot_agent_own_flail, 1), (agent_set_slot, ":agent_no", slot_agent_flail_id, reg0), (else_try), (agent_get_slot, ":flail_id", ":agent_no", slot_agent_flail_id), (agent_get_bone_position, pos2, ":agent_no", 19, 1), (agent_get_animation, ":cur_anim", ":agent_no", 1), (position_move_y, pos2,30), (try_begin), (this_or_next|eq,":cur_anim","anim_release_slash_horseback_right"), (this_or_next|eq,":cur_anim","anim_release_slash_horseback_left"), (this_or_next|eq,":cur_anim","anim_release_slashleft_onehanded"), (this_or_next|eq,":cur_anim","anim_release_overswing_onehanded"), (eq,":cur_anim","anim_release_slashright_onehanded"), (prop_instance_deform_to_time, ":flail_id", 1), (prop_instance_animate_to_position, ":flail_id", pos2, 0), (else_try), (prop_instance_deform_to_time, ":flail_id", 0), (agent_get_position,pos3,":agent_no"), (position_copy_origin, pos3, pos2), (position_rotate_x, pos3, -90), (position_rotate_y, pos3, 0), (position_rotate_z, pos3, -35), (prop_instance_animate_to_position, ":flail_id", pos3, 0), (try_end), (try_end), (try_end), ]) |
本帖最后由 野蛮人y 于 2022-5-13 15:48 编辑 西蒙.莱利 发表于 2022-5-12 20:07 我试了下可以啊,就是挥击的时候没有音效没打击感没感觉,应该没有写锤头的碰撞事件,杆被挡住锤头绕过去砸人事件,只是写了杆移动设定锤头动画位置,还有竖着的时候,链条头滑到半杆了,和杆头不连接;照抄你都抄错了; 金帐汉国游戏里也有链枷武器,或许可以提取出里面的动画来试试; 你的错误应该是: 你要在战斗场景添加那个战场场景触发器啊,填,等号前面那个就行,后面加上逗头; |
还是不行,我自己改来改去,弄了半天。我索性按照这位大佬的代码原封不动的照抄,结果更不行![]() |
GMT+8, 2026-1-15 07:02 , Processed in 0.114410 second(s), 34 queries , Gzip On, MemCached On.
Powered by Discuz! X3.4 Licensed
© 2001-2023 Discuz! Team.