查看: 8438|回复: 15

[已经解决] 条件分歧怎么判定本事件的位置=玩家的位置呢

[复制链接]
梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
回帖
36
发表于 2021-1-31 14:19:33 | 显示全部楼层 |阅读模式

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

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

×
并行处理的事件,想在玩家迅速经过时触发

分别把玩家的X,Y坐标和事件的X,Y坐标代入变量,但不太稳,不能每次都触发事件

有什么好方法呢

用脚本是否能轻松解决呢
梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-31 14:52:37 | 显示全部楼层
本帖最后由 alexncf125 于 2021-1-31 14:53 编辑

事件左下方的触发条件不就有「与玩家接触」么
回复

使用道具 举报

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
回帖
36
 楼主| 发表于 2021-1-31 14:56:15 | 显示全部楼层
本帖最后由 风雨流盼 于 2021-1-31 15:02 编辑
alexncf125 发表于 2021-1-31 14:52
事件左下方的触发条件不就有「与玩家接触」么


我想让事件并行处理,那就不能选与事件接触了

我自己写的方法是可以触发,但是如果按太快连着来就不太行了,可能是变量没跟上,所以想问下有没有脚本之类的稳定方法
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-31 15:20:44 | 显示全部楼层
本帖最后由 alexncf125 于 2021-1-31 15:22 编辑

条件分歧用
$game_player.real_x == $game_map.events[@event_id].real_x && $game_player.real_y == $game_map.events[@event_id].real_y

评分

参与人数 1赞 +1 收起 理由
风雨流盼 + 1 感谢回答,应该可行

查看全部评分

回复

使用道具 举报

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
回帖
36
 楼主| 发表于 2021-1-31 15:29:41 | 显示全部楼层
实际上刚刚用纯事件发现也可以达成

把玩家和事件的X,Y分别存入不同变量,然后都获取指定位置信息,这样效果不错
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2021-1-31 15:31:53 | 显示全部楼层
用事件位置来判断的话是这样:
[pre lang="ruby"]
ev=$game_map.events;$game_player.pos?(ev[事件编号].x,ev[事件编号].y)
[/pre]

如果不是用事件的位置来判断,会更简单:

[pre lang="ruby"]
$game_player.pos?(x, y)
[/pre]
注意这里的x和y要改成地图上的位置。
用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-31 16:07:43 | 显示全部楼层
KB.Driver 发表于 2021-1-31 15:31
用事件位置来判断的话是这样:

ev=$game_map.events;$game_player.pos?(ev[事件编号].x,ev[事件编号].y)


用的x和y
並行事件会被执行多次吧
回复

使用道具 举报

梦石
0
星屑
896
在线时间
147 小时
注册时间
2020-11-10
回帖
36
 楼主| 发表于 2021-1-31 16:38:20 | 显示全部楼层
本帖最后由 风雨流盼 于 2021-1-31 16:51 编辑
KB.Driver 发表于 2021-1-31 15:31
用事件位置来判断的话是这样:

ev=$game_map.events;$game_player.pos?(ev[事件编号].x,ev[事件编号].y)


嗯,也是一种方法,但是如果事件是一直在移动的,

或者要设置多个地图多个事件的话会变得很麻烦的样子

x被提醒了,再次发现自己对脚本啥的懂太少

点评

提提你~@event_id 指本事件的编号  发表于 2021-1-31 16:44
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2021-1-31 21:53:49 | 显示全部楼层
本帖最后由 KB.Driver 于 2021-1-31 22:08 编辑
alexncf125 发表于 2021-1-31 16:07
用的x和y
並行事件会被执行多次吧


你写的real_x和我写的x在执行多次这个问题上有什么本质的区别……

QQ截图20210131214218.jpg

QQ截图20210131214209.jpg

另外,real_x的值在经过移动后一直是一个浮点数,
从这个角度来说拿x而不是real_x来判断反而能够提高性能。
测试结果我放在下面了,浮点数和整数的比较所需要的时间比两个整数的比较要长。

QQ截图20210131214909.jpg
QQ截图20210131215230.jpg
用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-1-31 22:05:03 | 显示全部楼层
本帖最后由 alexncf125 于 2021-1-31 22:12 编辑


我表达的意思是, 可能LZ是想在「玩家行走时, 本事件的位置=玩家的位置 时」, 只执行一次事件的内容
我这边测试用x和y, 玩家行过固定的事件时, 会执行十多次
用real_x和real_y, 玩家行过固定的事件时, 只会执行一次

点评

话说大大现在有没有空, 能私下QQ讨教两三个问题么?  发表于 2021-1-31 22:17
是我说得不清楚, 讓大大误解了, 我才抱歉~  发表于 2021-1-31 22:15
抱歉,我以为你说的是方法判断的次数。如果是严格执行一次的话,确实你的写法更符合要求。  发表于 2021-1-31 22:09
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部