| 
 
| 赞 | 1 |  
| VIP | 0 |  
| 好人卡 | 10 |  
| 积分 | 6 |  
| 经验 | 33498 |  
| 最后登录 | 2022-11-29 |  
| 在线时间 | 1118 小时 |  
 Lv2.观梦者 
	梦石0 星屑600 在线时间1118 小时注册时间2012-12-24帖子831 | 
| 
我用的是这个脚本
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  
 #encoding:utf-8#=============================================================================#-----------RMVA加点系统正常向-v1.01---By:救世小树--------转载请注明出处-------#============================================================================= module Point_Tree   POINT_VARIABLE = 33  POINT_KIND     = 7             #设定加点种类  #储存属性点的变量编号是33+角色id*(6+1),  #即40号变量为一号角色自由点;41号起6个变量为1号角色6个种类的已加点值   LEVEL_UP_POINT = 3  #每升一级属性点增加数   RESET_ITEM     = 20   #洗点水编号   STR_POINT        = ["体力","精神","力量","魔力","韧性","灵活","???"]  #分别对应增加       [MHP,MMP,物攻,物防,魔攻,魔防,敏捷,幸运]  POINT_ADD_PARAM = [[12 ,  0,   0,  0,   0,   0,   0,   0],     #体力                     [0  , 12,   0,  0,   0,   0,   0,   0],     #精神                     [0  ,  0,   5,  0,   0,   0,   0,   0],     #力量                     [0  ,  0,   0,  0,   5,   0,   0,   0],     #魔力                     [0  ,  0,   0,  3,   0,   2,   0,   1],     #韧性                     [0  ,  0,   0,  0,   0,   0,   3,   0],     #灵活                      [0,0,0,0,0,0,0,0]]                     #可以按上面的格式添加下去,不过要改POINT_KIND,STR_ALL,不然加了也白加   #分别对应增加       [物理命中,物理闪避,必杀,必杀闪避,魔法闪避,魔法反射,物理反击,HP再生,Mp再生,Tp再生]  POINT_ADD_XPARAM = [[0 , 0, 0, 0, 0, 0, 0, 6, 0, 0],                      [0 , 0, 0, 0, 0, 0, 0, 0, 6, 0],                      [6 , 6, 0, 0, 0, 0, 0, 0, 0, 0],                      [0 , 0, 6, 0, 0, 0, 0, 0, 0, 0],                      [0 , 0, 0, 0, 0, 0, 0, 4, 4, 0],                      [0 , 6, 0, 6, 6, 0, 0, 0, 0, 0],                       [0,0,0,0,0,0,0,0,0,0]]                     #这里的单位是万分之一数值也就是0.01%,我随便填了下【别嫌小,够大了,有心情你可以算算看平衡性】   #各种名称  ADDPOINT       = "加点"   #菜单中选项   POINT_NAME     = "属性点" #未分配点数   XARAM_NAME     = ["物理命中","物理闪避","必杀","必杀闪避","魔法闪避","魔法反射","物理反击","HP再生","Mp再生","Tp再生"]  def reset(actor_id)    for i in 1..6      $game_variables[actor_id*(POINT_KIND+1) + POINT_VARIABLE]+=$game_variables[actor_id*(POINT_KIND+1) + POINT_VARIABLE+i]      $game_variables[actor_id*(POINT_KIND+1) + POINT_VARIABLE+i]=0    end  end   def temp_all    r = 0    for i in 0 .. POINT_KIND-1      r+=$temp_point[i]    end    return r  end end$temp_point = []for i in 0 .. Point_Tree::POINT_KIND-1  $temp_point.push(0)end class Game_Actor < Game_Battler  include Point_Tree  alias level_up_tre level_up  def level_up    level_up_tre    @hp += mhp    @mp += mmp    $game_variables[self.id*(POINT_KIND+1) + POINT_VARIABLE] += LEVEL_UP_POINT  end  def point_plus(param_id)    r=0    for i in 0 .. POINT_KIND-1      r+=$game_variables[self.id*(POINT_KIND+1) + POINT_VARIABLE+i+1]*POINT_ADD_PARAM[i][param_id]    end    return r  end   alias point_base_param param   def param(param_id)    value = param_base(param_id) + param_plus(param_id) + point_plus(param_id)    value *= param_rate(param_id) * param_buff_rate(param_id)    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i  end  def xparam(xparam_id)    xp = super(xparam_id)    for i in 0 .. POINT_KIND-1      xp+=($game_variables[self.id*(POINT_KIND+1) + POINT_VARIABLE+i+1]*POINT_ADD_XPARAM[i][xparam_id]/10000.0)    end    return xp  end  def use_item(item)    super    if item.id == RESET_ITEM      reset(self.id)      self.hp = [self.hp,self.mhp].min      self.mp = [self.mp,self.mmp].min    end  endend class Window_Point_Command < Window_Command   include Point_Tree  #--------------------------------------------------------------------------  # ● 初始化指令选择位置(类方法)  #--------------------------------------------------------------------------  def self.init_command_position    @@last_command_symbol = nil  end  #--------------------------------------------------------------------------  # ● 初始化对象  #--------------------------------------------------------------------------  def initialize(actor)    @status_window = nil    [url=home.php?mod=space&uid=95897]@actor[/url] = actor    super(0,0)    select_last  end  def actor=(actor)    return if @actor == actor    @actor = actor    refresh  end  def status_window=(status_window)    return if @status_window == status_window    @status_window = status_window  self.windowskin = Cache.system("Window")  end  #--------------------------------------------------------------------------  # ● 获取窗口的宽度  #--------------------------------------------------------------------------  def window_width    return 160  end  #--------------------------------------------------------------------------  # ● 获取显示行数  #--------------------------------------------------------------------------  def visible_line_number    item_max  end  def get_actor_point(id)    s = $game_variables[@actor.id*(POINT_KIND+1)+POINT_VARIABLE+id+1].to_s    return "("+s+")+"+$temp_point[id].to_s  end  #--------------------------------------------------------------------------  # ● 生成指令列表  #--------------------------------------------------------------------------  def make_command_list    for i in 0 .. POINT_KIND-1      add_command(STR_POINT[i]   + get_actor_point(i)  , :point_add  ,add_enabled)    end    add_command("确认",  :point_ok)    add_command("取消",  :point_cancle)  end  #--------------------------------------------------------------------------  # ● 按下确定键时的处理  #--------------------------------------------------------------------------  def process_ok    @@last_command_symbol = current_symbol    super  end  #--------------------------------------------------------------------------  # ● 返回最后一个选项的位置  #--------------------------------------------------------------------------  def select_last    select_symbol(@@last_command_symbol)  end   def add_enabled    temp_all < $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE]  end   def update_help    @help_window.set_text(self.index+1) if @help_window    @status_window.index = self.index if @status_window  endend #帮助窗口class Window_Point_Help < Window_Base  include Point_Tree  def initialize(x,y,w,h)    super(x, y, w, h)    end  def set_text(id)    contents.clear    if id <= POINT_KIND      text = "\\}提升一点该属性"     elsif id == POINT_KIND+1      text = "\\}确认此次加点分配"    elsif  id == POINT_KIND+2      text = "\\}取消此次加点分配"    end    draw_text_ex(8, 8, text)  endend  #角色状态窗口class Window_Point_Actor < Window_Base  include Point_Tree    def initialize(actor)    super(160, 0, Graphics.width - 160, Graphics.height)    @actor = actor    [url=home.php?mod=space&uid=370741]@Index[/url] = 0    refresh  end  def actor=(actor)    return if @actor == actor    @actor = actor    refresh  end  def index=(index)    return if @index == index    @index = index    refresh  end  def line_height    return 24  end  def refresh    contents.clear    contents.font.size = 24    draw_actor_name(@actor, 100, 0)    draw_actor_class(@actor, 240, 0)    draw_actor_face(@actor, 2, 0)    contents.font.size = 20    draw_actor_level(@actor, 102,  24)    draw_actor_point(100,48)    contents.font.size = 16    draw_actor_param_point(8,16 * 6)    draw_actor_xparam_point(8,16 * 14)  end  def draw_actor_point(x,y)    draw_text(x,y,200,line_height,"  未分配"+POINT_NAME + ":" + $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE].to_s)    draw_text(x,y+line_height,200,line_height,"此次分配"+POINT_NAME + ":" + temp_all.to_s)   end  def draw_actor_param_point(x,y)    8.times {|i| draw_actor_param_to_s(x,y,i)}  end  def draw_actor_xparam_point(x,y)    10.times {|i| draw_actor_xparam_to_s(x,y,i)}  end   def draw_actor_param_to_s(x,y,param_id)    a=0    for i in 0 .. POINT_KIND-1      a+=$temp_point[i]*POINT_ADD_PARAM[i][param_id]    end    s1 = Vocab::param(param_id)    s2 = @actor.param(param_id).to_s    s3 = (@actor.param(param_id) + a).to_s    if @index < POINT_KIND      if POINT_ADD_PARAM[@index][param_id]==0        s4 = ""      else        s4 = "+" + POINT_ADD_PARAM[@index][param_id].to_s      end    else      s4 = ""    end     change_color(system_color)    draw_text(x,y+16*param_id,100,line_height,s1)    change_color(normal_color)    s2+= " →"     draw_text(x+82,y+16*param_id,120,line_height,s2,2)    change_color(system_color)    draw_text(x+150,y+16*param_id,100,line_height,s3,2)    change_color(normal_color)    contents.font.size = 14    draw_text(x+266,y+16*param_id,100,line_height,s4)    contents.font.size = 16  end  def draw_actor_xparam_to_s(x,y,xparam_id)    a=0.00    for i in 0 .. POINT_KIND-1      a+=($temp_point[i]*POINT_ADD_XPARAM[i][xparam_id]/10000.0)    end    s1 = XARAM_NAME[xparam_id]    s2 = sprintf("%02.2f%%",@actor.xparam(xparam_id)*100)    s3 = sprintf("%02.2f%%",(@actor.xparam(xparam_id) + a)*100)    print @actor.xparam(xparam_id) + a if a!=0    print "\n" if a!=0    if @index < POINT_KIND      if POINT_ADD_XPARAM[@index][xparam_id]==0        s4=""      else        s4 = sprintf("+%02.2f%%",POINT_ADD_XPARAM[@index][xparam_id]/100.0)      end    else      s4 = ""    end     change_color(system_color)    draw_text(x,y+16*xparam_id,100,line_height,s1)    change_color(normal_color)    s2+= " →"     draw_text(x+82,y+16*xparam_id,120,line_height,s2,2)    change_color(system_color)    draw_text(x+150,y+16*xparam_id,100,line_height,s3,2)    change_color(normal_color)    contents.font.size = 14    draw_text(x+266,y+16*xparam_id,100,line_height,s4)    contents.font.size = 16    endend class Scene_Point < Scene_Base  include Point_Tree  def start    super    create_background    @actor = $game_party.menu_actor    create_command_window    create_status_window    create_help_window    @command_window.activate  end  def terminate    super    dispose_background  end  def create_background    @background_sprite = Sprite.new    @background_sprite.bitmap = SceneManager.background_bitmap    @background_sprite.color.set(16, 16, 16, 128)  end  def dispose_background    @background_sprite.dispose  end   def create_command_window    @command_window = Window_Point_Command.new(@actor)    @command_window.set_handler(:cancel,      method(:return_scene))    @command_window.set_handler(:pagedown,    method(:next_actor))    @command_window.set_handler(:pageup,      method(:prev_actor))    @command_window.set_handler(:point_add,   method(:add_point))    @command_window.set_handler(:point_ok,    method(:add_ok))    @command_window.set_handler(:point_cancle,method(:add_cancle))   end  def return_scene    add_cancle    SceneManager.return  end  def create_status_window    @status_window = Window_Point_Actor.new(@actor)    @command_window.status_window = @status_window  end  def create_help_window    @help_window = Window_Point_Help.new(0,@command_window.height,160,[email]Graphics.height-@command_window.height[/email])    #(0, 216, 160, 200)    @help_window.viewport = @viewport    @command_window.help_window = @help_window  end   def add_point    if temp_all >= $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE]      @command_window.activate      return     end    $temp_point[@command_window.index] += 1    @status_window.refresh    @command_window.refresh    @command_window.activate  end    def add_ok    for i in 0 .. POINT_KIND-1      $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE+i+1] += $temp_point[i]    end    $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE] -= temp_all    add_cancle  end   def add_cancle    for i in 0 .. POINT_KIND-1      $temp_point[i]=0    end    @status_window.refresh    @command_window.refresh    @command_window.activate  end    def next_actor    @actor = $game_party.menu_actor_next    on_actor_change  end  #--------------------------------------------------------------------------  # ● 切换到上一个角色  #--------------------------------------------------------------------------  def prev_actor    @actor = $game_party.menu_actor_prev    on_actor_change  end  #--------------------------------------------------------------------------  # ● 切换角色  #--------------------------------------------------------------------------  def on_actor_change    @status_window.actor = @actor    @command_window.actor = @actor    @command_window.activate  end end class Window_MenuCommand < Window_Command  alias add_original_commands_old add_original_commands  def add_original_commands    add_original_commands_old    add_command(Point_Tree::ADDPOINT,    :addpoint)  endend class Scene_Menu < Scene_MenuBase  alias create_command_window_old create_command_window  def create_command_window    create_command_window_old    @command_window.set_handler(:addpoint,method(:add_point))  end  def add_point    @status_window.select_last    @status_window.activate    @status_window.set_handler(:ok,     method(:on_ok))    @status_window.set_handler(:cancel, method(:on_personal_cancel))  end  def on_ok    SceneManager.call(Scene_Point)    Window_Point_Command::init_command_position  endend   class Scene_ItemBase < Scene_MenuBase  def item_usable?    if item.id == Point_Tree::RESET_ITEM      return true    end    user.usable?(item) && item_effects_valid?  endend    =begin------------------------------class Window_Status < Window_Selectable  include Point_Tree  alias draw_parameters_old draw_parameters  def draw_parameters(x, y)    draw_parameters_old(x,y)    draw_point(x,y)  end  def draw_point(x,y)    for i in 0..5      change_color(system_color)      draw_text(x+100, y+ line_height * i, 80, line_height, STR_POINT[i])      change_color(normal_color)      draw_text(x+180, y+ line_height * i, 36, line_height,$game_variables[@actor.id*(POINT_KIND+1)+POINT_VARIABLE+i+1], 2)    end  end  end class Window_Base < Window  def draw_actor_param(actor, x, y, param_id)    change_color(system_color)    draw_text(x-30, y, 80, line_height, Vocab::param(param_id))    change_color(normal_color)    draw_text(x+ 50, y, 36, line_height, actor.param(param_id), 2)  endend---------------------------------=end
