设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

关于隐藏物品的玩家气泡设置问题

查看数: 551 | 评论数: 10 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-7-12 10:21

正文摘要:

我想做一个隐藏物品,在玩家靠近时就会在玩家头上显示感叹号或者类似的提示,在物品捡取之后就会消失,请问应该怎么实现?有添加过Mrliu-过眼云烟的autoballoon插件,但是会和YEP的eventchaser插件冲突。 ...

回复

Kaede_123 发表于 2024-7-13 17:42:07

十分感谢,问题完美解决,我之前的需求没说清楚,我是希望在物品的四个方向出现气泡就行。这是我自己修改的。备注改成了|HiddenItem|。
  1. $gameMap.events().forEach(function(e){
  2.   if(e.event().note.contains('|HiddenItem|')&&!$gameSelfSwitches.value([$gameMap._mapId,e._eventId,'A'])){
  3.     if((Math.abs($gamePlayer.x-e.x)+Math.abs($gamePlayer.y-e.y))<=1){
  4.       if(!$gamePlayer.isBalloonPlaying()) {
  5.         $gamePlayer.requestBalloon(1);
  6.       }
  7.     }
  8.   }
  9. });
复制代码
Kaede_123 发表于 2024-7-13 16:13:20
utunnels 发表于 2024-7-13 15:20
那要看拾取是如何实现的,是消除事件还是用了开关,总之就是要判断那个条件才能实现。 ...

我设置的是拾取之后触发一个独立开关A,然后新建一个空白事件页触发开关是独立开关A。
utunnels 发表于 2024-7-13 15:20:01
本帖最后由 utunnels 于 2024-7-13 15:21 编辑

那要看拾取是如何实现的,是消除事件还是用了开关,总之就是要判断那个条件才能实现。
Kaede_123 发表于 2024-7-13 14:38:49
utunnels 发表于 2024-7-13 10:59
其实在地图上放一个并行处理的事件,执行一段脚本检测就行。
在隐藏物品的备注里面写上一个标记比如|隐藏 ...

感谢提供解答,这个脚本运行之后确实可以实现靠近显示叹号的气泡,但是在拾取之后还是会显示气泡,我希望实现的功的是拾取之后就不会显示气泡了。
utunnels 发表于 2024-7-13 10:59:50
  1. $gameMap.events().forEach(function(e){
  2.   if(e.event().note.contains('|隐藏物品|')){
  3.     if(Math.abs($gamePlayer.x-e.x)<=1&&Math.abs($gamePlayer.y-e.y)<=1){
  4.       if(!$gamePlayer.isBalloonPlaying()) {
  5.         $gamePlayer.requestBalloon(1);
  6.       }
  7.     }
  8.   }
  9. });
复制代码


其实在地图上放一个并行处理的事件,执行一段脚本检测就行。
在隐藏物品的备注里面写上一个标记比如|隐藏物品|

也可以做成公共事件或者插件,就看有没有必要了。
Kaede_123 发表于 2024-7-13 10:31:24
无忧谷主幻 发表于 2024-7-13 06:59
直接用事件就能做
在该物品周围围一圈事件(如果追求真实可以加上角色朝向的判断)
拾取物品后打开开关,将 ...

这种方法是可以实现,但是我如果这种物品设置的很多的话就不现实了,工程量会变得很大,而且开关的数量是有上限的。
无忧谷主幻 发表于 2024-7-13 06:59:48
直接用事件就能做
在该物品周围围一圈事件(如果追求真实可以加上角色朝向的判断)
拾取物品后打开开关,将那一圈事件设置成开关打开后,感叹号不再执行
Kaede_123 发表于 2024-7-12 15:03:21
utunnels 发表于 2024-7-12 10:46
靠多近算是靠近?

就近吧,就是与事件X坐标或者Y坐标相差为1.
utunnels 发表于 2024-7-12 10:46:05
靠多近算是靠近?
utunnels 发表于 2024-7-12 10:21:54
  1. $gameMap.events().forEach(function(e){
  2.   if(e.event().note.contains('|隐藏物品|')&&!$gameSelfSwitches.value([$gameMap._mapId,e._eventId,'A'])){
  3.     if(Math.abs($gamePlayer.x-e.x)<=1&&Math.abs($gamePlayer.y-e.y)<=1){
  4.       if(!$gamePlayer.isBalloonPlaying()) {
  5.         $gamePlayer.requestBalloon(1);
  6.       }
  7.     }
  8.   }
  9. });
复制代码
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 02:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表