Project1

标题: VX升级加点脚本查看状态时出错与横战脚本冲突吗? [打印本页]

作者: qc641487196    时间: 2013-3-18 23:48
标题: VX升级加点脚本查看状态时出错与横战脚本冲突吗?
本帖最后由 qc641487196 于 2013-3-19 11:24 编辑

查看状态装备好像就出错,因为在用升级加点脚本之前还是好的
出错的脚本是这个
代码复制
  1. # 注:原版RMVX中,魔法攻和魔法防都整合在一起了,即“战力”(或“精神力”)。
  2.  
  3. # 现在要拆开。
  4.  
  5. #==============================================================================
  6. # ■ Game_Actor
  7. #------------------------------------------------------------------------------
  8. #  处理角色的类。本类在 Game_Actors 类 ($game_actors) 的内部使用、
  9. # Game_Party 类请参考 ($game_party) 。
  10. #==============================================================================
  11.  
  12. class Game_Actor < Game_Battler
  13.   # 初始化
  14.   alias neoinitialize initialize
  15.   def initialize(actor_id)
  16.     # 设定角色普遍的基本魔法防和增长度
  17.     @mdef_init = 25
  18.     @mdef_inc = 3
  19.     neoinitialize(actor_id)
  20.   end
  21.   # 开始设定
  22.   #--------------------------------------------------------------------------
  23.   # ● 设置
  24.   #     actor_id : 角色 ID
  25.   #--------------------------------------------------------------------------
  26.   alias neosetup setup
  27.   def setup(actor_id)
  28.     # 设定个别角色的基本魔法防和增长度(不设定的就用默认的基本值25,增长度3)
  29.     case actor_id
  30.     when 1
  31.       @mdef_init = 22
  32.       @mdef_inc = 2
  33.     when 3
  34.       @mdef_init = 28
  35.       @mdef_inc = 3
  36.     when 4
  37.       @mdef_init = 30
  38.       @mdef_inc = 4
  39.     end
  40.     neosetup(actor_id)
  41.   end
  42.   # 基本魔法防
  43.   def mdef
  44.     # 判断!是否具有47 48号状态!===============================================
  45.     jjj = []
  46.       for iii in self.states
  47.         jjj.push(iii.id)
  48.       end
  49.       if jjj.include?(47)#疲软
  50.         return 0
  51.       end
  52.       if jjj.include?(48)#强硬
  53.         return 999
  54.       end
  55.     # ==========================================================================
  56.     return @mdef_init + @level * @mdef_inc + mdef_plus
  57.   end
  58.   # 扩展魔法防
  59.   def mdef_plus
  60.     aaa = 0
  61.     if self.weapon_id > 0
  62.       aaa += $data_weapons[self.weapon_id].mdef
  63.     end
  64.     if self.armor1_id > 0
  65.       aaa += $data_armors[self.armor1_id].mdef
  66.     end
  67.     if self.armor2_id > 0
  68.       aaa += $data_armors[self.armor2_id].mdef
  69.     end
  70.     if self.armor3_id > 0
  71.       aaa += $data_armors[self.armor3_id].mdef
  72.     end
  73.     if self.armor4_id > 0
  74.       aaa += $data_armors[self.armor4_id].mdef
  75.     end
  76.     return aaa
  77.   end
  78. end
  79.  
  80. # 显示一个角色的魔法防。
  81.  
  82. #==============================================================================
  83. # ■ Window_Base
  84. #------------------------------------------------------------------------------
  85. #  游戏中全部窗口的超级类。
  86. #==============================================================================
  87.  
  88. class Window_Base < Window
  89.   #--------------------------------------------------------------------------
  90.   # ● 绘制角色能力值
  91.   #     actor : 角色
  92.   #     x     : 描画目标 X 坐标
  93.   #     y     : 描画目标 Y 坐标
  94.   #     type  : 能力值类型(0-3)
  95.   #--------------------------------------------------------------------------
  96.   def draw_actor_parameter(actor, x, y, type)
  97.     case type
  98.     when 0
  99.       parameter_name = Vocab::atk
  100.       parameter_value = actor.atk
  101.     when 1
  102.       parameter_name = Vocab::def
  103.       parameter_value = actor.def
  104.     when 2
  105.       parameter_name = Vocab::spi
  106.       parameter_value = actor.spi
  107.     when 3
  108.       parameter_name = Vocab::agi
  109.       parameter_value = actor.agi
  110.     when 4
  111.       parameter_name = "魔法防"
  112.       parameter_value = actor.mdef
  113.     end
  114.     self.contents.font.color = system_color
  115.     self.contents.draw_text(x, y, 120, WLH, parameter_name)
  116.     self.contents.font.color = normal_color
  117.     self.contents.draw_text(x + 120, y, 36, WLH, parameter_value, 2)
  118.   end
  119. end
  120.  
  121. #==============================================================================
  122. # ■ Window_Status
  123. #------------------------------------------------------------------------------
  124. #  显示状态画面、完全规格的状态窗口。
  125. #==============================================================================
  126.  
  127. class Window_Status < Window_Base
  128.   #--------------------------------------------------------------------------
  129.   # ● 绘制能力值
  130.   #     x : 绘制点 X 座标
  131.   #     y : 绘制点 Y 座标
  132.   #--------------------------------------------------------------------------
  133.   alias neodraw_parameters draw_parameters
  134.   def draw_parameters(x, y)
  135.     neodraw_parameters(x, y)
  136.     draw_actor_parameter(@actor, x, y + WLH * 4, 4)
  137.   end
  138. end

