EMP震荡波 发表于 2012-9-6 20:06:22

!!UN:U语句不能获得英雄坐标?

想用这个语句获得英雄坐标,但是只要一触发就出错,不明白原因。
触发用的语句是!?OB

兽哥哥 发表于 2012-9-6 20:10:05

这个老离很早就写过了,显示坐标的脚本。

十三木人 发表于 2012-9-6 20:51:08

麻烦把出错的脚本贴上来,不然找不到问题在哪
!!UN:U可以获得英雄坐标

EMP震荡波 发表于 2012-9-6 20:53:48

不是为了显示坐标。
原本的意图是:在地图上摆放有大量同类的OBJECT,访问其中任意一个都会达到相同的效果。为了避免对每个该类OBJECT分别编程,想用!!UN:U语句,使得在英雄访问该类OBJECT时,返回英雄所在坐标存入变量v,然后对该位置的OBJECT执行语句。

但是,实际使用时发现,只要一访问该类OBJECT就报错,也没有达到预期的目的。如果有别的办法实现以上目的也可以。

EMP震荡波 发表于 2012-9-6 20:55:40

!?OB88;
!!UN:U34/6/1/1000;地图上只有一个英雄
!!OB1000:S;
!!HE-1:A2/65/?v6001;
!!HE-1&v6001>0:A3/65/1/0;
!!UN&v6001>0:Ov1000/v1001/v1002;

[ 本帖最后由 EMP震荡波 于 2012-9-6 20:56 编辑 ]

十三木人 发表于 2012-9-6 21:01:02

不太明白
访问特定类型的物体时触发脚本对吧?
!?OB可以设定访问一类物体时触发
在触发器触发后,在接收器中,x,y 和 level 将存储于变量 v998,v999 和 v1000

fly123 发表于 2012-9-6 21:17:25

!?OB88;
!!UN:U34/-1/-1/1000;任意访问英雄坐标保存在v1000,v1001,v1002
!!OB1000:S;   
!!HE-1:A2/65/?v6001;
!!HE-1&v6001>0:A3/65/1/0;
!!UN&v6001>0:Ov1000/v1001/v1002;如果英雄在这个位置时,选择移除,恐怕会出错。我估计的,没测试过。

十三木人 发表于 2012-9-6 21:27:06

测试了一下
估计是触发器的问题
!!UN:U没有用在!?OB后面的先例,至少我是不知道的

fly123 发表于 2012-9-6 21:29:37

回复 8# 的帖子

我也没这样用过,不知道效果怎样。

fly123 发表于 2012-9-6 21:32:28

我觉得楼主写的这个ERM有问题,起码现在看起来,表达的意思不明。

EMP震荡波 发表于 2012-9-7 01:26:54

我解释一下吧,关于这段语句。
ZVSE

!?OB88;
!!UN:U34/-1/1/1000;
!!OB1000:S;
!!HE-1:A2/63/?v6001;
!!HE-1&v6001>0:A3/63/1/0;
!!UN&v6001>0:Ov1000/v1001/v1002;

我在地图上放置了多个88号OBJECT,每当访问任意一个时,v1000,v1001,v1002将记录下英雄当前坐标,用来代替OBJECT的位置。先禁止该OBJECT原本的用途,然后检查英雄是否有63号宝物,若有,删除其中一件,然后把英雄访问的OBJECT删除。地图上只有玩家操纵的一个英雄。

但是我只要一访问88号OBJECT,就弹出报错窗口。显示第二行语句出错,无法获取坐标。
另外,最后一步删除是不会出错的。我对单个OBJECT进行编程的时候很顺利。

[ 本帖最后由 EMP震荡波 于 2012-9-7 01:29 编辑 ]

贤知有您 发表于 2012-9-7 08:36:22

回复 11# 的帖子

!!UN:U34/-1/1/1000; 这句话你想表达什么呢..获得第一个英雄的坐标??

当访问OB时,v998/v999/v1000 已经记录了当前的坐标位置.所以直接调用就是了.

克招 发表于 2012-9-7 09:15:46

998,999,1000就是英雄的坐标,还要获取干嘛、

EMP震荡波 发表于 2012-9-7 09:37:01

谢谢,已经成功了。以下是最终修改的脚本。

ZVSE

!?OB88;
!!OB998:S;
!!HE-1:A2/63/?v6001;
!!HE-1&v6001>0:A3/63/1/0;
!!UN&v6001>0:Ov998/v999/v1000;
页: [1]
查看完整版本: !!UN:U语句不能获得英雄坐标?

捐赠