查看: 2437|回复: 4

[已经解决] 请教设置敌方第9号NPC的力量属性为1999的方法

[复制链接]
梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
发表于 2021-9-14 07:34:26 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 taeckle 于 2021-9-14 07:44 编辑

数据库敌人一栏最多可以把NPC的力量属性设置为999, 咱也知道把敌方第9号NPC的力量属性设定为1999 是可以$data_enemies[9].str = 1999这么搞的,但就是不知道该把这句话放到哪个class的inilitialize里面...

咱可以把这句话放到默认脚本class Game_Enemy < Game_Battler的def initialize里面吗 :

  1. class Game_Enemy < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #     troop_id     : 循环 ID
  5.   #     member_index : 循环成员的索引
  6.   #--------------------------------------------------------------------------
  7.   def initialize(troop_id, member_index)
  8.     super()
  9.     @troop_id = troop_id
  10.     @member_index = member_index
  11.     troop = $data_troops[@troop_id]
  12.     @enemy_id = troop.members[@member_index].enemy_id
  13.     enemy = $data_enemies[@enemy_id]
  14.     @battler_name = enemy.battler_name
  15.     @battler_hue = enemy.battler_hue
  16.     @hp = maxhp
  17.     @sp = maxsp
  18.     @hidden = troop.members[@member_index].hidden
  19.     @immortal = troop.members[@member_index].immortal
  20.     $data_enemies[9].str = 1999    #可以在这设置敌方第9号NPC力量属性(str)为1999吗?
  21.   end
  22.   #...
  23. end
复制代码
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2021-9-14 11:45:38 | 显示全部楼层
本帖最后由 soulsaga 于 2021-9-14 12:20 编辑

我觉得这样可行..
问之前你怎么不自己试一下?

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 咱就算蒙对了这逻辑也是没懂啊.

查看全部评分

回复

使用道具 举报

梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2021-9-14 11:52:03 | 显示全部楼层
本帖最后由 miantouchi 于 2021-9-14 12:20 编辑
  1.   #--------------------------------------------------------------------------
  2.   # ● 获取基本力量
  3.   #--------------------------------------------------------------------------
  4.   def base_str
  5.     case @enemy_id
  6.     when 9  #9号敌人
  7.       return 1999
  8.     when 10 #10号敌人
  9.       return 800
  10.     else  #其他没设置保持默认
  11.       return $data_enemies[@enemy_id].str
  12.     end
  13.   end
复制代码

没测试哈

评分

参与人数 2星屑 +50 赞 +2 收起 理由
RyanBern + 50 + 1 认可答案
taeckle + 1 好的,受教了!

查看全部评分

回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2021-9-14 15:05:00 | 显示全部楼层
本帖最后由 guoxiaomi 于 2021-9-14 16:18 编辑

我觉得如果要修改$data_enemies,就应该放到$data_enemies刚刚被创建的地方,也就是scene_title里。Scene_Title的$data_enemies  = load_data("Data/Enemies.rxdata")出现了2次,紧接在这后面操作就行。

但是如果你并不想修改$data_enemies[xxx].str,只是想修改Game_Enemy对应的数值base_str,应该用3楼的方法。RGSS的写法里更倾向于把$data_xxx当成只读的内容,避免修改、操作$data_xxx。

点评

这咋写?  发表于 2021-9-14 15:56

评分

参与人数 1赞 +1 收起 理由
taeckle + 1 原来如此!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部