Project1

标题: [已解决]如何在 def initialize(data_id)这个定义里刷新 @Xunzhang<<... [打印本页]

作者: 金芒芒    时间: 2025-1-11 12:18
标题: [已解决]如何在 def initialize(data_id)这个定义里刷新 @Xunzhang<<...
本帖最后由 金芒芒 于 2025-1-12 16:26 编辑

battler=EFS_Battler.new(2)
battler.Xunzhang<<[5]
5号勋章的base_atk=50
勋章的属性值无法传递全局出去
RUBY 代码复制
  1. class EFS_Battler < Game_Character
  2.   attr_accessor :character_name, :base_atk, :Xunzhang
  3.   attr_reader :soldier_id
  4.  
  5.   def initialize(data_id)
  6.     super()
  7.     @character_name = Figter_data::CHARACTER_NAME[data_id]
  8.     @base_atk = Figter_data::BASE_ATK[data_id]
  9.     @base_base_atk = @base_atk
  10.     @soldier_id = data_id
  11.     @Xunzhang = []
  12. 如何在此定义里增加刷新@Xunzhang = [5]传递到 def refill
  13.   end
  14.  
  15.  
  16.   def refill
  17.     calculate_Xunzhang
  18.   end
  19.  
  20.   def calculate_Xunzhang
  21.     @base_base_atk = get_Xunzhang_base_atk
  22.   end
  23.  
  24.   def get_Xunzhang_base_atk(const = false)
  25.     n = const? Figter_data::BASE_ATK[@soldier_id] : @base_base_atk
  26.     @Xunzhang.each do |i|
  27.       next if i.nil?
  28.       n += Xunzhang_data::BASE_ATK[i]
  29.     end
  30.     n
  31.   end
  32. end

作者: soulsaga    时间: 2025-1-11 20:06
直接写@Xunzhang = [5]不就能传到了?
作者: 金芒芒    时间: 2025-1-12 16:25
本帖最后由 金芒芒 于 2025-1-12 16:26 编辑
soulsaga 发表于 2025-1-11 20:06
直接写@Xunzhang = [5]不就能传到了?


已经找到原因了,原来还有其他脚本读取定义,勋章是一个装备我想通过手动更换因为装备和人物多是模型




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