Project1

标题: [已解决]如何让脚本简化 [打印本页]

作者: 金芒芒    时间: 6 天前
标题: [已解决]如何让脚本简化
本帖最后由 金芒芒 于 2025-1-22 09:49 编辑

RUBY 代码复制
  1. class EFS_Battler < Game_Character
  2. def initialize(data_id)
  3.   super()
  4. case data_id
  5.     when 2
  6.      @Xunzhang = $Xunzhang_2
  7.      @Shenqi = $Shenqi_2
  8.      @Kuijia = $Kuijia_2
  9.      @Zhanxue = $Zhanxue_2
  10.     when 3
  11.      @Xunzhang = $Xunzhang_3
  12.      @Shenqi = $Shenqi_3
  13.      @Kuijia = $Kuijia_3
  14.      @Zhanxue = $Zhanxue_3
  15.     when 4
  16.      @Xunzhang = $Xunzhang_4
  17.      @Shenqi = $Shenqi_4
  18.      @Kuijia = $Kuijia_4
  19.      @Zhanxue = $Zhanxue_4
  20.     when 5
  21.      @Xunzhang = $Xunzhang_5
  22.      @Shenqi = $Shenqi_5
  23.      @Kuijia = $Kuijia_5
  24.      @Zhanxue = $Zhanxue_5
  25.     when 6
  26.      @Xunzhang = $Xunzhang_6
  27.      @Shenqi = $Shenqi_6
  28.      @Kuijia = $Kuijia_6
  29.      @Zhanxue = $Zhanxue_6
  30.     when 7
  31.      @Xunzhang = $Xunzhang_7
  32.      @Shenqi = $Shenqi_7
  33.      @Kuijia = $Kuijia_7
  34.      @Zhanxue = $Zhanxue_7
  35.     when 8
  36.      @Xunzhang = $Xunzhang_8
  37.      @Shenqi = $Shenqi_8
  38.      @Kuijia = $Kuijia_8
  39.      @Zhanxue = $Zhanxue_8
  40.     when 9
  41.      @Xunzhang = $Xunzhang_9
  42.      @Shenqi = $Shenqi_9
  43.      @Kuijia = $Kuijia_9
  44.      @Zhanxue = $Zhanxue_9
  45.     when 10
  46.      @Xunzhang = $Xunzhang_10
  47.      @Shenqi = $Shenqi_10
  48.      @Kuijia = $Kuijia_10
  49.      @Zhanxue = $Zhanxue_10
  50.     when 11
  51.      @Xunzhang = $Xunzhang_11
  52.      @Shenqi = $Shenqi_11
  53.      @Kuijia = $Kuijia_11
  54.      @Zhanxue = $Zhanxue_11
  55.     when 12
  56.      @Xunzhang = $Xunzhang_12
  57.      @Shenqi = $Shenqi_12
  58.      @Kuijia = $Kuijia_12
  59.      @Zhanxue = $Zhanxue_12
  60.     when 13
  61.      @Xunzhang = $Xunzhang_13
  62.      @Shenqi = $Shenqi_13
  63.      @Kuijia = $Kuijia_13
  64.      @Zhanxue = $Zhanxue_13
  65. ....when 200
  66.      @Xunzhang = $Xunzhang_200
  67.      @Shenqi = $Shenqi_200
  68.      @Kuijia = $Kuijia_200
  69.      @Zhanxue = $Zhanxue_200
  70. else
  71.      @Xunzhang = []
  72.      @Shenqi = []
  73.      @Kuijia = []
  74.      @Zhanxue = []
  75. end

作者: soulsaga    时间: 5 天前
本帖最后由 soulsaga 于 2025-1-19 10:56 编辑

RUBY 代码复制
  1. @Xunzhang = eval("$Xunzhang_"+data_id.to_s)


可简化成这样
作者: 金芒芒    时间: 5 天前
本帖最后由 金芒芒 于 2025-1-19 10:56 编辑
soulsaga 发表于 2025-1-19 00:23
@Xunzhang = eval("Xunzhang_"+data_id.to_s)[/pre]

可简化成这样


@Xunzhang = eval("$Xunzhang_"+data_id.to_s)这样可以吗?因为变量是直接在初始里刷新结果的。下面是跟据你的脚本AI编写的
  1. class EFS_Battler < Game_Character
  2.   def initialize(data_id)
  3.     super()
  4.     if data_id >= 2 && data_id <= 200
  5.       data = $character_data[data_id]
  6.       @Xunzhang = data[:Xunzhang]
  7.       @Shenqi = data[:Shenqi]
  8.       @Kuijia = data[:Kuijia]
  9.       @Zhanxue = data[:Zhanxue]
  10.     else
  11.       @Xunzhang = []
  12.       @Shenqi = []
  13.       @Kuijia = []
  14.       @Zhanxue = []
  15.     end
  16.   end
  17. end
复制代码

作者: soulsaga    时间: 5 天前
金芒芒 发表于 2025-1-19 10:54
@Xunzhang = eval("$Xunzhang_"+data_id.to_s)这样可以吗?因为变量是直接在初始里刷新结果的
...

可以..我写漏了..




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