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

Project1

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

[已经解决] 请教一下这个脚本出错该如何修正…

 关闭 [复制链接]

Lv4.逐梦者

梦石
7
星屑
2585
在线时间
567 小时
注册时间
2009-4-30
帖子
271
跳转到指定楼层
1
发表于 2011-11-26 13:03:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 timmyyayaya 于 2011-11-26 13:03 编辑

這個腳本是用來切換隊員的,按下SHIFT鍵就會跑出下面這個訊息。

剧本 ‘MOG-XAS_Leader_Switch’的204行发生了NoMethodError。
undefined method '[]='for nil:NilClass

想请问是什么问题让他出错的…?
另外想请教38行的Input::SHIFT该如何写才会是TAB按键,感谢。
  1. #==============================================================================#
  2. # +++ XAS - LEADER SWITCHER V1.0 +++                                           #
  3. #==============================================================================#
  4. # By Moghunter                                                                 #
  5. # http://www.atelier-rgss.com                                                  #
  6. #==============================================================================#
  7. # Translated by Calvin624                                                      #
  8. # http://www.xasabs.wordpress.com                                              #
  9. #==============================================================================#
  10. ###############################-DESCRIPTION-####################################
  11. #==============================================================================#
  12. # ● Let's you change the position of the leader quickly                        #
  13. # ● Option to use a tool automatically when switching the leader               #
  14. # ● AutoRecovery System (based on a percentage of HP)                          #
  15. # ● Allows you to equip different skills for each character                    #
  16. # ● Includes a Group HUD                                                       #
  17. #==============================================================================#
  18. #                                                                              #
  19. # Graphics required:                                                           #
  20. #                                                                              #
  21. # Party_Hp.png                                                                 #
  22. # Party_Hud.png                                                                #
  23. # Party_Number.png                                                             #
  24. #                                                                              #
  25. # All images must be in the Windowskin folder.                                 #
  26. #                                                                              #
  27. #==============================================================================#
  28. # Face graphics should be named as follows:                                    #
  29. #                                                                              #
  30. # Actor_Name + _MFace                                                          #
  31. #                                                                              #
  32. # EXAMPLE: Aluxe_MFace.png                                                     #
  33. #==============================================================================#

  34. module MOG_LEADER_SWITCHER

  35. # Switch Leader......................................................[Shift Key]
  36.   CHANGE_LEADER_BUTTON = Input::SHIFT
  37. # Time to wait between switches....................................[TIME_FRAMES]
  38.   WAIT_DURATION = 0

  39. #==============================================================================#
  40. #........................[SKILLS USED WHEN YOU SWITCH].........................#
  41. #==============================================================================#
  42. # FORMAT: A=>B                                                                 #
  43. #                                                                              #
  44. # A = Actor ID (as listed in the ACTORS tab in the DATABASE)                   #
  45. # B = TOOL ID                                                                  #
  46. #==============================================================================#

  47.   SHIFT_ACTION_ID = {
  48.   1=>1, # Alice Cast Ice
  49.   2=>1  # Aluxes Cast Fire
  50.   }  
  51.   
  52. #==============================================================================#
  53. #...............................[AUTO RECOVER].................................#
  54. #==============================================================================#
  55. # FORMAT: A=>B                                                                 #
  56. #                                                                              #
  57. # A = Actor ID (as listed in the ACTORS tab in the DATABASE)                   #
  58. # B = Percentage of HP restored                                                #
  59. #==============================================================================#

  60.   PERC_RECHP = {
  61.   1=> 4,
  62.   3=> 3
  63.   }
  64.   
  65. # The amount of time (in frames) of the Speed Auto Recovery........[TIME_FRAMES]
  66. # Note: 40 Frames = 1 sec
  67.   RECOVER_SPEED = 60
  68. # Activate the Jump Effect between switches?........................[TRUE/FALSE]
  69.   JUMP_EFFECT = true

  70. #==============================================================================#
  71. #............................[ACTOR SOUND EFFECTS].............................#
  72. #==============================================================================#
  73. # FORMAT: A=>["B","B","B","B"]                                                 #
  74. #                                                                              #
  75. # A = ACTOR ID (as listed in the ACTORS tab in the DATABASE)                   #
  76. # B = Sound Effect played when actors switch                                   #
  77. #==============================================================================#

  78.   LEADER_VOICE= {
  79.   1=>["A_MISC3","A_SKILL01"],
  80.   2=>["V_SPECIAL1"],  
  81.   3=>["S_MISC04"],
  82.   4=>["SA_SKILL01"]
  83.   }

  84. # Position of the HUD on the X and Y axis......................[HUD_POSITIONING]  

  85. # Layout
  86.   LAYOUT_POS = [200, 5]
  87. # Face
  88.   FACE_POS = [202, 5]
  89. # HP
  90.   HP_POS = [235, 17]
  91. # Level
  92.   LEVEL_POS = [255 , 5]
  93. # Tools
  94.   TOOL_POS = [233, 25 ]
  95. # Cursor
  96.   NEXT_POS = [202, 30]
  97. # Priority of the HUD  
  98.   HUD_PRIORITY_Z = 5000

  99. # Switch ID to disable the HUD..........................................[SWITCH]
  100.   DISABLE_HUD_SWITCH = 5

  101. end  

  102. #===============================================================================
  103. # ■ Game_Temp
  104. #===============================================================================
  105. class Game_Temp

  106.       attr_accessor :shift_duration
  107.       attr_accessor :shift_action_id
  108.       attr_accessor :shift_pre_direction
  109.       attr_accessor :refresh_hud
  110.   #--------------------------------------------------------------------------
  111.   # ● Initialize
  112.   #--------------------------------------------------------------------------  
  113.   alias leader_initialize initialize
  114.   def initialize
  115.       leader_initialize
  116.       @shift_duration = 0
  117.       @shift_action_id = 0
  118.       @shift_pre_direction = 6
  119.       @refresh_hud = false
  120.   end
  121.   
  122. end

  123. #===============================================================================
  124. # ■ Game_system
  125. #===============================================================================
  126. class Game_System
  127.       attr_accessor :party_skill_id
  128.       attr_accessor :party_item_id
  129.   #--------------------------------------------------------------------------
  130.   # ● Initialize
  131.   #--------------------------------------------------------------------------  
  132.   alias leader_initialize initialize
  133.   def initialize
  134.       leader_initialize
  135.       @party_skill_id = []
  136.       @party_item_id = []
  137.   end
  138.   
  139. end  

  140. #===============================================================================
  141. # ■ Game_Player
  142. #===============================================================================
  143. class Game_Player

  144.   #--------------------------------------------------------------------------
  145.   # ● Update
  146.   #--------------------------------------------------------------------------   
  147.   alias leader_switcher_update update
  148.   def update
  149.       if self.battler.hp == 0 and not $game_party.all_dead?
  150.          $game_player.active_shift_movement
  151.          @knock_back_duration = 1
  152.       end
  153.       if Input.trigger?(MOG_LEADER_SWITCHER::CHANGE_LEADER_BUTTON)
  154.          if $game_party.actors.size > 1 and not $game_party.all_dead? and
  155.             $game_temp.shift_duration == 0 and can_base_update? and
  156.             self.battler.hp > 0
  157.             survive = 0
  158.             for i in $game_party.actors
  159.                survive += 1 if i.hp > 0
  160.             end  
  161.             if survive > 1  
  162.                $game_temp.shift_duration = 15 + MOG_LEADER_SWITCHER::WAIT_DURATION
  163.             end
  164.          end
  165.       end  
  166.       active_leader_motion
  167.       leader_switcher_update      
  168.   end  
  169.   
  170.   #--------------------------------------------------------------------------
  171.   # ● Active Leader Motion
  172.   #--------------------------------------------------------------------------              
  173.   def active_leader_motion
  174.       return if $game_temp.shift_duration == 0
  175.       return unless can_base_update?  
  176.       return unless can_action?        
  177.       if $game_temp.shift_duration == 15 + MOG_LEADER_SWITCHER::WAIT_DURATION
  178.          active_shift_movement
  179.       end
  180.       $game_temp.shift_duration -= 1      
  181.   end
  182.   
  183.   #--------------------------------------------------------------------------
  184.   # ● Active_shift_movement
  185.   #--------------------------------------------------------------------------              
  186.   def active_shift_movement
  187.       @actor = $game_party.actors[0]
  188.       $game_system.party_skill_id[@actor.id] = $game_system.xas_skill_id
  189.       $game_system.party_item_id[@actor.id] = $game_system.xas_item_id
  190.       if MOG_LEADER_SWITCHER::JUMP_EFFECT
  191.          $game_player.real_y -= 480
  192.          $game_player.real_x -= 2500
  193.          $game_temp.shift_pre_direction = $game_player.direction
  194.          $game_player.direction = 6
  195.          jump(0,0)
  196.        end
  197.       refresh_leader
  198.   end  
  199.          
  200.   #--------------------------------------------------------------------------
  201.   # ● Refresh Leader
  202.   #--------------------------------------------------------------------------            
  203.   def refresh_leader(action = true)
  204.       for i in 1..$game_party.actors.size
  205.          pre_leader = $game_party.actors[0].id
  206.          $game_party.remove_actor(pre_leader)
  207.          $game_party.add_actor(pre_leader)  
  208.          break if $game_party.actors[0].hp > 0
  209.       end
  210.       @actor = $game_party.actors[0]
  211.       @actor.pre_level = @actor.level  
  212.       $scene = Scene_Refresh.new
  213.       @actor.hit_it = 30  
  214.       self.battler.after_damage_pop_time = 0
  215.       self.battler.xas_states_pop_time
  216.       shift_action = MOG_LEADER_SWITCHER::SHIFT_ACTION_ID[@actor.id]
  217.       if $game_system.party_skill_id[@actor.id] != nil  
  218.          $game_system.xas_skill_id = $game_system.party_skill_id[@actor.id]
  219.       else   
  220.          $game_system.xas_skill_id = 0
  221.       end
  222.       if $game_system.party_item_id[@actor.id] != nil
  223.          $game_system.xas_item_id = $game_system.party_item_id[@actor.id]
  224.       else   
  225.          $game_system.xas_item_id = 0
  226.       end  
  227.       if shift_action != nil and action
  228.             $game_temp.shift_action_id = shift_action
  229.       end
  230.       voice = MOG_LEADER_SWITCHER::LEADER_VOICE[@actor.id]
  231.       if voice != nil and action
  232.          Audio.se_play("Audio/SE/" + voice[rand(voice.size)],130,100) rescue nil
  233.       end   
  234. end   
  235.    
  236. #--------------------------------------------------------------------------
  237. # ● XAS - Force_Action_Now
  238. #--------------------------------------------------------------------------
  239. alias leader_shift_update_force_action update_force_action
  240. def update_force_action
  241.      if $game_temp.shift_action_id != 0 and not jumping?
  242.         action_id = $game_temp.shift_action_id      
  243.         id = Database_Bullet::DURATIONS[action_id]
  244.         return if id == nil
  245.         $game_player.direction = $game_temp.shift_pre_direction
  246.         self.shoot(action_id)
  247.         $game_temp.shift_action_id = 0
  248.         return
  249.     end   
  250.     leader_shift_update_force_action
  251. end      
  252.    
  253. end  

  254. #===============================================================================
  255. # ■ Scene_Skill
  256. #===============================================================================
  257. class Scene_Skill
  258. #--------------------------------------------------------------------------
  259. # Update Skill
  260. #--------------------------------------------------------------------------
  261.   alias mog_leader_shift_update_skill update_skill
  262.   def update_skill
  263.     if Input.trigger?(XAS_WINDOW_SKILL::BUTTON)
  264.        @skill = @skill_window.skill
  265.        unless @actor.skill_can_use?(@skill.id)
  266.           $game_system.se_play($data_system.buzzer_se)
  267.           return
  268.        end
  269.        $game_system.se_play($data_system.equip_se)
  270.        if @actor == $game_party.actors[0]
  271.           $game_system.xas_skill_id = @skill.id
  272.        end
  273.        $game_system.party_skill_id[@actor.id] =  @skill.id
  274.        @skill_text.visible = true
  275.        @skill_text.x = 700
  276.        @skill_text.opacity = @xastextime
  277.        @xastextime = 355
  278.        return
  279.     end      
  280.   mog_leader_shift_update_skill
  281.   end
  282. end

  283. #===============================================================================
  284. # ■ Party Hud
  285. #===============================================================================
  286. class Party_Hud
  287. include MOG_LEADER_SWITCHER
  288. #--------------------------------------------------------------------------
  289. # ● Initialize
  290. #--------------------------------------------------------------------------  
  291.   def initialize
  292.       return if $game_party.actors.size <= 1
  293.       @auto_recover_time = 0
  294.       @leader_id = $game_party.actors[0].id
  295.       create_layout
  296.       create_face
  297.       create_hp
  298.       create_level
  299.       create_tools
  300.   end
  301.   
  302. #--------------------------------------------------------------------------
  303. # ● create_layout
  304. #--------------------------------------------------------------------------   
  305.   def create_layout      
  306.       @layout_image = RPG::Cache.windowskin("Party_Hud")
  307.       @w = @layout_image.width * $game_party.actors.size
  308.       @layout_bitmap = Bitmap.new(@w,@layout_image.height)      
  309.       @layout_sprite = Sprite.new
  310.       @layout_sprite.bitmap = @layout_bitmap
  311.       @layout_sprite.z =  HUD_PRIORITY_Z
  312.       refresh_layout
  313.       @layout_sprite.x = LAYOUT_POS[0]
  314.       @layout_sprite.y = LAYOUT_POS[1]
  315.   end
  316.   
  317. #--------------------------------------------------------------------------
  318. # ● Refresh Layout
  319. #--------------------------------------------------------------------------      
  320.   def refresh_layout
  321.       @layout_sprite.bitmap.clear
  322.       for i in 0...$game_party.actors.size - 1
  323.          @layout_src_rect = Rect.new(0, 0, @layout_image.width , @layout_image.height)
  324.          @layout_bitmap.blt(@layout_image.width * i,0, @layout_image, @layout_src_rect)
  325.       end   
  326.   end  
  327.   
  328. #--------------------------------------------------------------------------
  329. # ● Create Tools
  330. #--------------------------------------------------------------------------      
  331. def create_tools
  332.      @icon_bitmap = Bitmap.new(@w,24)
  333.      @icon_sprite = Sprite.new
  334.      @icon_sprite.bitmap = @icon_bitmap
  335.      @icon_sprite.z = 3 + HUD_PRIORITY_Z   
  336.      @icon_sprite.x = TOOL_POS[0]
  337.      @icon_sprite.y = TOOL_POS[1]  
  338.      icon_src_rect = Rect.new(0, 0, 24 , 24)
  339.      index = 0
  340.      for i in $game_party.actors         
  341.          next if i.id == @leader_id   
  342.          item = $data_items[$game_system.party_item_id[i.id]] rescue nil
  343.          skill = $data_skills[$game_system.party_skill_id[i.id]] rescue nil
  344.          if item != nil
  345.             image = RPG::Cache.icon(item.icon_name)
  346.             @icon_bitmap.blt(@layout_image.width * index,0, image, icon_src_rect)  
  347.             image.dispose
  348.          end   
  349.          if skill != nil
  350.             image = RPG::Cache.icon(skill.icon_name)
  351.             @icon_bitmap.blt(29 + (@layout_image.width * index),0, image, icon_src_rect)  
  352.             image.dispose
  353.          end                    
  354.          index += 1
  355.      end  
  356. end  

  357. #--------------------------------------------------------------------------
  358. # ● create_level
  359. #--------------------------------------------------------------------------   
  360. def create_level      
  361.       @level_image = RPG::Cache.windowskin("Party_Number")
  362.       @level_bitmap = Bitmap.new(@w,@level_image.height)
  363.       @level_sprite = Sprite.new
  364.       @level_sprite.bitmap = @level_bitmap
  365.       @level_sprite.z = 3 + HUD_PRIORITY_Z   
  366.       @level_sprite.x = LEVEL_POS[0]
  367.       @level_sprite.y = LEVEL_POS[1]
  368.       @level_cw = @level_image.width / 10
  369.       @level_ch = @level_image.height  
  370.       refresh_level
  371.   end  
  372.   
  373. #--------------------------------------------------------------------------
  374. # ● refresh_level
  375. #--------------------------------------------------------------------------         
  376. def refresh_level
  377.       @level_sprite.bitmap.clear
  378.       index = 0
  379.       for i in $game_party.actors
  380.          next if i.id == @leader_id
  381.          @level_text = i.level.to_s.split(//)
  382.          nx = @layout_image.width * index
  383.          for r in 0..@level_text.size - 1
  384.              @level_abs = @level_text[r].to_i
  385.              @level_src_rect = Rect.new(@level_cw * @level_abs, 0, @level_cw, @level_ch)
  386.              @level_bitmap.blt(nx + (@level_cw  *  r), 0, @level_image, @level_src_rect)        
  387.          end
  388.          index += 1  
  389.       end   
  390. end  
  391.    
  392. #--------------------------------------------------------------------------
  393. # ● create_hp
  394. #--------------------------------------------------------------------------        
  395.   def create_hp
  396.       @hp_image = RPG::Cache.windowskin("Party_Hp")
  397.       @hp_sprite = Sprite.new
  398.       @hp_bitmap = Bitmap.new(@w,@hp_image.height)            
  399.       @hp_sprite.bitmap = @hp_bitmap
  400.       refresh_hp
  401.       @hp_sprite.z = 2 + HUD_PRIORITY_Z   
  402.       @hp_sprite.x = HP_POS[0]
  403.       @hp_sprite.y = HP_POS[1]        
  404.   end
  405.    
  406. #--------------------------------------------------------------------------
  407. # ● refresh_hp
  408. #--------------------------------------------------------------------------        
  409.   def refresh_hp
  410.       return if $game_party.actors.size <= 1
  411.       @hp_sprite.bitmap.clear
  412.       index = 0
  413.       for i in $game_party.actors
  414.          next if i.id == @leader_id
  415.          hp_size = @hp_image.width * i.hp / i.maxhp  
  416.          @hp_src_rect = Rect.new(0, 0, hp_size , @hp_image.height)         
  417.          @hp_bitmap.blt(@layout_image.width * index,0, @hp_image, @hp_src_rect)
  418.          index += 1
  419.        end   
  420.   end   
  421.   
  422. #--------------------------------------------------------------------------
  423. # ● create_face
  424. #--------------------------------------------------------------------------      
  425.   def create_face
  426.       @face_sprite = Sprite.new
  427.       @face_bitmap = Bitmap.new(@w,32)            
  428.       @face_sprite.bitmap = @face_bitmap
  429.       @face_sprite.z = 1 + HUD_PRIORITY_Z   
  430.       @face_sprite.x = FACE_POS[0]
  431.       @face_sprite.y = FACE_POS[1]      
  432.       refresh_face
  433.   end  
  434.   
  435. #--------------------------------------------------------------------------
  436. # ● refresh_face
  437. #--------------------------------------------------------------------------        
  438.   def refresh_face
  439.       @face_sprite.bitmap.clear
  440.       index = 0
  441.       for i in $game_party.actors
  442.          next if i.id == @leader_id
  443.          if @face_image != nil
  444.             @face_image.dispose
  445.          end  
  446.          file_name = i.name + "_MFace"
  447.          @face_image = RPG::Cache.windowskin(file_name)  
  448.          if i.hp > 0
  449.             @face_src_rect = Rect.new(0, 0, 24 , 24)
  450.          else
  451.             @face_src_rect = Rect.new(24, 0, 24 , 24)
  452.          end  
  453.          @face_bitmap.blt(@layout_image.width * index,0, @face_image, @face_src_rect)
  454.          index += 1
  455.        end   
  456.   end
  457.   
  458. #--------------------------------------------------------------------------
  459. # ● Dispose
  460. #--------------------------------------------------------------------------   
  461.   def dispose  
  462.       return if @layout_sprite == nil
  463.       @layout_image.dispose
  464.       @layout_bitmap.dispose
  465.       @layout_sprite.bitmap.dispose
  466.       @layout_sprite.dispose
  467.       @face_image.dispose
  468.       @face_bitmap.dispose
  469.       @face_sprite.bitmap.dispose
  470.       @face_sprite.dispose
  471.       @hp_image.dispose
  472.       @hp_bitmap.dispose
  473.       @hp_sprite.bitmap.dispose
  474.       @hp_sprite.dispose
  475.       @level_image.dispose
  476.       @level_bitmap.dispose
  477.       @level_sprite.bitmap.dispose
  478.       @level_sprite.dispose   
  479.       @icon_bitmap.dispose
  480.       @icon_sprite.bitmap.dispose
  481.       @icon_sprite.dispose
  482.   end
  483.   
  484. #--------------------------------------------------------------------------
  485. # ● update
  486. #--------------------------------------------------------------------------      
  487.   def update     
  488.       return if @layout_sprite == nil
  489.       refresh if $game_temp.refresh_hud
  490.       update_visible
  491.       update_auto_recover
  492.   end  
  493.   
  494. #--------------------------------------------------------------------------
  495. # ● Update Auto Recover
  496. #--------------------------------------------------------------------------            
  497.   def update_auto_recover
  498.       return if $game_system.map_interpreter.running?
  499.       @auto_recover_time += 1
  500.       if @auto_recover_time > RECOVER_SPEED        
  501.          for i in $game_party.actors
  502.             next if i.id == @leader_id   
  503.             perc = PERC_RECHP[i.id]
  504.             if perc != nil and i.hp > 0
  505.                rec = i.maxhp * perc / 100
  506.                rec = 1 if rec < 1
  507.                i.hp += rec
  508.             end
  509.          end   
  510.          refresh_hp
  511.          @auto_recover_time = 0
  512.       end  
  513.   end  
  514.   
  515. #--------------------------------------------------------------------------
  516. # ● Update Visible
  517. #--------------------------------------------------------------------------        
  518.   def update_visible
  519.       if $game_switches[DISABLE_HUD_SWITCH]
  520.          vis = false
  521.       else
  522.          vis = true
  523.       end
  524.       @layout_sprite.visible = vis
  525.       @face_sprite.visible = vis
  526.       @hp_sprite.visible = vis
  527.       @icon_sprite.visible = vis
  528.       @level_sprite.visible = vis
  529.   end
  530.   
  531. #--------------------------------------------------------------------------
  532. # ● update
  533. #--------------------------------------------------------------------------      
  534.   def refresh
  535.       $game_temp.refresh_hud = false
  536.       return if @layout_sprite == nil
  537.       refresh_hp
  538.       refresh_level
  539.   end   
  540.   
  541. end

  542. #===============================================================================
  543. #  ■ Interpreter
  544. #===============================================================================
  545. class Interpreter
  546. #--------------------------------------------------------------------------
  547. # ● command_129
  548. #--------------------------------------------------------------------------        
  549.   alias leader_shift_command_129 command_129
  550.   def command_129
  551.       party_max = $game_party.actors.size
  552.       leader_shift_command_129
  553.       if party_max != $game_party.actors.size
  554.         $scene = Scene_Refresh.new
  555.       end   
  556.   end  

  557. #--------------------------------------------------------------------------
  558. # ● command_311
  559. #--------------------------------------------------------------------------         
  560.   alias leader_shift_command_311 command_311
  561.   def command_311
  562.       leader_shift_command_311
  563.       $game_temp.refresh_hud = true
  564.   end
  565.   
  566. #--------------------------------------------------------------------------
  567. # ● command_312
  568. #--------------------------------------------------------------------------            
  569.   alias leader_shift_command_312 command_312
  570.   def command_312
  571.       leader_shift_command_312
  572.       $game_temp.refresh_hud = true
  573.   end

  574. #--------------------------------------------------------------------------
  575. # ● command_314
  576. #--------------------------------------------------------------------------         
  577.   alias leader_shift_command_314 command_314
  578.   def command_314
  579.       leader_shift_command_314
  580.       $scene = Scene_Refresh.new
  581.   end  
  582.   
  583. #--------------------------------------------------------------------------
  584. # ● command_315
  585. #--------------------------------------------------------------------------         
  586.   alias leader_shift_command_315 command_315
  587.   def command_315
  588.       leader_shift_command_315
  589.       $game_temp.refresh_hud = true
  590.   end

  591. #--------------------------------------------------------------------------
  592. # ● command_316
  593. #--------------------------------------------------------------------------            
  594.   alias leader_shift_command_316 command_316
  595.   def command_316
  596.       leader_shift_command_316
  597.       $game_temp.refresh_hud = true
  598.   end  
  599. end

  600. #===============================================================================
  601. #  ■ Spriteset_Map
  602. #===============================================================================
  603. class Spriteset_Map
  604.   #--------------------------------------------------------------------------
  605.   # ● initialize
  606.   #--------------------------------------------------------------------------
  607.   alias mog_party_initialize initialize
  608.   def initialize
  609.       @partyhud = Party_Hud.new
  610.       mog_party_initialize
  611.   end
  612.    
  613.   #--------------------------------------------------------------------------
  614.   # ● Dispose
  615.   #--------------------------------------------------------------------------
  616.   alias mog_party_dispose dispose
  617.   def dispose
  618.       mog_party_dispose
  619.       @partyhud.dispose
  620.   end  
  621.    
  622.   #--------------------------------------------------------------------------
  623.   # ● Frame Update
  624.   #--------------------------------------------------------------------------
  625.   alias mog_party_update update
  626.   def update
  627.       mog_party_update
  628.       @partyhud.update
  629.   end      
  630. end   


  631. #===============================================================================
  632. # ■ XAS_ACTION
  633. #===============================================================================
  634. module XAS_ACTION

  635. #--------------------------------------------------------------------------
  636. # ● Voice Check
  637. #--------------------------------------------------------------------------
  638. alias leader_voice_check voice_check
  639. def voice_check(action_id)  
  640.     return if self.force_move_times != 0
  641.     return if self.battler.is_a?(Game_Enemy)
  642.     actor = $game_party.actors[0]
  643.     voice = XAS_VOICE::ACTOR_SKILL_VOICE
  644.     return if voice[actor.id] == nil
  645.     leader_voice_check(action_id)  
  646. end

  647. end

  648. #===============================================================================
  649. #  ■ XAS_ACTION
  650. #===============================================================================

  651. module XAS_ACTION
  652. #--------------------------------------------------------------------------
  653. # ● check_action_exist?
  654. #--------------------------------------------------------------------------
  655. def check_action_exist?(action_id)
  656.      return false if action_id == nil
  657.      id = Database_Bullet::DURATIONS[action_id]
  658.      return true if id != nil
  659. end

  660. #--------------------------------------------------------------------------
  661. # ● Check Battler Exist?
  662. #--------------------------------------------------------------------------
  663. def check_battler_exist?
  664.      return true if self.battler != nil
  665.      return false
  666.    end
  667. end   

  668. $mog_rgss_xas_leader_switcher = true
复制代码

点评

这是xas系统的脚本 - - 单独拿出来当然会出错  发表于 2011-11-26 21:03

Lv2.观梦者

(?????)

梦石
0
星屑
728
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

2
发表于 2011-11-26 20:51:17 | 只看该作者
默认脚本不能识别TAB键,需要的话请自行搜索全键盘脚本。

点评

这是XAS的Switch Leader系统,我把他有更换的地方覆盖到我的XAS就出错了Q_Q  发表于 2011-11-26 21:11
我有抓全键盘脚本 比较大的问题是这个脚本目前会出错Q_Q...  发表于 2011-11-26 20:59
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
3
发表于 2011-11-27 00:38:15 | 只看该作者
目测是因为用旧存档打开,无法读取新增加的变量$game_party.party_skill_id,LZ试试开新存档?

点评

您说的没错,是因为就存档的关系,感谢耶Q_Q!!  发表于 2011-11-27 01:30

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 05:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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