#encoding:utf-8 
#============================================================================= 
#-----------RMVA加点系统正常向-v1.01---By:救世小树--------转载请注明出处------- 
#============================================================================= 
  
module Point_Tree 
  
  POINT_VARIABLE = 33 
  POINT_KIND     = 7             #设定加点种类 
  #储存属性点的变量编号是33+角色id*(6+1), 
  #即40号变量为一号角色自由点;41号起6个变量为1号角色6个种类的已加点值 
  
  LEVEL_UP_POINT = 3 
  #每升一级属性点增加数 
  
  RESET_ITEM     = 20   #洗点水编号 
  
  STR_POINT        = ["体力","精神","力量","魔力","韧性","灵活","???"] 
  #分别对应增加       [MHP,MMP,物攻,物防,魔攻,魔防,敏捷,幸运] 
  POINT_ADD_PARAM = [[12 ,  0,   0,  0,   0,   0,   0,   0],     #体力 
                     [0  , 12,   0,  0,   0,   0,   0,   0],     #精神 
                     [0  ,  0,   5,  0,   0,   0,   0,   0],     #力量 
                     [0  ,  0,   0,  0,   5,   0,   0,   0],     #魔力 
                     [0  ,  0,   0,  3,   0,   2,   0,   1],     #韧性 
                     [0  ,  0,   0,  0,   0,   0,   3,   0],     #灵活 
  
                     [0,0,0,0,0,0,0,0]] 
                     #可以按上面的格式添加下去,不过要改POINT_KIND,STR_ALL,不然加了也白加 
  
  #分别对应增加       [物理命中,物理闪避,必杀,必杀闪避,魔法闪避,魔法反射,物理反击,HP再生,Mp再生,Tp再生] 
  POINT_ADD_XPARAM = [[0 , 0, 0, 0, 0, 0, 0, 6, 0, 0], 
                      [0 , 0, 0, 0, 0, 0, 0, 0, 6, 0], 
                      [6 , 6, 0, 0, 0, 0, 0, 0, 0, 0], 
                      [0 , 0, 6, 0, 0, 0, 0, 0, 0, 0], 
                      [0 , 0, 0, 0, 0, 0, 0, 4, 4, 0], 
                      [0 , 6, 0, 6, 6, 0, 0, 0, 0, 0], 
  
                      [0,0,0,0,0,0,0,0,0,0]] 
                     #这里的单位是万分之一数值也就是0.01%,我随便填了下【别嫌小,够大了,有心情你可以算算看平衡性】 
  
  #各种名称 
  ADDPOINT       = "加点"   #菜单中选项 
  
  POINT_NAME     = "属性点" #未分配点数 
  
  XARAM_NAME     = ["物理命中","物理闪避","必杀","必杀闪避","魔法闪避","魔法反射","物理反击","HP再生","Mp再生","Tp再生"] 
  def reset(actor_id) 
    for i in 1..6 
      $game_variables[actor_id*(POINT_KIND+1) + POINT_VARIABLE]+=$game_variables[actor_id*(POINT_KIND+1) + POINT_VARIABLE+i] 
      $game_variables[actor_id*(POINT_KIND+1) + POINT_VARIABLE+i]=0 
    end 
  end 
  
  def temp_all 
    r = 0 
    for i in 0 .. POINT_KIND-1 
      r+=$temp_point[i] 
    end 
    return r 
  end 
  
