Project1

标题: 【VA】LZSB脚本系列·第2计时器 [打印本页]

作者: 阿尔西斯的马甲    时间: 2012-1-28 14:10
标题: 【VA】LZSB脚本系列·第2计时器
本帖最后由 阿尔西斯的马甲 于 2012-1-28 14:12 编辑
  1. #==============================================================================
  2. # ■ Game_Interpreter_Self_Timer
  3. #------------------------------------------------------------------------------
  4. # 独立公共事件执行器
  5. #==============================================================================
  6. =begin
  7. 独立公共事件执行器用于随时执行公共事件,不受公共事件调用地方的限制。
  8. □使用方法:
  9. 1。将脚本插入main前。
  10. 2。在需要使用公共事件的地方
  11. 插入、
  12. Game_Interpreter_Self_Timer.new(公共事件ID)
  13. □可能的冲突:无
  14. =end
  15. class Game_Interpreter_Self_Timer < Game_Interpreter
  16.   def initialize(com_id)
  17.     @com_id = com_id
  18.     common_event = $data_common_events[@com_id]
  19.     setup(common_event.list)
  20.     update
  21.     clear
  22.   end
  23.   def command_117
  24.     if $data_common_events[@params[0]]
  25.       child = Game_Interpreter_Self.new(@params[0])
  26.       child.run
  27.     else
  28.       msgbox "公共事件连存在都不存在还搞什么你妹的执行?!"
  29.     end
  30.   end
  31. end
  32. #开始第二计时器
  33. #s代表秒数,c代表计时器到期后执行的公共事件ID。如果c是nil则会在到期之后结束战斗:
  34. #$t2.t(s,c)
  35. #冲突可能:修改了DataManager的脚本
  36. module DataManager
  37.   def self.create_game_objects
  38.     $game_temp          = Game_Temp.new
  39.     $game_system        = Game_System.new
  40.     $game_timer         = Game_Timer1.new
  41.     $game_message       = Game_Message.new
  42.     $game_switches      = Game_Switches.new
  43.     $game_variables     = Game_Variables.new
  44.     $game_self_switches = Game_SelfSwitches.new
  45.     $game_actors        = Game_Actors.new
  46.     $game_party         = Game_Party.new
  47.     $game_troop         = Game_Troop.new
  48.     $game_map           = Game_Map.new
  49.     $game_player        = Game_Player.new
  50.     $t2                 = Game_Timer2.new
  51.   end
  52. end
  53. class Game_Timer1 < Game_Timer
  54. end
  55. class Game_Timer2 < Game_Timer
  56.   def t(s,c)
  57.     @commonid=c
  58.     start(s * Graphics.frame_rate)
  59.   end
  60.   def on_expire
  61.     if @commonid.nil?
  62.       BattleManager.abort
  63.       return
  64.     end
  65.     unless @commonid.is_a?(Integer)
  66.       @[email protected]_i
  67.     end
  68.     Game_Interpreter_Self_Timer.new(@commonid)
  69.   end
  70. end
  71. class Game_Timer
  72.   alias laozishabiupdate update
  73.   def update
  74.     laozishabiupdate
  75.     if self.is_a?(Game_Timer1)
  76.       $t2.update
  77.     end
  78.   end
  79. end
复制代码
引用了九夜神尊的公共执行器。
没错!我就是不折不扣的SB×1.




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