找回密码
 点一下
查看: 2246|回复: 17

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

[复制链接]
发表于 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的方法。以下是一个判断单位是否无敌的小函数,一共只有一句,够短吧 :)
[jass]
function IsUnitInvunerable takes unit whichUnit returns boolean
return UnitMakeAbilityPermanent(whichUnit, true, 'Avul')
endfunction
[/jass]

评分

参与人数 1威望 +50 收起 理由
血戮魔动冰 + 50 从密会区转过来的……这可是你自己说的……其实我没看过的……所以其实你可以骗分的…

查看全部评分

发表于 2009-9-3 13:34:23 | 显示全部楼层
没看懂,看来我脑子BREAK了.
回复

使用道具 举报

 楼主| 发表于 2009-9-3 13:37:24 | 显示全部楼层
应该是你的脑子broken了
这是很基础的东西嘛,不管是你的英语还是这个文。当然这个技巧很实用就是了。
回复

使用道具 举报

发表于 2009-9-3 13:41:47 | 显示全部楼层
额,似乎这个方法是过时的,头目后来有过关于无敌判断的帖子,是利用发布只能对无敌使用的技能的命令或者设定只能攻击无敌的单位发布攻击一次来做的

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

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

使用道具 举报

 楼主| 发表于 2009-9-3 14:47:15 | 显示全部楼层
阿。想不到我竟然如此失态。好囧。
回复

使用道具 举报

发表于 2009-9-3 14:56:55 | 显示全部楼层
你的帖子的标题完全是不尊敬头目
回复

使用道具 举报

发表于 2009-9-3 16:36:18 | 显示全部楼层
die ! fool!
回复

使用道具 举报

 楼主| 发表于 2009-9-3 16:41:24 | 显示全部楼层
阿呀……竟然是这样的结果……为什么呢?
回复

使用道具 举报

发表于 2009-9-3 16:41:48 | 显示全部楼层
引用第6楼eff于2009-09-03 16:36发表的  :
die ! fool!
纯翻译
死吧!笨蛋!
回复

使用道具 举报

 楼主| 发表于 2009-9-3 16:53:20 | 显示全部楼层
die! upstairs
回复

使用道具 举报

 楼主| 发表于 2009-9-3 16:55:49 | 显示全部楼层
看到猪头的第一个帖子呐~22楼惊现自不量力帝
回复

使用道具 举报

发表于 2009-9-3 17:09:30 | 显示全部楼层
不是Bvul么?

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

使用道具 举报

 楼主| 发表于 2009-9-3 17:18:31 | 显示全部楼层
唔唔,后面说了是不能的~猪头的第二个链接就是正解了~
唉,竟然把这样早期的东西拿出来,真是的
回复

使用道具 举报

发表于 2009-9-3 19:59:08 | 显示全部楼层
某人沦落到跟我一样的BREAK了.
回复

使用道具 举报

 楼主| 发表于 2009-9-3 20:22:43 | 显示全部楼层
更正broken
回复

使用道具 举报

发表于 2009-9-4 04:10:59 | 显示全部楼层
所以你看,我那帖子在密会区。

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

使用道具 举报

发表于 2009-9-4 04:22:07 | 显示全部楼层
- -我以前都是使用类似handle那样连接数
判断数是否0来决定无敌的。。。。。
回复

使用道具 举报

发表于 2009-9-5 17:41:42 | 显示全部楼层
至少研究精神是需要发扬, 值得肯定的.
LZ带来了不同的方法.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 14:46 , Processed in 0.236445 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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