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

Project1

 找回密码
 注册会员
搜索
查看: 1679|回复: 8

[已经解决] 如何在公共事件中获取技能的使用者和被使用者?

[复制链接]

Lv2.观梦者

梦石
0
星屑
500
在线时间
59 小时
注册时间
2021-11-17
帖子
33
发表于 2022-8-7 18:40:06 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 c21c21 于 2022-8-7 18:51 编辑

如题 某个技能 绑定了一个公共事件
然后我想在这个公共事件中 对技能的使用者做一些事 对被使用者做一些事 应该怎么做?
MZ的变量 游戏数据那里 有一个上一个操作者的行动id 可以实现我想要的效果
但是XP这边貌似没有这个功能 我就不知道该怎么办了
暂时不懂脚本 如果涉及到脚本请麻烦详细说明该怎么做
万分感谢

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

发表于 2022-8-7 20:23:41 | 显示全部楼层
本帖最后由 guoxiaomi 于 2022-8-8 11:00 编辑

场景类Scene_Battle的实例变量@active_battler和@target_battlers应该是你想要的东西。在main前添加脚本
  1. class Scene_Battle  
  2.   attr_reader :active_battler
  3.   attr_reader :target_battlers
  4. end
复制代码

然后就可以访问这两个实例变量了,比如把当前的行动者的ID存到1号变量里:
  1. $game_variables[1] = $scene.active_battler.id
复制代码

更多的用法可以看我签名里的《战斗调用公共事件》,不过需要一点脚本基础。

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
500
在线时间
59 小时
注册时间
2021-11-17
帖子
33
 楼主| 发表于 2022-8-7 21:49:11 | 显示全部楼层
guoxiaomi 发表于 2022-8-7 20:23
场景类Scene_Battle的实例变量@active_battler和@target_battlers应该是你想要的东西。在main前添加脚本
然 ...

感谢 再问一下
$game_variables[1] = $scene.active_battler.id 这行应该写在哪里啊?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
500
在线时间
59 小时
注册时间
2021-11-17
帖子
33
 楼主| 发表于 2022-8-7 21:53:54 | 显示全部楼层
guoxiaomi 发表于 2022-8-7 20:23
场景类Scene_Battle的实例变量@active_battler和@target_battlers应该是你想要的东西。在main前添加脚本
然 ...

原谅我比较菜 再问一下 前面的是这个意思是吧?
无标题.png
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
500
在线时间
59 小时
注册时间
2021-11-17
帖子
33
 楼主| 发表于 2022-8-8 09:50:43 | 显示全部楼层
guoxiaomi 发表于 2022-8-7 20:23
场景类Scene_Battle的实例变量@active_battler和@target_battlers应该是你想要的东西。在main前添加脚本
然 ...

不用了 已经知道了 感谢

点评

是@target_battlers,我少写了一个s  发表于 2022-8-8 10:57
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
500
在线时间
59 小时
注册时间
2021-11-17
帖子
33
 楼主| 发表于 2022-8-9 10:44:41 | 显示全部楼层
本帖最后由 c21c21 于 2022-8-9 11:29 编辑
guoxiaomi 发表于 2022-8-7 20:23
场景类Scene_Battle的实例变量@active_battler和@target_battlers应该是你想要的东西。在main前添加脚本
然 ...


不好意思 还要再问一下
在某个技能绑定的公共事件里
我先$game_variables[1] = $scene.active_battler.id
再$game_variables[2] = $scene.target_battler.id
之后显示文章\v[1]、\v[2] 看结果
为什么target_battler这个 出来的结果永远是4啊
active_battler很正常 但是target_battler不管是谁打谁 永远是4

如果加上s的话 这回倒不是4了 变成了一个超大的随机数 这个怎么用啊

点评

用 p 吧 ,脚本中p + 变量 能够直接输出变量的真实值,而且是实时的,比较方便调试;显示文章可能存在延迟导致的误判  发表于 2022-8-9 11:52
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

发表于 2022-8-9 13:01:05 | 显示全部楼层
c21c21 发表于 2022-8-9 10:44
不好意思 还要再问一下
在某个技能绑定的公共事件里
我先$game_variables[1] = $scene.active_battler.i ...

首先肯定是用target_battlers,它返回的是数组,这是因为技能可能有多个目标。你需要用$scene.target_battlers[0].id来获取第一个目标的ID。
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-4-18 12:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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