找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 446|回复: 5

一种实现指定地点对话选择的功能的笨方法

[复制链接]
发表于 2024-2-15 16:44:37 | 显示全部楼层 |阅读模式
此方法所需平台:Ares、Phobos


①代码方面
1.写一个单位投放类型的超武,利用触发结果34[重复添加超武]使其一直可以使用,下文称为“开始对话”超武。
这个超武需要设置这些:SW.UseAITargeting=yes、SW.AITargeting=NoTarget。至于其csf的设置,就用“开始对话”即可。
2.写个虚拟投放建筑,我们称作虚拟A,然后再写两个超武(如果你想让选项多一些,那就多创建几个),下文称为“选项A”和“选项B”。
这两个超武都需要有:SW.UseAITargeting=yes、SW.AITargeting=NoTarget、LimboKill.IDs=虚拟A
其中LimboKill.IDs的设置是为了实现当点击其中一个选项超武后,另一个消失。
回到刚刚的虚拟A,添加上SuperWeapons,挂上“选项A”和“选项B”。


为了实现在玩家没有到达指定地点时,点击该超武不会有任何效果,我们需要按照以下步骤做:
1.创建一个触发,我们称为触发A,设置重复类型。设置触发条件1[进入事件],在指定位置铺上单元标记,然后触发结果设置56[设置局部变量],我们将该变量称为X。
2.创建第二个触发,我们称为触发B,重复触发A的操作,但是单元标记要铺在上一个触发的单元标记外围,触发结果设置57[清除局部变量],值设为变量X。
这样我们就可以简单实现进入位置时变量X为1,离开时变量X为0,


1.创建一个变量Y,这个变量是用于检测我们这次对话是否已经进行过的(也可以用于在该地点第二次点击对话时跳出新的选项,自行研究)。
2.创建触发C,这个触发不需要设置重复类型。触发条件有:变量X为1,变量Y为0,75[超级武器被释放],其中超武被释放的值设置为“开始对话”超武。
触发结果则是:36[更改玩家所属](值任意,这是为了不让玩家移动单位)  125[将建筑建于](建筑设置为虚拟A,路径点随便弄个在地图边界的)


接下来创建触发D和E,条件都设置为75[超武被释放],分别设置“选项A”和“选项B”,触发结果就由你自由发挥了,不过最后记得加上把玩家的单位所属方改回来的触发结果。

以上是比较粗糙的思路和简化过的版本,而进阶版本请在B站参考视频:BV1gu4y1V7jJ
发表于 2024-2-15 17:25:18 来自手机 | 显示全部楼层
选择一个对话不需要太复杂的逻辑,将多个超武挂载到同一建筑上,触发修改建筑所属就行,这样就不需要ares;条件可以改成科技类型存在,超武在地图上投放隐形单位然后自毁;如果纯原版的话,可以科技类型存在+建造防御建筑,缺点是会显示价格,以及造防御时没法使用
回复

使用道具 举报

发表于 2024-2-15 17:27:34 来自手机 | 显示全部楼层
囧韓方序囧 发表于 2024-2-15 17:25
选择一个对话不需要太复杂的逻辑,将多个超武挂载到同一建筑上,触发修改建筑所属就行,这样就不需要ares; ...

说错了是不需要phobos
回复

使用道具 举报

 楼主| 发表于 2024-2-15 20:02:37 | 显示全部楼层
囧韓方序囧 发表于 2024-2-15 17:25
选择一个对话不需要太复杂的逻辑,将多个超武挂载到同一建筑上,触发修改建筑所属就行,这样就不需要ares; ...

这我倒没想到,只能说我这个确实笨方法233
我觉得对话功能能做的机制挺多的,甚至RPG都可以搞一个
回复

使用道具 举报

发表于 2024-2-15 20:34:35 来自手机 | 显示全部楼层
zixiany 发表于 2024-2-15 20:02
这我倒没想到,只能说我这个确实笨方法233
我觉得对话功能能做的机制挺多的,甚至RPG都可以搞一个 ...

如果做一个程序自动生成触发和ini的话感觉还可以,不然纯手搓太抽象了
回复

使用道具 举报

发表于 2024-2-27 13:49:44 来自手机 | 显示全部楼层
奎秃斯0触发也能做到
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛

GMT+8, 2024-7-16 01:29 , Processed in 0.048874 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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