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

Project1

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

[已经解决] 怎么制作任务

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2010-8-25
帖子
7
跳转到指定楼层
1
发表于 2010-10-2 15:40:53 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如上题。。。

点评

如果认为问题已经解决,请修改主楼标签为“已经解决”,便于vx区管理,谢谢。  发表于 2010-10-3 06:10

评分

参与人数 1星屑 -20 收起 理由
咕噜 -20 RT税

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2012-10-2
帖子
20
5
发表于 2012-10-2 22:35:07 | 只看该作者
唔。。。吾辈看了一下。。。辛苦了。。。ヾ(:3ノシヾ)ノシ

评分

参与人数 1星屑 -100 收起 理由
咕噜 -100 挖坟

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

4
发表于 2010-10-2 17:01:54 | 只看该作者
如果純粹的事件任務的話,利用開關、變量、對話、選項、條件分歧等編輯器內的工具就可以完成……如果要用到任務腳本的話,建議看看流星姐從xp葉子任務轉成vx的版本……地址http://rpg.blue/forum.php?mod=viewthread&tid=76639&highlight=%E5%8F%B6%E5%AD%90%2B%E4%BB%BB%E5%8A%A1

$scene = Scene_Task.new     召喚任務介面 ,插在菜單中的話,在scene_menu的59行  “s6 = Vocab::game_end”下面,另起一行插入“s7 = "任務"” ,(如圖)
然後,把下一行“ @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) ”替換成“ @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
  1.   #--------------------------------------------------------------------------
  2.   # ● 更新指令选择
  3.   #--------------------------------------------------------------------------
  4.   def update_command_selection
  5.     if Input.trigger?(Input::B)
  6.       Sound.play_cancel
  7.       $scene = Scene_Map.new
  8.     elsif Input.trigger?(Input::C)
  9.       if $game_party.members.size == 0 and @command_window.index < 4
  10.         Sound.play_buzzer
  11.         return
  12.       elsif $game_system.save_disabled and @command_window.index == 4
  13.         Sound.play_buzzer
  14.         return
  15.       end
  16.       Sound.play_decision
  17.       case @command_window.index
  18.       when 0      # 物品
  19.         $scene = Scene_Item.new
  20.       when 1,2,3  # 特技、装备、状态
  21.         start_actor_selection
  22.       when 4      # 存档
  23.         $scene = Scene_File.new(true, false, false)
  24.       when 5      # 游戏结束
  25.         $scene = Scene_End.new
  26.       end
  27.     end
  28.   end
复制代码
在end前、$scene = Scene_End.new下面另起一行,插入:
  1. when 6 #任務
  2. $scene = Scene_Task.new