作者: qc641487196    时间: 2013-3-18 23:53
本帖最后由 qc641487196 于 2013-3-18 23:56 编辑

好像是升级提示脚本冲突了
代码复制
  1. #=======================================================================
  2. #★升级提示★
  3. #-----------------------------------------------------------------------
  4. #★作者: Zhong_zw
  5. #★联系方式:66RPG.com论坛短信 或 [email][email protected][/email]
  6. #=======================================================================
  7. class Game_Actor < Game_Battler
  8.  
  9.   attr_accessor :last_level   
  10.    def initialize(actor_id)
  11.     super()
  12.     setup(actor_id)
  13.     @last_level = 0
  14.     @last_skill_id = 0
  15.    end
  16.    def last_atk
  17.     return actor.parameters[2,@last_level]
  18.   end
  19.   def last_def
  20.     return actor.parameters[3,@last_level]
  21.   end
  22.   def last_spi
  23.     return actor.parameters[4,@last_level]
  24.   end
  25.   def last_agi
  26.     return actor.parameters[5,@last_level]
  27.    end
  28.   def now_atk
  29.     return actor.parameters[2,@level]
  30.   end
  31.   def now_def
  32.     return actor.parameters[3,@level]
  33.   end
  34.   def now_spi
  35.     return actor.parameters[4,@level]
  36.   end
  37.   def now_agi
  38.     return actor.parameters[5,@level]
  39.   end  
  40.    def change_exp(exp, show)
  41.     @last_level = @level
  42.     last_skills = skills
  43.  
  44.     @exp = [[exp, 9999999].min, 0].max
  45.    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  46.       level_up
  47.     end
  48.     while @exp < @exp_list[@level]
  49.       level_down
  50.     end
  51.     @hp = [@hp, maxhp].min
  52.     @mp = [@mp, maxmp].min
  53.     if show and @level > last_level
  54.  
  55.       zhonglevelup_push(skills - last_skills)
  56.     end
  57.   end
  58.    #==========================================================================
  59.   #★角色升级显示
  60.   #==========================================================================
  61.  
  62.   def zhonglevelup_push(new_skills)
  63.  
  64.     text = [@actor_id,new_skills]
  65.     $game_temp.levelup_texts.push(text)
  66.   end
  67. end
  68.  
  69.  
  70.  
  71. class Scene_Battle < Scene_Base
  72.  
  73. def display_level_up
  74.     exp = $game_troop.exp_total
  75.     $game_party.remove_states_battle
  76.     @message_window.contents_opacity = 0
  77.     @message_window.opacity = 0
  78.     @levelup_window = Window_zhonglevelup.new
  79.     for actor in $game_party.existing_members
  80.       last_level = actor.level
  81.       last_skills = actor.skills
  82.       actor.gain_exp(exp, true)
  83.     end
  84.  
  85.     update_zhonglevelup
  86.  
  87.  
  88.   end
  89.   #==========================================================================
  90.   #★等待升级窗口刷新
  91.   #==========================================================================
  92.    def update_zhonglevelup
  93.       @levelup_window.update
  94.      while @levelup_window.visible
  95.        @levelup_window.update
  96.        Graphics.update
  97.        Input.update
  98.      end
  99.    end
  100.  
  101. end   
  102.  
  103. class Game_Temp
  104.     attr_accessor :levelup_texts
  105.   #--------------------------------------------------------------------------
  106.   # ● オブジェクト初期化
  107.   #--------------------------------------------------------------------------
  108.   alias oldinitialize initialize
  109.   def initialize
  110.     @levelup_texts = []
  111.     oldinitialize
  112.   end  
  113.  
  114. end
  115.  
  116.  
  117. class Window_zhonglevelup < Window_Base
  118.  
  119.   attr_accessor :index
  120.   def initialize
  121.     super(122, 15, 350, 345)
  122.     $game_temp.levelup_texts = []
  123.     @index = 0
  124.     @skill_index = 0
  125.     @skill_window = Window_Base.new(122,23,260,36)
  126.     @skill_window.opacity = 0
  127.     @skill_window.z = self.z - 1
  128.     @main_window = Window_Base.new(122,59,260,290)
  129.     @main_window.opacity = 0
  130.     @main_window.z = self.z - 1
  131.  
  132.     self.opacity = 0
  133.     self.visible = false
  134.  
  135.     #update
  136.  
  137.    end
  138.  
  139.  
  140.   #--------------------------------------------------------------------------
  141.   # ★ $game_temp.levelup_texts = [角色id,新特技]
  142.   #--------------------------------------------------------------------------
  143.   def update
  144.  
  145.  
  146.     zhonginputupdate if @index <= $game_temp.levelup_texts.size-1
  147.  
  148.     if @index <= $game_temp.levelup_texts.size-1      
  149.  
  150.       self.visible = true
  151.       @main_window.opacity = 150
  152.       actor = $game_actors[$game_temp.levelup_texts[@index][0]]
  153.       if @skill_index == 0 and $game_temp.levelup_texts[@index][1].size != 0
  154.         @skill_index = $game_temp.levelup_texts[@index][1].size
  155.       end  
  156.       level = actor.level
  157.       last_level = actor.last_level
  158.       atk = actor.now_atk
  159.       now_def = actor.now_def
  160.       spi = actor.now_spi
  161.       agi = actor.now_agi
  162.       last_atk = actor.last_atk
  163.       last_def = actor.last_def
  164.       last_spi = actor.last_spi
  165.       last_agi = actor.last_agi
  166.  
  167.  
  168.       self.contents.clear
  169.  
  170.       # x = 122
  171.       # y = 58
  172.        @skill_window.opacity = $game_temp.levelup_texts[@index][1].size != 0 ? 150 : 0
  173.        skill_name = $game_temp.levelup_texts[@index][1][@skill_index - 1].name if @skill_index != 0
  174.        level_name = Vocab::level
  175.        atk_name = Vocab::atk
  176.        def_name = Vocab::def
  177.        spi_name = Vocab::spi
  178.        agi_name = Vocab::agi
  179.        font = self.contents.font.size
  180.        x = 5
  181.        y = 165
  182.        self.contents.draw_text(x,y,60,60,atk_name)
  183.        self.contents.draw_text(x,y+30,60,60,def_name)
  184.        self.contents.draw_text(x,y+60,60,60,spi_name)
  185.        self.contents.draw_text(x,y+90,60,60,agi_name)
  186.        self.contents.draw_text(x + 45,y,60,60, last_atk)
  187.        self.contents.draw_text(x + 45,y+30,60,60,last_def)
  188.        self.contents.draw_text(x + 45,y+60,60,60,last_spi)
  189.        self.contents.draw_text(x + 45,y + 90,60,60,last_agi)
  190.        self.contents.draw_text(x,y-30,60,60,level_name)
  191.        self.contents.draw_text(x + 45,y-30,60,60,last_level)
  192.        self.contents.font.color = Color.new(0,255,0,255)
  193.        self.contents.draw_text(x + 105,y-30,60,60,level)
  194.        bitmap_5 = Bitmap.new("Graphics/system/箭头")
  195.        rect_5 = Rect.new(0,0,bitmap_5.width,bitmap_5.height)
  196.        self.contents.blt(x + 70,y - 18,bitmap_5,rect_5)
  197.        if atk > last_atk
  198.          self.contents.draw_text(x+105,y,60,60,atk)
  199.          atk_opacity = 255
  200.        else
  201.          atk_opacity = 0
  202.        end  
  203.        bitmap_1 = Bitmap.new("Graphics/system/箭头")
  204.        rect_1 = Rect.new(0,0,bitmap_1.width,bitmap_1.height)
  205.        self.contents.blt(x+70,y+12,bitmap_1,rect_1,atk_opacity)
  206.  
  207.  
  208.        if now_def > last_def
  209.          self.contents.draw_text(x+105,y+30,60,60,now_def)
  210.          def_opacity = 255
  211.        else
  212.          def_opacity = 0
  213.        end
  214.        bitmap_2 = Bitmap.new("Graphics/system/箭头")
  215.        rect_2 = Rect.new(0,0,bitmap_1.width,bitmap_1.height)
  216.        self.contents.blt(x+70,y+42,bitmap_1,rect_1,def_opacity)
  217.  
  218.        if spi > last_spi
  219.          self.contents.draw_text(x+105,y+60,60,60,spi)
  220.          spi_opacity = 255
  221.        else
  222.          spi_opacity = 0
  223.        end
  224.  
  225.        bitmap_3 = Bitmap.new("Graphics/system/箭头")
  226.        rect_3 = Rect.new(0,0,bitmap_1.width,bitmap_1.height)
  227.        self.contents.blt(x+70,y+72,bitmap_1,rect_1,spi_opacity)
  228.  
  229.        if agi > last_agi
  230.          self.contents.draw_text(x + 105,y + 90,60,60,agi)
  231.          agi_opacity = 255
  232.        else
  233.          agi_opacity = 0
  234.        end
  235.        bitmap_4 = Bitmap.new("Graphics/system/箭头")
  236.        rect_4 = Rect.new(0,0,bitmap_1.width,bitmap_1.height)
  237.        self.contents.blt(x+70,y+102,bitmap_1,rect_1,agi_opacity)
  238.  
  239.  
  240.  
  241.  
  242.        self.contents.font.color = normal_color
  243.        self.contents.font.size = 16
  244.        self.contents.draw_text(60, -19, 120, 60,"学会了 #{skill_name}")if @skill_index != 0
  245.        self.contents.font.color = Color.new(255,255,0,255)
  246.        self.contents.draw_text(61, -19,120,60,"       #{skill_name}")
  247.        self.contents.font.size = font
  248.        draw_face(actor.face_name, actor.face_index,3, 55, size = 80)
  249.        draw_actor_name(actor, 92, 55)
  250.        draw_actor_hp(actor, 95, 85)
  251.        draw_actor_mp(actor, 95, 115)
  252.  
  253.        self.contents.font.color = normal_color
  254.        actor.hp = [actor.maxhp,9999].min
  255.        actor.mp = [actor.maxmp,9999].min
  256.  
  257.  
  258.  
  259.      else
  260.        @main_window.visible = false
  261.        @skill_window.visible =false
  262.        self.visible = false
  263.  
  264.     end   
  265.  
  266.  
  267.  
  268.   end
  269.   #==========================================================================
  270.   #★窗口按键刷新
  271.   #==========================================================================
  272.    def zhonginputupdate
  273.      if Input.trigger?(Input::DOWN)
  274.        if @skill_index != 0
  275.          @skill_index -= 1
  276.          end
  277.          @index += 1 if @skill_index == 0
  278.      end
  279.      if Input.trigger?(Input::UP)
  280.  
  281.         if @skill_index != 0
  282.          @skill_index -= 1
  283.          end
  284.          @index += 1 if @skill_index == 0
  285.       end
  286.       if Input.trigger?(Input::RIGHT)
  287.  
  288.        if @skill_index != 0
  289.          @skill_index -= 1
  290.          end
  291.          @index += 1 if @skill_index == 0
  292.  
  293.       end
  294.       if Input.trigger?(Input::LEFT)
  295.  
  296.          if @skill_index != 0
  297.          @skill_index -= 1
  298.          end
  299.          @index += 1 if @skill_index == 0
  300.  
  301.       end
  302.       if Input.trigger?(Input::B)
  303.  
  304.           if @skill_index != 0
  305.          @skill_index -= 1
  306.          end
  307.          @index += 1 if @skill_index == 0
  308.  
  309.       end
  310.       if Input.trigger?(Input::C)
  311.          if @skill_index != 0
  312.          @skill_index -= 1
  313.          end
  314.          @index += 1 if @skill_index == 0
  315.  
  316.       end
  317.    end
  318.  
  319.   #==========================================================================  
  320.  
  321.   def dispose
  322.     super
  323.     @skill_window.dispose
  324.     @main_window.dispose
  325.   end  
  326.  
  327.  
  328. end
  329.  
  330. class Scene_Map < Scene_Base
  331.  
  332. def start
  333.     super
  334.     $game_map.refresh
  335.     @spriteset = Spriteset_Map.new
  336.     @message_window = Window_Message.new
  337.     @levelup_window = Window_zhonglevelup.new
  338.     @lus_window = Window_Base.new(122,23,260,36)
  339.     @m_window = Window_Base.new(122,59,260,290)
  340.     @m_window.opacity = 0
  341.     @lus_window.opacity = 0
  342.     @m_window.z = 9998
  343.     @lus_window.z = 9998
  344.     @levelup_window.z = 9999
  345.   end
  346.  
  347. def update
  348.     super
  349.     $game_map.interpreter.update   
  350.     $game_map.update                  
  351.     $game_player.update               
  352.     $game_system.update               
  353.     @spriteset.update                 
  354.     @message_window.update            
  355.  
  356.     unless $game_message.visible      
  357.       update_levelup_window
  358.       update_transfer_player
  359.       update_encounter
  360.       update_call_menu
  361.       update_call_debug
  362.       update_scene_change
  363.     end
  364.   end
  365.  
  366.   def update_levelup_window
  367.       @levelup_window.update
  368.       while @levelup_window.visible
  369.  
  370.         @lus_window.opacity = $game_temp.levelup_texts[@levelup_window.index][1].size != 0 ? 150 : 0
  371.         @m_window.opacity = 150
  372.         @levelup_window.update
  373.         Graphics.update
  374.         Input.update
  375.        end
  376.      @m_window.opacity = 0
  377.     @lus_window.opacity = 0
  378.  
  379.   end   
  380. def terminate
  381.     super
  382.     if $scene.is_a?(Scene_Battle)     # バトル画面に切り替え中の場合
  383.       @spriteset.dispose_characters   # 背景作成のためにキャラを隠す
  384.     end
  385.     snapshot_for_background
  386.     @spriteset.dispose
  387.     @message_window.dispose
  388.     @levelup_window.dispose
  389.     @m_window.dispose
  390.     @lus_window.dispose
  391.     if $scene.is_a?(Scene_Battle)     # バトル画面に切り替え中の場合
  392.       perform_battle_transition       # 戦闘前トランジション実行
  393.     end
  394.   end
  395. end

作者: a364774426    时间: 2013-3-18 23:56
很明确地告诉阁下:
加点脚本与横战脚本不存在冲突。
要解决这个问题,还请上传出错的工程。
作者: qc641487196    时间: 2013-3-18 23:57
a364774426 发表于 2013-3-18 23:56
很明确地告诉阁下:
加点脚本与横战脚本不存在冲突。
要解决这个问题,还请上传出错的工程。 ...

不好意思,看看2楼,现在发现应该是升级提示出错了
作者: 刷版姬    时间: 2013-3-19 07:43
对于很多出错的脚本,我的建议就是=》不用那个脚本。
有的时候要出去散散步也许会想出什么解决方法哦~




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