end 
$temp_point = [] 
for i in 0 .. Point_Tree::POINT_KIND-1 
  $temp_point.push(0) 
end 
  
class Game_Actor < Game_Battler 
  include Point_Tree 
  alias level_up_tre level_up 
  def level_up 
    level_up_tre 
    @hp += mhp 
    @mp += mmp 
    $game_variables[self.id*(POINT_KIND+1) + POINT_VARIABLE] += LEVEL_UP_POINT 
  end 
  def point_plus(param_id) 
    r=0 
    for i in 0 .. POINT_KIND-1 
      r+=$game_variables[self.id*(POINT_KIND+1) + POINT_VARIABLE+i+1]*POINT_ADD_PARAM[i][param_id] 
    end 
    return r 
  end 
  
  alias point_base_param param 
  
  def param(param_id) 
    value = param_base(param_id) + param_plus(param_id) + point_plus(param_id) 
    value *= param_rate(param_id) * param_buff_rate(param_id) 
    [[value, param_max(param_id)].min, param_min(param_id)].max.to_i 
  end 
  def xparam(xparam_id) 
    xp = super(xparam_id) 
    for i in 0 .. POINT_KIND-1 
      xp+=($game_variables[self.id*(POINT_KIND+1) + POINT_VARIABLE+i+1]*POINT_ADD_XPARAM[i][xparam_id]/10000.0) 
    end 
    return xp 
  end 
  def use_item(item) 
    super 
    if item.id == RESET_ITEM 
      reset(self.id) 
      self.hp = [self.hp,self.mhp].min 
      self.mp = [self.mp,self.mmp].min 
    end 
  end 
