Project1

标题: 升级加点脚本如何排除一些角色升级后不加点? [打印本页]

作者: 飞各大大    时间: 2008-9-26 22:16
标题: 升级加点脚本如何排除一些角色升级后不加点?
比如角色编号大于50的角色升级后没有点可加



升级加点脚本上限控制

http://rpg.blue/web/htm/news275.htm [LINE]1,#dddddd[/LINE]此贴于 2008-9-27 11:01:15 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 塑望    时间: 2008-9-26 22:18
LEVEL_UP_POINT = 3  # 每升一级所增加的点数
LEVEL_UP_VARIABLE = 100  # 储存角色点数的变量编号与角色id编号的差值
                        # 默认情况 = 100,
                        # 则是数据库里1号角色的加点数存于101号变量
                        # 3号角色的加点数存于103号变量。
                        # 你可以直接操作变量赠与角色可分配点数

作者: 灯笼菜刀王    时间: 2008-9-27 00:47
  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] and @exp_list[@level+1] > 0
  6.      @level += 1
  7.      # 增加4点可自由分配的点数
  8.     if self.id <= 50
  9.      $game_variables[self.id + LEVEL_UP_VARIABLE] += LEVEL_UP_POINT
  10.     end
  11.      # 学会特技
  12.      for j in $data_classes[@class_id].learnings
  13.        if j.level == @level
  14.          learn_skill(j.skill_id)
  15.        end
  16.      end
  17.    end
  18.    # 降级
  19.    while @exp < @exp_list[@level]
  20.      @level -= 1
  21.    end
  22.    # 修正当前的 HP 与 SP 超过最大值
  23.    @hp = [@hp, self.maxhp].min
  24.    @sp = [@sp, self.maxsp].min
  25. end
  26. end
复制代码

把这段脚本塞MAIN前就可以了,记得要放在加点脚本下面. [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 浩气青天    时间: 2008-9-27 01:42
刀叔好强啊。脚本从哪学的?{/se}我也要。




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