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

Project1

 找回密码
 注册会员
搜索
查看: 2520|回复: 15
打印 上一主题 下一主题

[已经解决] 想在装备页面显示四个属性要怎么改呢?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
跳转到指定楼层
1
发表于 2022-4-10 15:03:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
人物状态页面现在已经改掉了是四个属性没错(对标的原属性:勇气-力量、礼仪-灵巧、社交-速度、学识-魔力)
现在装备界面的左侧也想改成四个属性,但是文字显示的明明是勇气(力量),礼仪(灵巧)和社交(速度),我看脚本里Equipleft里面的描述数值变化的三个项却是攻击力,物理防御和魔法防御,一下子就不会改了。
请问一下我有没有选错页?装备左侧想改成这四个属性请问要怎么改呢?

1.png (126.56 KB, 下载次数: 14)

状态界面已经是四属性了

状态界面已经是四属性了

2.png (116.63 KB, 下载次数: 14)

装备左边想也改成4属性

装备左边想也改成4属性

3.png (65.27 KB, 下载次数: 14)

脚本里的描述却是攻击力和防御

脚本里的描述却是攻击力和防御

Lv5.捕梦者 (版主)

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

开拓者

2
发表于 2022-4-10 16:38:05 | 只看该作者
本帖最后由 guoxiaomi 于 2022-4-10 16:41 编辑

25-27行的 draw_actor_parameter 是用于显示当前的属性和值,你需要把最后一个参数从012改成345。

下面那些是显示更换之后的数值变化,包括“→”符号和不同颜色的新属性(atk/pdef/mdef)值,你想显示更新后的其他属性的变化,就顺着 set_new_parameters 找吧,大概在 Scene_Equip 的 refresh 方法里。

如果你想所有4个属性都显示,那么可以考虑不显示等级?或者把 Window_EquipLeft 窗口高度调大一点,同时也要调整其他窗口的高度和位置。

评分

参与人数 2星屑 +50 +1 收起 理由
RyanBern + 50 认可答案
taeckle + 1 大神威武!

查看全部评分

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
3
 楼主| 发表于 2022-4-10 20:17:09 | 只看该作者
guoxiaomi 发表于 2022-4-10 16:38
25-27行的 draw_actor_parameter 是用于显示当前的属性和值,你需要把最后一个参数从012改成345。

下面那 ...

现在很神奇的是不选择装备的情况下的数值就是对应的勇气(力量) 礼仪(灵巧)和社交(速度),选择装备的情况下,箭头左边的数字也是没错的,但右边数字始终是0. 装备完成后,左边数字会加上正确的属性OJZ
这样说的话012应该是没有问题的?主要是下面那一段?

点评

右边的数字就在scene_equip的refresh中赋值的  发表于 2022-4-11 12:05
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
4
 楼主| 发表于 2022-4-18 13:56:55 | 只看该作者
现在我改了Scene_equip 里面的这些:
     # 获取变更装备后的能力值
      new_str = @actor.str
      new_dex = @actor.dex
      new_agi = @actor.agi
      new_int = @actor.int
  # 描画左窗口
      @left_window.set_new_parameters(new_int, new_dex, new_agi, new_int)

然后还有window_equipleft里的这些:
def refresh
    self.contents.clear
    draw_actor_name(@actor, 4, 0)
    draw_actor_parameter(@actor, 4, 32, 0)
    draw_actor_parameter(@actor, 4, 64, 1)
    draw_actor_parameter(@actor, 4, 96, 2)
    draw_actor_parameter(@actor, 4, 128, 3)
    if @new_str != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 64, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 64, 36, 32, @new_str.to_s, 2)
    end
    if @new_dex != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 96, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 96, 36, 32, @new_dex.to_s, 2)
    end
    if @new_agi != nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 128, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 128, 36, 32, @new_agi.to_s, 2)
    end
    if @new_int !=nil
      self.contents.font.color = system_color
      self.contents.draw_text(160, 128, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 128, 36, 32, @new_int.to_s, 2)
  end
  def set_new_parameters(new_str, new_dex, new_agi, new_int)
    if @new_str != new_str or @new_dex != new_dex or @new_agi != new_agi or @new_int != new_int
      @new_str = new_str
      @new_dex = new_dex
      @new_agi = new_agi
      @new_int = new_int
      refresh
    end
  end

