佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 2288|回复: 5

脚本冲突问题

[复制链接]
  • TA的每日心情
    无聊
    2016-8-14 22:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    353

    回帖

    7029

    金币

    1

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    2052

    退役版主社区QQ达人

    发表于 2017-11-6 01:13:42 | 显示全部楼层 |阅读模式
    最近发现两个个人非常喜欢的脚本互相冲突,想问下论坛上高手脚本冲突的情况下如何修改另他们能够共存。
    一个脚本来自贤知有您大大的修复<驱散力盾和火墙后崩溃>BUG,源码为:
    1. ZVSE
    2. **007修复驱散力盾和火墙崩溃BUG
    3. !?BR&v997>-1;[回合前触发]
    4. !!BU:T?y1;
    5. !!FU&y1=1:E;[非布阵状态]
    6. !!FU9999905:P;
    7. !?FU9999905;
    8. !!UN:C6919200/4/?y1; [战场内存]
    9. !!VRy2:Sy1 +81244;
    10. !!VRy3:Sy1 +81248;
    11. !!UN:Cy2/4/?y11;
    12. !!UN:Cy3/4/?y12;
    13. !!VRy12:-24;
    14. !!DO9999906/y11/y12/24:P;
    15. !?FU9999906;
    16. !!VRx1:Sx16 +16;
    17. !!VRx2:Sx16;
    18. !!UN:Cx1/4/?y1;
    19. !!UN:Cx2/4/?y2;
    20. !!UN&y1>0/y2=0:Cx1/4/0;
    复制代码
    另一个脚本来自
    XEricSin大大的XEricMods,源码为
    1. ZVSE
    2. **守城方每回合可以紧急征召一队城里未招募的士兵
    3. **征召需要花钱,但是战后不保留部队
    4. **v5242 current round summon done
    5. **FU29423-29425

    6. !?BR&v997>-1;
    7. !!VRv5242:S0;

    8. 战斗时右键点击主箭塔下方,CM触发询问。
    9. !?CM4&v5242=0;
    10. !!CM:D?y1 S?y2;
    11. !_!IF:L^D=%Y1 S=%Y2^;
    12. !!FU&y2<>14:E; //按右键
    13. !!FU&y1<>-1/y1<>118/y1<>135/y1<>152:E; //战场周边和箭塔下方位置

    14. 检测是否是攻城 防守方是否AI
    15. 如果不是攻城则退
    16. 如果是AI则退
    17. 如果是人则询问是否买部队
    18. !!BA:S?y3 Od/?y4;
    19. !!OW:Iy4/?y5;
    20. !!FU&y3=0:E;
    21. !!FU|y4=-1/y5=1:E;

    22. //setup conversation box//
    23. !!OW:Ry4/0/?y10;
    24. !!OW:Ry4/1/?y11;
    25. !!OW:Ry4/2/?y12;
    26. !!OW:Ry4/3/?y13;
    27. !!OW:Ry4/4/?y14;
    28. !!OW:Ry4/5/?y15;
    29. !!OW:Ry4/6/?y16;
    30. !!VRz1:S^选取你要紧急征召的部队,每回合只能招一支部队,战后不保留。
    31. 你有:【%Y16黄金】,【%Y10木材】,【%Y12矿石】,
    32. 【%Y11水银】,【%Y13硫磺】,【%Y14水晶】,【%Y15宝石】^;
    33. !!VRz2:S^招未升级生物^;
    34. !!VRz3:S^招单个生物^;
    35. !!DO29423/0/6/1:P; //setup creatures available
    36. !!IF:G0/1/0/1/2/3/4/5/6/7/8/9/10;

    37. !!VRy8:Sv1&1; //non-upgraded?
    38. !!VRy9:Sv1&2; //single recruit
    39. !!VRy10:Sv1&4; //check single creatures
    40. !!VRy11:Sv1&8;
    41. !!VRy12:Sv1&16;
    42. !!VRy13:Sv1&32;
    43. !!VRy14:Sv1&64;
    44. !!VRy15:Sv1&128;
    45. !!VRy16:Sv1&256;

    46. //从高级到低级检测要招募的生物, 检测费用,决定招募数量,扣除资源和生物

    47. !!CA998:T?y17;
    48. !!if&y16>0:;
    49.   !!CA998:B3/43;
    50.   !!VRy18:S0;
    51.   !!VRy18&1:S1-y8;
    52.   !!UN:Ty17/6/y18/?y26; //monster type
    53.   !!FU29424:Py26/6/y9; //buy y26 /level 6/single recruit
    54.   !!FU:E;
    55. !!en:;
    56. !!if&y15>0:;
    57.   !!CA998:B3/42;
    58.   !!VRy18:S0;
    59.   !!VRy18&1:S1-y8;
    60.   !!UN:Ty17/5/y18/?y25; //monster type
    61.   !!FU29424:Py25/5/y9; //buy y25
    62.   !!FU:E;
    63. !!en:;
    64. !!if&y14>0:;
    65.   !!CA998:B3/41;
    66.   !!VRy18:S0;
    67.   !!VRy18&1:S1-y8;
    68.   !!UN:Ty17/4/y18/?y24; //monster type
    69.   !!FU29424:Py24/4/y9; //buy y24
    70.   !!FU:E;
    71. !!en:;
    72. !!if&y13>0:;
    73.   !!CA998:B3/40;
    74.   !!VRy18:S0;
    75.   !!VRy18&1:S1-y8;
    76.   !!UN:Ty17/3/y18/?y23; //monster type
    77.   !!FU29424:Py23/3/y9; //buy y23
    78.   !!FU:E;
    79. !!en:;
    80. !!if&y12>0:;
    81.   !!CA998:B3/39;
    82.   !!VRy18:S0;
    83.   !!VRy18&1:S1-y8;
    84.   !!UN:Ty17/2/y18/?y22; //monster type
    85.   !!FU29424:Py22/2/y9; //buy y22
    86.   !!FU:E;
    87. !!en:;
    88. !!if&y11>0:;
    89.   !!CA998:B3/38;
    90.   !!VRy18:S0;
    91.   !!VRy18&1:S1-y8;
    92.   !!UN:Ty17/1/y18/?y21; //monster type
    93.   !!FU29424:Py21/1/y9; //buy y21
    94.   !!FU:E;
    95. !!en:;
    96. !!if&y10>0:;
    97.   !!CA998:B3/37;
    98.   !!VRy18:S0;
    99.   !!VRy18&1:S1-y8;
    100.   !!UN:Ty17/0/y18/?y20; //monster type
    101.   !!FU29424:Py20/0/y9; //buy y20
    102.   !!FU:E;
    103. !!en:;


    104. !?FU29423; //编辑对话框生物信息
    105. !!VRy6:S-1;
    106. !!VRy7:S-1;
    107. !!CA998:M1/x16/?y6/?y7 T?y8;
    108. !!UN&y6>-1:Ty8/x16/0/?y20; //monster type
    109. !!UN&y7>-1:Ty8/x16/1/?y20; //monster type
    110. !!UN:N3/301/y20/1; //monster name
    111. !!VRz301:M4/?y19; //length
    112. !!VRz300&y19=2:S^【___%Z301___】^ ;
    113. !!VRz300&y19=4:S^【__%Z301__】^;
    114. !!VRz300&y19=6:S^【_%Z301_】^;
    115. !!VRz300&y19=8:S^【%Z301】^;
    116. !!VRy21:S0; //other resource type
    117. !!VRy22:S0; //other resource amount
    118. !!MA&y22=0:Cy20/0/?y22;
    119. !!VRy21&y22=0:S1;
    120. !!MA&y22=0:Cy20/1/?y22;
    121. !!VRy21&y22=0:S2;
    122. !!MA&y22=0:Cy20/2/?y22;
    123. !!VRy21&y22=0:S3;
    124. !!MA&y22=0:Cy20/3/?y22;
    125. !!VRy21&y22=0:S4;
    126. !!MA&y22=0:Cy20/4/?y22;
    127. !!VRy21&y22=0:S5;
    128. !!MA&y22=0:Cy20/5/?y22;
    129. !!VRy21&y22=0:S6;
    130. !!MA:Cy20/6/?y23; //gold
    131. !!VRy1:Sx16+1;
    132. !!VRy2:Sx16+4;
    133. !!if&y7=0:;
    134. !!VRzy2&y21=0:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金,%Y22木材^;
    135. !!VRzy2&y21=1:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金,%Y22水银^;
    136. !!VRzy2&y21=2:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金,%Y22矿石^;
    137. !!VRzy2&y21=3:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金,%Y22硫磺^;
    138. !!VRzy2&y21=4:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金,%Y22水晶^;
    139. !!VRzy2&y21=5:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金,%Y22宝石^;
    140. !!VRzy2&y21=6:S^招%Y1级生物%Z300,共%Y6个,未升级,单价%Y23黄金^;
    141. !!el:;
    142. !!VRzy2&y21=0:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金,%Y22木材^;
    143. !!VRzy2&y21=1:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金,%Y22水银^;
    144. !!VRzy2&y21=2:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金,%Y22矿石^;
    145. !!VRzy2&y21=3:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金,%Y22硫磺^;
    146. !!VRzy2&y21=4:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金,%Y22水晶^;
    147. !!VRzy2&y21=5:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金,%Y22宝石^;
    148. !!VRzy2&y21=6:S^招%Y1级生物%Z300,共%Y7个,已升级,单价%Y23黄金^;
    149. !!en:;

    150. !?FU29424; //征召怪物编号 x1/等级 x2/x3=是否单招(0 or 2)
    151. !!CA998:O?y4;
    152. !!OW:Ry4/0/?y20; //current resources
    153. !!OW:Ry4/1/?y21;
    154. !!OW:Ry4/2/?y22;
    155. !!OW:Ry4/3/?y23;
    156. !!OW:Ry4/4/?y24;
    157. !!OW:Ry4/5/?y25;
    158. !!OW:Ry4/6/?y26;
    159. !!VRy30:S-1;
    160. !!VRy31:S-1;
    161. !!VRy32:S-1;
    162. !!VRy33:S-1;
    163. !!VRy34:S-1;
    164. !!VRy35:S-1;
    165. !!MA:Cx1/0/?y30; //required resources
    166. !!VRy8&y30>0:S0; //resource id
    167. !!MA&y30=0:Cx1/1/?y31;
    168. !!VRy8&y31>0:S1; //resource id
    169. !!MA&y31=0:Cx1/2/?y32;
    170. !!VRy8&y32>0:S2; //resource id
    171. !!MA&y32=0:Cx1/3/?y33;
    172. !!VRy8&y33>0:S3; //resource id
    173. !!MA&y33=0:Cx1/4/?y34;
    174. !!VRy8&y34>0:S4; //resource id
    175. !!MA&y34=0:Cx1/5/?y35;
    176. !!VRy8&y35>0:S5; //resource id
    177. !!MA:Cx1/6/?y36;

    178. !!VRy9:S30+y8; //index of y variable holding monster resource cost
    179. !!VRy10:S20+y8; //index of y variable holding the resource stock
    180. !!VRy11&yy9>0:Syy10:yy9;//quantity of recruits by resource
    181. !!VRy11&yy9<=0:S10000000;
    182. !!VRy1&y36>0:Sy26:y36; //quantity of recruits by gold
    183. !!VRy1&y36<=0:S10000000;
    184. !!CA998:M1/x2/?y12/?y13; //current reserve
    185. ! !IF:M^%Y1 %Y11 %Y12 %Y13^;

    186. !!VRy1&y1>y11:Sy11; //min recruites by resources
    187. !!VRy1&y13<=y12/y1>y12:Sy12; //min recruites by reserve
    188. !!VRy1&y13>y12/y1>y13:Sy13; //min recruites by reserve UP
    189. !!VRy1&x3>0/y1>1:S1; //min recruites by single recruit
    190. !!FU&y1=0:E; //end if no available

    191. !!VRy2:Sy36*y1*-1;  //gold cost of recruits
    192. !!VRy3:Syy9*y1*-1; //resources cost
    193. ! !IF:M^no=%Y1 g=%Y2 r=%Y3^;

    194. !!OW:Ry4/6/dy2; //deduct resources
    195. !!OW:Ry4/y8/dy3;
    196. !!VRy-1:S0-y1;
    197. !!CA998&y13<=y12:M1/x2/dy-1/d; //reduce reserve
    198. !!CA998&y13>y12:M1/x2/d/dy-1; //reduce reserve UP
    199. !!DO29425/0/8/1:Px1/y1;//place on field


    200. !?FU29425; //召唤怪物 x1=type x2=quantity
    201. !!VRy10&x16=0:S31;
    202. !!VRy10&x16=1:S167;
    203. !!VRy10&x16=2:S65;
    204. !!VRy10&x16=3:S133;
    205. !!VRy10&x16=4:S99;
    206. !!VRy10&x16=5:S47;
    207. !!VRy10&x16=6:S149;
    208. !!VRy10&x16=7:S81;
    209. !!VRy10&x16=8:S115;
    210. !!VRy11:Sy10-1;

    211. !!MA:Xx1/?y1;
    212. !!VRy1:&1;//double wide?
    213. !!BU:Oy10/?y2 Ey10/?y3; //this grid occupied?
    214. !!VRy6:Sy2 &4; //quick sand
    215. !!VRy7:Sy2 &8; //mine
    216. !!BU:Oy11/?y4 Ey11/?y5; //prev grid
    217. !!VRy8:Sy4 &4;
    218. !!VRy9:Sy4 &8;

    219. !!if|y2=0/y6=4/y7=8:; //no obstacle
    220.   !!FU&y3>-1:E; //end if occupied
    221.   !!if&y1=0:; //single wide
    222.     !!BU:Sx1/x2/y10/1/-1/1;
    223.     !!VRv5242:S1;
    224.     !!VRx16:S10000;
    225.   !!el:; //double wide
    226.     !!if|y4=0/y8=4/y9=8:;
    227.       !!FU&y5>-1:E; //end if occupied
    228.       !!BU:Sx1/x2/y10/1/-1/1;summon
    229.       !!VRv5242:S1;
    230.       !!VRx16:S10000;
    231.     !!en:;
    232.   !!en:;
    233. !!en:;

    复制代码
    这两个脚本一个为修正了一个非常重要的bug,一个为添加了非常有趣的新机制,在我看来都是非常棒的脚本,所以想问下各位高手如何修改才能使他们共存



  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-11-6 13:41:11 来自手机 | 显示全部楼层
    看起来不会冲突啊,显示哪里冲突?

    点评

    不好意思,在家里的电脑出现了冲突,因为之前是正常的加了两个脚本就冲突了,我在单位上的电脑上运行又似乎没有冲突,我找找看是否是其他脚本互相冲突了。话说贤知大大怎么看两个脚本是不是互相冲突另外怎么去解决互  详情 回复 发表于 2017-11-6 14:03
  • TA的每日心情
    无聊
    2016-8-14 22:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    353

    回帖

    7029

    金币

    1

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    2052

    退役版主社区QQ达人

     楼主| 发表于 2017-11-6 14:03:11 | 显示全部楼层
    贤知有您 发表于 2017-11-6 13:41
    看起来不会冲突啊,显示哪里冲突?

    不好意思,在家里的电脑出现了冲突,因为之前是正常的加了两个脚本就冲突了,我在单位上的电脑上运行又似乎没有冲突,我找找看是否是其他脚本互相冲突了。话说贤知大大怎么看两个脚本是不是互相冲突另外怎么去解决互相冲突呢?
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-11-6 15:56:12 来自手机 | 显示全部楼层
    冲突有很多种哦,比如脚本运行的先后问题,变量或函数的冲突等等。具体需要测试比较实在,有问题就有bug或者弹框错误。
  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10807

    社区QQ达人

    发表于 2017-11-6 16:32:49 | 显示全部楼层
    一般函数FU和变量v有没有重复,比如两个脚本都用了FU1111或者v123,这种情况就很可能冲突。
    然后看触发器!?XX,如果一个是!?MA,一个是!?CM,那么冲突可能性不大。再比如!?MF触发时,一个脚本把伤害值加100倍,另一个脚本把伤害值乘以2,顺序不同最后的结果就会不同。(x+100)*2不等于x*2+100
    另外就是看脚本是一般的erm修改还是内存修改UN:C之类,这个需要更专业的知识了,想我这种等级的,一般就假设不影响,除非内存脚本中明确说明冲突的情况。
    最后就是看错误弹框,我就看看哪句脚本出问题,看不懂那些内存信息。
  • TA的每日心情
    无聊
    2016-8-14 22:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    353

    回帖

    7029

    金币

    1

    精华

    论坛嘉宾

    Rank: 9Rank: 9Rank: 9

    积分
    2052

    退役版主社区QQ达人

     楼主| 发表于 2017-11-23 11:58:34 | 显示全部楼层
    谢谢两位大大的指导!:)
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-11-22 16:09 , Processed in 0.444431 second(s), 16 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

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