Project1

标题: 请问如何获取指定事件的位置? [打印本页]

作者: 搁浅的鲸鱼    时间: 2024-1-22 14:51
标题: 请问如何获取指定事件的位置?
大概的效果是这样的:
事件A自动去寻找事件B,事件B是不动的。如果事件A到了事件B周围,就会对事件B造成伤害。
而玩家是需要保护事件B的,如果玩家靠近事件A,也会受到伤害。

另外我也想问一下,类似地刺一样的陷阱应该怎么做?就是每隔一段时间,判断玩家位置是否重合,然后造成伤害。

插件可以,但是请不要用代码。完全看不懂

作者: shiroin    时间: 2024-1-22 15:00
事件位置可以通过脚本直接获取,$gameMap.event(eventId).x和$gameMap.event(eventId).y
但既然你不擅长用代码,可以改用插件,比如Drill的Drill_EventPosition,里面有丰富的插件指令给你用于获取事件位置
至于定期触发的陷阱,你可以用并行处理+自开关来制作多个事件页定期切换来完成陷阱的激活和冷却效果,陷阱激活时期通过判定玩家位置(对应脚本为$gamePlayer.x和$gamePlayer.y)是否和事件位置重合来决定是否对玩家造成伤害
作者: 搁浅的鲸鱼    时间: 2024-1-22 16:03
shiroin 发表于 2024-1-22 15:00
事件位置可以通过脚本直接获取,$gameMap.event(eventId).x和$gameMap.event(eventId).y
但既然你不擅长用 ...

先谢谢大佬,如果用事件配合脚本应该怎么写呢?
如果多个事件A,要判断需要很多变量吧。
可否发下范本或者示例。
比如说玩家变量X和变量Y
事件页的哪个功能可以判断位置的。
条件分歧我没找到
作者: shiroin    时间: 2024-1-22 17:35
使用编辑器可以通过变量赋值位置信息来进行匹配,这个参考我发的截图
但这个方法写起来麻烦,而且事件多了会相当占用变量

用脚本来判断是更加简便的做法,条件分歧里用脚本来写判断条件:

$gameMap.event(this._eventId).x == $gamePlayer.x && $gameMap.event(this._eventId).y == $gamePlayer.y

如果当前事件的XY轴和玩家的XY轴一致,这个就会返回true,也就是条件句成立

QQ截图20240122173145.png (83.05 KB, 下载次数: 44)

QQ截图20240122173145.png

作者: 搁浅的鲸鱼    时间: 2024-1-22 21:32
真的是非常感谢!
有脚本简单快捷,超级好用。
我还想问下大佬,如果我是判断其他事件和其他事件的位置,是把(this._eventId).改成事件的ID吗?

感谢感谢
作者: 搁浅的鲸鱼    时间: 2024-1-22 21:33
shiroin 发表于 2024-1-22 17:35
使用编辑器可以通过变量赋值位置信息来进行匹配,这个参考我发的截图
但这个方法写起来麻烦,而且事件多了 ...


真的是非常感谢!
有脚本简单快捷,超级好用。
我还想问下大佬,如果我是判断其他事件和其他事件的位置,是把(this._eventId).改成事件的ID吗?

感谢感谢
作者: shiroin    时间: 2024-1-22 21:57
搁浅的鲸鱼 发表于 2024-1-22 21:33
真的是非常感谢!
有脚本简单快捷,超级好用。
我还想问下大佬,如果我是判断其他事件和其他事件的位置 ...

对,你把this._eventId改成具体数字就行了
作者: 搁浅的鲸鱼    时间: 2024-1-22 22:46
shiroin 发表于 2024-1-22 21:57
对,你把this._eventId改成具体数字就行了

自己悟半天不如大佬一句话。
真的是听君一席话,胜读十年书!





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1