复制代码
就可以了,成功後整個菜單的腳本是:
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_Menu < Scene_Base
  7. #--------------------------------------------------------------------------
  8. # ● 初始化对象
  9. # menu_index : 指令光标初期位置
  10. #--------------------------------------------------------------------------
  11. def initialize(menu_index = 0)
  12. @menu_index = menu_index
  13. end
  14. #--------------------------------------------------------------------------
  15. # ● 开始处理
  16. #--------------------------------------------------------------------------
  17. def start
  18. super
  19. create_menu_background
  20. create_command_window
  21. @gold_window = Window_Gold.new(0, 360)
  22. @status_window = Window_MenuStatus.new(160, 0)
  23. end
  24. #--------------------------------------------------------------------------
  25. # ● 结束处理
  26. #--------------------------------------------------------------------------
  27. def terminate
  28. super
  29. dispose_menu_background
  30. @command_window.dispose
  31. @gold_window.dispose
  32. @status_window.dispose
  33. end
  34. #--------------------------------------------------------------------------
  35. # ● 更新画面
  36. #--------------------------------------------------------------------------
  37. def update
  38. super
  39. update_menu_background
  40. @command_window.update
  41. @gold_window.update
  42. @status_window.update
  43. if @command_window.active
  44. update_command_selection
  45. elsif @status_window.active
  46. update_actor_selection
  47. end
  48. end
  49. #--------------------------------------------------------------------------
  50. # ● 生成指令窗口
  51. #--------------------------------------------------------------------------
  52. def create_command_window
  53. s1 = Vocab::item
  54. s2 = Vocab::skill
  55. s3 = Vocab::equip
  56. s4 = Vocab::status
  57. s5 = Vocab::save
  58. s6 = Vocab::game_end
  59. s7 = "任務"
  60. @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
  61. @command_window.index = @menu_index
  62. if $game_party.members.size == 0 # 同伴人数为 0 的情况下
  63. @command_window.draw_item(0, false) # 物品无效化
  64. @command_window.draw_item(1, false) # 特技无效化
  65. @command_window.draw_item(2, false) # 装备无效化
  66. @command_window.draw_item(3, false) # 状态无效化
  67. end
  68. if $game_system.save_disabled # 禁止存档的情况下
  69. @command_window.draw_item(4, false) # 存档无效化
  70. end
  71. end
  72. #--------------------------------------------------------------------------
  73. # ● 更新指令选择
  74. #--------------------------------------------------------------------------
  75. def update_command_selection
  76. if Input.trigger?(Input::B)
  77. Sound.play_cancel
  78. $scene = Scene_Map.new
  79. elsif Input.trigger?(Input::C)
  80. if $game_party.members.size == 0 and @command_window.index < 4
  81. Sound.play_buzzer
  82. return
  83. elsif $game_system.save_disabled and @command_window.index == 4
  84. Sound.play_buzzer
  85. return
  86. end
  87. Sound.play_decision
  88. case @command_window.index
  89. when 0 # 物品
  90. $scene = Scene_Item.new
  91. when 1,2,3 # 特技、装备、状态
  92. start_actor_selection
  93. when 4 # 存档
  94. $scene = Scene_File.new(true, false, false)
  95. when 5 # 游戏结束
  96. $scene = Scene_End.new
  97. when 6 #任務
  98. $scene = Scene_Task.new
  99. end
  100. end
  101. end
  102. #--------------------------------------------------------------------------
  103. # ● アクター選択の開始
  104. #--------------------------------------------------------------------------
  105. def start_actor_selection
  106. @command_window.active = false
  107. @status_window.active = true
  108. if $game_party.last_actor_index < @status_window.item_max
  109. @status_window.index = $game_party.last_actor_index
  110. else
  111. @status_window.index = 0
  112. end
  113. end
  114. #--------------------------------------------------------------------------
  115. # ● アクター選択の終了
  116. #--------------------------------------------------------------------------
  117. def end_actor_selection
  118. @command_window.active = true
  119. @status_window.active = false
  120. @status_window.index = -1
  121. end
  122. #--------------------------------------------------------------------------
  123. # ● アクター選択の更新
  124. #--------------------------------------------------------------------------
  125. def update_actor_selection
  126. if Input.trigger?(Input::B)
  127. Sound.play_cancel
  128. end_actor_selection
  129. elsif Input.trigger?(Input::C)
  130. $game_party.last_actor_index = @status_window.index
  131. Sound.play_decision
  132. case @command_window.index
  133. when 1 # スキル
  134. $scene = Scene_Skill.new(@status_window.index)
  135. when 2 # 装備
  136. $scene = Scene_Equip.new(@status_window.index)
  137. when 3 # ステータス
  138. $scene = Scene_Status.new(@status_window.index)
  139. end
  140. end
  141. end
  142. end
复制代码
另外,get_task(編號) 為接受任務, finish_task(編號)為完成/刪除任務
其他詳細設置看原帖……


好吧 我承認我在培養伸手黨 我以後再也不這麼做了 = .=

点评

解决问题辛苦了!  发表于 2010-10-2 20:01

评分

参与人数 2星屑 +802 收起 理由
夕阳武士 + 800 很详细!
GM.01 + 2

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
85
在线时间
424 小时
注册时间
2009-8-3
帖子
984
3
发表于 2010-10-2 16:13:12 | 只看该作者
搜索
回复 支持 反对

使用道具 举报

Lv1.梦旅人

水土火风重逢处

梦石
0
星屑
234
在线时间
691 小时
注册时间
2010-7-17
帖子
3042
2
发表于 2010-10-2 15:41:36 | 只看该作者
lz请搜索制作任务,请不要当伸手党
独坐望城,望断天涯
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 09:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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