找回密码
 点一下
查看: 2718|回复: 21

如何编写自定义对战地图胜负判断(T类触发问题)

[复制链接]
发表于 2010-8-2 16:44:30 | 显示全部楼层 |阅读模式
序:本人编辑的娜迦地图,是让娜迦成为第五种族,而非替换其中种族的对战地图,同时本图属于可多人连线地图,问题如下:
问题一、使用T触发中(对战游戏——强制胜利/失败条件),会出现没有城镇大厅类建筑,会在2分钟之类暴露你的行踪给敌方,如何解决?
问题二、不用问题一中的方法,本人用T编辑失败判定,存在一个纠结的问题,如下图:
1.jpg
红色框中的内容不是游戏所需要的,如何去除这部分内容。就是要实现条件为盟友内所有单位死亡,判定友方失败。
问题三、如何判定所有敌方失败(所有敌对的N个联盟都失败),己方盟友胜利?
                                                            求T触发解决方案  恭候给为高人解答!!!


补充:其次本人不懂得JASS语言,若果T不能做出正确的胜负判断,那么拜托哪位高人帮忙做个JASS语言,或者是触发代码
发表于 2010-8-2 16:49:54 | 显示全部楼层
游戏 - 失败
回复

使用道具 举报

发表于 2010-8-2 17:02:01 | 显示全部楼层
[trigger]
A01
    事件
        单位 - 任意单位 死亡
    条件
        ((属于 (触发玩家) 的所有单位) 中所有单位死亡) 等于 TRUE
    动作
        玩家组 - 选取 (所有符合 (((匹配玩家) 是 (触发玩家) 的敌人) 等于 FALSE) 的玩家) 内所有玩家做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        ((属于 (选取玩家) 的所有单位) 中所有单位死亡) 等于 FALSE
                    Then - 动作
                        跳过剩余动作
                    Else - 动作
        玩家组 - 选取 (所有符合 (((匹配玩家) 是 (触发玩家) 的敌人) 等于 FALSE) 的玩家) 内所有玩家做动作
            Loop - 动作
                游戏 - 设置 (选取玩家) 失败并显示失败信息: 失败!
[/trigger]
[trigger]
A02
    事件
        单位 - 任意单位 死亡
    条件
        ((属于 (触发玩家) 的所有单位) 中所有单位死亡) 等于 TRUE
    动作
        玩家组 - 选取 (所有符合 (((匹配玩家) 是 ((凶手单位) 的所有者) 的敌人) 等于 TRUE) 的玩家) 内所有玩家做动作
            Loop - 动作
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        ((属于 (选取玩家) 的所有单位) 中所有单位死亡) 等于 FALSE
                    Then - 动作
                        跳过剩余动作
                    Else - 动作
        玩家组 - 选取 (所有符合 (((匹配玩家) 是 ((凶手单位) 的所有者) 的敌人) 等于 FALSE) 的玩家) 内所有玩家做动作
            Loop - 动作
                游戏 - 设置 (选取玩家) 胜利(显示 胜利对话框, 显示 计分屏)
[/trigger]
回复

使用道具 举报

发表于 2010-8-2 17:27:17 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2010-8-2 19:55:25 | 显示全部楼层
多谢楼上两位,但是两种方法都有缺陷,不足用,但都给了我一点启发,谢谢,继续等待更好答案
回复

使用道具 举报

发表于 2010-8-2 20:41:09 | 显示全部楼层
缺陷???
好吧,你继续等。
回复

使用道具 举报

 楼主| 发表于 2010-8-3 11:55:36 | 显示全部楼层
对a595.....和希瓦的帮助表示由衷的感谢,但是,在这里指出为什么我没有采用二位的方法:
第一、a595.....的方法存在2个问题
1、如果杀死某联盟组中最后单位的凶手是野外中立单位,触发将如何判断,势必,触发会无视事件发生,从而产生某联盟全军覆没,但仍未失败留在游戏中;
2、该方案无法取得联盟一起失败和只打败其中一个敌人便所有友军胜利的BUG,无论是完全照搬a595...的方法,还是稍作调整,都存在这个BUG;
第二、希瓦的方法,利用时间差做的这个触发,相当优秀,可是也存在两个问题
1、判断单位类型那里,只能判断是城镇大厅,如果非人类的其他种族,是不是就不可以替换了呢(或者人类的城镇大厅就能代表兽人的大厅、精灵的古树、亡灵的墓地,不得而知)?
2、就是要等待2秒才能换种族,在局域网里看起来有点囧
不过整体说来,两个触发各有有点,都相当不错,只是用在我这张要求可以在局域网里对战地图来说,不够用啊
回复

使用道具 举报

