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

Project1

 找回密码
 注册会员
搜索

制作提升等级物品遇到问题,求助!!!

查看数: 2040 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-12-15 19:22

正文摘要:

我想制作一个提升等级的物品,吃一颗对应的角色等级提升一级。 因为物品界面没有这项提升的内容,所以想到公共事件。 下面是我想的代码 $game_party.actors[@target_window.index].level+=1 但是@target_window.inde ...

回复

enghao_lim 发表于 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 认可答案

查看全部评分

flashfox 发表于 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 塞糖

查看全部评分

任小雪 发表于 2021-12-15 19:44:33
物品的适用对象,大概在   使用物品  的相关脚本找?(scene)

评分

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

查看全部评分

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

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

GMT+8, 2024-11-25 20:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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