查看: 3800|回复: 5

[有事请教] 请问有什么办法能把事件永久移动到指定位置?

[复制链接]
梦石
0
星屑
1937
在线时间
205 小时
注册时间
2018-2-11
回帖
19
发表于 2018-5-23 22:59:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
问题背景是这样的:使用物品随身帐篷,可以在野外任意一处建一个永久帐篷。
目前的想法是使用物品调用公共事件,把人物XY坐标存进变量,在地图上提前做一个帐篷,每次进地图就自动执行移动到指定地点,因为不自动执行下一次帐篷就会复原到指定地点。
但这样如果每建一个帐篷就需要保存两个永久的变量,并且数量是未知的。请问有什么办法可以把事件永久移动到指定位置吗?或者其他的方案解决这个问题。
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-5-24 08:32:08 | 显示全部楼层
你是想在地图上生成无限个帐篷吗
回复

使用道具 举报

梦石
0
星屑
1937
在线时间
205 小时
注册时间
2018-2-11
回帖
19
 楼主| 发表于 2018-5-24 12:09:17 | 显示全部楼层
yang1zhi 发表于 2018-5-24 08:32
你是想在地图上生成无限个帐篷吗

是的。发帖有超过10字的限制,好坑
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-5-24 15:08:17 | 显示全部楼层
idler 发表于 2018-5-24 12:09
是的。发帖有超过10字的限制,好坑

最好是有上限。无限个迟早会崩溃掉。不用两个。一个变量就能无限加所有坐标了。把这个变量设置成数组,然后把坐标添加进去。
$gameVariables._data[1] = []
像这样,先把1号变量设成空的数组
然后
var xy = [1,2]
把XY坐标设成数组
然后
$gameVariables._data[1].push(xy)
这样1号变量里面的内容就是
[[1,2]]
再添加个坐标就是
var xy = [3,4]
$gameVariables._data[1].push(xy)
就是
[[1,2],[3,4]]
你要是想获得   [1,2]
就是    $gameVariables._data[1][0]
[3,4]就是   $gameVariables._data[1][1]
获得3就是   $gameVariables._data[1][1][0]
获得最后一组内容就是
var last = $gameVariables._data[1].length
这样获得了这个数组的内容的个数,也就是长度
最后一位也就是最大个数减少一位,因为是从0开始
var new_last = lasr -1
然后下面这个就是获得了最后一位
var jieguo = $gameVariables._data[1][new_last]
回复

使用道具 举报

梦石
0
星屑
1937
在线时间
205 小时
注册时间
2018-2-11
回帖
19
 楼主| 发表于 2018-5-24 15:55:40 | 显示全部楼层
yang1zhi 发表于 2018-5-24 15:08
最好是有上限。无限个迟早会崩溃掉。不用两个。一个变量就能无限加所有坐标了。把这个变量设置成数组,然 ...

哦哦,谢谢大佬,理解了,感谢大佬的解答。不过刚找到一个很方便的插件,YEP_SaveEventLocations.js,可以保存事件移动之后的位置,下次进入地图不会复原,这样就不用一个变量来专门位置了,准备用这个了。

点评

恩,一般这种插件也是像你一样的操作。就是进去地图后把坐标改变。  发表于 2018-5-24 16:07
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部