查看: 2511|回复: 5

[已经解决] 制作提升等级物品遇到问题,求助!!!

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2021-12-15 19:22:30 | 显示全部楼层 |阅读模式

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

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

×
我想制作一个提升等级的物品,吃一颗对应的角色等级提升一级。
因为物品界面没有这项提升的内容,所以想到公共事件。
下面是我想的代码
$game_party.actors[@target_window.index].level+=1
但是@target_window.index会报错,还能通过什么方式获取我选择的角色id呢?
1.png
2.png
3.png
梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
回帖
1175
发表于 2021-12-15 19:44:33 | 显示全部楼层
物品的适用对象,大概在   使用物品  的相关脚本找?(scene)

评分

参与人数 1赞 +1 收起 理由
miantouchi + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
630
在线时间
32 小时
注册时间
2012-1-13
回帖
15
发表于 2021-12-15 21:23:28 | 显示全部楼层
本帖最后由 flashfox 于 2021-12-15 21:34 编辑

@target_window 这个类实例对象没被定义。类不存在,自然没办法在类中找到index方法。

查看下,是否定义了@target_window。一般是这么一句:@target_window = Window_XXXXXX.new

评分

参与人数 1赞 +1 收起 理由
miantouchi + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
8003
在线时间
1184 小时
注册时间
2007-7-29
回帖
2014
发表于 2021-12-15 21:52:00 | 显示全部楼层
本帖最后由 enghao_lim 于 2021-12-15 21:53 编辑

公共事件只会在 scene_map 发生,既然已经在 scene_map 了,那注定 scene_item 已经被关闭,window_target 早释放到天南地北去了。

你可以在 scene_item 找到一下脚本并添加一句在转跳到地图前将 window_target 的index赋值到任意变量就可以在公共事件获取。


  1.         # 公共事件 ID 有效的情况下
  2.         if @item.common_event_id > 0
  3.           $game_variables[xx] = @target_window.index # 这行是在转跳前添加
  4.           # 预约调用公共事件
  5.           $game_temp.common_event_id = @item.common_event_id
  6.           # 切换到地图画面
  7.           $scene = Scene_Map.new
  8.           return
  9.         end
复制代码


温馨提示,如果你想要有更直接的效果,建议可以对以下函数进行修改,这样可以不用跳回地图。
PS:这函数是敌我通用,如果物品可以被敌人使用不惜自行判断,不然敌人没有等级必定报错。

  1.   #--------------------------------------------------------------------------
  2.   # ● 应用物品效果
  3.   #     item : 物品
  4.   #--------------------------------------------------------------------------
  5.   def item_effect(item)
复制代码

点评

第二种方法等我也试一下  发表于 2021-12-15 22:14
既给出了原因,又给出了答案,很强!  发表于 2021-12-15 22:13

评分

参与人数 2星屑 +100 赞 +2 收起 理由
RyanBern + 100 + 1 认可答案
miantouchi + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部