- 积分
- 34692
- 威望
- 499
- 魅力
- 507
- 经验
- 20338
- 热心度
- 9
- 注册时间
- 2006-3-13
- 最后登录
- 2025-3-9
- 主题
- 134
- 回帖
- 4951
- 精华
- 35
- 阅读权限
- 150
TA的每日心情 | 郁闷 2015-6-6 16:12 |
---|
签到天数: 52 天 连续签到: 1 天 [LV.5]女巫

超级版主
   
- 积分
- 34692
  
|
交换英雄出现的复制英雄问题,终于可以用其它简单方法避免了.经过试验,可以将英雄放到地图之外(指位置).比如地图是 35X35,可以放到 (100,35,0) 处,那地方如果还有英雄就是见鬼了.
先读取地图大小,再扔远一点就行了,不然会开了部分视野.(如果扔到xy坐标<0的地方,会导致游戏崩溃的)
按照沧版的建议,取消自身英雄在列表的出现.
最后一个不得不提的话,如果英雄的名字都是空,那就什么都没有了呢.呵呵.
好吧,放出整理好后的ERM,多谢各位的帮助和指导了.
-----------------------------以下代码(2012-12-26更新)-----------------------------------
这个小脚本是当时学习ERM的练习作品,现重新改写完善一下。(沧版提醒:排除水域英雄)
改为在英雄界面右键点击“防御”图标触发了,原睡眠按钮有其它脚本应用过。
在英雄界面下触发,基本可避免“当前英雄”非真正屏幕当前英雄的错误(若仍无法运行,可先使英雄走动一格)。
脚本下载:
移形换影.rar
(1.48 KB, 下载次数: 21)
ZVSE
**移形换影 ByHanter007(改为任意英雄均可触发)
**没有使用额外变量
**英雄界面右键点击“防御”图标触发!
**作用:可以交换玩家2个英雄的相互位置.
**两英雄均需消耗30点魔法值和1500的移动力.
**感谢沧版的提醒:修正BUG(排除航海中英雄)!
!?CM2&1000; [英雄界面触发]
!!CM:I?y1 F?y2; [点击位置/鼠标动作]
!!FU|y1<>51/y2<>512:E; [点击位置 防御图标/右键按下]
!!HE-1:N?y10; [当前英雄编号]
!!HE-1:B0/?z-1; [英雄名字]
!!CM:R0; [禁用标准反应]
!!VRy98:S30; [默认需消耗的魔法值]**
!!VRy99:S1500; [默认需消耗的移动力]**
!!HEy10:I?y40/1 W?y50/1; [魔法值/移动值]
!!IF|y40<y98/y50<y99:M^当前英雄没有足够的魔法值或移动力施放{移形换影}!
({移形换影}需要消耗双方英雄{%Y98}魔法值和{%Y99}移动力)^;
!!FU|y40<y98/y50<y99:E;
!!HEy10:P?y21/?y22/?y23; [获取当前英雄位置]
!!TRy21/y22/y23:T?y24/d/d/d/d/d/d/d; [检测地形]8为水域
!!IF|y24=8:M^当前英雄处于水域,不能进行{<移形换影>}!!^;
!!FU|y24=8:E;
!!OW:O-1/?y19/?y11/?y12/?y13/?y14/?y15/?y16/?y17/?y18; [获取当前玩家英雄列表(8个)]
!!FU&y19<2:M^没有合适的英雄可供交换位置!^;
!!FU&y19<2:E;
!!IF:V9/0;
!!IF|y10=y11/y10=y12/y10=y13/y10=y14/y10=y15/y10=y16/y10=y17/y10=y18:V9/1;
!!IF&-9:M^当前英雄并不在英雄列表中,不能进行{<移形换影>}^; [英雄可能处于城镇之内]
!!FU&-9:E;
!!VRz-10:S^%Z-1 可施展<移形换影>交换英雄位置
请选择你想交换位置的另一位英雄
(自动排除魔法值或移动力不足的英雄)^;
!!VRz-9:S^退出^;
!!HEy11&y11>=0:B0/?z-1 I?y41/1 W?y51/1; [获取第一个英雄名字/魔法值/移动力]
!!VRz-1|y11=-1/y11=y10/y41<y98/y51<y99:S^^; [没有英雄/是当前英雄/没有足够的魔法值或移动力]
!!HEy12&y12>=0:B0/?z-2 I?y42/1 W?y52/1;
!!VRz-2|y12=-1/y12=y10/y42<y98/y52<y99:S^^;
!!HEy13&y13>=0:B0/?z-3 I?y43/1 W?y53/1;
!!VRz-3|y13=-1/y13=y10/y43<y98/y53<y99:S^^;
!!HEy14&y14>=0:B0/?z-4 I?y44/1 W?y54/1;
!!VRz-4|y14=-1/y14=y10/y44<y98/y54<y99:S^^;
!!HEy15&y15>=0:B0/?z-5 I?y45/1 W?y55/1;
!!VRz-5|y15=-1/y15=y10/y45<y98/y55<y99:S^^;
!!HEy16&y16>=0:B0/?z-6 I?y46/1 W?y56/1;
!!VRz-6|y16=-1/y16=y10/y46<y98/y56<y99:S^^;
!!HEy17&y17>=0:B0/?z-7 I?y47/1 W?y57/1;
!!VRz-7|y17=-1/y17=y10/y47<y98/y57<y99:S^^;
!!HEy18&y18>=0:B0/?z-8 I?y48/1 W?y58/1;
!!VRz-8|y18=-1/y18=y10/y48<y98/y58<y99:S^^;
!!IF:G1/1/256/-10/-1/-2/-3/-4/-5/-6/-7/-8/-9; [结果存于V1]
!!FU&v1=256:E; [选择退出]
!!VRy-1&v1=1:Sy11; [保存选中的英雄编号]
!!VRy-1&v1=2:Sy12;
!!VRy-1&v1=4:Sy13;
!!VRy-1&v1=8:Sy14;
!!VRy-1&v1=16:Sy15;
!!VRy-1&v1=32:Sy16;
!!VRy-1&v1=64:Sy17;
!!VRy-1&v1=128:Sy18;
!!HEy-1:P?y31/?y32/?y33; [获取目标英雄位置]
!!TRy31/y32/y33:T?y34/d/d/d/d/d/d/d; [检测地形]
!!IF|y34=8:M^目标英雄处于水域,不能进行{<移形换影>}!!^;
!!FU|y34=8:E;
!!UN:X?y40/?y41; [获取地图大小]
!!VRy42:Sy40+20; [地图边界之外,足够视野之外,否则会打开部分视野]
!!HEy-1:Py42/y22/y23/0; [目标英雄先移动到边界之外]
!!HEy10:Py31/y32/y33/0; [交换位置]
!!HEy-1:Py21/y22/y23/0; [交换位置]
!!VRy98:*-1; [用于d语法]
!!VRy99:*-1;
!!HEy10:Idy98 Wdy99; [减少魔法值和移动力]
!!HEy-1:Idy98 Wdy99; [减少魔法值和移动力]
!!UN:R3/y10 R5/1/0; [重画当前英雄屏幕]
**LastUpdate 2012-12-23 贤知有您**
[ 本帖最后由 贤知有您 于 2012-12-26 17:55 编辑 ] |
评分
-
6
查看全部评分
-
|