zhuc1977 发表于 2009-2-18 12:24:54

关于生物特长英雄的问题

控制英雄特长的erm里,对于生物特长英雄,其加强的函数如下:
!?FU836;
!!IF:Wx4;
!!VRw28:Sx1;
!!VRw29:Sx2;
!!VRw30:Sx3;
!!HEx4&w28>0/w28<1000:Mw28/1;          //give spell
!!VRw31&w28>0/w28<1000:S0;
!!VRw32&w28>0/w28<1000:Sx5;
!!FU803&w28>=1000/w28<2000:Px4/0;      //monster specialists boost
!!UN:P3/?y1;               TOBYN: changed unused v430 with check for commanders enabled and added control below
!!COx4&w28=2012/x4>=0/y1=1:B1/12/1;    //commanders of Intelligence heroes have DeathStare
!!COx4&w28=2008/x4>=0/y1=1:B1/4/1;   //commanders of Ballista heroes can shoot
!!COx4&w28=2002/x4>=0/y1=1:B1/8/1;   //commanders of Navigation heroes can fly
!!FU806&w28>=0:Px4/0;      //init hint for speciality
!!UN&w28>=0:G2/x4/2/405;   TOBYN: added check to be able to circumvent HSB (if lead var w28<0)

!?FU804;
;x1 = number of hero
;x2 = next level advance (1 = attack will +1, 2 = defense will +1 see HL-1 trigger code above)
;do not change v426 and v427
!!FU$GetBasicPrim$:Px1/?v430/?v431/?y99/?y100; // get basic attribs (do not use HE:F because it returns sometimes
**                                             // negative values and does not work with the Enhanced (Commander-)artifacts
!!VRv430&x2=1:+1;                      //take account of next level advances
!!VRv431&x2=2:+1;
!!VRw31:Sv430;
!!VRw32:Sv431;
!!HEx1:E?v429/?v428;                   //v428=level of hero             TOBYN: this v429 is useless
!!VRw30:Sv428*3+12;                  //Additional percent to HP = 12+3*level of hero
!!VRw30|w29=62/w29=56:S0;   
!!MA:Lw29/?v430;                                                      TOBYN: new local 430
!!VRv429:S8-v430;                                                       TOBYN: new local 429
!!VRw28:Sv428:v429+1;                                                   TOBYN: w28 set here
!!VRw28|w29=62/w29=56:S0;
!!HEx1:X4/w29/w31/w32/w28;
!!VRw28:+1000;

!?FU803;                  in: x1=hero number
!!VRy1:Sx1;               TOBYN: changed x3 to y1 because modding x vars now has outside effects
!!VRx1&x1<0:Sx16;         what's this and why?
!!IF:Wx1;
!!FU804&w28>=1000/w28<2000:Px1/x2;   //check that hero is monster spec
!!VRx1:Sy1;

在这里我有两个问题:
1.这个函数中w29是生物类别代码,也就是说是英雄所特长的那个生物的代码,我们知道在游戏中虽然特长生物写的是一个但其实还包括这种生物的升级形   态,但在这个函数中我没有看到类似w29+1的语句,难道是在别的地方定义的吗?又或者是系统默认的?
2.在函数836中调用函数803有这样一句:!!FU803&w28>=1000/w28<2000:Px4/0;也就是说将0代人到函数803中的X2中,而在函数803中并没有对X2进行运算,因此在函数803中调用函数804时将原X2=函数804中的X2,也就是说也=0,这样的话在函数804中如下语句:
!!VRv430&x2=1:+1;                      //take account of next level advances
!!VRv431&x2=2:+1;
似乎没有意义了啊!不知道我的理解对不对,也有可能是系统把函数804中的X2给自动刷新了。

有哪位高手来解答我的疑问呢?非常感谢!

933521 发表于 2009-2-18 13:19:05

看不懂

旋转猫 发表于 2009-2-18 20:18:40

;tu; ;tu;
看不明白……

xianliang1 发表于 2009-3-20 14:05:05

看得我一头雾水啊

slayer_wolf 发表于 2012-1-12 14:43:23

我现在刚好遇到某地图在wog下产生Debug information - Fu804错误。

还提示了hero #114 gave negative attack bonus to the creatures, now compensated

哪位英雄是第114号?还生物特长?

是否就是他导致地图出错呢?

slayer_wolf 发表于 2012-1-12 15:05:58

hero #114居然是维斯特,奶奶得,把他解雇掉就OK了。



H114   bs    Wystan    (维斯特)

http://tieba.baidu.com/f?kz=620418773
页: [1]
查看完整版本: 关于生物特长英雄的问题

捐赠