Project1

标题: 问个问题,怎么把exp(经验)在脚本中用变量9来代替 [打印本页]

作者: j1747532399l    时间: 2013-10-7 00:34
标题: 问个问题,怎么把exp(经验)在脚本中用变量9来代替
就是这样,有没有人帮我解决下。
{:2_287:}
作者: kuerlulu    时间: 2013-10-7 10:00
exp刷新一次有两个数值(当前exp和next_exp【详见Window_Base208行】),而变量本身只有一个数值,
理论上来说LZ需要把问题描述得详细一点,到底是显示当前exp还是怎么地。
$game_variables[9].to_s <这句可以获得9号变量的数值顺便转换成字符串,再需要显示的地方更改draw_text的第5个参数即可
作者: j1747532399l    时间: 2013-10-7 11:10
kuerlulu 发表于 2013-10-7 10:00
exp刷新一次有两个数值(当前exp和next_exp【详见Window_Base208行】),而变量本身只有一个数值,
理论上来 ...

我的意思是,以前,角色从1级到2级要50exp
现在,角色从1级到2级要变量9的值50
作者: 熊喵酱    时间: 2013-10-7 11:19
本帖最后由 76213585 于 2013-10-6 20:21 编辑

插入main以上
升級時除了原本需要的exp數量以外還需要變量9的數值(如是負就是少)
用RGSS3的原理寫的 不知道RGSS能不能用  不能的話就無視我吧....
還有請LZ下次問問題說清楚點 然後口氣要好一點
@Person
@level
@exp  
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2. def exp=(exp)
  3.     @exp = [[exp, 9999999].min, 0].max
  4.     # 升级
  5.     while @exp >= @exp_list[@level+1] + $game_variables[9] and @exp_list[@level+1] > 0#@exp_list[@level+1] and @exp_list[@level+1] > 0
  6.       @level += 1
  7.       # 学会特技
  8.       for j in $data_classes[@class_id].learnings
  9.         if j.level == @level
  10.           learn_skill(j.skill_id)
  11.         end
  12.       end
  13.     end
  14.     # 降级
  15.     while @exp < @exp_list[@level]
  16.       @level -= 1
  17.     end
  18.     # 修正当前的 HP 与 SP 超过最大值
  19.     @hp = [@hp, self.maxhp].min
  20.     @sp = [@sp, self.maxsp].min
  21.   end
  22. end
   
作者: 芯☆淡茹水    时间: 2013-10-7 21:04
如果只需要 变量9 的值的话,要改的地方很多很多。
比如 exp 的计算;升级/降级;显示,,,等一大堆东西。
只为了这个效果而改一大堆东西,本人认为不值。




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