Project1

标题: 请教如何升级完全恢复 [打印本页]

作者: 522517907    时间: 2011-1-22 18:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 步兵中尉    时间: 2011-1-22 18:44
首先你得确定是本站提供的脚本,否则行数会略有偏差,用ctrl+f搜索即可。在279行内容如下:
        if actor.level > last_level
在行此下面一行添加:actor.hp = actor.maxhp;          actor.sp = actor.maxsp
作者: 522517907    时间: 2011-1-22 18:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: 步兵中尉    时间: 2011-1-22 21:11
脚本里面啊,难道你不会?不行就发图给你
作者: 赤夜玄魔    时间: 2011-1-22 21:28
脚本请在 RMXP工程里点击 F11……
脚本搜索到类似这样的东西……
  1.   #--------------------------------------------------------------------------
  2.   # ● 更改 EXP
  3.   #     exp : 新的 EXP
  4.   #--------------------------------------------------------------------------
  5.   def exp=(exp)
  6.     @exp = [[exp, 9999999].min, 0].max
  7.     # 升级
  8.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  9.       @level += 1
  10.       # 学会特技
  11.       for j in $data_classes[@class_id].learnings
  12.         if j.level == @level
  13.           learn_skill(j.skill_id)
  14.         end
  15.       end
  16.     end
  17.     # 降级
  18.     while @exp < @exp_list[@level]
  19.       @level -= 1
  20.     end
  21.     # 修正当前的 HP 与 SP 超过最大值
  22.     @hp = [@hp, self.maxhp].min
  23.     @sp = [@sp, self.maxsp].min
  24.   end
复制代码
然后改成下面这样……得去多看教程……
  1. #--------------------------------------------------------------------------
  2. # ● 更改 EXP
  3. #     exp : 新的 EXP
  4. #--------------------------------------------------------------------------
  5. def exp=(exp)
  6.    @exp = [[exp, 9999999].min, 0].max
  7.    # 升级
  8.    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  9.      @level += 1
  10.      @hp = maxhp
  11.      @sp = maxsp
  12.      # 学会特技
  13.      for j in $data_classes[@class_id].learnings
  14.        if j.level == @level
  15.          learn_skill(j.skill_id)
  16.        end
  17.      end
  18.    end
  19.    # 降级
  20.    while @exp < @exp_list[@level]
  21.      @level -= 1
  22.    end
  23.    # 修正当前的 HP 与 SP 超过最大值
  24.    @hp = [@hp, self.maxhp].min
  25.    @sp = [@sp, self.maxsp].min
  26. end
复制代码

作者: 执子之手    时间: 2011-1-27 13:37
1、默认情况下的升级加HP,SP方法:

Scene_Battle 2 的173行开始,有如下3段内容:

        if actor.level > last_level
          @status_window.level_up(i)
        end

这里就是升级的内容,只要在if那个下面一行添加
actor.hp = actor.maxhp;          actor.sp = actor.maxsp

就可以补满血。如果需要增加50%的最大生命和最大SP,则写
actor.hp += actor.maxhp*0.5;          actor.sp += actor.maxsp*0.5


作者: 522517907    时间: 2011-1-27 17:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 步兵中尉    时间: 2011-1-27 22:11
晕啊,这样说都不懂
       if actor.level > last_level
          @status_window.level_up(i)   
actor.hp = actor.maxhp;          actor.sp = actor.maxsp
        end

作者: 522517907    时间: 2011-1-28 09:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: IamI    时间: 2011-1-28 12:31
忘记end是一种常有的悲剧……
作者: 步兵中尉    时间: 2011-1-28 13:02
让人狂晕!
之前是
if actor.level > last_level
          @status_window.level_up(i)  
        end
改后是
  if actor.level > last_level
          @status_window.level_up(i)   
actor.hp = actor.maxhp;          actor.sp = actor.maxsp
        end
怎么添加应该是一目了然吧?
说白了就是@status_window.level_up(i)这里按回车,然后再粘贴
actor.hp = actor.maxhp;          actor.sp = actor.maxsp
就可以了

作者: 578845754    时间: 2011-1-29 20:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: 赤夜玄魔    时间: 2011-1-31 20:08
我晕,这还没解决呢?天啊……多去看教程啊LZ……




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