但是直接就变成了“脚本window_equipleft最后一行发生了SyntaxError”
请问这个是怎么回事呀?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
5
 楼主| 发表于 2022-4-18 13:58:13 | 只看该作者
foghidecrab 发表于 2022-4-10 20:17
现在很神奇的是不选择装备的情况下的数值就是对应的勇气(力量) 礼仪(灵巧)和社交(速度),选择装备 ...

可以麻烦大佬看下我下面改的嘛?是LEVEL不要了改成四属性,现在还是错误。

点评

要不你传个工程文件吧  发表于 2022-4-18 17:27
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1733
在线时间
484 小时
注册时间
2006-1-7
帖子
1073
6
发表于 2022-4-19 01:31:59 | 只看该作者
foghidecrab 发表于 2022-4-18 13:58
可以麻烦大佬看下我下面改的嘛?是LEVEL不要了改成四属性,现在还是错误。 ...

脚本 Scene_Equip  中
115-116行
  1.       # 描画左窗口
  2.       @left_window.set_new_parameters(new_atk, new_pdef, new_mdef)
复制代码

改成
  1.       # 描画左窗口
  2.       @left_window.set_new_parameters(new_str, new_dex, new_agi, new_int)
复制代码

初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
7
 楼主| 发表于 2022-4-19 15:41:23 | 只看该作者
白鬼 发表于 2022-4-19 01:31
脚本 Scene_Equip  中
115-116行

这个6楼发的里面改过了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
8
 楼主| 发表于 2022-4-19 15:59:44 | 只看该作者
链接:https://pan.baidu.com/s/1tendOJEA4mVRPyfajgVO-g
提取码:yjrx
--来自百度网盘超级会员V4的分享

对不起不知道怎么传工程文件,整个全传上来了OJZ,里面应该有一堆不重要的图片之类的
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1733
在线时间
484 小时
注册时间
2006-1-7
帖子
1073
9
发表于 2022-4-19 16:13:51 | 只看该作者
本帖最后由 白鬼 于 2022-4-19 16:29 编辑
foghidecrab 发表于 2022-4-19 15:59
链接:https://pan.baidu.com/s/1tendOJEA4mVRPyfajgVO-g
提取码:yjrx
--来自百度网盘超级会员V4的分享

如何发论坛附件


我改好了,测试可以。我把修改的两个脚本完整的发出来你对照一下看看哪里不对吧。
另外,设置好数据库,别拿铜剑给阿尔西斯做测试,因为这家伙一出生就拿着铜剑

Window_EquipLeft【改】
Scene_Equip【改】

评分

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

查看全部评分

初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
190
在线时间
11 小时
注册时间
2020-6-21
帖子
19
10
 楼主| 发表于 2022-4-19 16:43:13 | 只看该作者
现在变成了:
脚本' window_base'的293行发生了TypeError.
第293行是:
   self.contents.draw_text(x, y, 120, 32, parameter_name)

我的行数可能和默认不太一样,因为我把整个特技项给去掉了。
顺带一说那一整段是:
  #--------------------------------------------------------------------------
  # ● 描绘能力值
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #     type  : 能力值种类 (0~3)
  #--------------------------------------------------------------------------
  def draw_actor_parameter(actor, x, y, type)
    case type
    when 0
      parameter_name = $data_system.words.str
      parameter_value = actor.str
    when 1
      parameter_name = $data_system.words.dex
      parameter_value = actor.dex
    when 2
      parameter_name = $data_system.words.agi
      parameter_value = actor.agi
    when 3
      parameter_name = $data_system.words.int
      parameter_value = actor.int
    end
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2)

点评

调用draw_actor_parameter(actor, x, y, type)时候,那个type改成3 就是str,4就是dex,5就是agi,6就是int。把不用的0 1 2 去掉,然后调整好xy坐标(主要是Y)就好了  发表于 2022-4-19 16:51
你的游戏可能用不上atk bdef和pdef,但是不建议你删掉。你可以不调用就好了。比如状态窗口  发表于 2022-4-19 16:50
你把这一段改回默认的就行  发表于 2022-4-19 16:45
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 22:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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