找回密码
 点一下
查看: 1506|回复: 9

那啥,要怎么让单位取消训练兵呢?

[复制链接]
发表于 2008-4-28 19:26:33 | 显示全部楼层 |阅读模式
如题= =bbbb
发表于 2008-4-28 19:28:16 | 显示全部楼层
LZ你说的是WAR3游戏?怎么取消训练兵是么?
回复

使用道具 举报

 楼主| 发表于 2008-4-28 19:39:35 | 显示全部楼层
还是讲得不明白= =
用触发器让一个单位开始训练之后,如果BOSS死亡想设定这个单位立刻取消所有训练专心复活BOSS= =
回复

使用道具 举报

发表于 2008-4-28 19:45:52 | 显示全部楼层
老狼的UI里按ID发布无目标命令里有发布取消(训练、升级、研究)命令
代码是call IssueImmediateOrderById(XXXX, 851976)
XXXX处填的是需要发布命令的单位
回复

使用道具 举报

发表于 2008-4-28 19:53:19 | 显示全部楼层
呃……我不太会做演示,只能用文字说了,希望你能看懂……
首先建立一个触发,事件就是BOSS死亡
然后触发一个判断语句:如果无单位训练,则进入下一动作;如果有单位训练,取消训练单位,进入下一动作
判断语句之后的动作就是复活BOSS
不知道对你有没有帮助……
回复

使用道具 举报

发表于 2008-4-28 19:54:52 | 显示全部楼层
851976其实就是cancel按钮~~

其实由玩家通过点击队列图标而发布的取消训练命令是无法用脚本模拟的~~其实也根本不会触发命令事件而只有取消建造事件~~

而通过触发发布的cancel命令其实相当于玩家通过按下右下方按钮界面角落里的取消按钮~~这种方法只能取消掉队列中最后一个单位的建造~~无法按自己喜好来随意排除队列中任意单位~~

不过鉴于楼主的要求仅仅是清空队列~~因此用触发不断cancel还是可以完成的~~
回复

使用道具 举报

 楼主| 发表于 2008-4-28 20:00:02 | 显示全部楼层
那啥,脚本在触发器中要怎么用呢?
回复

使用道具 举报

发表于 2008-4-28 20:30:22 | 显示全部楼层
自定义代码
回复

使用道具 举报

发表于 2008-4-28 20:30:29 | 显示全部楼层


如下就是连续发布10个取消命令的方法~~



[trigger]
Script
    Events
        Player - Player 1 (Red) skips a cinematic sequence
    Conditions
    Actions
        For each (Integer A) from 1 to 10, do (Actions)
            Loop - Actions
                Set u = 国王祭坛 0001 <gen>
                Custom script:   call IssueImmediateOrderById( udg_u, 851976)
[/trigger]

实际上我刚才的表述有点不标准~~通过jass确实也可以完成抽出队列中任意一单位的效果~~方法是把该单位和其之后的单位全部cancel掉~~然后重新发布建造命令把多去除了的单位加回原有队列~~不过这毕竟和玩家操作的直接取消不同了~~毕竟这样会产生很多多余的命令事件和取消建造事件以及建造事件~~
回复

使用道具 举报

发表于 2008-4-28 20:32:19 | 显示全部楼层
如果你看到上面触发器标签是乱码请改用IE浏览器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-9 17:52 , Processed in 0.046872 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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