_MZR_阔比多华 发表于 2007-3-3 08:30:05

什么错位求数啊?

_CCC_大智 发表于 2007-3-3 19:22:51

lingfeng说得太专家级了,听不懂....不是不想用,是不知道怎么用,呵呵
翻了QQ记录,琢磨出来了。测试效果很好,但是不知是不是骑士兄的方法,因为看起来和他的表述有点出入。不管如何,是可以用的了。
真不愧是骑士不怕长枪,非常巧妙地使用了逆向思维:
士兵不能删是吧,那就加。
比如说有13个兵,那我这样写触发:
<STRONG>触发1 </STRONG>条件: 人口 &gt;= 1    效果: 在地图角落建立1人(建立点用256隐藏地形,保证不被堵) 贡品 给玩家2    1黄金 <STRONG>触发2 </STRONG>条件: 人口 &gt;= 11 效果 贡品 给玩家2   1黄金 <STRONG>触发3 </STRONG>条件: 人口 &gt;= 21 效果 贡品 给玩家2   1黄金 ……

然后再加上一个触发:
<STRONG>触发N: </STRONG>条件: 计时器 10秒 效果: 移动物件 256地形中的人 贡品 玩家2——&gt;盖亚   黄金 10
这样,10秒钟内,触发1和2始终激活,贡献10+10=20金,触发3要到第8秒人口达到21时,才激活,那么第8、9、10三秒共给出3点黄金,最后玩家2共得到23黄金,此时触发N扣掉10金给回盖亚,那么就剩13金,正好是所求人口。
最后,再在触发N激活的同时(每10秒),通过数的分解,把玩家2的黄金换算成玩家1扣掉的食物,每点黄金相当于10秒内1个人吃的量,就OK了。
注意:
·如果所有人口都是军事的话,可以用马代替角落那个兵,然后“堆积属性-人口”改为“拥有物件-军事”,马是属于军事单位的,又不占人口,这样人口栏就不会不断变化了。
·数据不稳定来源于单位死亡,如果在数据进位后(如例子中的触发2激活后),有单位死亡,那么就会导致误差。
·10秒作为周期不是必须的,你也可以20秒检测一次,相应的条件效果都要改(理解原理就知道怎么改了),而且这样检测数量的触发可以少一半。如果你想,也可每200秒检测一次,这样2个触发就可以检测出200人口。不过这样可能会太久,而且角落要多出200个单位,容易卡。
·最大误差和周期相同,比如例子中的记数误差不超过10人,如果用100秒为周期,最多误差可达100人。
[此贴子已经被作者于2007-3-3 19:33:31编辑过]

_CCC_大智 发表于 2007-3-3 19:29:34

范例scx

只有检测人数的部分,扣食物的部分用数的分解,比较简单,就不加入了。
以20秒为周期,每20秒通过贡品显示人数,注意看收到的贡品和人口是否一致。只做了80人口的触发。只要人数在80以内,都可以检测出来,可以自己多放些士兵试试。注意,必须是军事单位。

情节剧本 发表于 2007-3-3 19:52:11

大智果然就是大智

lingfeng 发表于 2007-3-3 20:17:04

辛苦大智兄了,我看过骑士的帖子他也曾经说过被错位求数搞昏过。 逆向思维的确是好,可是如果弯转多了还不如用一个一个触发来检测呢
错位求数没研究过…… 以下是运用二进制计算(骑士以前发过文章叫数的分解)


