Project1

标题: 怎么做出升级了就能得到技能点,然后可以由玩家任意分到 [打印本页]

作者: 凌帝    时间: 2012-4-21 14:49
标题: 怎么做出升级了就能得到技能点,然后可以由玩家任意分到
怎么做出升级了就能得到技能点,然后可以由玩家任意分到各种属性上?dsu_plus_rewardpost_czw
作者: hys111111    时间: 2012-4-21 15:34
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. # 脚本使用设定:

  5. #LEVEL_UP_POINT = 4  # 每升一级所增加的点数,已用80号变量替代
  6. LEVEL_UP_VARIABLE = 80  # 储存角色点数的变量编号与角色id编号的差值
  7.                          # 默认情况 = 80,
  8.                          # 则是数据库里1号角色的加点数存于81号变量
  9.                          # 2号角色的加点数存于82号变量。
  10.                          # 你可以直接操作变量赠与角色可分配点数

  11. # 每增加一次点数,各项能力值的变化:357-410行
  12.                         
  13. # 使用方法介绍:

  14. # 本脚本不会取代原升级功能 也就是说,默认的升级还在,但可以用这个功能手动追加点数。
  15. # 如果你想纯粹使用手动加点(而升级不提升能力),只要把数据库中角色升级能力,
  16. # 1-99级全部等于一个相同数值就行了。

  17. # 呼唤加点场景的方法:$scene = Scene_Lvup.new(角色编号,返回菜单编号)。
  18. # 默认都是0号

  19. # 加点场景中,page up,page down换人,如果想加点完毕后返回地图,
  20. # 464行$scene = Scene_Menu.new(0)改为$scene = Scene_Map.new

  21. # 推荐脚本搭配:魔法商店脚本,两者结合,制作自由型RPG

  22. #==============================================================================
  23. # ■ Window_Command
  24. #------------------------------------------------------------------------------
  25. #  一般的命令选择行窗口。(追加定义)
  26. #==============================================================================
  27. class Window_Command < Window_Selectable
  28.   #--------------------------------------------------------------------------
  29.   # ● 项目有效化
  30.   #     index : 项目编号
  31.   #--------------------------------------------------------------------------
  32.   def able_item(index)
  33.     draw_item(index, normal_color)
  34.   end
  35. end
  36. #==============================================================================
  37. # ■ Game_Actor
  38. #------------------------------------------------------------------------------
  39. #  处理角色的类。(再定义)
  40. #==============================================================================
  41. #class Game_Actor < Game_Battler
  42.   #--------------------------------------------------------------------------
  43.   # ● 更改 EXP
  44.   #     exp : 新的 EXP
  45.   #--------------------------------------------------------------------------
  46. #  def exp=(exp)
  47. #    @exp = [[exp, 9999999].min, 0].max
  48.     # 升级
  49. #    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  50. #      @level += 1
  51.       # 增加4点可自由分配的点数
  52. #      $game_variables[self.id + LEVEL_UP_VARIABLE] += $game_variables[80]
  53.       # 学会特技
  54. #      for j in $data_classes[@class_id].learnings
  55. #        if j.level == @level
  56. #          learn_skill(j.skill_id)
  57. #        end
  58. #      end
  59. #    end
  60.     # 降级
  61. #    while @exp < @exp_list[@level]
  62. #      @level -= 1
  63. #    end
  64.     # 修正当前的 HP 与 SP 超过最大值
  65. #    @hp = [@hp, self.maxhp].min
  66. #    @sp = [@sp, self.maxsp].min
  67. #  end
  68. #end
  69. #==============================================================================
  70. # ■ Window_Base
  71. #------------------------------------------------------------------------------
  72. #  游戏中全部窗口的超级类(追加定义)
  73. #==============================================================================
  74. class Window_Base < Window
  75.   #--------------------------------------------------------------------------
  76.   # ● 描绘 HP
  77.   #     actor : 角色
  78.   #     x     : 描画目标 X 坐标
  79.   #     y     : 描画目标 Y 坐标
  80.   #     width : 描画目标的宽
  81.   #--------------------------------------------------------------------------
  82.   def draw_actor_hp_lvup(actor, x, y)
  83.     self.contents.font.color = system_color
  84.     self.contents.draw_text(x , y, 96, 32, $data_system.words.hp)
  85.     self.contents.font.color = normal_color
  86.     if $temp_hp == 0
  87.       self.contents.draw_text(x + 80 , y, 72, 32, actor.hp.to_s, 2)
  88.     else
  89.       hp = actor.hp + $temp_hp
  90.       self.contents.draw_text(x + 80 , y, 72, 32, actor.hp.to_s ,2)
  91. #      self.contents.draw_text(x + 155, y, 36, 32, "( ", 2)
  92.       if $temp_hp >=0
  93.         self.contents.font.color = text_color(3)
  94.         bitmap = Bitmap.new("Graphics/Pictures/up.png")
  95.         self.contents.blt(x + 155, y+6, bitmap, Rect.new(0, 0, 20, 20))
  96. #        self.contents.draw_text(x + 155, y, 36, 32, " +",2)
  97. #      else
  98. #        self.contents.font.color = text_color(9)
  99. #        self.contents.draw_text(x + 155, y, 36, 32, " -",2)
  100.       end
  101.       self.contents.draw_text(x + 190, y, 72, 32, hp.to_s, 2)
  102.       self.contents.draw_text(x + 265, y, 80, 32, "(+"+$temp_hp.to_s+")", 0)
  103.       self.contents.font.color = normal_color
  104. #      self.contents.draw_text(x + 215, y, 36, 32, ")", 2)
  105.     end
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 描绘 SP
  109.   #     actor : 角色
  110.   #     x     : 描画目标 X 坐标
  111.   #     y     : 描画目标 Y 坐标
  112.   #     width : 描画目标的宽
  113.   #--------------------------------------------------------------------------
  114.   def draw_actor_sp_lvup(actor, x, y)
  115.     self.contents.font.color = system_color
  116.     self.contents.draw_text(x , y, 96, 32, "最大" + $data_system.words.sp)
  117.     if $temp_sp == 0
  118.       self.contents.font.color = normal_color
  119.       self.contents.draw_text(x + 120 , y, 48, 32, actor.maxsp.to_s, 2)
  120.     else
  121.       maxsp = actor.maxsp + $temp_sp
  122.       self.contents.font.color = Color.new(255, 128, 128, 255)
  123.       self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
  124.       self.contents.font.color = normal_color     
  125.       self.contents.draw_text(x + 155, y, 36, 32, "( ", 2)
  126.       if $temp_sp >=0
  127.         self.contents.font.color = Color.new(255, 128, 128, 255)
  128.         self.contents.draw_text(x + 155, y, 36, 32, " +",2)
  129.       else
  130.         self.contents.font.color = Color.new(255,255,0,255)
  131.         self.contents.draw_text(x + 155, y, 36, 32, " -",2)
  132.       end
  133.       self.contents.draw_text(x + 200, y, 36, 32, $temp_sp.to_s, 2)
  134.       self.contents.font.color = normal_color
  135.       self.contents.draw_text(x + 215, y, 36, 32, ")", 2)
  136.     end
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 描绘能力值
  140.   #     actor : 角色
  141.   #     x     : 描画目标 X 坐标
  142.   #     y     : 描画目标 Y 坐标
  143.   #     type  : 能力值种类 (0~4)
  144.   #--------------------------------------------------------------------------
  145.   def draw_actor_lvup(actor, x, y, type)   

  146.     # 定义数字颜色
  147.     lvup = normal_color
  148.     upcolor = text_color(3)
  149.     self.contents.font.color = normal_color   
  150.     case type
  151.     when 0
  152.       parameter_name = $data_system.words.str
  153.       parameter_value = actor.str
  154.       parameter_value_temp = parameter_value + $temp_str
  155.       if $temp_str != 0
  156.         lvup = upcolor
  157. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  158.         if $temp_str >= 0
  159.           self.contents.font.color = lvup
  160.           bitmap = Bitmap.new("Graphics/Pictures/up.png")
  161.           self.contents.blt(x + 155, y+6, bitmap, Rect.new(0, 0, 20, 20))

  162. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  163. #        else
  164. #          self.contents.font.color = Color.new(255,255,0,255)
  165. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  166.         end      
  167.         self.contents.draw_text(x + 190, y, 72, 32, parameter_value_temp.abs.to_s,2)
  168.         self.contents.draw_text(x + 265, y, 56, 32, "(+"+$temp_str.to_s+")", 0)
  169.         self.contents.font.color = normal_color
  170. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  171.       end
  172.     when 1
  173.       parameter_name = $data_system.words.dex
  174.       parameter_value = actor.dex
  175.       parameter_value_temp = parameter_value + $temp_dex
  176.       if $temp_dex != 0
  177.         lvup = upcolor
  178. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  179.         if $temp_dex >= 0
  180.           self.contents.font.color = lvup
  181.           bitmap = Bitmap.new("Graphics/Pictures/up.png")
  182.           self.contents.blt(x + 155, y+6, bitmap, Rect.new(0, 0, 20, 20))
  183. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  184. #        else
  185. #          self.contents.font.color = Color.new(255,255,0,255)
  186. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  187.         end      
  188.         self.contents.draw_text(x + 190, y, 72, 32, parameter_value_temp.abs.to_s,2)
  189.         self.contents.draw_text(x + 265, y, 56, 32, "(+"+$temp_dex.to_s+")", 0)
  190.         self.contents.font.color = normal_color
  191. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  192.       end
  193.     when 2
  194.       parameter_name = $data_system.words.int
  195.       parameter_value = actor.int
  196.       parameter_value_temp = parameter_value + $temp_int
  197.       if $temp_int != 0
  198.         lvup = upcolor
  199. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  200.         if $temp_int >= 0
  201.           self.contents.font.color = lvup
  202.           bitmap = Bitmap.new("Graphics/Pictures/up.png")
  203.           self.contents.blt(x + 155, y+6, bitmap, Rect.new(0, 0, 20, 20))
  204. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  205. #        else
  206. #          self.contents.font.color = Color.new(255,255,0,255)
  207. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  208.         end      
  209.         self.contents.draw_text(x + 190, y, 72, 32, parameter_value_temp.abs.to_s,2)
  210.         self.contents.draw_text(x + 265, y, 56, 32, "(+"+$temp_int.to_s+")", 0)
  211.         self.contents.font.color = normal_color
  212. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  213.       end
  214.     when 3
  215.       parameter_name = $data_system.words.agi
  216.       parameter_value = actor.agi
  217.       parameter_value_temp = parameter_value + $temp_agi
  218.       if $temp_agi != 0
  219.         lvup = upcolor
  220. #        self.contents.draw_text(x + 256, y, 16, 32, "(")
  221.         if $temp_agi >= 0
  222.           self.contents.font.color = lvup
  223.           bitmap = Bitmap.new("Graphics/Pictures/up.png")
  224.           self.contents.blt(x + 155, y+6, bitmap, Rect.new(0, 0, 20, 20))
  225. #          self.contents.draw_text(x + 272, y, 80, 32, "+",0)
  226. #        else
  227. #          self.contents.font.color = Color.new(255,255,0,255)
  228. #          self.contents.draw_text(x + 272, y, 80, 32, "-",0)
  229.         end      
  230.         self.contents.draw_text(x + 190, y, 72, 32, parameter_value_temp.abs.to_s,2)
  231.         self.contents.draw_text(x + 265, y, 56, 32, "(+"+$temp_agi.to_s+")", 0)
  232.         self.contents.font.color = normal_color
  233. #        self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
  234.       end
  235.     when 4
  236.       parameter_name = "剩余点数"
  237.       self.contents.font.color = system_color
  238.       self.contents.draw_text(x, y, 120, 32, parameter_name)
  239.       parameter_value = $point
  240.       if $point != 0
  241.         lvup = upcolor
  242.       end
  243.       if $temp_point!= 0
  244.         self.contents.font.color = text_color(9)
  245.         bitmap = Bitmap.new("Graphics/Pictures/down.png")
  246.         self.contents.blt(x + 155, y+6, bitmap, Rect.new(0, 0, 20, 20))
  247. #        self.contents.draw_text(x + 190, y, 72, 32, $temp_point.abs.to_s,2)
  248.         self.contents.draw_text(x + 170, y, 56, 32, "(-"+$temp_point.to_s+")", 0)
  249.       else
  250.         self.contents.font.color = normal_color
  251.       end

  252.     end   
  253.     self.contents.font.color = system_color if type != 4
  254.     self.contents.draw_text(x, y, 120, 32, parameter_name) if type!= 4
  255.     self.contents.font.color = normal_color if type != 4
  256.     self.contents.draw_text(x +87, y, 65, 32, parameter_value.to_s,2)   
  257. #    if type != 4
  258. #      self.contents.draw_text(x + 150, y, 36, 32, "→")
  259. #    end
  260. #    self.contents.font.color = lvup
  261. #    self.contents.draw_text(x + 180, y, 60, 32, parameter_value_temp.to_s)
  262.     self.contents.font.color = normal_color      
  263.   end
  264. end
  265. #==============================================================================
  266. # ■ Window_lvup
  267. #------------------------------------------------------------------------------
  268. #  显示升级状态窗口。
  269. #==============================================================================
  270. class Window_Lvup < Window_Base
  271.   #--------------------------------------------------------------------------
  272.   # ● 初始化对像
  273.   #     actor : 角色
  274.   #--------------------------------------------------------------------------
  275.   def initialize(actor)
  276.     super(0, 0, 512, 320)
  277.     self.contents = Bitmap.new(width - 32, height - 32)
  278.     @actor = actor
  279.     refresh
  280.   end
  281.   #--------------------------------------------------------------------------
  282.   # ● 刷新
  283.   #--------------------------------------------------------------------------
  284.   def refresh
  285.     self.contents.clear
  286.     y=32
  287.     y=40 if !$game_switches[19] or !$game_switches[27]
  288.     draw_actor_graphic(@actor, 40, 90)
  289.     draw_actor_name(@actor, 15, 5)
  290. #    draw_actor_class(@actor, 4 + 144, 0)
  291.     draw_actor_level(@actor, 96, 5)
  292. #    draw_actor_state(@actor, 96, 64)   
  293.     draw_actor_hp_lvup(@actor, 96, y*2)
  294. #    draw_actor_sp_lvup(@actor, 96+128, 64)
  295.     draw_actor_lvup(@actor, 96, y*3, 0)
  296.     draw_actor_lvup(@actor, 96, y*4, 1)
  297.     draw_actor_lvup(@actor, 96, y*6, 3) if $game_switches[27] and $game_switches[19]
  298.     draw_actor_lvup(@actor, 96, y*5, 3) if $game_switches[27] and !$game_switches[19]
  299.    
  300.     draw_actor_lvup(@actor, 96, y*5, 2) if $game_switches[19]
  301.     draw_actor_lvup(@actor, 96, 256, 4)
  302.   end
  303. end
  304. #==============================================================================
  305. # ■ Window_Help
  306. #------------------------------------------------------------------------------
  307. #  特技及物品的说明、角色的状态显示的窗口。
  308. #==============================================================================
  309. class Window_Lvup_Help < Window_Base
  310.   #--------------------------------------------------------------------------
  311.   # ● 初始化对像
  312.   #--------------------------------------------------------------------------
  313.   def initialize
  314.     super(0, 320, 640, 160)
  315.     self.contents = Bitmap.new(width - 32, height - 32)
  316.     @test = "" #——这个东西用来检测,节约内存专用
  317.   end
  318.   #--------------------------------------------------------------------------
  319.   # ● 设置文本
  320.   #--------------------------------------------------------------------------
  321.   def lvup_text(text1, text2 = nil, text3 = nil, text4 = nil)
  322.     if @test != text1
  323.       @test = text1
  324.     else
  325.       return
  326.     end   
  327.     self.contents.clear
  328. #    self.contents.font.size -= 4
  329.     self.contents.font.color = normal_color
  330.     self.contents.draw_text(4, 0, self.width - 40, 32, text1)
  331.     if text2 != nil
  332.       self.contents.draw_text(4 , 64, self.width - 40, 32, text2)
  333.     end
  334. #    self.contents.font.size += 4
  335.     if text3 != nil
  336.       self.contents.font.color = text_color(3)
  337.       self.contents.draw_text(120 , 64, self.width - 40, 32, text3)
  338.     end
  339.     if text4 != nil
  340.       self.contents.draw_text(4 , 96, self.width - 40, 32, text4)
  341.     end
  342. #    self.contents.font.size += 4
  343.   end
  344. end
  345. #==============================================================================
  346. # ■ Scene_lvup
  347. #------------------------------------------------------------------------------
  348. #  处理升级画面的类。
  349. #==============================================================================
  350. class Scene_Lvup
  351.   #--------------------------------------------------------------------------
  352.   # ● 初始化对像
  353.   #     actor_index : 角色索引
  354.   #     menu_index : 选项起始位置
  355.   #--------------------------------------------------------------------------
  356.   def initialize(actor_index = 0 , menu_index = 0)
  357.     @actor_index = actor_index
  358.     @menu_index = menu_index
  359.   end
  360.   #--------------------------------------------------------------------------
  361.   # ● 主处理
  362.   #--------------------------------------------------------------------------
  363.   def main
  364.     s1 = "增加"+$data_system.words.hp
  365.     s2 = "增加"+$data_system.words.str
  366.     s3 = "增加"+$data_system.words.dex
  367.     s4 = "增加"+$data_system.words.int
  368.     s5 = "增加"+$data_system.words.agi
  369.     s6 = "确认加点"
  370.     s7 = "点数重置"
  371.     @command_window = Window_Command.new(128, [s1, s2, s3, s4, s5, s6, s7])
  372.     @command_window.index = @menu_index
  373.     # 获取角色
  374.     @actor = $game_party.actors[@actor_index]
  375.     # 将角色的剩余点数带入
  376.     $point = $game_variables[@actor.id + LEVEL_UP_VARIABLE]   
  377.     # 初始化临时量
  378.     $temp_str = 0
  379.     $temp_dex = 0
  380.     $temp_agi = 0
  381.     $temp_int = 0
  382.     $temp_hp = 0
  383.     $temp_sp = 0
  384.     $temp_point = 0
  385.     #=========================================================================
  386.     # 特别提示:这些设置也可以使用小数,但是可能出现0值意外错误
  387.     #  (各种编程语言都有这种意外),建议还是使用整数,正负不限
  388.     #=========================================================================
  389.     # 每提升一次力量,提升多少附加能力
  390.     #=========================================================================
  391.     @str_hp = 0     # 每提升一次力量附加提升多少HP
  392.     @str_sp = 0     # 每提升一次力量附加提升多少SP
  393.     @str_dex = 0    # 每提升一次力量附加提升多少灵巧
  394.     @str_agi = 0    # 每提升一次力量附加提升多少速度
  395.     @str_int = 0    # 每提升一次力量附加提升多少魔力
  396.     @str_str = 1    # 每提升一次力量附加提升多少力量
  397.     #=========================================================================
  398.     # 每提升一次灵巧,提升多少附加能力
  399.     #=========================================================================
  400.     @dex_hp = 0     # 每提升一次灵巧附加提升多少HP
  401.     @dex_sp = 0     # 每提升一次灵巧附加提升多少SP
  402.     @dex_str = 0    # 每提升一次灵巧附加提升多少力量
  403.     @dex_agi = 0    # 每提升一次灵巧附加提升多少速度
  404.     @dex_int = 0    # 每提升一次灵巧附加提升多少魔力
  405.     @dex_dex = 2    # 每提升一次灵巧附加提升多少灵巧
  406.     #=========================================================================
  407.     # 每提升一次速度,提升多少附加能力
  408.     #=========================================================================
  409.     @agi_hp = 0     # 每提升一次速度附加提升多少HP
  410.     @agi_sp = 0     # 每提升一次速度附加提升多少SP
  411.     @agi_str = 0    # 每提升一次速度附加提升多少力量
  412.     @agi_dex = 0    # 每提升一次速度附加提升多少灵巧
  413.     @agi_int = 0    # 每提升一次速度附加提升多少魔力
  414.     @agi_agi = 1    # 每提升一次速度附加提升多少速度
  415.     #=========================================================================
  416.     # 每提升一次魔力,提升多少附加能力
  417.     #=========================================================================
  418.     @int_hp = 0     # 每提升一次魔力附加提升多少HP
  419.     @int_sp = 0    # 每提升一次魔力附加提升多少SP
  420.     @int_str = 0   # 每提升一次魔力附加提升多少力量
  421.     @int_dex = 0   # 每提升一次魔力附加提升多少灵巧
  422.     @int_agi = 0   # 每提升一次魔力附加提升多少速度
  423.     @int_int = 5   # 每提升一次魔力附加提升多少魔力
  424.     #=========================================================================
  425.     # 每提升一次体力,提升多少附加能力
  426.     #=========================================================================
  427.     @hp = 125       # 每提升一次体力提升多少HP
  428.     @sp = 0       # 每提升一次体力提升多少SP
  429.     @hp_str = 0   # 每提升一次体力提升多少力量
  430.     @hp_dex = 0   # 每提升一次体力提升多少速度
  431.     @hp_agi = 0   # 每提升一次体力提升多少灵巧
  432.     @hp_int = 0   # 每提升一次体力提升多少魔力   
  433.     # 定义说明文字
  434.     @text_hp_sc =  "可以增加角色的生命"
  435.     @text_str_sc = "可以提高角色的攻击"
  436.     @text_dex_sc = "可以提高角色的防御"
  437.     @text_agi_sc = "可以提高角色的速度"
  438.     @text_int_sc = "可以提高角色的魔防"
  439.     @text_save = "保存分配情况并返回游戏"
  440.     @text_reset= "重新分配能力点数"
  441.     @text_2 = "每增加1点,"
  442.     @text_hp  = $data_system.words.hp  + "值"
  443.     @text_sp  = $data_system.words.sp  + "值"
  444.     @text_str = $data_system.words.str + "值"
  445.     @text_dex = $data_system.words.dex + "值"
  446.     @text_agi = $data_system.words.agi + "值"
  447.     @text_int = $data_system.words.int + "值"
  448.     s_disable
  449.     # 生成状态窗口
  450.     @lvup_window = Window_Lvup.new(@actor)
  451.     @lvup_window.x = 128
  452.     @lvup_window.y = 0   
  453.     # 生成帮助窗口并初始化帮助文本
  454.     @help_window = Window_Lvup_Help.new   
  455.     # 执行过渡
  456.     Graphics.transition#(40, "Graphics/Transitions/" + $data_system.battle_transition)
  457.     # 主循环
  458.     loop do
  459.       # 刷新游戏画面
  460.       Graphics.update
  461.       # 刷新输入信息
  462.       Input.update
  463.       # 刷新画面
  464.       update
  465.       # 如果切换画面就中断循环
  466.       if $scene != self
  467.         break
  468.       end
  469.     end
  470.     # 准备过渡
  471.     Graphics.freeze
  472.     # 释放窗口
  473.     @command_window.dispose
  474.     @lvup_window.dispose
  475.     @help_window.dispose
  476.   end
  477.   #--------------------------------------------------------------------------
  478.   # ● 刷新画面
  479.   #--------------------------------------------------------------------------
  480.   def update
  481.     # 刷新窗口
  482.     @command_window.update
  483.     # 选项明暗判断(因为太消耗资源,所以屏蔽掉了)
  484.     s_disable
  485.     @lvup_window.update
  486.     #=============================================================
  487.     # 按下 B 键的情况下
  488.     #=============================================================
  489.     if Input.trigger?(Input::B)
  490.       # 演奏取消 SE
  491.       $game_system.se_play($data_system.cancel_se)
  492.       # 切换到地图画面
  493.       $scene = Scene_Map.new
  494.       return
  495.     end
  496.     #=============================================================
  497.     # 按下 C 键的情况下
  498.     #=============================================================
  499.     if Input.trigger?(Input::C)     
  500.       if @command_window.index == 5
  501.           # 演奏确定 SE
  502.         $game_system.se_play($data_system.decision_se)
  503.         # 将角色的剩余点数带回
  504.         $game_variables[@actor.id + LEVEL_UP_VARIABLE] = $point
  505.         # 将角色点数实际加上
  506.         @actor.str += $temp_str
  507.         @actor.dex += $temp_dex
  508.         @actor.agi += $temp_agi
  509.         @actor.int += $temp_int
  510.         @actor.hp  += $temp_hp
  511.         @actor.maxsp += $temp_sp
  512.         # 切换到地图画面
  513.         $scene = Scene_Map.new
  514.         return
  515.       end
  516.       if @command_window.index == 6
  517.           # 演奏确定 SE
  518.         $game_system.se_play($data_system.cancel_se)
  519.           # 将角色的剩余点数带入
  520.         $point = $game_variables[@actor.id + LEVEL_UP_VARIABLE]   
  521.           # 初始化临时量
  522.         $temp_str = 0
  523.         $temp_dex = 0
  524.         $temp_agi = 0
  525.         $temp_int = 0
  526.         $temp_hp = 0
  527.         $temp_sp = 0
  528.         $temp_point = 0
  529.         @lvup_window.refresh
  530.         return
  531.       end
  532.       if $point == 0
  533.         # 演奏冻结 SE
  534.         $game_system.se_play($data_system.buzzer_se)
  535.         return
  536.       end
  537.       case @command_window.index
  538.       when 0
  539.         # 演奏确定 SE
  540.         $game_system.se_play($data_system.decision_se)
  541.         $temp_hp += @hp
  542.         $temp_sp += @sp
  543.         $temp_str += @hp_str
  544.         $temp_dex += @hp_dex
  545.         $temp_agi += @hp_agi
  546.         $temp_int += @hp_int
  547.         $temp_point += 1
  548.         $point -= 1
  549.         @lvup_window.refresh
  550.         s_disable
  551.         return
  552.       when 1
  553.         # 演奏确定 SE
  554.         $game_system.se_play($data_system.decision_se)
  555.         $temp_str += @str_str
  556.         $temp_hp += @str_hp
  557.         $temp_sp += @str_sp
  558.         $temp_dex += @str_dex
  559.         $temp_agi += @str_agi
  560.         $temp_int += @str_int
  561.         $temp_point += 1
  562.         $point -= 1
  563.         @lvup_window.refresh
  564.         s_disable
  565.         return
  566.       when 2
  567.         # 演奏确定 SE
  568.         $game_system.se_play($data_system.decision_se)
  569.         $temp_dex += @dex_dex
  570.         $temp_hp += @dex_hp
  571.         $temp_sp += @dex_sp
  572.         $temp_str += @dex_str
  573.         $temp_agi += @dex_agi
  574.         $temp_int += @dex_int
  575.         $temp_point += 1
  576.         $point -= 1
  577.         @lvup_window.refresh
  578.         s_disable
  579.         return
  580.       when 4
  581.         if !$game_switches[27]
  582.           # 演奏冻结 SE
  583.           $game_system.se_play($data_system.buzzer_se)
  584.           return
  585.         end
  586.         # 演奏确定 SE
  587.         $game_system.se_play($data_system.decision_se)
  588.         $temp_agi += @agi_agi
  589.         $temp_hp += @agi_hp
  590.         $temp_sp += @agi_sp
  591.         $temp_str += @agi_str
  592.         $temp_dex += @agi_dex
  593.         $temp_int += @agi_int
  594.         $temp_point += 1
  595.         $point -= 1
  596.         @lvup_window.refresh
  597.         s_disable
  598.         return
  599.       when 3
  600.         if !$game_switches[19]
  601.           # 演奏冻结 SE
  602.           $game_system.se_play($data_system.buzzer_se)
  603.           return
  604.         end

  605.         # 演奏确定 SE
  606.         $game_system.se_play($data_system.decision_se)
  607.         $temp_int += @int_int
  608.         $temp_hp += @int_hp
  609.         $temp_sp += @int_sp
  610.         $temp_str += @int_str
  611.         $temp_dex += @int_dex
  612.         $temp_agi += @int_agi
  613.         $temp_point += 1
  614.         $point -= 1
  615.         @lvup_window.refresh
  616.         s_disable
  617.         return
  618.       end
  619.     end
  620.     #=============================================================
  621.     # 什么都没有按下的情况
  622.     #=============================================================
  623.     case @command_window.index   
  624.     when 0  # 增加体力
  625.       temptext1 = @text_hp + "+"+ @hp.to_s + "点   "
  626.       @help_window.lvup_text(@text_hp_sc , @text_2 , temptext1)
  627.     when 1  # 增加力量
  628.       temptext1 = @text_str + "+"+ @str_str.to_s + "点   "
  629.       @help_window.lvup_text(@text_str_sc , @text_2 , temptext1)
  630.     when 2  # 增加灵巧
  631.       temptext1 = @text_dex + "+"+ @dex_dex.to_s + "点"
  632.       @help_window.lvup_text(@text_dex_sc , @text_2 , temptext1)
  633.     when 4  # 增加速度
  634.       temptext1 = @text_agi + "+"+ @agi_agi.to_s + "点   "
  635.       @help_window.lvup_text(@text_agi_sc , @text_2 , temptext1)
  636.     when 3  # 增加魔力
  637.       temptext1 = @text_int + "+"+ @int_int.to_s + "点"
  638.       @help_window.lvup_text(@text_int_sc , @text_2 , temptext1)
  639.     when 5 # 保存设定
  640.       @help_window.lvup_text(@text_save)
  641.     when 6 # 点数重置
  642.       @help_window.lvup_text(@text_reset)   
  643.     end
  644.     #=============================================================
  645.     # 按下R与L换人的情况
  646.     #=============================================================     
  647.     if Input.trigger?(Input::R)
  648.       # 演奏光标 SE
  649.       $game_system.se_play($data_system.cursor_se)
  650.       # 移至下一位角色
  651.       @actor_index += 1
  652.       @actor_index %= $game_party.actors.size
  653.       # 切换到别的状态画面
  654.       $scene = Scene_Lvup.new(@actor_index , @command_window.index)
  655.       return
  656.     end
  657.     # 按下 L 键的情况下
  658.     if Input.trigger?(Input::L)
  659.       # 演奏光标 SE
  660.       $game_system.se_play($data_system.cursor_se)
  661.       # 移至上一位角色
  662.       @actor_index += $game_party.actors.size - 1
  663.       @actor_index %= $game_party.actors.size
  664.       # 切换到别的状态画面
  665.       $scene = Scene_Lvup.new(@actor_index , @command_window.index)
  666.       return
  667.     end
  668.   end
  669.   #--------------------------------------------------------------------------
  670.   # ● 选项明暗判断
  671.   #--------------------------------------------------------------------------
  672.   def s_disable
  673.     # 判断剩余点数是否为0,如果为0,那么增加选项表示为暗色
  674.     if $point == 0
  675.       @command_window.disable_item(0)
  676.       @command_window.disable_item(1)
  677.       @command_window.disable_item(2)
  678.       @command_window.disable_item(3)
  679.       @command_window.disable_item(4)
  680.     else
  681.       @command_window.able_item(0)
  682.       @command_window.able_item(1)     
  683.       @command_window.able_item(2)
  684.       @command_window.able_item(3)
  685.       @command_window.able_item(4)
  686.       @command_window.disable_item(3) if !$game_switches[19]
  687.       @command_window.disable_item(4) if !$game_switches[27]
  688.     end
  689.   end
  690. end

  691. #==============================================================================
  692. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  693. #==============================================================================
