alexries 发表于 2009-9-3 13:29:07

[头目]判断单位是否无敌的完美方法口牙

阿额……因为仓库放了一个备份所以提示不许重复发帖了……
其实这个帖子是很久很久之前发在密会区的呢。06年的。所以为了大众就转帖出来了,用手机弄这些文字你们知道有多痛苦嘛……
之下正文。
其一:发现无论是用T令单位无敌,还是单位拥有无敌这个技能,其实2者本质是一样的。即用T令单位无敌其实是靠给单位添加无敌技能所实现的。
其二:发现无敌技能的拷贝版本是无效的。即,所有以无敌技能作为模版创建的新技能全都无法令单位无敌。只有原版无敌,即'Avul'才有效。
综合以上2条发现,就可以得出以下结论单位的无敌等效于它拥有无敌(Avul)技能于是,现在就有了一个非常简单又准确的判断单位是否无敌的方案。即判断其是否拥有无敌(Avul)技能。
关于如何判断一个单位是否拥有某个技能的方法,我以前在DDWE的每日帖士里提到用DDWE的Make Ability Permanent的Function版本就可以做到
以下就是用DDWE判断一个单位是否无敌的方法:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Successful: ForXXXset ability state to Permanent for ability 无敌 Equal to True
Then - Actions
Debug - Debug 该单位处于无敌状态
Else - Actions
XXX部分用想要判断的单位替代,解决!
应该说,判断一个单位是否拥有某个技能,用Make Ability Permanent是最合适的。但是普通版本的WE并没有这个触发,不过由于无敌这个技能生效的时候,其技能等级必不为0,所以还有这个可以变通的法子:
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of 无敌 forXXX) Greater than or equal to 1
Then - Actions
Game - Display to (All players) the text: 该单位处于无敌状态
Else - ActionsXXX
部分用想要判断的单位替代,这样也可以判断单位是否无敌,不过要注意的是:并非所有的技能都可以用这个方法来判断其是否存在于某单位身上,比如,“攻击”这个技能存在于绝大部分单位身上,但是其默认等级为0级,因此就不能用判断等级的方法判断了,这时候一样要用Make Ability Permanent的方法。以下是一个判断单位是否无敌的小函数,一共只有一句,够短吧 :)

function IsUnitInvunerable takes unit whichUnit returns boolean
return UnitMakeAbilityPermanent(whichUnit, true, 'Avul')
endfunction

八不戒 发表于 2009-9-3 13:34:23

没看懂,看来我脑子BREAK了.

alexries 发表于 2009-9-3 13:37:24

应该是你的脑子broken了
这是很基础的东西嘛,不管是你的英语还是这个文。当然这个技巧很实用就是了。

zhuzeitou 发表于 2009-9-3 13:41:47

额,似乎这个方法是过时的,头目后来有过关于无敌判断的帖子,是利用发布只能对无敌使用的技能的命令或者设定只能攻击无敌的单位发布攻击一次来做的

http://bbs.islga.org/read-htm-tid-11174.html
http://bbs.islga.org/read-htm-tid-11178.html

第一个链接中间某帖被某人删掉了,所以读起来可能不通顺

alexries 发表于 2009-9-3 14:47:15

阿。想不到我竟然如此失态。好囧。

xiaojiao 发表于 2009-9-3 14:56:55

你的帖子的标题完全是不尊敬头目

eff 发表于 2009-9-3 16:36:18

die ! fool!

alexries 发表于 2009-9-3 16:41:24

阿呀……竟然是这样的结果……为什么呢?

xiaojiao 发表于 2009-9-3 16:41:48

引用第6楼eff于2009-09-03 16:36发表的:
die ! fool! http://bbs.islga.org/images/back.gif

纯翻译
死吧!笨蛋!

alexries 发表于 2009-9-3 16:53:20

die! upstairs

alexries 发表于 2009-9-3 16:55:49

看到猪头的第一个帖子呐~22楼惊现自不量力帝

thewisp1 发表于 2009-9-3 17:09:30

不是Bvul么?

你这样能判断出无敌药水么?

alexries 发表于 2009-9-3 17:18:31

唔唔,后面说了是不能的~猪头的第二个链接就是正解了~
唉,竟然把这样早期的东西拿出来,真是的

八不戒 发表于 2009-9-3 19:59:08

某人沦落到跟我一样的BREAK了.

alexries 发表于 2009-9-3 20:22:43

更正broken

麦德三世 发表于 2009-9-4 04:10:59

所以你看,我那帖子在密会区。

密会区里的帖子都是"仅供参考"的。

nikki 发表于 2009-9-4 04:22:07

- -我以前都是使用类似handle那样连接数
判断数是否0来决定无敌的。。。。。

刀锋战士 发表于 2009-9-5 17:41:42

至少研究精神是需要发扬, 值得肯定的.
LZ带来了不同的方法.
页: [1]
查看完整版本: [头目]判断单位是否无敌的完美方法口牙