食物消耗系统 超精确支持0-255人口
[∞“累计单位数量129”[∞“累计单位数量128”“消耗食物128x” [∞“累计单位数量65”[∞“累计单位数量64”“消耗食物64x” [∞“累计单位数量33” [∞“累计单位数量32”“消耗食物32x” [∞“累计单位数量17” [∞“累计单位数量16”“消耗食物16x” [∞“累计单位数量9” [∞“累计单位数量8”“消耗食物8x”[∞“累计单位数量5”[∞“累计单位数量4”“消耗食物4x”[∞“累计单位数量3” [∞“累计单位数量2”“消耗食物2x” [∞“累计单位数量1”
[∞“累计单位数量128”“消耗食物128x”] [∞“累计单位数量64”“消耗食物64x”] [∞“累计单位数量32”“消耗食物32x”] [∞“累计单位数量16”“消耗食物16x”] [∞“累计单位数量8”“消耗食物8x”] [∞“累计单位数量4”“消耗食物4x”] [∞“累计单位数量2”“消耗食物2x”] [∞“累计单位数量1”“消耗食物x”]

学过数学的都应该知道 128x+1x=129x吧? 理解ok?


最近刚研究数的分解,发现效果是
[∞“累计xx数量8x”“消耗8x” 贡品8x给] [∞“累计xx数量4x”“消耗4x” 贡品4x给] [∞“累计xx数量2x”“消耗2x” 贡品2x给] [∞“累计xx数量x”“消耗xx” 贡品x给]
这样就会多消耗一个甚至两个资源栏 我提供的可是什么也不占用哦!
这种触发程序还是得靠自己领悟,我能做的也只是这些了。
^_^
[此贴子已经被作者于2007-3-9 7:19:50编辑过]

lingfeng 发表于 2007-3-4 01:48:52


哦了~骑士所谓错位求数应用在吃饭系统上。Map Revealer都不能用。
错位求数de意思是 先加上某些数再减下某些以求到想要的数    呵呵~学会了
   
[此贴子已经被作者于2007-3-4 6:27:54编辑过]

_CCC_大智 发表于 2007-3-4 10:46:36

24,还是不能理解。如果累计单位数量都是指“大于等于”的话,将13人代入你的触发系统:那么激活10[∞“累计单位数量9”               “启动触发20-24”“关闭触发11-15和23” ]然后是20[∞“累计单位数量8”“消耗食物8x”] 21[∞“累计单位数量4”“消耗食物4x”] 22[∞“累计单位数量2”“消耗食物2x”]结果消耗食物(8+4+2)x=14x,和13人不符。如果换成15人,结果还是消耗14x食物。是不是我哪个地方理解错了?还请指教,谢谢   哦了~骑士所谓错位求数应用在吃饭系统上。Map Revealer都不能用。这句话是什么意思?为什么MR不能用?如果按我在21楼给的方法,用MR代替资源栏是完全可以的,只是稍微麻烦一点。

情节剧本 发表于 2007-3-4 11:11:52

大概看懂了,把他拆成单数和双数(不是全部),那么假如是77单位的时候,双数检测76个,去掉76个人的食物消耗,在重新计算,检测到1个,在消耗1个单位的食物,错开,那么触发就大大减小了

_CCC_大智 发表于 2007-3-4 17:23:12

还是没弄清楚。上面写的触发都是按顺序从上到下执行的么?

lingfeng 发表于 2007-3-4 19:37:36

123   
[此贴子已经被作者于2007-3-12 0:51:38编辑过]

lingfeng 发表于 2007-3-17 02:59:08

之前我写的,经过我测试,失败了。数的分解不能应用到单位上。

lingfeng 发表于 2007-3-9 19:45:44

先这样了。 以后写教程吧。1
当初是为了累计单位而创立此触发程序,目前已充分跟我战役某些元素完全融合了。
究竟还能实现那些功能。期待吧。 总之该触发程序可以说是完美数的分解了。


[此贴子已经被作者于2007-3-9 21:20:14编辑过]

guanxin25050 发表于 2007-3-11 15:18:11

怎样才可以做出好的战役啊

_CCC_大智 发表于 2007-3-10 00:35:43

原来第二次发的那些还没有理清楚,又修正了么?为什么新的许多触发只有条件没有效果?PS:最好不要把以前的帖子编辑掉,而是发新帖,不然跟帖人说的话会变得莫名其妙的。编辑用来改改错字什么的就够了。:)

情节剧本 发表于 2007-3-11 15:22:36

增加创新和娱乐

guanxin25050 发表于 2007-3-11 15:51:10

也许是生来就是这样的吧

zwz10101 发表于 2007-3-12 12:55:22

看懂了大智的,LINGFENG的看不懂。

牛肉面 发表于 2007-3-17 00:46:58

扣食物用数的分解不行啊、、总是乱扣、、把触发列出来可以么
页: 1 [2]
查看完整版本: [求助]郁闷错位求数马上就研究出来了,可是、、、