- 积分
- 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
  
|
刚写了个<移形换影>,想实现交换2个英雄的位置.现在功能倒是有了,但有个问题很是困惑.
!!HEy10:P?y21/?y22/?y23; [获取英雄位置]
!!HEy-1:P?y31/?y32/?y33;
!!HEy10:Py31/y32/y33/0;
!!HEy-1:Py21/y22/y23/0; [交换位置]
这里直接交换位置的话,错误倒是没有.但地图上会多出个英雄来,一模一样的英雄,不可移动,但可英雄访问或攻击.这是何解?
试过先将2个英雄都变成无主状态,然后一个一个重入归属,再移动..但最后依然是有重复英雄.
!!HEy10:O?y50; [获取当前玩家所属]
!!HEy-1:O-1; [将英雄置于无主状态]
!!HEy10:O-1; [将英雄置于无主状态]
!!HEy10:Oy50; [英雄归位]
!!HEy10:Py31/y32/y33/1; [交换位置]
!!HEy-1:Oy50; [英雄归位]
!!HEy-1:Py21/y22/y23/1; [交换位置]
最后用个间接语句 !!HEy-1:P0/0/0/0; 重复英雄现象倒是不是出现,总觉很不爽.希望达人们告知更好的方法.
另外,使用Px/y/l/0; 0表示直接跳到位置.但为何还是会有发声的现象呢?
附上全代码及测试图.
测试地图.rar
(10.33 KB, 下载次数: 0)
------------------------------------------------------------------------------
ZVSE
**大地图右键点"休眠/唤醒按钮"触发
**可以交换玩家2个英雄的相互位置
**需要50点魔法值和2000的移动力
**注意不要在地图刚开始时立刻应用,会出错(没有当前英雄概念),可先点击进入英雄界面
!?PI; 地图开始时触发
!!HE0:X3/8; [更改特长为"二次元"]
!!UN:G2/0/3/311; [异次元特长图片]
!?CM2; [英雄信息场景的点击]
!!HE-1:N?y1; [获取当前英雄编号]
!!FU&y1<>0:E; [不是欧灵则退出](这里修改你喜欢的英雄编号)
!!VRz1:S^{英雄特技 移形换影:
足够魔法值和移动力的情况下可与其它英雄交换位置!}^;
!!UN&y1=0:G2/0/2/1; [设置英雄的特长说明(最后是Z变量号)]
!?CM0; [大地图鼠标触发]
!!CM:I?y1 F?y2; [点击位置/鼠标动作]
!!FU|y1<>6/y2<>512:E; [点击位置 休眠/唤醒按钮/不是右键按下]
!!HE-1:N?y10; [当前英雄编号]
!!HE-1:B0/?z-1;
!!FU&y10<>0:E; [不是欧灵,退出](这里修改你喜欢的英雄编号)
!!HEy10:I?y40 W?y41; [魔法值/移动值]
!!IF&y40<50:M^你没有足够的魔法值施放{<移形换影>}大法!^;
!!IF&y41<2000:M^你没有足够的移动力施放{<移形换影>}大法!^;
!!FU|y40<50/y41<2000:E;
!!OW:O-1/?y19/?y11/?y12/?y13/?y14/?y15/?y16/?y17/?y18; [获取玩家英雄列表(8个)]
!!VRz-10:S^%Z-1 特长可施展<移形换影>大法
请选择你想交换位置的英雄(英雄列表顺序)^;
!!VRz-9:S^退出^;
!!HEy11&y11>=0:B0/?z-1; [获取第一个英雄名字]
!!HEy12&y12>=0:B0/?z-2; [获取第二个英雄名字]
!!VRz-2&y12=-1:S^^; [没有英雄的情况时]
!!HEy13&y13>=0:B0/?z-3;
!!VRz-3&y13=-1:S^^;
!!HEy14&y14>=0:B0/?z-4;
!!VRz-4&y14=-1:S^^;
!!HEy15&y15>=0:B0/?z-5;
!!VRz-5&y15=-1:S^^;
!!HEy16&y16>=0:B0/?z-6;
!!VRz-6&y16=-1:S^^;
!!HEy17&y17>=0:B0/?z-7;
!!VRz-7&y17=-1:S^^;
!!HEy18&y18>=0:B0/?z-8;
!!VRz-8&y18=-1:S^^;
!!CM:R0; [禁用标准反应]
!!IF:G1/1/1/-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;
!!IF&y-1<0:M^你没有选中任何活动的英雄!^; [这句似乎可忽略]
!!FU&y-1<0:E;
!!IF&y-1=y10:M^不能选择和自己交换位置!^;
!!FU&y-1=y10:E;
!!HEy10:P?y21/?y22/?y23; [获取英雄位置]
!!HEy-1:P?y31/?y32/?y33;
*!HEy-1:P0/0/0/0; [间接语句,如少这句,会出现2个相同的英雄?????]
!!HEy10:Py31/y32/y33/1; [交换位置]
!!HEy-1:Py21/y22/y23/1; [交换位置]
!!HEy10:Id-50 Wd-2000; [减少魔法值和移动力]
--------------------------------------------------------------------- |
评分
-
2
查看全部评分
-
|