任务系统脚本.docx_第1页
任务系统脚本.docx_第2页
任务系统脚本.docx_第3页
任务系统脚本.docx_第4页
任务系统脚本.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RPG Maker VX Ace任务系统脚本此脚本原作者为韩云溪 转载请注明1. =begin2. 领取任务:$game_party.get_task(任意数字,任务名称,任务描述)3. 完成任务:$game_party.finish_task(领取任务时设定的数字)4. 对已有任务追加说明:$game_party.add_task(任务编号,任务追加描述)5.6. 如:7. 前面有事件$game_party.get_task(1,测试,只是测试)8.9. 此时任务1的说明为10.11. 只是测试12.13. 后面完成任务的脚本就是$game_party.finish_task(1)14.15. 追加说明$game_party.add_task(1,真的只是测试哦)16.17. 此时任务1的说明为:18. 只是测试19. 真的只是测试哦20.21. 召唤任务界面:SceneManager.call(Scene_Task)22.23. 该脚本来自66rpg,发布者:韩云溪24. 改进:工藤由纪(论坛ID:zyyczp)25. =end26.27. #=28. #任务系统29. #=30. class Task31. attr_reader :desc32. attr_reader :finished33. def initialize(origin_name,desc)34. origin_name = origin_name35. desc = desc36. finished = false37. end38. def name39. if finished40. return origin_name + (完成)41. else42. return origin_name43. end44. end45. def desc=(desc)46. desc = desc47. end48. 49. def finish50. finished = true51. end52. 53. end54.55. class Game_Party Game_Unit56. alias old_init initialize57. def initialize58. old_init59. tasks = 60. end61. def add_task(i,desc)62. tasksi.desc = tasksi.desc + n + desc63. end64. def get_task(i,name,desc)65. tasksi=Task.new(name,desc)66. end67. def have_task?(i)68. tasksi != nil69. end70. def finish_task(i)71. tasksi.finish if have_task?(i)72. end73. def unfinished_tasks74. n = 75. for i in tasks.values76. next if i.finished77. n.push(i)78. end79. return n80. end81. def finished_tasks82. n = 83. for i in tasks.values84. next unless i.finished85. n.push(i)86. end87. return n88. end89. end90.91. class Window_Task_Type Window_HorzCommand92. #-93. # 初期化94. #-95. def initialize96. super(0, 0)97. activate98. end99. def window_width100. return Graphics.width101. end102. def col_max103. return 3104. end105. #-106. # 作成107. #-108. def make_command_list109. add_command(未完成任务,:unfinished_task)110. add_command(已完成任务, :finished_task)111. add_command(取消, :cancel)112. end113. end114.115. class Window_TaskLeft Window_Selectable116. attr_reader :finished117. def initialize118. super(0,48,160,Graphics.height - 48)119. create_contents120. finished = false121. index = 0122. refresh123. deactivate124. end125. def set_finish(finish)126. finished = finish127. set_item_max128. end129. def item_max130. return item_max != nil ? item_max : 0131. end132. def set_item_max133. if finished134. item_max = $game_party.finished_tasks.size135. else136. item_max = $game_party.unfinished_tasks.size137. end138. end139.140. def refresh141. set_item_max142. super143. end144. #-145. # 項目描画146. #-147. def draw_item(index)148. text = 149. unless finished150. if $game_party.unfinished_tasksindex != nil151. text = $game_party.unfinished_152. end153. else154. if $game_party.finished_tasksindex != nil155. text = $game_party.finished_156. end157. end158. draw_text(item_rect_for_text(index), text)159. end160.161. end162.163. class Window_TaskRight Window_Base164. attr_reader :left_index165. def initialize166. super(160,48,Graphics.width - 160,Graphics.height - 48)167. create_contents168. left_index = 0169. finished = false170. refresh171. end172. def set_index(i)173. left_index = i174. refresh175. end176. def set_finish(i)177. finished = i178. end179. 180. def refresh181. contents.clear182. draw_desc183. end184. def draw_desc185. if finished186. if $game_party.finished_tasksleft_index != nil187. draw_text_ex(0,0,$game_party.finished_tasksleft_index.desc)188. end189. else190. if $game_party.unfinished_tasksleft_index !=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论