end 
  
class Window_Point_Command < Window_Command 
  
  include Point_Tree 
  #-------------------------------------------------------------------------- 
  # ● 初始化指令选择位置(类方法) 
  #-------------------------------------------------------------------------- 
  def self.init_command_position 
    @@last_command_symbol = nil 
  end 
  #-------------------------------------------------------------------------- 
  # ● 初始化对象 
  #-------------------------------------------------------------------------- 
  def initialize(actor) 
    @status_window = nil 
    [url=home.php?mod=space&uid=95897]@actor[/url] = actor 
    super(0,0) 
    select_last 
  end 
  def actor=(actor) 
    return if @actor == actor 
    @actor = actor 
    refresh 
  end 
  def status_window=(status_window) 
    return if @status_window == status_window 
    @status_window = status_window 
  self.windowskin = Cache.system("Window") 
  end 
  #-------------------------------------------------------------------------- 
  # ● 获取窗口的宽度 
  #-------------------------------------------------------------------------- 
  def window_width 
    return 160 
  end 
  #-------------------------------------------------------------------------- 
  # ● 获取显示行数 
  #-------------------------------------------------------------------------- 
  def visible_line_number 
    item_max 
  end 
  def get_actor_point(id) 
    s = $game_variables[@actor.id*(POINT_KIND+1)+POINT_VARIABLE+id+1].to_s 
    return "("+s+")+"+$temp_point[id].to_s 
  end 
  #-------------------------------------------------------------------------- 
  # ● 生成指令列表 
  #-------------------------------------------------------------------------- 
  def make_command_list 
    for i in 0 .. POINT_KIND-1 
      add_command(STR_POINT[i]   + get_actor_point(i)  , :point_add  ,add_enabled) 
    end 
    add_command("确认",  :point_ok) 
    add_command("取消",  :point_cancle) 
  end 
  #-------------------------------------------------------------------------- 
  # ● 按下确定键时的处理 
  #-------------------------------------------------------------------------- 
  def process_ok 
    @@last_command_symbol = current_symbol 
    super 
  end 
  #-------------------------------------------------------------------------- 
  # ● 返回最后一个选项的位置 
  #-------------------------------------------------------------------------- 
  def select_last 
    select_symbol(@@last_command_symbol) 
  end 
  
  def add_enabled 
    temp_all < $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE] 
  end 
  
  def update_help 
    @help_window.set_text(self.index+1) if @help_window 
    @status_window.index = self.index if @status_window 
  end 