发表于 2010-8-3 12:24:23 | 显示全部楼层
1、如果杀死某联盟组中最后单位的凶手是野外中立单位,那联盟组也是会失败的吧。。。。。那触发是由判断玩家胜利与判断玩家失败2个触发组成,而判断失败的触发只判断了那个联盟组里所有单位有没有死光,如果全部都死了的话那么就判断它失败,似乎没牵扯到凶手单位,因此不管谁杀的都会算作失败。。。。。。。倒是只剩下2个联盟组时中立单位砍掉了一个的话那么另一个就不会胜利了。。。。。
2、看不懂。。。。。可以详细点么,看看我能不能改进。。
回复

使用道具 举报

 楼主| 发表于 2010-8-3 13:40:05 | 显示全部楼层
回楼上,就是,按照你那个设置,我也认为逻辑上没有问题,关键是在地图局域网(我家两台电脑上)测试中,但总是有联盟中其中一个玩家所有单位死亡后,而盟友还没死光(呵呵,用这个词!!!)该玩家就显示失败退出,不能继续游戏
回复

使用道具 举报

发表于 2010-8-3 14:52:59 | 显示全部楼层
1、判断单位类型那里,只能判断是城镇大厅,如果非人类的其他种族,是不是就不可以替换了呢(或者人类的城镇大厅就能代表兽人的大厅、精灵的古树、亡灵的墓地,不得而知)?
2、就是要等待2秒才能换种族,在局域网里看起来有点囧
我晕,你要替换其他种族难道你不会改改?
至于等待两秒。。你难道不会两秒时消除一遍。。。

好吧,既然你不需要完美模拟,那么用你楼顶的触发也可以。
将那句触发换成:
     整数—单位组(满足 匹配单位 是 触发玩家的盟友 的地图内的所有单位)的单位数量 等于 0
回复

使用道具 举报

发表于 2010-8-3 15:03:59 | 显示全部楼层
再次改进.....
[trigger]
A01
    事件
        单位 - 任意单位 死亡
    条件
        (((可用地图区域) 内满足 (((匹配单位) 是 ((触发单位) 的所有者) 的敌对单位) 等于 FALSE) and((匹配单位) 是死亡的 ) 等于 TURE) 中的单位数量) 等于 0
    动作
        玩家组 - 选取 (所有 ((触发单位) 的所有者) 的联盟玩家) 内所有玩家做动作
            Loop - 动作
                游戏 - 设置 (选取玩家) 失败并显示失败信息: 失败!
[/trigger]
[trigger]
A02
    事件
        单位 - 任意单位 死亡
    条件
        (((可用地图区域) 内满足 (((匹配单位) 是 ((凶手单位) 的所有者) 的敌对单位) 等于 TRUE)and((匹配单位) 是死亡的 ) 等于 TURE)  中的单位数量) 等于 0
    动作
        玩家组 - 选取 (所有 ((凶手单位) 的所有者) 的联盟玩家) 内所有玩家做动作
            Loop - 动作
                游戏 - 设置 (选取玩家) 胜利(显示 胜利对话框, 显示 计分屏)
[/trigger]
回复

使用道具 举报

 楼主| 发表于 2010-8-3 16:47:34 | 显示全部楼层
希瓦,你去打开触发器找找,实数里面有单位组这个选项吗?
回复

使用道具 举报

发表于 2010-8-3 17:05:13 | 显示全部楼层
.....好吧,整数单位里面的......
回复

使用道具 举报

 楼主| 发表于 2010-8-3 23:05:28 | 显示全部楼层
呵呵,我无语了,a595.....的触发在逻辑上我看没什么问题,但不知道为什么每个触发都出现悲剧,a595.....最后写的触发,在游戏中居然毫无反应,真的无语了,暴雪搞的这些游戏,究竟是我玩游戏,还是被游戏玩啊.........
回复

使用道具 举报

发表于 2010-8-3 23:21:52 | 显示全部楼层
。。你那样写会算上野怪的。。
回复

使用道具 举报

发表于 2010-8-4 13:50:26 | 显示全部楼层
老狼UI上说敌对单位不包括中立啊.......
倒是说盟友单位包括中立........
混乱了.....
回复

使用道具 举报

发表于 2010-8-4 14:12:43 | 显示全部楼层
盟友会包括“中立 被动”
敌人会包括“中立 敌对”
回复

使用道具 举报

 楼主| 发表于 2010-8-5 13:07:59 | 显示全部楼层
难怪,看是逻辑合理的触发,在游戏当中毫无反应
回复

使用道具 举报

发表于 2010-8-5 13:32:44 | 显示全部楼层
经过多次测试终于发现忘记判断单位是否存活了,于是将10L编辑了下,这次应该可以了.........
竟然会犯这种错误,郁闷啊......
另外
编辑掉了....
回复

使用道具 举报

发表于 2010-8-5 13:51:00 | 显示全部楼层
引用第18楼a595859893于2010-08-05 13:32发表的  :
经过多次测试终于发现忘记判断单位是否存活了,于是将10L编辑了下,这次应该可以了.........
竟然会犯这种错误,郁闷啊......
另外

貌似不是这样的.....
不信你试试

a.w3x

15 KB, 下载次数: 7

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-28 12:20 , Processed in 0.253192 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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