骑士不怕长枪 发表于 2003-7-18 17:06:31

如何象英雄一样加血而不超出上限……

在“帝国新技术集合V1.1”里的“当前生命力相关效果”里有说到
“3221225472:
此数值以上将会加血!!
让该目标ㄉ血高过最大值!!


但我在测试是就发现,如果把“3221225472”加一或减一,改成“3221225473”或“3221225471”。测试出来,单位的血是一样的。换“3221225472”以上的数值,也会出现把几个数归为一个数???

那我就推断(以下要用到数学术语),在某个区间内,几个数会被归为一个数。那么,这个区间的结尾应该是变为负数,而开头,则应该是正常的数字(也就是1+1=2而不是1+1=1或3)而且,正常的数字应该比这个区间小。

有人会问,这样又有什么用?
当我们把原数值加到这个区间时,以后的数值会被归为一个数,然后再还原为原数值。那么,我们的血上限问题,不是可以解决……hahahaha……

经过一个多小时的测试,这个连接正常区间与异常区间的点就是16777216(4278190080)。

也就是说,一个0血的单位加上的数 16777216(4278190080)≤N≤16777217(4278190079),就会被归为16777216(4278190080)……

而这个区间只有2个整数(废话)。那么,刚好可以用来解决象英雄一样加血而不超出上限……hahahahaha……



而异常区间之间又分为很多的子区间,比如说,……而数值越大,子区间越大。但是,不可以用在吃药上,真是可惜……

狂~劇情狂 发表于 2003-7-21 02:55:46

我一看本帖时也有和小霖兄不谋而合的想法, 不过要玩家等50秒(或以上)似乎太不友
善了....

小霖的ID 发表于 2003-7-22 00:21:03

英雄补血也要等很久时间啊!我的方法可以做成英雄补血,而吃药的方法就是一次性补一定量的血,只要用一次这样的触发就行了。


[此贴子已经被作者于2003-7-21 12:21:16编辑过]

天使归来 发表于 2003-7-18 17:39:33

晕........
也就是说,用"改变对象生命值"输入16777216
那么生命就会上升??
我怎么越听越糊涂了
你直接说输入多少会上升

天使归来 发表于 2003-7-18 17:50:12

我去试试

天使归来 发表于 2003-7-18 18:24:41

算了,我下了看看

骑士不怕长枪 发表于 2003-7-18 22:22:51

晕我?!!!狂晕........

拜托!!你到底有没有看清楚啊……我是加到16777216的时候就进入异常区间,也就是一个0血的单位“损害目标=4278190080”,也可以用-16777216。

_CCC_大智 发表于 2003-7-19 10:09:13

可以写出触发吗?SCX的一碰就没了,而且我们又不是数学天才,我才读初中哦


[此贴子已经被作者于2003-7-19 10:10:30编辑过]

天使归来 发表于 2003-7-19 13:19:32

你把触发的名字放进去就可以了

小霖的ID 发表于 2003-7-19 14:10:27

什么意思啊?…………

是不是说:设单位的血上限为X,
然后用损坏目标“-16777216+X”就可以使单位的血满?

天使归来 发表于 2003-7-19 14:27:26

他是说这个触发能使普通单位的血一点一点上升而不超过上限

PS:我真是越来越佩服骑士兄了

骑士不怕长枪 发表于 2003-7-19 18:14:03

大智、小霖:看不懂的东西,应该多看几次吗……我好象已经说的很详细啦……至少,不会全部都不懂吧^_^

我再说一次,当单位的生命值(不是“生命上限”)被加到大于16777216,就会出现奇怪的现象,你无法把单位生命值加到16777217、16777219、16777221……也就是说,用触发把单位的生命值加到16777217时会变成16777216,加到16777219会变成16777218……

英雄的加血是一次加1。当我们用一般的触发加1生命值,我们会担心单位会不会超出生命上限。
假设单位的生命上限是100,生命值是99。那么,如果我们加1生命值,再生命加上16777116(16777216 - 100生命上限),然后,减掉16777116,那么生命值是100。
假设单位的生命上限是100,生命值是100。那么,如果我们加1生命值,再生命加上16777116,本来是1+16777116+100=16777217,但却=16777216,然后,减掉16777116,那么生命值是100。

天使归来 发表于 2003-7-19 18:18:19

你把触发上的三个数值依次写出,我忘了

骑士不怕长枪 发表于 2003-7-19 18:19:41

自己算一下不就知道……

天使归来 发表于 2003-7-19 18:22:02

其实我不理解,但是记住了触发.....给我吧

天使归来 发表于 2003-7-19 18:29:25

我已经记住了,谢

小霖的ID 发表于 2003-7-19 21:23:58

以下是引用小霖的ID在2003-7-19 14:10:27的发言:
什么意思啊?…………

是不是说:设单位的血上限为X,
然后用损坏目标“-16777216+X”就可以使单位的血满?


是不是说:设单位的血上限为X
要加该单位1点血(但不能超过生命上限),
可以先用损坏目标“-1”                ->你说的“我们加1生命值”

再用损坏目标“-16777216+X”      ->你说的“再生命加上16777116(16777216 - 100生命上限)”
而且在这一步,即使生命值加起来是16777217,还是会变成16777216。

然后损坏目标“16777216-X”          ->你说的“然后,减掉16777116”

最后,如果原来单位生命值是X,现在还是X,而如果原来生命值低于X,则生命值+1。

骑士兄是这个意思吗?

天使归来 发表于 2003-7-19 21:33:34

对了,用损坏目标“-1”,然后再循环可以吗

_CCC_大智 发表于 2003-7-19 21:38:14

会超出上限的啊

天使归来 发表于 2003-7-19 21:39:55

会?..........呵呵,不知道啊........不好意思
页: [1] 2 3
查看完整版本: 如何象英雄一样加血而不超出上限……