end 
  
#帮助窗口 
class Window_Point_Help < Window_Base 
  include Point_Tree 
  def initialize(x,y,w,h) 
    super(x, y, w, h) 
  
  
  end 
  def set_text(id) 
    contents.clear 
    if id <= POINT_KIND 
      text = "\\}提升一点该属性"  
    elsif id == POINT_KIND+1 
      text = "\\}确认此次加点分配" 
    elsif  id == POINT_KIND+2 
      text = "\\}取消此次加点分配" 
    end 
    draw_text_ex(8, 8, text) 
  end 
end 
  
  
#角色状态窗口 
class Window_Point_Actor < Window_Base 
  include Point_Tree 
  
  
  def initialize(actor) 
    super(160, 0, Graphics.width - 160, Graphics.height) 
    @actor = actor 
    [url=home.php?mod=space&uid=370741]@Index[/url] = 0 
    refresh 
  end 
  def actor=(actor) 
    return if @actor == actor 
    @actor = actor 
    refresh 
  end 
  def index=(index) 
    return if @index == index 
    @index = index 
    refresh 
  end 
  def line_height 
    return 24 
  end 
  def refresh 
    contents.clear 
    contents.font.size = 24 
    draw_actor_name(@actor, 100, 0) 
    draw_actor_class(@actor, 240, 0) 
    draw_actor_face(@actor, 2, 0) 
    contents.font.size = 20 
    draw_actor_level(@actor, 102,  24) 
    draw_actor_point(100,48) 
    contents.font.size = 16 
    draw_actor_param_point(8,16 * 6) 
    draw_actor_xparam_point(8,16 * 14) 
  end 
  def draw_actor_point(x,y) 
    draw_text(x,y,200,line_height,"  未分配"+POINT_NAME + ":" + $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE].to_s) 
    draw_text(x,y+line_height,200,line_height,"此次分配"+POINT_NAME + ":" + temp_all.to_s)  
  end 
  def draw_actor_param_point(x,y) 
    8.times {|i| draw_actor_param_to_s(x,y,i)} 
  end 
  def draw_actor_xparam_point(x,y) 
    10.times {|i| draw_actor_xparam_to_s(x,y,i)} 
  end 
  
  def draw_actor_param_to_s(x,y,param_id) 
    a=0 
    for i in 0 .. POINT_KIND-1 
      a+=$temp_point[i]*POINT_ADD_PARAM[i][param_id] 
    end 
    s1 = Vocab::param(param_id) 
    s2 = @actor.param(param_id).to_s 
    s3 = (@actor.param(param_id) + a).to_s 
    if @index < POINT_KIND 
      if POINT_ADD_PARAM[@index][param_id]==0 
        s4 = "" 
      else 
        s4 = "+" + POINT_ADD_PARAM[@index][param_id].to_s 
      end 
    else 
      s4 = "" 
    end 
  
    change_color(system_color) 
    draw_text(x,y+16*param_id,100,line_height,s1) 
    change_color(normal_color) 
    s2+= " →"  
    draw_text(x+82,y+16*param_id,120,line_height,s2,2) 
    change_color(system_color) 
    draw_text(x+150,y+16*param_id,100,line_height,s3,2) 
    change_color(normal_color) 
    contents.font.size = 14 
    draw_text(x+266,y+16*param_id,100,line_height,s4) 
    contents.font.size = 16 
  end 
  def draw_actor_xparam_to_s(x,y,xparam_id) 
    a=0.00 
    for i in 0 .. POINT_KIND-1 
      a+=($temp_point[i]*POINT_ADD_XPARAM[i][xparam_id]/10000.0) 
    end 
    s1 = XARAM_NAME[xparam_id] 
    s2 = sprintf("%02.2f%%",@actor.xparam(xparam_id)*100) 
    s3 = sprintf("%02.2f%%",(@actor.xparam(xparam_id) + a)*100) 
    print @actor.xparam(xparam_id) + a if a!=0 
    print "\n" if a!=0 
    if @index < POINT_KIND 
      if POINT_ADD_XPARAM[@index][xparam_id]==0 
        s4="" 
      else 
        s4 = sprintf("+%02.2f%%",POINT_ADD_XPARAM[@index][xparam_id]/100.0) 
      end 
    else 
      s4 = "" 
    end 
  
    change_color(system_color) 
    draw_text(x,y+16*xparam_id,100,line_height,s1) 
    change_color(normal_color) 
    s2+= " →"  
    draw_text(x+82,y+16*xparam_id,120,line_height,s2,2) 
    change_color(system_color) 
    draw_text(x+150,y+16*xparam_id,100,line_height,s3,2) 
    change_color(normal_color) 
    contents.font.size = 14 
    draw_text(x+266,y+16*xparam_id,100,line_height,s4) 
    contents.font.size = 16 
  
  
  end 
