骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 战团 城堡大门castle bar gate 落闸斩杀效果

[复制链接]

5

主题

44

回帖

35

积分

扈从

Rank: 2Rank: 2

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

这个代码对多数人而言没用。因在原生单机模式下是不涉及操作开关闸门的。
是向武安定制的整个“立体化攻城系统”中的 其中一部分。因为这块是我写的,所以没在不可公开的独家协定范围内。但拒绝潘德及其相关子mod使用。


脚本代码是这个




#script_use_item    使用物品    架梯 开闸 开关门 等
# INPUT: arg1 = agent_id, arg2 = instance_id
# OUTPUT: none
("use_item", #配合立体攻城系统,把原版脚本修改了[
   (store_script_param, ":instance_id", 1),#使用情况id
(store_script_param, ":user_agent_no", 2),#使用操作者






我的代码是这其中的一段,插入于“降下闸门”的位置。用红色标记出来的部分是新增内容






      (scene_prop_enable_after_time, ":instance_id", 40), # 0.5 seconds #场景道具启用后时间   使用情况id        # 半秒(原版四秒400
(try_begin),
        #     (this_or_next|multiplayer_is_server),
#多人游戏服务器
#(neg|game_in_multiplayer_mode),      #单机关闸
# 启动动画
(prop_instance_get_position, pos0, ":effected_object_instance_id"),#属性实例获取位置 产生对象情况序号(闸门)
(position_move_z, pos0, -375),#下降动画(原始位置,没被改过)
(prop_instance_animate_to_position, ":effected_object_instance_id", pos0, 50), # 半秒关闸门 (原版四秒)速降哐一声就再下来了   道具实例动画到位置


#luozha落闸伤害 瓮海 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓立体化攻城系统
             #(play_sound_at_position,"snd_mangonel_move",pos0),# CCCCCCC pos0位置 播放声音 千斤闸 哐当!
# 获取绞盘 位置 假设 其在每个场景里独一份的
(prop_instance_get_position, pos1, "spr_winch_b"),#获取绞盘 pos位置寄存
(position_get_z,":winch_z", pos1), #从寄存pos位置 获取  高度存到 reg22
            # 复制一份到变量B
(assign, ":kill_deep", ":winch_z"),  # B = 绞盘高度
(val_sub, ":kill_deep", 100),        # B = B - 100(斩杀线)
#遍历agent,用pos13(抬起位置)做距离检测
(try_for_agents, ":atk_agents_no"),# 1. 先遍历所有 agent,检测位置
(agent_is_active, ":atk_agents_no"),
             (agent_is_alive, ":atk_agents_no"),
             (neg|agent_is_defender, ":atk_agents_no"),#加这个就只斩攻城方
(agent_get_position, pos14, ":atk_agents_no"),#获取演员位置
(position_get_z, ":agent_z", pos14),

             (get_distance_between_positions, ":dist_2d",pos0,pos14), #获取 闸门 与 演员 位置距离
(try_begin), # 判断击杀 伤害代码
(le, ":dist_2d", 300),  #  半径 门板内外各N米内的人触发   水平距离判断
(lt,":agent_z",":kill_deep"),  #判断 绞盘 高度 下 1斩杀
(set_show_messages, 0),
                 (agent_deliver_damage_to_agent, ":atk_agents_no", ":atk_agents_no", 99999),# 直接击杀 代理施加自杀伤害
(set_show_messages, 1),
                 (str_store_agent_name, s19, ":atk_agents_no"), #信息提示
(display_message, "@Portcullis smash killed {s19}!",0xFFFF0000),  # 闸门砸死了{s19}!   红色 ,0xFFFF0000
(try_end), # 伤害代码
(try_end),#遍历 try_for_agents 结束
#落闸伤害 瓮海 ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑立体化攻城系统
(try_end),



          (scene_prop_set_slot, ":instance_id", scene_prop_open_or_close_slot, 0),#使用情况id#场景道具_千斤闸开关插槽


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

本版积分规则

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

GMT+8, 2026-7-31 05:51 , Processed in 0.101834 second(s), 19 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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