- 好友
- 0
- 在线时间
- 0 小时
- 最后登录
- 2026-7-30
扈从
 
- UID
- 3319238
- 第纳尔
- 681
- 精华
- 0
- 互助
- 2
- 荣誉
- 1
- 贡献
- 10
- 魅力
- 230
- 注册时间
- 2022-1-28
 鲜花( 18)  鸡蛋( 0)
|
本帖最后由 殇垣 于 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#场景道具_千斤闸开关插槽
|
|