end 
  
class Scene_Point < Scene_Base 
  include Point_Tree 
  def start 
    super 
    create_background 
    @actor = $game_party.menu_actor 
    create_command_window 
    create_status_window 
    create_help_window 
    @command_window.activate 
  end 
  def terminate 
    super 
    dispose_background 
  end 
  def create_background 
    @background_sprite = Sprite.new 
    @background_sprite.bitmap = SceneManager.background_bitmap 
    @background_sprite.color.set(16, 16, 16, 128) 
  end 
  def dispose_background 
    @background_sprite.dispose 
  end 
  
  def create_command_window 
    @command_window = Window_Point_Command.new(@actor) 
    @command_window.set_handler(:cancel,      method(:return_scene)) 
    @command_window.set_handler(:pagedown,    method(:next_actor)) 
    @command_window.set_handler(:pageup,      method(:prev_actor)) 
    @command_window.set_handler(:point_add,   method(:add_point)) 
    @command_window.set_handler(:point_ok,    method(:add_ok)) 
    @command_window.set_handler(:point_cancle,method(:add_cancle)) 
  
  end 
  def return_scene 
    add_cancle 
    SceneManager.return 
  end 
  def create_status_window 
    @status_window = Window_Point_Actor.new(@actor) 
    @command_window.status_window = @status_window 
  end 
  def create_help_window 
    @help_window = Window_Point_Help.new(0,@command_window.height,160,[email]Graphics.height-@command_window.height[/email]) 
    #(0, 216, 160, 200) 
    @help_window.viewport = @viewport 
    @command_window.help_window = @help_window 
  end 
  
  def add_point 
    if temp_all >= $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE] 
      @command_window.activate 
      return  
    end 
    $temp_point[@command_window.index] += 1 
    @status_window.refresh 
    @command_window.refresh 
    @command_window.activate 
  end 
  
  
  def add_ok 
    for i in 0 .. POINT_KIND-1 
      $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE+i+1] += $temp_point[i] 
    end 
    $game_variables[@actor.id*(POINT_KIND+1) + POINT_VARIABLE] -= temp_all 
    add_cancle 
  end 
  
  def add_cancle 
    for i in 0 .. POINT_KIND-1 
      $temp_point[i]=0 
    end 
    @status_window.refresh 
    @command_window.refresh 
    @command_window.activate 
  end 
  
  
  def next_actor 
    @actor = $game_party.menu_actor_next 
    on_actor_change 
  end 
  #-------------------------------------------------------------------------- 
  # ● 切换到上一个角色 
  #-------------------------------------------------------------------------- 
  def prev_actor 
    @actor = $game_party.menu_actor_prev 
    on_actor_change 
  end 
  #-------------------------------------------------------------------------- 
  # ● 切换角色 
  #-------------------------------------------------------------------------- 
  def on_actor_change 
    @status_window.actor = @actor 
    @command_window.actor = @actor 
    @command_window.activate 
  end 
  
