设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1700|回复: 4
打印 上一主题 下一主题

[已经过期] 快速加点

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3181
在线时间
1863 小时
注册时间
2010-6-19
帖子
1205
跳转到指定楼层
1
发表于 2022-8-5 22:51:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 黑米馒头 于 2022-8-8 14:12 编辑

下面这个加点脚本,如何修改成,在加点的时候,按下左键,可以一次性加同属性点10点,按下右键,一次减10点~



RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_lvup
  3. #------------------------------------------------------------------------------
  4. #  处理升级画面的类。
  5. #==============================================================================
  6. class Scene_Lvup
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     actor_index : 角色索引
  10.   #     menu_index : 选项起始位置
  11.   #--------------------------------------------------------------------------
  12.   def initialize(actor_index = 0 , menu_index = 0)
  13.     @actor_index = actor_index
  14.     @menu_index = menu_index
  15.     # 获取角色
  16.     @actor = $game_party.actors[@actor_index]
  17.     # 初始化临时量
  18.     $temp_str = $temp_agi = $temp_int = $temp_hp = $temp_sp =
  19.     $temp_dex = 0
  20.     @temp_gg = @actor.gg
  21.     @temp_lx = @actor.lx
  22.     @temp_ll = @actor.ll
  23.     @temp_mj = @actor.mj
  24.     $point = @actor.qianli
  25.     @qianli_z = $point
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 主处理
  29.   #--------------------------------------------------------------------------
  30.   def main
  31.      #=======================================================================
  32.      # ** 基础设置
  33.      #=======================================================================
  34.      @gg_maxhp = 10 #增加一点根骨,提高 10点 MAXHP
  35.      @gg_maxsp = 0           #增加一点根骨,提高 0 点 MAXSP
  36.      @gg_str = 0             #增加一点根骨,提高 0 点 力量
  37.      @gg_dex = 0             #增加一点根骨,提高 0 点 灵巧
  38.      @gg_agi = 0             #增加一点根骨,提高 0 点 速度
  39.      @gg_int = 0             #增加一点根骨,提高 0 点 魔力
  40.      #=======================================================================
  41.      @lx_maxhp = 0           #增加一点灵性,提高 0 点 MAXHP
  42.      @lx_maxsp = 6 #增加一点灵性,提高 6点 MAXSP
  43.      @lx_str = 0             #增加一点灵性,提高 0 点 力量
  44.      @lx_dex = 0             #增加一点灵性,提高 0 点 灵巧
  45.      @lx_agi = 0             #增加一点灵性,提高 0 点 速度
  46.      @lx_int = 1             #增加一点灵性,提高 1 点 魔力
  47.      #=======================================================================
  48.      @ll_maxhp = 0           #增加一点力量,提高 0 点 MAXHP
  49.      @ll_maxsp = 0           #增加一点力量,提高 0 点 MAXSP
  50.      @ll_str = 1             #增加一点力量,提高 1 点 力量
  51.      @ll_dex = 0             #增加一点力量,提高 0 点 灵巧
  52.      @ll_agi = 0             #增加一点力量,提高 0 点 速度
  53.      @ll_int = 0             #增加一点力量,提高 0 点 魔力
  54.      #=======================================================================
  55.      @mj_maxhp = 0           #增加一点敏捷,提高 0 点 MAXHP
  56.      @mj_maxsp = 0           #增加一点敏捷,提高 0 点 MAXSP
  57.      @mj_str = 0             #增加一点敏捷,提高 0 点 力量
  58.      @mj_dex = 1             #增加一点敏捷,提高 1 点 灵巧
  59.      @mj_agi = 1             #增加一点敏捷,提高 1 点 速度
  60.      @mj_int = 0             #增加一点敏捷,提高 0 点 魔力
  61.      #=======================================================================
  62.      # ** 主命令窗口
  63.      s1 = "增加根骨 #{@temp_gg}"
  64.      s2 = "增加灵性 #{@temp_lx}"
  65.      s3 = "增加力量 #{@temp_ll}"
  66.      s4 = "增加敏捷 #{@temp_mj}"
  67.      s5 = "重新加点"
  68.      s6 = "确认加点"
  69.      @command_window = JD_Command.new(160, [s1, s2, s3, s4, s5, s6])
  70.      @command_window.index = @menu_index
  71.      # ** 状态窗口
  72.      @jddl = JD_DL.new(@actor)
  73.      @jddl.x = 160
  74.      # ** 生成帮助
  75.      @help_window = JD_Help.new([
  76.      "每增加1点根骨:可以提高 1 ~ 8 点 MaxHP",
  77.      "每增加1点灵性:可以提高 1 ~ 8 点 MaxSP,以及 1 点 魔力",
  78.      "每增加1点力量:可以提高 1 点 力量",
  79.      "每增加1点敏捷:可以提高 1 点 灵巧 和 1 点 速度"
  80.      ])
  81.      #=======================================================================
  82.      # ** 以下脚本为非自定义内容!
  83.      #=======================================================================
  84.      # 执行过渡
  85.      Graphics.transition
  86.      # 主循环
  87.      loop {
  88.        Graphics.update
  89.        Input.update
  90.        update
  91.        break if $scene != self
  92.      }
  93.      # 准备过渡
  94.      Graphics.freeze
  95.      # 释放窗口
  96.      @command_window.dispose
  97.      @jddl.dispose
  98.      @help_window.dispose
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 刷新画面
  102.   #--------------------------------------------------------------------------
  103.   def update
  104.     #=============================================================
  105.     # 按下 B 键的情况下
  106.     #=============================================================
  107.     if Input.trigger?(Input::B)
  108.       # 演奏取消 SE
  109.       $game_system.se_play($data_system.cancel_se)
  110.       #===============================================================
  111.       # ** 在这里设置 是返回 菜单 还是返回 地图
  112.       #===============================================================
  113.       # 切换到地图画面
  114.       #$scene = Scene_Map.new # ** 返回地图
  115.       $scene = Scene_Menu.new(6) # ** 返回菜单
  116.       #===============================================================
  117.       return
  118.     end
  119.     # 刷新命令窗口
  120.     @command_window.update
  121.     s1 = "增加根骨 #{@temp_gg}"
  122.     s2 = "增加灵性 #{@temp_lx}"
  123.     s3 = "增加力量 #{@temp_ll}"
  124.     s4 = "增加敏捷 #{@temp_mj}"
  125.     s5 = "重新加点"
  126.     s6 = "确认加点"
  127.     @command_window.commands([s1, s2, s3, s4, s5, s6])
  128.     @command_window.refresh
  129.     #=============================================================
  130.     # 按下 C 键的情况下
  131.     #=============================================================
  132.     if Input.trigger?(Input::C)
  133.        case @command_window.index
  134.        # ** 处理根骨
  135.        when 0
  136.          # 潜力点不够终止处理
  137.          if $point <= 0
  138.            $game_system.se_play($data_system.buzzer_se)
  139.            return
  140.          end
  141.          $point -= 1 # 减去临时点数
  142.          # ** 属性增加
  143.          $temp_hp += @gg_maxhp
  144.          $temp_sp += @gg_maxsp
  145.          $temp_str += @gg_str
  146.          $temp_dex += @gg_dex
  147.          $temp_agi += @gg_agi
  148.          $temp_int += @gg_int
  149.          # ** 根骨增加
  150.          @temp_gg += 1
  151.        # ** 处理灵性
  152.        when 1
  153.          # 潜力点不够终止处理
  154.          if $point <= 0
  155.            $game_system.se_play($data_system.buzzer_se)
  156.            return
  157.          end
  158.          $point -= 1 # 减去临时点数
  159.          # ** 属性增加
  160.          $temp_hp += @lx_maxhp
  161.          $temp_sp += @lx_maxsp
  162.          $temp_str += @lx_str
  163.          $temp_dex += @lx_dex
  164.          $temp_agi += @lx_agi
  165.          $temp_int += @lx_int
  166.          # ** 灵性增加
  167.          @temp_lx += 1
  168.        # ** 处理力量
  169.        when 2
  170.          # 潜力点不够终止处理
  171.          if $point <= 0
  172.            $game_system.se_play($data_system.buzzer_se)
  173.            return
  174.          end
  175.          $point -= 1 # 减去临时点数
  176.          # ** 属性增加
  177.          $temp_hp += @ll_maxhp
  178.          $temp_sp += @ll_maxsp
  179.          $temp_str += @ll_str
  180.          $temp_dex += @ll_dex
  181.          $temp_agi += @ll_agi
  182.          $temp_int += @ll_int
  183.          # ** 力量增加
  184.          @temp_ll += 1
  185.        # ** 处理敏捷
  186.        when 3
  187.          # 潜力点不够终止处理
  188.          if $point <= 0
  189.            $game_system.se_play($data_system.buzzer_se)
  190.            return
  191.          end
  192.          $point -= 1 # 减去临时点数
  193.          # ** 属性增加
  194.          $temp_hp += @mj_maxhp
  195.          $temp_sp += @mj_maxsp
  196.          $temp_str += @mj_str
  197.          $temp_dex += @mj_dex
  198.          $temp_agi += @mj_agi
  199.          $temp_int += @mj_int
  200.          # ** 敏捷增加
  201.          @temp_mj += 1
  202.        when 4
  203.          # 初始化临时量
  204.          $temp_str =
  205.          $temp_agi =
  206.          $temp_int =
  207.          $temp_hp =
  208.          $temp_sp =
  209.          $temp_dex = 0
  210.          @temp_gg = @actor.gg
  211.          @temp_lx = @actor.lx
  212.          @temp_ll = @actor.ll
  213.          @temp_mj = @actor.mj
  214.          $point = @actor.qianli
  215.        when 5
  216.          # ** 确认加点
  217.          @actor.maxhp += $temp_hp
  218.        #  @actor.hp = @actor.maxhp   #(刚开始是这样)
  219.          @actor.hp = @actor.maxhp if $temp_hp > 0  #(后来改成这样)
  220.          @actor.maxsp += $temp_sp
  221.        #  @actor.sp = @actor.maxsp   #(刚开始是这样)
  222.          @actor.sp = @actor.maxsp if $temp_sp > 0  #(后来改成这样)
  223.          @actor.str += $temp_str
  224.          @actor.int += $temp_int
  225.          @actor.agi += $temp_agi
  226.          @actor.dex += $temp_dex
  227.          # 初始化临时量
  228.          $temp_str =
  229.          $temp_agi =
  230.          $temp_int =
  231.          $temp_hp =
  232.          $temp_sp =
  233.          $temp_dex = 0
  234.          # ** 确认属性
  235.          @actor.qianli = $point
  236.          @actor.gg = @temp_gg
  237.          @actor.lx = @temp_lx
  238.          @actor.ll = @temp_ll
  239.          @actor.mj = @temp_mj
  240.        end
  241.        # 演奏确定SE
  242.        $game_system.se_play($data_system.decision_se)
  243.        # 刷新帮助窗口
  244.        @jddl.refresh
  245.    end
  246.  
  247.    # 按下 R 键的情况下
  248.     if Input.trigger?(Input::R)
  249.       # 演奏光标 SE
  250.       $game_system.se_play($data_system.cursor_se)
  251.       # 移至下一位角色
  252.       @actor_index += 1
  253.       @actor_index %= $game_party.actors.size
  254.       $scene = Scene_Lvup.new(@actor_index)
  255.       return
  256.     end
  257.     # 按下 L 键的情况下
  258.     if Input.trigger?(Input::L)
  259.       # 演奏光标 SE
  260.       $game_system.se_play($data_system.cursor_se)
  261.       # 移至上一位角色
  262.       @actor_index += $game_party.actors.size - 1
  263.       @actor_index %= $game_party.actors.size
  264.       $scene = Scene_Lvup.new(@actor_index)
  265.       return
  266.     end
  267.   end
  268. end

Lv3.寻梦者

梦石
0
星屑
2421
在线时间
162 小时
注册时间
2020-8-9
帖子
106
2
发表于 2022-8-7 16:35:04 | 只看该作者
你在加减点的地方*10呗,如果想保留之前的加点模式,就判断一下点数,超过范围就进入快速加点模式,或者让玩家自己选
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

3
发表于 2022-8-7 20:36:31 | 只看该作者
你这个脚本好像有个漏洞。每次进入场景的时候会随机决定,比如根骨,提高的MAXHP数,而且整个场景不退出就保持不变。那玩家就可以在进去的时候试一下根骨是不是+8HP,不是就切换下一个角色刷新随机数。

点评

那你还要不要改,要的话把新的脚本发出来?  发表于 2022-8-8 10:59
嗯,我后来改成固定数值了  发表于 2022-8-8 10:12
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-25 16:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表