Project1

标题: 任务系统缩减版 (清纯版- -) [打印本页]

作者: 百道    时间: 2009-1-21 20:16
标题: 任务系统缩减版 (清纯版- -)
请问使用这个脚本时 在添加任务时候能添加任务的一些描述吗?
还有就是 在添加任务的时候 我使用了显示变量的命令
然后查看任务就显示成这样的

[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: IamI    时间: 2009-1-21 21:00
\c
\v

=>
\\c
\\v
常见错误= =
作者: 百道    时间: 2009-1-21 21:24
以下引用IamI于2009-1-21 13:00:41的发言:


\c
\v

=>

\\c
\\v

常见错误= =


还是无法显示变量值
作者: IamI    时间: 2009-1-21 21:38
喵的原来根本就没有这个功能= =
那就在脚本里邪恶的做手脚= =
修改如下
  1. #==============================================================================
  2. # Game_System
  3. #------------------------------------------------------------------------------
  4. # 添加内容
  5. #==============================================================================
  6. class Game_System
  7. attr_accessor :mission #现在执行的任务
  8. attr_accessor :partmission
  9. alias carol3_ini initialize
  10. def initialize
  11.    carol3_ini
  12.    @mission = ""
  13.    @partmission = []
  14. end
  15. end
  16. #==============================================================================
  17. # ■ Scene_Title
  18. #------------------------------------------------------------------------------
  19. #  处理标题画面的类。
  20. #==============================================================================
  21. class Scene_Title
  22. alias carol3_title1 main
  23. def main
  24.    $map_infos = load_data("Data/MapInfos.rxdata")
  25.    for key in $map_infos.keys
  26.      $map_infos[key] = $map_infos[key].name
  27.    end
  28.    $任务 = ""
  29.    $支线 = nil
  30.    $支线完成 = nil
  31.    carol3_title1
  32. end
  33. end
  34. class Scene_Map
  35. alias carol3_update update
  36. def update
  37.    carol3_update
  38.    if $支线 != nil
  39.      for i in 0...$game_system.partmission.size
  40.        if $game_system.partmission[i] == $支线
  41.          $支线 = nil
  42.          break
  43.        end
  44.      end
  45.      if $支线 != nil
  46.        $game_system.partmission.push($支线)
  47.        $支线 = nil
  48.      end
  49.    end
  50.    if $支线完成 != nil
  51.      for i in 0...$game_system.partmission.size
  52.        if $game_system.partmission[i] == $支线完成
  53.          $game_system.partmission.delete($game_system.partmission[i])
  54.          break
  55.        end
  56.      end
  57.      $支线完成 = nil
  58.    end
  59. end
  60. end
  61. #==============================================================================
  62. # ■ Game_Map
  63. #------------------------------------------------------------------------------
  64. #  处理地图的类。包含卷动以及可以通行的判断功能。
  65. # 本类的实例请参考 $game_map 。
  66. #==============================================================================
  67. class Game_Map
  68. def name
  69.    return $map_infos[@map_id]
  70. end
  71. end
  72. #==============================================================================
  73. # Window_RecordBook
  74. #------------------------------------------------------------------------------
  75. # 菜单界面表示信息的窗口
  76. #==============================================================================
  77. class Window_RecordBook < Window_Base
  78. #--------------------------------------------------------------------------
  79. # ● 初始化对象
  80. #--------------------------------------------------------------------------
  81. def initialize
  82.    super(0, 0, 640, 480)
  83.    self.contents = Bitmap.new(width - 32, height - 32)
  84.    if $任务 == ""
  85.      $任务 = $game_system.mission
  86.    else
  87.      $game_system.mission = $任务
  88.    end
  89.    refresh
  90. end
  91. #--------------------------------------------------------------------------
  92. # ● 刷新画面
  93. #--------------------------------------------------------------------------
  94. def refresh
  95.    self.contents.clear
  96.    self.contents.font.color = system_color
  97.    self.contents.font.size = 20
  98.    cx = self.contents.text_size("现在地点").width + 24
  99.    self.contents.draw_text(4, 0, cx, 24, "现在地点")
  100.    self.contents.font.color = normal_color
  101.    self.contents.draw_text(4 + cx, 0, 444 - cx, 24, $game_map.name.to_s)  
  102.    self.contents.font.color = system_color
  103.    cx = self.contents.text_size("主线任务").width + 24
  104.    self.contents.draw_text(4, 32, cx, 24, "主线任务")
  105.    self.contents.font.color = Color.new(240,250,75,255)
  106.    self.contents.draw_text(4 + cx, 32, 444 - cx, 24, $game_system.mission.to_s)  
  107.    self.contents.font.color = system_color
  108.    cx = self.contents.text_size("支线任务").width + 24
  109.    self.contents.draw_text(4, 96, cx, 24, "支线任务")
  110.    self.contents.font.color = normal_color
  111.    for text in $game_system.partmission
  112.       begin
  113.         last_text = text.clone
  114.         text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  115.       text.gsub!(/\\[Nn]\[([0-9]+)\]/)   {$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""}
  116.        end
  117.     end
  118.    for i in 0...$game_system.partmission.size
  119.      self.contents.draw_text(4 + cx, 96 + i * 32, 444 - cx, 24, $game_system.partmission[i].to_s)
  120.    end
  121. end
  122. end
  123. #----------------------------------------------------------------------------
  124. #
  125. # ● 任务书调用场景!调用方法:$scene=Scene_RecordBook.new
  126. #
  127. #----------------------------------------------------------------------------
  128. class Scene_RecordBook
  129. def main
  130.    @command_window = Window_RecordBook.new
  131.    Graphics.transition
  132.    loop do
  133.      Graphics.update
  134.      Input.update
  135.      update
  136.      if $scene != self
  137.        break
  138.      end
  139.    end
  140.    Graphics.freeze
  141.    @command_window.dispose
  142.    if $scene.is_a?(Scene_Title)
  143.      Graphics.transition
  144.      Graphics.freeze
  145.    end
  146. end
  147. #--------------------------------------------------------------------------
  148. # ● 刷新画面
  149. #--------------------------------------------------------------------------
  150. def update
  151.    @command_window.update
  152.    if Input.trigger?(Input::B)
  153.      $game_system.se_play($data_system.cancel_se)
  154.      $scene = Scene_Map.new
  155.      return
  156.    end
  157. end
  158. end
复制代码

支持\\n\\v,其他不支持 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 百道    时间: 2009-1-21 21:58
首先谢谢楼上的大大 用你修改后的那个脚本后能显示变量值了
但是无法删除任务了  貌似这个脚本不支持在任务名里面添加变量值
有没有办法在添加任务的时候 能给任务添加一些注释

作者: 姬文翔    时间: 2009-1-24 08:31
……怎么缩减版连这些常用功能也缩减去了……{/fd}
作者: 轩辕民    时间: 2009-1-24 09:21
那么还是用完整版吧  - -
作者: 百道    时间: 2009-1-24 19:53
算了 还是用公共事件来实现把




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