end 
  
class Window_MenuCommand < Window_Command 
  alias add_original_commands_old add_original_commands 
  def add_original_commands 
    add_original_commands_old 
    add_command(Point_Tree::ADDPOINT,    :addpoint) 
  end 
end 
  
class Scene_Menu < Scene_MenuBase 
  alias create_command_window_old create_command_window 
  def create_command_window 
    create_command_window_old 
    @command_window.set_handler(:addpoint,method(:add_point)) 
  end 
  def add_point 
    @status_window.select_last 
    @status_window.activate 
    @status_window.set_handler(:ok,     method(:on_ok)) 
    @status_window.set_handler(:cancel, method(:on_personal_cancel)) 
  end 
  def on_ok 
    SceneManager.call(Scene_Point) 
    Window_Point_Command::init_command_position 
  end 
end 
  
  
  
class Scene_ItemBase < Scene_MenuBase 
  def item_usable? 
    if item.id == Point_Tree::RESET_ITEM 
      return true 
    end 
    user.usable?(item) && item_effects_valid? 
  end 
end 
  
  
  
  
=begin 
------------------------------ 
class Window_Status < Window_Selectable 
  include Point_Tree 
  alias draw_parameters_old draw_parameters 
  def draw_parameters(x, y) 
    draw_parameters_old(x,y) 
    draw_point(x,y) 
  end 
  def draw_point(x,y) 
    for i in 0..5 
      change_color(system_color) 
      draw_text(x+100, y+ line_height * i, 80, line_height, STR_POINT[i]) 
      change_color(normal_color) 
      draw_text(x+180, y+ line_height * i, 36, line_height,$game_variables[@actor.id*(POINT_KIND+1)+POINT_VARIABLE+i+1], 2) 
    end 
  end 
   
end 
  
class Window_Base < Window 
  def draw_actor_param(actor, x, y, param_id) 
    change_color(system_color) 
    draw_text(x-30, y, 80, line_height, Vocab::param(param_id)) 
    change_color(normal_color) 
    draw_text(x+ 50, y, 36, line_height, actor.param(param_id), 2) 
  end 
end 
--------------------------------- 
=end 
可是
 
   在箭头所指的地方字太小了,怎么加大,找了半天也没找到啊
 | 
 |