Project1

标题: 请教设置敌方第9号NPC的力量属性为1999的方法 [打印本页]

作者: taeckle    时间: 2021-9-14 07:34
标题: 请教设置敌方第9号NPC的力量属性为1999的方法
本帖最后由 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
复制代码

作者: soulsaga    时间: 2021-9-14 11:45
本帖最后由 soulsaga 于 2021-9-14 12:20 编辑

我觉得这样可行..
问之前你怎么不自己试一下?
作者: miantouchi    时间: 2021-9-14 11:52
本帖最后由 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
复制代码

没测试哈
作者: guoxiaomi    时间: 2021-9-14 15:05
本帖最后由 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。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1