复制代码
加点脚本……
作者: 凌帝    时间: 2012-4-21 15:36
hys111111 发表于 2012-4-21 15:34
加点脚本……

{:2_276:}我是新手,求这个脚本怎么用...
作者: kangxi0109    时间: 2012-4-21 15:37
请善用搜索功能:
求教,升级加点系统的问题
http://rpg.blue/thread-211664-1-1.html

作者: hys111111    时间: 2012-4-21 15:39
本帖最后由 hys111111 于 2012-4-21 15:40 编辑
凌帝 发表于 2012-4-21 15:36
我是新手,求这个脚本怎么用...


首先,打开脚本编辑器
点击Main,按键盘上的Insert,然后粘贴进去,名字你自己起。

插入后,在任意地方使用$scene = Scene_Lvup.new(角色编号,返回菜单编号)即可
作者: 凌帝    时间: 2012-4-21 15:43
hys111111 发表于 2012-4-21 15:39
首先,打开脚本编辑器
点击Main,按键盘上的Insert,然后粘贴进去,名字你自己起。

{:2_271:}加了,没改变


‘‘──凌帝于2012-4-21 15:57补充以下内容

{:2_271:}
’’


‘‘──凌帝于2012-4-21 15:59补充以下内容

{:2_271:}八十号变量怎么设定...完全不懂...{:2_271:}我是纯新手啊...
’’
作者: 1196395297    时间: 2012-4-21 18:26
本帖最后由 1196395297 于 2012-4-21 18:27 编辑

夜想曲里面有。按6是加点,可是不知道在哪里。
还有,物品里面有加的东西的。
作者: though110112113    时间: 2012-4-24 13:03
技能升级?人物升级?属性点?技能点?说清楚点嘛




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