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

Project1

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

如何在"叶子的任务系统"的界面里加入底图

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
13 小时
注册时间
2008-1-11
帖子
330
跳转到指定楼层
1
发表于 2008-4-27 20:26:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是在$scene = Scene_Task.new画面加入底图,使界面不那么单调
请指教,谢谢!
版务信息:本贴由楼主自主结贴~
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-6
帖子
1139
2
发表于 2008-4-27 20:27:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
13 小时
注册时间
2008-1-11
帖子
330
3
 楼主| 发表于 2008-4-27 20:34:39 | 只看该作者
他的任务是分两个栏的,即:左边显示任务名称,右边显示详细任务系统,最好能各加入一张图,脚本如下,先谢了!

这是梦大陆物语里用的,我直接发上来


  1. =begin
  2. --------------------------------------------------------------------------
  3. 详尽任务显示界面 v2.1
  4. --------------------------------------------------------------------------
  5. By 叶子

  6. 日期与更新
  7. 3-29-2006 -v1.0
  8. 4-3-2006  -v2.0
  9. -可以改变文字颜色,显示变量,显示图标,显示图片
  10. -大幅简化了编写任务内容的过程,加入自动换行功能
  11. -精简了窗口,使其还可以用作图鉴系统、日记系统等等
  12. 4-6-2006  -v2.1
  13. -增加了获得全部任务与删除全部任务命令
  14. -改正通假字,修改了示例任务3
  15. --------------------------------------------------------------------------
  16. 顾名思义,就是显示任务资料的界面
  17. 任务资料要预先在这里设定好
  18. 下载范例工程,能帮助你更快更好地掌握使用方法
  19. --------------------------------------------------------------------------
  20. 使用方法:

  21. 1、召唤任务显示界面:$scene = Scene_Task.new

  22. 可以在事件中的“脚本”指令加入这段东西,又或者修改 Scene_Menu 来增加一个显示
  23. 任务的选项。如果是修改 Scene_Menu 增加选项的话,在脚本倒数第30行左右,
  24. 把 $scene = Scene_Map.new 修改成 $scene = Scene_Menu.new(任务界面index)

  25. 2、设置任务资料

  26.   2.1、相关内容解析
  27.   
  28.   所有内容文字必须用双引号括住
  29.   
  30.   名称:任务的名字(显示在左边窗口中),大小为208×32,如果全部为文字的话,
  31.         够放九个全角字符
  32.         
  33.   简介:任务的介绍(显示在右边窗口中),宽368,高不限
  34.   
  35.         文字可以自动换行
  36.   
  37.    2.1.1、控制码解析
  38.    
  39.    名称和内容均可用控制码,注意两条反斜线都要打!
  40.    
  41.    \\v[n] 显示n号变量
  42.    \\c[n] 改变字体颜色。
  43.           n=1~7 时同“显示文章”的\c[n],n=8 时为半透明色,n=9 时为系统色(青色)
  44.    \\n[i] 显示i号角色名字
  45.    \\i[文件名] 显示图标
  46.    \\p[文件名] 显示图片
  47.    
  48.    2.1.2、高级:内嵌表达式
  49.         
  50.    请参考帮助-脚本入门-字符串-内嵌表达式相关内容。
  51.    它可以用来在任务的名称和简介那里显示变量。
  52.    常用的表达式(注意不要漏了井号和大括号):
  53.    #{$game_variables[n]}       ——插入n号变量的值
  54.    #{$game_party.item_number(n)}  ——插入持有n号物品数量
  55.                                       同理还有weapon_number,armor_number
  56.    还可以预先定义一个变量,再插入(例子见示例任务3-灵魂线)
  57.    
  58.   2.2、注意事项
  59.   
  60.    2.2.1、括号、逗号和双引号 [ ] , " 必须使用半角符号(英文输入),
  61.           引号内的内容则没有关系
  62.          
  63.    2.2.2、单引号 ' 和双引号 " 的区别:
  64.           为了不出错误,全部用双引号吧!当然如果你对Ruby很熟悉,那就没所谓了
  65.   
  66.   2.3、开始设置吧!
  67.   从107行开始设置任务资料,可以参考示例任务来设置,请仔细阅读附加讲解
  68.   
  69. 3、接受任务

  70. 事件里的“脚本”指令输入:get_task(任务ID)
  71. 例如 get_task(1) 就是接受1号任务

  72.   3.1、获得全部任务
  73.   
  74.   事件里的“脚本”指令输入:get_all_task
  75.   这个功能基本上是用来在编写好所有任务资料后测试排版的
  76.   

  77. 4、完成/删除任务

  78. 事件里的“脚本”指令输入:finish_task(任务ID)
  79. 例如 finish_task(1) 就是完成1号任务

  80. 注意:本脚本不负责完成任务后的奖励之类的东西,请自行在事件中判断,
  81.        这里的完成任务指的是从任务列表中删去此任务

  82.   4.1、删除全部任务
  83.   
  84.   事件里的“脚本”指令输入:finish_all_task
  85.   作为获得全部任务的对应功能存在,似乎不会怎么用到
  86. =end

  87. class Scene_Task
  88.   # 这里设置任务内容翻页音效
  89.   CHANGE_PAGE_SE = "Audio/SE/046-Book01"
  90. end

  91. class Game_Party
  92.   #--------------------------------------------------------------------------
  93.   # ● 设置任务资料
  94.   #--------------------------------------------------------------------------
  95.   def get_tasks_info
  96.     @tasks_info = []
  97.    
  98.     #-讲解-
  99.     # 三个示例任务由浅入深,其实只要看懂第一个就可以使用了。
  100.     # 任务的写法多种多样,不限于这三个任务的方法
  101.     #----
  102.     #-----------------------------
  103.     # 示例任务1:基本操作
  104.     #-----------------------------
  105.     名称 = "\\c[6]基本操作(空格翻页)"
  106.     #-讲解-
  107.     # 注意!脚本编辑器的变色功能并不是非常完善,所以换行后字变黑了,但仍然是字符
  108.     # 串的一部分,所以不要忘记在内容最后打一个双引号
  109.     # 按回车是强制换行
  110.     #----
  111.     简介 = "\\c[6]确定:
  112. \\c[0]Enter&Space键

  113. \\c[6]呼出菜单/取消:
  114. \\c[0]Esc键

  115. \\c[6]菜单中切换角色:
  116. \\c[0]PageUp/PageDown键

  117. \\c[6]控制方向:
  118. \\c[0]方向键

  119. \\c[6]跑步:
  120. \\c[0]按住Space键

  121. \\c[6]显示地图缩略图(野外):
  122. \\c[0]Shift键"

  123.     #-讲解-
  124.     # 每个任务最后一定要加上:
  125.     # @tasks_info[任务ID] = Game_Task.new(名称, 简介)
  126.     # 接受任务和完成任务都是用这个任务ID来索引
  127.     #----
  128.     @tasks_info[1] = Game_Task.new(名称, 简介)
  129.    
  130.     #-----------------------------
  131.     # 示例任务2:密斯利尔王都简介
  132.     #-----------------------------
  133.     名称 = "\\c[6]密斯利尔王都简介"
  134.     #-讲解-
  135.     # 这里使用了字符串相加,例如 s = "a" + "b" ,s 就是 "ab"
  136.     # 还用了内嵌表达式,$game_party.item_number(38) 就是38号物品的数量
  137.     #----
  138.     简介 = "\\c[6]密斯利尔王都
  139. \\c[0]密斯利尔王都是密斯利尔大陆上最繁荣的都市,每年都会有许多人来这里观光,做生意。

  140. \\c[6]内部建筑:
  141. \\c[6]冒险者工会:
  142. \\c[0]接受任务,加属性点数。

  143. \\c[6]旅馆:
  144. \\c[0]回复体力,\\c[2]储存档案\\c[0]。

  145. \\c[6]武防店:
  146. \\c[0]购买武器防具,打造武器。

  147. \\c[6]道具店:
  148. \\c[0]购买物品,查询声望值、道德值。

  149. \\c[6]酒吧:
  150. \\c[0]招募伙伴,打听消息。

  151. \\c[6]银行:
  152. \\c[0]存放金钱,增加利息。

  153. \\c[2]图书馆:
  154. \\c[0]游戏信息,世界观简介。

  155. \\c[0]除此之外,密斯利尔王都还有许多不为人知的区域和秘密有待探索。"
  156.     @tasks_info[2] = Game_Task.new(名称, 简介)
  157.    
  158.     #-----------------------------
  159.     # 任务1:药草叶
  160.     #-----------------------------
  161.     #-讲解-
  162.     # 这里用了条件判断,当3号变量大于等于1时,加上“完成”字样,同时变色
  163.     #----
  164.     if $game_party.item_number(24) >= 3
  165.       名称 = "\\c[2]当前任务(完成)"
  166.       item = "\\c[2]药草叶:#{$game_party.item_number(24)}/3 (完成)"
  167.     else
  168.       名称 = "\\c[2]当前任务"
  169.       item = "\\c[2]药草叶:#{$game_party.item_number(24)}/3"
  170.     end
  171.     #-讲解-
  172.     # 预先定义变量,用内嵌表达式插入
  173.     # 最后用了显示图标
  174.     #----
  175.     简介 = "\\c[2]采药草
  176.    
  177. \\c[6]任务目标 \\c[0]采集3株药草叶。
  178.          #{item}

  179. \\c[6]任务地点 \\c[0]魔性森林

  180. \\c[6]任务报酬 \\c[0]声望值2点、金钱200G

  181. \\c[6]任务提示 \\c[0]在森林里遇见发光的草就是
  182.          可采集的药草了。

  183. \\c[6]契约金   \\c[0]金钱0G"
  184.     @tasks_info[3] = Game_Task.new(名称, 简介)
  185.    
  186.    
  187.     #-----------------------------
  188.     # 任务2:小猫
  189.     #-----------------------------

  190.     if $game_switches[43] == true
  191.       名称 = "\\c[2]当前任务(完成)"
  192.     else
  193.       名称 = "\\c[2]当前任务"
  194.     end

  195.     简介 = "\\c[2]米勒夫人的小猫
  196.    
  197. \\c[6]任务目标 \\c[0]找到米勒夫人走失的小猫

  198. \\c[6]任务地点 \\c[0]万兽沙漠

  199. \\c[6]任务报酬 \\c[0]声望值4点、金钱1000G

  200. \\c[6]任务提示 \\c[0]小猫在万兽沙漠里走失,仔
  201.          细找找吧。

  202. \\c[6]契约金   \\c[0]金钱500G"
  203.     @tasks_info[4] = Game_Task.new(名称, 简介)
  204.    
  205.    
  206.     #-----------------------------
  207.     # 任务3:火蜥蜴的繁殖季节
  208.     #-----------------------------

  209.     if $game_variables[21] >= 20
  210.       名称 = "\\c[2]当前任务(完成)"
  211.       kills = "消灭火蜥蜴数:#{$game_variables[21]}/20 (完成)"
  212.     else
  213.       名称 = "\\c[2]当前任务"
  214.       kills = "消灭火蜥蜴数:#{$game_variables[21]}/20"
  215.     end

  216.     简介 = "\\c[2]火蜥蜴的繁殖季节
  217.    
  218. \\c[6]任务目标 \\c[0]消灭20只火蜥蜴
  219.          #{kills}

  220. \\c[6]任务地点 \\c[0]红莲之窟

  221. \\c[6]任务报酬 \\c[0]声望值10点、金钱5000G

  222. \\c[6]任务提示 \\c[0]又到了火蜥蜴的繁殖季节,
  223.          如果不及时消灭一部分很可
  224.          能会威胁到王都。

  225. \\c[6]契约金   \\c[0]金钱2500G"
  226.     @tasks_info[5] = Game_Task.new(名称, 简介)
  227.    
  228.    
  229.     #-----------------------------
  230.     # 紧急任务:迷途的旅人
  231.     #-----------------------------

  232.     if $game_switches[46] == true
  233.       名称 = "\\c[2]紧急任务(完成)"
  234.     else
  235.       名称 = "\\c[2]紧急任务"
  236.     end

  237.     简介 = "\\c[2]迷途的商人
  238.    
  239. \\c[6]任务目标 \\c[0]找到迷路的商人

  240. \\c[6]任务地点 \\c[0]深蓝之廊

  241. \\c[6]任务报酬 \\c[0]声望值8点、金钱4000G

  242. \\c[6]任务提示 \\c[0]出去收集珍稀材料的商人却
  243.          迷了路,找到他,并把他带
  244.          回城吧。

  245. \\c[6]契约金   \\c[0]无"
  246.     @tasks_info[6] = Game_Task.new(名称, 简介)
  247.    

  248.    
  249.     #-----------------------------
  250.     # 任务4:古剑·碧煞
  251.     #-----------------------------
  252.     #-讲解-
  253.     # 这里用了条件判断,当3号变量大于等于1时,加上“完成”字样,同时变色
  254.     #----
  255.     if $game_party.weapon_number(5) >= 1
  256.       名称 = "\\c[2]当前任务(完成)"
  257.       item = "\\c[2]\\i[碧煞]碧煞:#{$game_party.weapon_number(5)}/1 (完成)"
  258.     else
  259.       名称 = "\\c[2]当前任务"
  260.       item = "\\c[2]\\i[碧煞]碧煞:#{$game_party.weapon_number(5)}/1"
  261.     end
  262.     #-讲解-
  263.     # 预先定义变量,用内嵌表达式插入
  264.     # 最后用了显示图标
  265.     #----
  266.     简介 = "\\c[2]古剑·碧煞
  267.    
  268. \\c[6]任务目标 \\c[0]合成古剑·碧煞
  269.          #{item}

  270. \\c[6]任务地点 \\c[0]古岩之穴、王都

  271. \\c[6]任务报酬 \\c[0]声望值5点、金钱6000G

  272. \\c[6]任务提示 \\c[0]碧煞是由5块植物化石和一
  273.          把见习剑合成的,植物化石
  274.          可以去古岩之穴找,回到王
  275.          都去武防店合成就好了。

  276. \\c[6]契约金   \\c[0]金钱3000G"
  277.     @tasks_info[7] = Game_Task.new(名称, 简介)
  278.    
  279.    
  280.     #-----------------------------
  281.     # 任务5:飓风之塔无法进入!
  282.     #-----------------------------

  283.     if $game_switches[50] == true
  284.       名称 = "\\c[2]当前任务(完成)"
  285.     else
  286.       名称 = "\\c[2]当前任务"
  287.     end

  288.     简介 = "\\c[2]飓风之塔无法进入!
  289.    
  290. \\c[6]任务目标 \\c[0]击败守在塔门口的凯贝洛斯

  291. \\c[6]任务地点 \\c[0]飓风之塔

  292. \\c[6]任务报酬 \\c[0]声望值15点、金钱8000G

  293. \\c[6]任务提示 \\c[0]飓风之塔门口不知何时出现
  294.          了地狱犬·凯贝洛斯,将它
  295.          击败吧。

  296. \\c[6]契约金   \\c[0]2000G"
  297.     @tasks_info[8] = Game_Task.new(名称, 简介)
  298.    
  299.    
  300.     #-----------------------------
  301.     # 任务6:青龙之馆??
  302.     #-----------------------------

  303.     if $game_switches[52] == true
  304.       名称 = "\\c[2]当前任务(完成)"
  305.     else
  306.       名称 = "\\c[2]当前任务"
  307.     end

  308.     简介 = "\\c[2]青龙之馆??
  309.    
  310. \\c[6]任务目标 \\c[0]找到隐藏在深蓝之廊的青龙
  311.          之馆

  312. \\c[6]任务地点 \\c[0]深蓝之廊

  313. \\c[6]任务报酬 \\c[0]声望值10点、金钱3000G

  314. \\c[6]任务提示 \\c[0]有人在深蓝之廊里发现了古
  315.          代遗迹·青龙之馆,去证实
  316.          一下吧。
  317.          
  318. \\c[6]契约金   \\c[0]500G"
  319.     @tasks_info[9] = Game_Task.new(名称, 简介)
  320.    
  321.    
  322.     #-----------------------------
  323.     # 紧急任务2:死灵法师·里奇出现!
  324.     #-----------------------------

  325.     if $game_switches[52] == true
  326.       名称 = "\\c[2]紧急任务(完成)"
  327.     else
  328.       名称 = "\\c[2]紧急任务"
  329.     end

  330.     简介 = "\\c[2]死灵法师·里奇出现!
  331.    
  332. \\c[6]任务目标 \\c[0]打倒在魔性森林里召唤死者
  333.          的死灵法师·里奇

  334. \\c[6]任务地点 \\c[0]魔性森林

  335. \\c[6]任务报酬 \\c[0]声望值20点、金钱10000G

  336. \\c[6]任务提示 \\c[0]死灵法师·里奇在魔性森林
  337.          里出现!他的目的不明,但
  338.          从他召唤死亡大军的行为来
  339.          看,他一定不怀好意!
  340.          
  341. \\c[6]契约金   \\c[0]无"
  342.     @tasks_info[10] = Game_Task.new(名称, 简介)
  343.    
  344.    
  345.     #-----------------------------
  346.     # 任务7:击败四方巨兽
  347.     #-----------------------------

  348.     if $game_variables[23] >= 4
  349.       名称 = "\\c[2]当前任务(完成)"
  350.     else
  351.       名称 = "\\c[2]当前任务"
  352.     end

  353.     简介 = "\\c[2]击败四方巨兽
  354.    
  355. \\c[6]任务目标 \\c[0]击败密斯利尔大陆传说中的
  356.          四方巨兽
  357.          已消灭#{$game_variables[23]}/4只

  358. \\c[6]任务地点 \\c[0]各地

  359. \\c[6]任务报酬 \\c[0]声望值50点、金钱50000G

  360. \\c[6]任务提示 \\c[0]传说中在古代占据密斯利尔
  361.          大陆四方的巨兽不知被谁唤醒了,谁能拯
  362.          救我们呢……
  363.          
  364. \\c[6]契约金   \\c[0]10000G"
  365.     @tasks_info[11] = Game_Task.new(名称, 简介)
  366.    
  367.    
  368.     #-----------------------------
  369.     # 恶任务2:盗取潜能之果
  370.     #-----------------------------

  371.     if $game_variables[22] >= 5
  372.       名称 = "\\c[2]当前任务(完成)"
  373.       item = "潜能之果:#{$game_variables[22]}/5 (完成)"
  374.     else
  375.       名称 = "\\c[2]当前任务"
  376.       item = "潜能之果:#{$game_variables[22]}/5"
  377.     end

  378.     简介 = "\\c[2]盗取潜能之果
  379.    
  380. \\c[6]任务目标 \\c[0]盗取5枚潜能之果
  381.          #{item}

  382. \\c[6]任务地点 \\c[0]城镇

  383. \\c[6]任务报酬 \\c[0]声望值10点、金钱2500G

  384. \\c[6]任务提示 \\c[0]现在我们正需要这玩意儿,
  385.          去弄点来吧!广场上的一个
  386.          老头子身上好象有很多。
  387.          (队伍中需要有盗贼)

  388. \\c[6]契约金   \\c[0]金钱500G"
  389.     @tasks_info[12] = Game_Task.new(名称, 简介)
  390.    
  391.    
  392.     #-----------------------------
  393.     # 恶任务3:沙漠中的海市蜃楼
  394.     #-----------------------------

  395.     if $game_switches[64] == true
  396.       名称 = "\\c[2]当前任务(完成)"
  397.     else
  398.       名称 = "\\c[2]当前任务"
  399.     end

  400.     简介 = "\\c[2]沙漠中的海市蜃楼
  401.    
  402. \\c[6]任务目标 \\c[0]击败企图破坏我们生意的王
  403.          国军士兵

  404. \\c[6]任务地点 \\c[0]万兽沙漠

  405. \\c[6]任务报酬 \\c[0]声望值10点、金钱4000G

  406. \\c[6]任务提示 \\c[0]我们在沙漠中的一个绿洲里
  407.          开设了一个卖解暑饮料的业
  408.          务,现在有士兵过来阻挠!
  409.          过去赶走他们!

  410. \\c[6]契约金   \\c[0]金钱800G"
  411.     @tasks_info[13] = Game_Task.new(名称, 简介)
  412.    
  413.    
  414.     #-----------------------------
  415.     # 紧急任务:迷途的旅人
  416.     #-----------------------------

  417.     if $game_switches[66] == true
  418.       名称 = "\\c[2]紧急任务(完成)"
  419.     else
  420.       名称 = "\\c[2]紧急任务"
  421.     end

  422.     简介 = "\\c[2]迷途的商人
  423.    
  424. \\c[6]任务目标 \\c[0]绑架迷路的商人

  425. \\c[6]任务地点 \\c[0]深蓝之廊

  426. \\c[6]任务报酬 \\c[0]声望值10点、金钱5000G

  427. \\c[6]任务提示 \\c[0]出去收集珍稀材料的商人在
  428.          深蓝之廊迷了路,这是个好
  429.          机会!把他绑架到这里来!

  430. \\c[6]契约金   \\c[0]无"
  431.     @tasks_info[14] = Game_Task.new(名称, 简介)
  432.    
  433.    
  434.     #-----------------------------
  435.     # 恶任务4:妖刀·一文字
  436.     #-----------------------------
  437.     if $game_party.weapon_number(5) >= 1
  438.       名称 = "\\c[2]当前任务(完成)"
  439.       item = "\\c[2]\\i[一臻文字]一文字·臻:#{$game_party.weapon_number(54)}/1 (完成)"
  440.     else
  441.       名称 = "\\c[2]当前任务"
  442.       item = "\\c[2]\\i[一臻文字]一文字·臻:#{$game_party.weapon_number(54)}/1"
  443.     end

  444.     简介 = "\\c[2]妖刀·一文字·臻
  445.    
  446. \\c[6]任务目标 \\c[0]合成妖刀·一文字·臻
  447.          #{item}

  448. \\c[6]任务地点 \\c[0]古岩之穴、王都

  449. \\c[6]任务报酬 \\c[0]声望值8点、金钱6000G

  450. \\c[6]任务提示 \\c[0]一文字·臻是由5块陨石矿
  451.          和一把见习刀合成的,陨石
  452.          矿在古岩之穴的矿物博士身
  453.          上有好多,哼哼。
  454.          到手后去武防店合成就行。

  455. \\c[6]契约金   \\c[0]金钱1000G"
  456.     @tasks_info[15] = Game_Task.new(名称, 简介)
  457.    
  458.    
  459.     #-----------------------------
  460.     # 恶任务5:飓风之塔要塞探索
  461.     #-----------------------------

  462.     if $game_variables[20] >= 25
  463.       名称 = "\\c[2]当前任务(完成)"
  464.       kills = "消灭士兵数:#{$game_variables[20]}/25 (完成)"
  465.     else
  466.       名称 = "\\c[2]当前任务"
  467.       kills = "消灭士兵数:#{$game_variables[20]}/25"
  468.     end
  469.    
  470.     简介 = "\\c[2]飓风之塔要塞探索
  471.    
  472. \\c[6]任务目标 \\c[0]击败所有巡逻的士兵
  473.          #{kills}
  474.          
  475. \\c[6]任务地点 \\c[0]飓风之塔

  476. \\c[6]任务报酬 \\c[0]声望值15点、金钱8000G

  477. \\c[6]任务提示 \\c[0]我们可能要把大本营迁往飓
  478.          风之塔,但是现在里面有很
  479.          多士兵在巡逻,把他们全部
  480.          解决掉!

  481. \\c[6]契约金   \\c[0]1500G"
  482.     @tasks_info[16] = Game_Task.new(名称, 简介)
  483.    
  484.    
  485.     #-----------------------------
  486.     # 恶任务6:要命的发现
  487.     #-----------------------------

  488.     if $game_switches[70] == true
  489.       名称 = "\\c[2]当前任务(完成)"
  490.     else
  491.       名称 = "\\c[2]当前任务"
  492.     end
  493.    
  494.     简介 = "\\c[2]要命的发现
  495.    
  496. \\c[6]任务目标 \\c[0]将朱雀之馆的发现者灭口
  497.          
  498. \\c[6]任务地点 \\c[0]红莲之窟

  499. \\c[6]任务报酬 \\c[0]声望值10点、金钱5000G

  500. \\c[6]任务提示 \\c[0]一个无聊的探险者在红莲之
  501.          窟发现了传说中的古迹·朱
  502.          雀之馆,去调查一下,并把
  503.          发现者灭口!

  504. \\c[6]契约金   \\c[0]1000G"
  505.     @tasks_info[17] = Game_Task.new(名称, 简介)
  506.    

  507.     #-----------------------------
  508.     # 紧急任务2:怀壁其罪
  509.     #-----------------------------

  510.     if $game_switches[72] == true
  511.       名称 = "\\c[2]紧急任务(完成)"
  512.     else
  513.       名称 = "\\c[2]紧急任务"
  514.     end

  515.     简介 = "\\c[2]怀壁其罪
  516.    
  517. \\c[6]任务目标 \\c[0]得到死灵法师·里奇身上的
  518.          破魔之匙

  519. \\c[6]任务地点 \\c[0]王都赌场

  520. \\c[6]任务报酬 \\c[0]声望值20点、金钱10000G

  521. \\c[6]任务提示 \\c[0]流连赌场的里奇似乎已经找
  522.          到了打开创世之馆的钥匙,
  523.          不过,我们才应该是钥匙的
  524.          主人!把破魔之匙夺过来!
  525.          
  526. \\c[6]契约金   \\c[0]无"
  527.     @tasks_info[18] = Game_Task.new(名称, 简介)
  528.    
  529.    
  530.     #-----------------------------
  531.     # 恶任务7:禁断的封印
  532.     #-----------------------------

  533.     if $game_variables[24] >= 4
  534.       名称 = "\\c[2]当前任务(完成)"
  535.     else
  536.       名称 = "\\c[2]当前任务"
  537.     end

  538.     简介 = "\\c[2]禁断的封印
  539.    
  540. \\c[6]任务目标 \\c[0]唤醒密斯利尔大陆传说中的
  541.          四方巨兽
  542.          已唤醒#{$game_variables[24]}/4只

  543. \\c[6]任务地点 \\c[0]各地

  544. \\c[6]任务报酬 \\c[0]声望值50点、金钱50000G

  545. \\c[6]任务提示 \\c[0]传说中在古代占据密斯利尔
  546.          大陆四方的巨兽,现在我们
  547.          要唤醒他们!在王国军措手
  548.          不及的时候再乘虚而入!
  549.          
  550. \\c[6]契约金   \\c[0]10000G"
  551.     @tasks_info[19] = Game_Task.new(名称, 简介)

  552.    
  553.     #-----------------------------
  554.     # 恶任务最终:暗之音
  555.     #-----------------------------

  556.     if $game_switches[115] == true
  557.       名称 = "\\c[2]最终任务(完成)"
  558.     else
  559.       名称 = "\\c[2]最终任务"
  560.     end

  561.     简介 = "\\c[2]暗之音
  562.    
  563. \\c[6]任务目标 \\c[0]在皇宫内找到密斯利尔国王
  564.          ,并刺杀之。

  565. \\c[6]任务地点 \\c[0]皇宫

  566. \\c[6]任务报酬 \\c[0]一切

  567. \\c[6]任务提示 \\c[0]密斯利尔国王或许已经知道
  568.          我们要刺杀他的消息,要在
  569.          皇宫内找到他不是件容易的
  570.          事,在皇宫内多打听消息吧
  571.          。
  572.          
  573. \\c[6]契约金   \\c[0]无"
  574.     @tasks_info[20] = Game_Task.new(名称, 简介)
  575.    
  576.    
  577.     #-----------------------------
  578.     # 善任务最终:光之裁
  579.     #-----------------------------

  580.     if $game_switches[113] == true
  581.       名称 = "\\c[2]最终任务(完成)"
  582.     else
  583.       名称 = "\\c[2]最终任务"
  584.     end

  585.     简介 = "\\c[2]光之裁
  586.    
  587. \\c[6]任务目标 \\c[0]找到拉法尔的王都地下据点
  588.          ,逮捕拉法尔。

  589. \\c[6]任务地点 \\c[0]王都地下据点

  590. \\c[6]任务报酬 \\c[0]应得的报酬

  591. \\c[6]任务提示 \\c[0]拉法尔的地下据点据说就在
  592.          港口一带,找到这个据点,
  593.          把盘据在里面的毒瘤完全清
  594.          除吧!
  595.          
  596. \\c[6]契约金   \\c[0]无"
  597.     @tasks_info[21] = Game_Task.new(名称, 简介)
  598.    
  599.   end
  600. end
  601.    
  602. #==============================================================================
  603. # ■ Interpreter
  604. #------------------------------------------------------------------------------
  605. #  执行事件命令的解释器。本类在 Game_System 类
  606. # 与 Game_Event 类的内部使用。
  607. #==============================================================================

  608. class Interpreter
  609.   #--------------------------------------------------------------------------
  610.   # ● 接受任务
  611.   #--------------------------------------------------------------------------
  612.   def get_task(id)
  613.     task = $game_party.tasks_info[id]
  614.     return true if (task.nil? or $game_party.current_tasks.include?(task.id))
  615.     $game_party.current_tasks.unshift(task.id)
  616.     return true
  617.   end
  618.   #--------------------------------------------------------------------------
  619.   # ● 获得全部任务
  620.   #--------------------------------------------------------------------------
  621.   def get_all_task
  622.     # 清空当前任务
  623.     $game_party.current_tasks.clear
  624.     for task in $game_party.tasks_info
  625.       next if task.nil?
  626.       $game_party.current_tasks.unshift(task.id)
  627.     end
  628.     return true
  629.   end
  630.   #--------------------------------------------------------------------------
  631.   # ● 完成/放弃任务
  632.   #--------------------------------------------------------------------------
  633.   def finish_task(id)
  634.     task = $game_party.tasks_info[id]
  635.     return true if task.nil?
  636.     $game_party.current_tasks.delete(task.id)
  637.     return true
  638.   end
  639.   #--------------------------------------------------------------------------
  640.   # ● 删除全部任务
  641.   #--------------------------------------------------------------------------
  642.   def finish_all_task
  643.     $game_party.current_tasks.clear
  644.     return true
  645.   end
  646. end

  647. #==============================================================================
  648. # ■ Game_Party
  649. #------------------------------------------------------------------------------
  650. #  处理同伴的类。包含金钱以及物品的信息。本类的实例
  651. # 请参考 $game_party。
  652. #==============================================================================

  653. class Game_Party
  654.   #--------------------------------------------------------------------------
  655.   # ● 定义实例变量
  656.   #--------------------------------------------------------------------------
  657.   attr_writer     :latest_task                  # 上次查看的任务
  658.   #--------------------------------------------------------------------------
  659.   # ● 取得任务资料
  660.   #--------------------------------------------------------------------------
  661.   def tasks_info
  662.     if @tasks_info.nil?
  663.       get_tasks_info
  664.     end
  665.     return @tasks_info
  666.   end
  667.   #--------------------------------------------------------------------------
  668.   # ● 取得当前任务
  669.   #--------------------------------------------------------------------------
  670.   def current_tasks
  671.     if @current_tasks.nil?
  672.       @current_tasks = []
  673.     end
  674.     return @current_tasks
  675.   end
  676.   #--------------------------------------------------------------------------
  677.   # ● 上次查看的任务
  678.   #--------------------------------------------------------------------------
  679.   def latest_task
  680.     if !current_tasks.include?(@latest_task)
  681.       @latest_task = current_tasks[0]
  682.     end
  683.     return @latest_task
  684.   end
  685. end

  686. #==============================================================================
  687. # ■ Game_Task
  688. #------------------------------------------------------------------------------
  689. #  处理任务的类。包含任务的信息。
  690. #==============================================================================

  691. class Game_Task
  692.   attr_accessor   :name                   # 名称
  693.   attr_accessor   :briefing               # 简介
  694.   def initialize(name, briefing)
  695.     @name = name
  696.     @briefing = briefing
  697.   end
  698.   def height
  699.     text = @briefing.clone
  700.     x = 0
  701.     y = 64
  702.     min_y = 0
  703.     # 限制文字处理
  704.     begin
  705.       last_text = text.clone
  706.       text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  707.     end until text == last_text
  708.     text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  709.       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  710.     end
  711.     # 为了方便、将 "\\\\" 变换为 "\000"
  712.     text.gsub!(/\\\\/) { "\000" }
  713.     # "\C" 变为 "\001"
  714.     text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  715.     # "\I" 变为 "\002"
  716.     text.gsub!(/\\[Ii]/) { "\002" }
  717.     # "\P" 变为 "\003"
  718.     text.gsub!(/\\[Pp]/) { "\003" }
  719.     # c 获取 1 个字 (如果不能取得文字就循环)
  720.     while ((c = text.slice!(/./m)) != nil)
  721.       # \\ 的情况下
  722.       if c == "\000"
  723.         # 还原为本来的文字
  724.         c = "\\"
  725.       end
  726.       # \C[n] 的情况下
  727.       if c == "\001"
  728.         # 更改文字色
  729.         text.sub!(/\[([0-9]+)\]/, "")
  730.         # 下面的文字
  731.         next
  732.       end
  733.       # 图标的情况下
  734.       if c == "\002"
  735.         icon_name = ''
  736.         while ((cha = text.slice!(/./m)) != ']')
  737.           next if cha == '['
  738.           icon_name += cha
  739.         end
  740.         icon = RPG::Cache.icon(icon_name)
  741.         if x + icon.width > 368
  742.           x = 0
  743.           y += [32, min_y].max
  744.           min_y = 0
  745.         end
  746.         x += 28
  747.         next
  748.       end
  749.       # 图片的情况下
  750.       if c == "\003"
  751.         pic_name = ''
  752.         while ((cha = text.slice!(/./m)) != ']')
  753.           next if cha == '['
  754.           pic_name += cha
  755.         end
  756.         pic = RPG::Cache.picture(pic_name)
  757.         if x + pic.width > 368
  758.           x = 0
  759.           y += [32, min_y].max
  760.           min_y = 0
  761.         end
  762.         x += pic.width
  763.         min_y = [pic.height, 32].max
  764.         next
  765.       end
  766.       # 另起一行文字的情况下
  767.       if c == "\n"
  768.         y += [32, min_y].max
  769.         min_y = 0
  770.         x = 0
  771.         # 下面的文字
  772.         next
  773.       end
  774.       # 自动换行处理
  775.       if x + 22 > 368
  776.         y += [32, min_y].max
  777.         min_y = 0
  778.         x = 0
  779.       end
  780.       # x 为要描绘文字的加法运算
  781.       x += 22
  782.     end
  783.     return (y + [32, min_y].max)
  784.   end
  785.   def id
  786.     return $game_party.tasks_info.index(self)
  787.   end
  788. end

  789. #==============================================================================
  790. # ■ Window_Task_Name
  791. #------------------------------------------------------------------------------
  792. #  任务名称显示窗口。
  793. #==============================================================================

  794. class Window_Task_Name < Window_Selectable
  795.   #--------------------------------------------------------------------------
  796.   # ● 初始化对像
  797.   #--------------------------------------------------------------------------
  798.   def initialize(tasks)
  799.     super(0, 0, 240, 480)
  800.     @tasks = []
  801.     for id in tasks
  802.       @tasks.push($game_party.tasks_info[id])
  803.     end
  804.     @item_max = tasks.size
  805.     self.contents = Bitmap.new(
  806.     self.width - 32, @item_max == 0 ? 32 : @item_max * 32)
  807.     refresh
  808.     self.index = 0
  809.     end
  810.   #--------------------------------------------------------------------------
  811.   # ● 刷新
  812.   #--------------------------------------------------------------------------
  813.   def refresh
  814.     self.contents.clear
  815.     if @tasks != []
  816.       for task in @tasks
  817.         draw_item(task)
  818.       end
  819.     else
  820.       draw_blank
  821.     end
  822.   end
  823.   #--------------------------------------------------------------------------
  824.   # ● 描绘项目
  825.   #--------------------------------------------------------------------------
  826.   def draw_item(task)
  827.     text = task.name.clone
  828.     x = 0
  829.     y = @tasks.index(task) * 32
  830.     # 限制文字处理
  831.     begin
  832.       last_text = text.clone
  833.       text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  834.     end until text == last_text
  835.     text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  836.       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  837.     end
  838.     # 为了方便、将 "\\\\" 变换为 "\000"
  839.     text.gsub!(/\\\\/) { "\000" }
  840.     # "\\C" 变为 "\001"
  841.     text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  842.     # "\I" 变为 "\002"
  843.     text.gsub!(/\\[Ii]/) { "\002" }
  844.     # "\P" 变为 "\003"
  845.     text.gsub!(/\\[Pp]/) { "\003" }
  846.     # c 获取 1 个字 (如果不能取得文字就循环)
  847.     while ((c = text.slice!(/./m)) != nil)
  848.       # \\ 的情况下
  849.       if c == "\000"
  850.         # 还原为本来的文字
  851.         c = "\\"
  852.       end
  853.       # \C[n] 的情况下
  854.       if c == "\001"
  855.         # 更改文字色
  856.         text.sub!(/\[([0-9]+)\]/, "")
  857.         color = $1.to_i
  858.         if color >= 0 and color <= 7
  859.           self.contents.font.color = text_color(color)
  860.         elsif color == 8
  861.           self.contents.font.color = disabled_color
  862.         elsif color == 9
  863.           self.contents.font.color = system_color
  864.         end
  865.         # 下面的文字
  866.         next
  867.       end
  868.       # 图标的情况下
  869.       if c == "\002"
  870.         icon_name = ''
  871.         while ((cha = text.slice!(/./m)) != ']')
  872.           next if cha == '['
  873.           icon_name += cha
  874.         end
  875.         icon = RPG::Cache.icon(icon_name)
  876.         if x + icon.width > self.contents.width
  877.           x = 0
  878.           y += [32, min_y].max
  879.           min_y = 0
  880.         end
  881.         self.contents.blt(x + 4, y + 4, icon, Rect.new(0, 0, 24, 24))
  882.         x += 28
  883.         next
  884.       end
  885.       # 图片的情况下
  886.       if c == "\003"
  887.         pic_name = ''
  888.         while ((cha = text.slice!(/./m)) != ']')
  889.           next if cha == '['
  890.           pic_name += cha
  891.         end
  892.         pic = RPG::Cache.picture(pic_name)
  893.         if x + pic.width > self.contents.width
  894.           x = 0
  895.           y += [32, min_y].max
  896.           min_y = 0
  897.         end
  898.         self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height))
  899.         x += pic.width
  900.         next
  901.       end
  902.       # 描绘文字
  903.       self.contents.draw_text(4 + x, y, 40, 32, c)
  904.       # x 为要描绘文字的加法运算
  905.       x += self.contents.text_size(c).width
  906.     end
  907.   end
  908.   #--------------------------------------------------------------------------
  909.   # ● 描绘空行
  910.   #--------------------------------------------------------------------------
  911.   def draw_blank
  912.     self.contents.font.color = disabled_color
  913.     rect = Rect.new(4, 0, self.contents.width - 8, 32)
  914.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  915.     self.contents.draw_text(rect, '当前没有任何任务')
  916.    
  917.    
  918.    
  919.   end
  920.   #--------------------------------------------------------------------------
  921.   # ● 获取任务
  922.   #--------------------------------------------------------------------------
  923.   def task
  924.     return @tasks[self.index]
  925.   end
  926. end
  927.   
  928. #==============================================================================
  929. # ■ Window_Task
  930. #------------------------------------------------------------------------------
  931. #  任务内容显示窗口。
  932. #==============================================================================

  933. class Window_Task < Window_Base
  934.   #--------------------------------------------------------------------------
  935.   # ● 初始化对像
  936.   #--------------------------------------------------------------------------
  937.   def initialize(task_id)
  938.     super(240, 0, 400, 480)
  939.     refresh(task_id)

  940.   end
  941.   
  942.    

  943.   
  944.   #--------------------------------------------------------------------------
  945.   # ● 刷新内容
  946.   #--------------------------------------------------------------------------
  947.   def refresh(task_id)
  948.     self.oy = 0
  949.     self.visible = true
  950.     return if task_id.nil?
  951.     task = $game_party.tasks_info[task_id]
  952.     if !task.nil?
  953.       self.contents = Bitmap.new(self.width - 32, task.height)
  954.     else
  955.       self.contents = Bitmap.new(self.width - 32, self.height - 32)
  956.       return
  957.     end
  958.     self.contents.font.color = normal_color
  959.     # 描绘任务内容
  960.     draw_task_info(task)
  961.   end
  962.   #--------------------------------------------------------------------------
  963.   # ● 描绘任务内容
  964.   #--------------------------------------------------------------------------
  965.   def draw_task_info(task)
  966.     # 记录文字x坐标
  967.     x = 0
  968.     # 记录文字y坐标
  969.     y = 0
  970.     # 记录换行时y坐标最小加值
  971.     min_y = 0
  972.     self.contents.font.color = normal_color
  973.     # 描绘任务简介
  974.     text = task.briefing.clone
  975.     # 限制文字处理
  976.     begin
  977.       last_text = text.clone
  978.       text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  979.     end until text == last_text
  980.     text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  981.       $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  982.     end
  983.     # 为了方便、将 "\\\\" 变换为 "\000"
  984.     text.gsub!(/\\\\/) { "\000" }
  985.     # "\C" 变为 "\001"
  986.     text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  987.     # "\I" 变为 "\002"
  988.     text.gsub!(/\\[Ii]/) { "\002" }
  989.     # "\P" 变为 "\003"
  990.     text.gsub!(/\\[Pp]/) { "\003" }
  991.     # c 获取 1 个字 (如果不能取得文字就循环)
  992.     while ((c = text.slice!(/./m)) != nil)
  993.       # \\ 的情况下
  994.       if c == "\000"
  995.         # 还原为本来的文字
  996.         c = "\\"
  997.       end
  998.       # \C[n] 的情况下
  999.       if c == "\001"
  1000.         # 更改文字色
  1001.         text.sub!(/\[([0-9]+)\]/, "")
  1002.         color = $1.to_i
  1003.         if color >= 0 and color <= 7
  1004.           self.contents.font.color = text_color(color)
  1005.         elsif color == 8
  1006.           self.contents.font.color = disabled_color
  1007.         elsif color == 9
  1008.           self.contents.font.color = system_color
  1009.         end
  1010.         # 下面的文字
  1011.         next
  1012.       end
  1013.       # 图标的情况下
  1014.       if c == "\002"
  1015.         icon_name = ''
  1016.         while ((cha = text.slice!(/./m)) != ']')
  1017.           next if cha == '['
  1018.           icon_name += cha
  1019.         end
  1020.         icon = RPG::Cache.icon(icon_name)
  1021.         if x + icon.width > self.contents.width
  1022.           x = 0
  1023.           y += [32, min_y].max
  1024.           min_y = 0
  1025.         end
  1026.         self.contents.blt(x + 4, y + 4, icon, Rect.new(0, 0, 24, 24))
  1027.         x += 28
  1028.         next
  1029.       end
  1030.       # 图片的情况下
  1031.       if c == "\003"
  1032.         pic_name = ''
  1033.         while ((cha = text.slice!(/./m)) != ']')
  1034.           next if cha == '['
  1035.           pic_name += cha
  1036.         end
  1037.         pic = RPG::Cache.picture(pic_name)
  1038.         if x + pic.width > self.contents.width
  1039.           x = 0
  1040.           y += [32, min_y].max
  1041.           min_y = 0
  1042.         end
  1043.         self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height))
  1044.         x += pic.width
  1045.         min_y = [pic.height, 32].max
  1046.         next
  1047.       end
  1048.       # 另起一行文字的情况下
  1049.       if c == "\n"
  1050.         y += [32, min_y].max
  1051.         min_y = 0
  1052.         x = 0
  1053.         # 下面的文字
  1054.         next
  1055.       end
  1056.       # 自动换行处理
  1057.       if x + self.contents.text_size(c).width > self.contents.width
  1058.         y += [32, min_y].max
  1059.         min_y = 0
  1060.         x = 0
  1061.       end
  1062.       # 描绘文字
  1063.       self.contents.draw_text(4 + x, y, 40, 32, c)
  1064.       # x 为要描绘文字的加法运算
  1065.       x += self.contents.text_size(c).width
  1066.     end
  1067.   end
  1068. end


  1069.   
  1070.   


  1071. #==============================================================================
  1072. # ■ Scene_Task
  1073. #------------------------------------------------------------------------------
  1074. #  处理任务画面的类。
  1075. #==============================================================================

  1076. class Scene_Task
  1077.   #--------------------------------------------------------------------------
  1078.   # ● 主处理
  1079.   #--------------------------------------------------------------------------
  1080.   def main
  1081.     # 刷新任务资料
  1082.     $game_party.get_tasks_info
  1083.     # 生成任务名称窗口
  1084.     @task_names_window = Window_Task_Name.new($game_party.current_tasks)
  1085.     @task_names_window.active = true
  1086.     if $game_party.current_tasks != []
  1087.       @task_names_window.index = $game_party.current_tasks.index($game_party.latest_task)
  1088.     end
  1089.     # 生成任务内容窗口
  1090.     @task_info_window = Window_Task.new($game_party.latest_task)
  1091.     @task_info_window.active = true
  1092.     # 执行过渡
  1093.     Graphics.transition
  1094.     # 主循环
  1095.     loop do
  1096.       # 刷新游戏画面
  1097.       Graphics.update
  1098.       # 刷新输入信息
  1099.       Input.update
  1100.       # 刷新画面
  1101.       update
  1102.       # 如果画面被切换的话就中断循环
  1103.       if $scene != self
  1104.         break
  1105.       end
  1106.     end
  1107.     # 准备过渡
  1108.     Graphics.freeze
  1109.     # 释放窗口
  1110.     @task_names_window.dispose
  1111.     @task_info_window.dispose
  1112.   end
  1113.   

  1114.   
  1115.   
  1116.   
  1117.   #--------------------------------------------------------------------------
  1118.   # ● 刷新画面
  1119.   #--------------------------------------------------------------------------
  1120.   def update
  1121.     # 刷新窗口
  1122.     @task_names_window.update
  1123.     @task_info_window.update
  1124.     update_task_names_window
  1125.   end
  1126.   #--------------------------------------------------------------------------
  1127.   # ● 刷新任务名称窗口
  1128.   #--------------------------------------------------------------------------
  1129.   def update_task_names_window
  1130.     # 按下 B 键的情况下
  1131.     if Input.trigger?(Input::B)
  1132.       # 演奏取消 SE
  1133.       $game_system.se_play($data_system.cancel_se)
  1134.       # 这里设置返回的场景,返回地图是Scene_Map.new,菜单是Scene_Menu.new(任务界面index)
  1135.       $scene = Scene_Menu.new(4)
  1136.       return
  1137.     end
  1138.     # 按下 C 键的情况下
  1139.     if Input.trigger?(Input::C)
  1140.       # 无任务可显示的话
  1141.       if @task_names_window.task == nil
  1142.         # 演奏冻结 SE
  1143.         $game_system.se_play($data_system.buzzer_se)
  1144.         return
  1145.       end
  1146.       # 如果光标没有移动的话,翻页
  1147.       if $game_party.latest_task == @task_names_window.task.id
  1148.         if @task_info_window.oy + @task_info_window.height - 32 > @task_info_window.contents.height
  1149.           @task_info_window.oy = 0
  1150.         else
  1151.           @task_info_window.oy += 480-32
  1152.         end
  1153.         if @task_info_window.contents.height > @task_info_window.height - 32
  1154.           # 演奏翻页 SE
  1155.           Audio.se_play(CHANGE_PAGE_SE)
  1156.         end
  1157.       else
  1158.         @task_info_window.refresh(@task_names_window.task.id)
  1159.         $game_party.latest_task = @task_names_window.task.id
  1160.         # 演奏确定 SE
  1161.         $game_system.se_play($data_system.decision_se)
  1162.       end
  1163.     end
  1164.   end
  1165. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

幻想

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-23
帖子
1016
4
发表于 2008-4-27 20:43:44 | 只看该作者
  1. =begin
  2. --------------------------------------------------------------------------
  3. 详尽任务显示界面 v2.1
  4. --------------------------------------------------------------------------
  5. By 叶子

  6. 日期与更新
  7. 3-29-2006 -v1.0
  8. 4-3-2006  -v2.0
  9. -可以改变文字颜色,显示变量,显示图标,显示图片
  10. -大幅简化了编写任务内容的过程,加入自动换行功能
  11. -精简了窗口,使其还可以用作图鉴系统、日记系统等等
  12. 4-6-2006  -v2.1
  13. -增加了获得全部任务与删除全部任务命令
  14. -改正通假字,修改了示例任务3
  15. --------------------------------------------------------------------------
  16. 顾名思义,就是显示任务资料的界面
  17. 任务资料要预先在这里设定好
  18. 下载范例工程,能帮助你更快更好地掌握使用方法
  19. --------------------------------------------------------------------------
  20. 使用方法:

  21. 1、召唤任务显示界面:$scene = Scene_Task.new

  22. 可以在事件中的“脚本”指令加入这段东西,又或者修改 Scene_Menu 来增加一个显示
  23. 任务的选项。如果是修改 Scene_Menu 增加选项的话,在脚本倒数第30行左右,
  24. 把 $scene = Scene_Map.new 修改成 $scene = Scene_Menu.new(任务界面index)

  25. 2、设置任务资料

  26. 2.1、相关内容解析

  27. 所有内容文字必须用双引号括住

  28. 名称:任务的名字(显示在左边窗口中),大小为208×32,如果全部为文字的话,
  29.        够放九个全角字符
  30.       
  31. 简介:任务的介绍(显示在右边窗口中),宽368,高不限

  32.        文字可以自动换行

  33.   2.1.1、控制码解析
  34.   
  35.   名称和内容均可用控制码,注意两条反斜线都要打!
  36.   
  37.   \\v[n] 显示n号变量
  38.   \\c[n] 改变字体颜色。
  39.          n=1~7 时同“显示文章”的\c[n],n=8 时为半透明色,n=9 时为系统色(青色)
  40.   \\n[i] 显示i号角色名字
  41.   \\i[文件名] 显示图标
  42.   \\p[文件名] 显示图片
  43.   
  44.   2.1.2、高级:内嵌表达式
  45.       
  46.   请参考帮助-脚本入门-字符串-内嵌表达式相关内容。
  47.   它可以用来在任务的名称和简介那里显示变量。
  48.   常用的表达式(注意不要漏了井号和大括号):
  49.   #{$game_variables[n]}       ——插入n号变量的值
  50.   #{$game_party.item_number(n)}  ——插入持有n号物品数量
  51.                                      同理还有weapon_number,armor_number
  52.   还可以预先定义一个变量,再插入(例子见示例任务3-灵魂线)
  53.   
  54. 2.2、注意事项

  55.   2.2.1、括号、逗号和双引号 [ ] , " 必须使用半角符号(英文输入),
  56.          引号内的内容则没有关系
  57.          
  58.   2.2.2、单引号 ' 和双引号 " 的区别:
  59.          为了不出错误,全部用双引号吧!当然如果你对Ruby很熟悉,那就没所谓了

  60. 2.3、开始设置吧!
  61. 从107行开始设置任务资料,可以参考示例任务来设置,请仔细阅读附加讲解

  62. 3、接受任务

  63. 事件里的“脚本”指令输入:get_task(任务ID)
  64. 例如 get_task(1) 就是接受1号任务

  65. 3.1、获得全部任务

  66. 事件里的“脚本”指令输入:get_all_task
  67. 这个功能基本上是用来在编写好所有任务资料后测试排版的


  68. 4、完成/删除任务

  69. 事件里的“脚本”指令输入:finish_task(任务ID)
  70. 例如 finish_task(1) 就是完成1号任务

  71. 注意:本脚本不负责完成任务后的奖励之类的东西,请自行在事件中判断,
  72.       这里的完成任务指的是从任务列表中删去此任务

  73. 4.1、删除全部任务

  74. 事件里的“脚本”指令输入:finish_all_task
  75. 作为获得全部任务的对应功能存在,似乎不会怎么用到
  76. =end

  77. class Scene_Task
  78. # 这里设置任务内容翻页音效
  79. CHANGE_PAGE_SE = "Audio/SE/046-Book01"
  80. end

  81. class Game_Party
  82. #--------------------------------------------------------------------------
  83. # ● 设置任务资料
  84. #--------------------------------------------------------------------------
  85. def get_tasks_info
  86.    @tasks_info = []
  87.    
  88.    #-讲解-
  89.    # 三个示例任务由浅入深,其实只要看懂第一个就可以使用了。
  90.    # 任务的写法多种多样,不限于这三个任务的方法
  91.    #----
  92.    #-----------------------------
  93.    # 示例任务1:基本操作
  94.    #-----------------------------
  95.    名称 = "\\c[6]基本操作(空格翻页)"
  96.    #-讲解-
  97.    # 注意!脚本编辑器的变色功能并不是非常完善,所以换行后字变黑了,但仍然是字符
  98.    # 串的一部分,所以不要忘记在内容最后打一个双引号
  99.    # 按回车是强制换行
  100.    #----
  101.    简介 = "\\c[6]确定:
  102. \\c[0]Enter&Space键

  103. \\c[6]呼出菜单/取消:
  104. \\c[0]Esc键

  105. \\c[6]菜单中切换角色:
  106. \\c[0]PageUp/PageDown键

  107. \\c[6]控制方向:
  108. \\c[0]方向键

  109. \\c[6]跑步:
  110. \\c[0]按住Space键

  111. \\c[6]显示地图缩略图(野外):
  112. \\c[0]Shift键"

  113.    #-讲解-
  114.    # 每个任务最后一定要加上:
  115.    # @tasks_info[任务ID] = Game_Task.new(名称, 简介)
  116.    # 接受任务和完成任务都是用这个任务ID来索引
  117.    #----
  118.    @tasks_info[1] = Game_Task.new(名称, 简介)
  119.    
  120.    #-----------------------------
  121.    # 示例任务2:密斯利尔王都简介
  122.    #-----------------------------
  123.    名称 = "\\c[6]密斯利尔王都简介"
  124.    #-讲解-
  125.    # 这里使用了字符串相加,例如 s = "a" + "b" ,s 就是 "ab"
  126.    # 还用了内嵌表达式,$game_party.item_number(38) 就是38号物品的数量
  127.    #----
  128.    简介 = "\\c[6]密斯利尔王都
  129. \\c[0]密斯利尔王都是密斯利尔大陆上最繁荣的都市,每年都会有许多人来这里观光,做生意。

  130. \\c[6]内部建筑:
  131. \\c[6]冒险者工会:
  132. \\c[0]接受任务,加属性点数。

  133. \\c[6]旅馆:
  134. \\c[0]回复体力,\\c[2]储存档案\\c[0]。

  135. \\c[6]武防店:
  136. \\c[0]购买武器防具,打造武器。

  137. \\c[6]道具店:
  138. \\c[0]购买物品,查询声望值、道德值。

  139. \\c[6]酒吧:
  140. \\c[0]招募伙伴,打听消息。

  141. \\c[6]银行:
  142. \\c[0]存放金钱,增加利息。

  143. \\c[2]图书馆:
  144. \\c[0]游戏信息,世界观简介。

  145. \\c[0]除此之外,密斯利尔王都还有许多不为人知的区域和秘密有待探索。"
  146.    @tasks_info[2] = Game_Task.new(名称, 简介)
  147.    
  148.    #-----------------------------
  149.    # 任务1:药草叶
  150.    #-----------------------------
  151.    #-讲解-
  152.    # 这里用了条件判断,当3号变量大于等于1时,加上“完成”字样,同时变色
  153.    #----
  154.    if $game_party.item_number(24) >= 3
  155.      名称 = "\\c[2]当前任务(完成)"
  156.      item = "\\c[2]药草叶:#{$game_party.item_number(24)}/3 (完成)"
  157.    else
  158.      名称 = "\\c[2]当前任务"
  159.      item = "\\c[2]药草叶:#{$game_party.item_number(24)}/3"
  160.    end
  161.    #-讲解-
  162.    # 预先定义变量,用内嵌表达式插入
  163.    # 最后用了显示图标
  164.    #----
  165.    简介 = "\\c[2]采药草
  166.    
  167. \\c[6]任务目标 \\c[0]采集3株药草叶。
  168.         #{item}

  169. \\c[6]任务地点 \\c[0]魔性森林

  170. \\c[6]任务报酬 \\c[0]声望值2点、金钱200G

  171. \\c[6]任务提示 \\c[0]在森林里遇见发光的草就是
  172.         可采集的药草了。

  173. \\c[6]契约金   \\c[0]金钱0G"
  174.    @tasks_info[3] = Game_Task.new(名称, 简介)
  175.    
  176.    
  177.    #-----------------------------
  178.    # 任务2:小猫
  179.    #-----------------------------

  180.    if $game_switches[43] == true
  181.      名称 = "\\c[2]当前任务(完成)"
  182.    else
  183.      名称 = "\\c[2]当前任务"
  184.    end

  185.    简介 = "\\c[2]米勒夫人的小猫
  186.    
  187. \\c[6]任务目标 \\c[0]找到米勒夫人走失的小猫

  188. \\c[6]任务地点 \\c[0]万兽沙漠

  189. \\c[6]任务报酬 \\c[0]声望值4点、金钱1000G

  190. \\c[6]任务提示 \\c[0]小猫在万兽沙漠里走失,仔
  191.         细找找吧。

  192. \\c[6]契约金   \\c[0]金钱500G"
  193.    @tasks_info[4] = Game_Task.new(名称, 简介)
  194.    
  195.    
  196.    #-----------------------------
  197.    # 任务3:火蜥蜴的繁殖季节
  198.    #-----------------------------

  199.    if $game_variables[21] >= 20
  200.      名称 = "\\c[2]当前任务(完成)"
  201.      kills = "消灭火蜥蜴数:#{$game_variables[21]}/20 (完成)"
  202.    else
  203.      名称 = "\\c[2]当前任务"
  204.      kills = "消灭火蜥蜴数:#{$game_variables[21]}/20"
  205.    end

  206.    简介 = "\\c[2]火蜥蜴的繁殖季节
  207.    
  208. \\c[6]任务目标 \\c[0]消灭20只火蜥蜴
  209.         #{kills}

  210. \\c[6]任务地点 \\c[0]红莲之窟

  211. \\c[6]任务报酬 \\c[0]声望值10点、金钱5000G

  212. \\c[6]任务提示 \\c[0]又到了火蜥蜴的繁殖季节,
  213.         如果不及时消灭一部分很可
  214.         能会威胁到王都。

  215. \\c[6]契约金   \\c[0]金钱2500G"
  216.    @tasks_info[5] = Game_Task.new(名称, 简介)
  217.    
  218.    
  219.    #-----------------------------
  220.    # 紧急任务:迷途的旅人
  221.    #-----------------------------

  222.    if $game_switches[46] == true
  223.      名称 = "\\c[2]紧急任务(完成)"
  224.    else
  225.      名称 = "\\c[2]紧急任务"
  226.    end

  227.    简介 = "\\c[2]迷途的商人
  228.    
  229. \\c[6]任务目标 \\c[0]找到迷路的商人

  230. \\c[6]任务地点 \\c[0]深蓝之廊

  231. \\c[6]任务报酬 \\c[0]声望值8点、金钱4000G

  232. \\c[6]任务提示 \\c[0]出去收集珍稀材料的商人却
  233.         迷了路,找到他,并把他带
  234.         回城吧。

  235. \\c[6]契约金   \\c[0]无"
  236.    @tasks_info[6] = Game_Task.new(名称, 简介)
  237.    

  238.    
  239.    #-----------------------------
  240.    # 任务4:古剑·碧煞
  241.    #-----------------------------
  242.    #-讲解-
  243.    # 这里用了条件判断,当3号变量大于等于1时,加上“完成”字样,同时变色
  244.    #----
  245.    if $game_party.weapon_number(5) >= 1
  246.      名称 = "\\c[2]当前任务(完成)"
  247.      item = "\\c[2]\\i[碧煞]碧煞:#{$game_party.weapon_number(5)}/1 (完成)"
  248.    else
  249.      名称 = "\\c[2]当前任务"
  250.      item = "\\c[2]\\i[碧煞]碧煞:#{$game_party.weapon_number(5)}/1"
  251.    end
  252.    #-讲解-
  253.    # 预先定义变量,用内嵌表达式插入
  254.    # 最后用了显示图标
  255.    #----
  256.    简介 = "\\c[2]古剑·碧煞
  257.    
  258. \\c[6]任务目标 \\c[0]合成古剑·碧煞
  259.         #{item}

  260. \\c[6]任务地点 \\c[0]古岩之穴、王都

  261. \\c[6]任务报酬 \\c[0]声望值5点、金钱6000G

  262. \\c[6]任务提示 \\c[0]碧煞是由5块植物化石和一
  263.         把见习剑合成的,植物化石
  264.         可以去古岩之穴找,回到王
  265.         都去武防店合成就好了。

  266. \\c[6]契约金   \\c[0]金钱3000G"
  267.    @tasks_info[7] = Game_Task.new(名称, 简介)
  268.    
  269.    
  270.    #-----------------------------
  271.    # 任务5:飓风之塔无法进入!
  272.    #-----------------------------

  273.    if $game_switches[50] == true
  274.      名称 = "\\c[2]当前任务(完成)"
  275.    else
  276.      名称 = "\\c[2]当前任务"
  277.    end

  278.    简介 = "\\c[2]飓风之塔无法进入!
  279.    
  280. \\c[6]任务目标 \\c[0]击败守在塔门口的凯贝洛斯

  281. \\c[6]任务地点 \\c[0]飓风之塔

  282. \\c[6]任务报酬 \\c[0]声望值15点、金钱8000G

  283. \\c[6]任务提示 \\c[0]飓风之塔门口不知何时出现
  284.         了地狱犬·凯贝洛斯,将它
  285.         击败吧。

  286. \\c[6]契约金   \\c[0]2000G"
  287.    @tasks_info[8] = Game_Task.new(名称, 简介)
  288.    
  289.    
  290.    #-----------------------------
  291.    # 任务6:青龙之馆??
  292.    #-----------------------------

  293.    if $game_switches[52] == true
  294.      名称 = "\\c[2]当前任务(完成)"
  295.    else
  296.      名称 = "\\c[2]当前任务"
  297.    end

  298.    简介 = "\\c[2]青龙之馆??
  299.    
  300. \\c[6]任务目标 \\c[0]找到隐藏在深蓝之廊的青龙
  301.         之馆

  302. \\c[6]任务地点 \\c[0]深蓝之廊

  303. \\c[6]任务报酬 \\c[0]声望值10点、金钱3000G

  304. \\c[6]任务提示 \\c[0]有人在深蓝之廊里发现了古
  305.         代遗迹·青龙之馆,去证实
  306.         一下吧。
  307.         
  308. \\c[6]契约金   \\c[0]500G"
  309.    @tasks_info[9] = Game_Task.new(名称, 简介)
  310.    
  311.    
  312.    #-----------------------------
  313.    # 紧急任务2:死灵法师·里奇出现!
  314.    #-----------------------------

  315.    if $game_switches[52] == true
  316.      名称 = "\\c[2]紧急任务(完成)"
  317.    else
  318.      名称 = "\\c[2]紧急任务"
  319.    end

  320.    简介 = "\\c[2]死灵法师·里奇出现!
  321.    
  322. \\c[6]任务目标 \\c[0]打倒在魔性森林里召唤死者
  323.         的死灵法师·里奇

  324. \\c[6]任务地点 \\c[0]魔性森林

  325. \\c[6]任务报酬 \\c[0]声望值20点、金钱10000G

  326. \\c[6]任务提示 \\c[0]死灵法师·里奇在魔性森林
  327.         里出现!他的目的不明,但
  328.         从他召唤死亡大军的行为来
  329.         看,他一定不怀好意!
  330.         
  331. \\c[6]契约金   \\c[0]无"
  332.    @tasks_info[10] = Game_Task.new(名称, 简介)
  333.    
  334.    
  335.    #-----------------------------
  336.    # 任务7:击败四方巨兽
  337.    #-----------------------------

  338.    if $game_variables[23] >= 4
  339.      名称 = "\\c[2]当前任务(完成)"
  340.    else
  341.      名称 = "\\c[2]当前任务"
  342.    end

  343.    简介 = "\\c[2]击败四方巨兽
  344.    
  345. \\c[6]任务目标 \\c[0]击败密斯利尔大陆传说中的
  346.         四方巨兽
  347.         已消灭#{$game_variables[23]}/4只

  348. \\c[6]任务地点 \\c[0]各地

  349. \\c[6]任务报酬 \\c[0]声望值50点、金钱50000G

  350. \\c[6]任务提示 \\c[0]传说中在古代占据密斯利尔
  351.         大陆四方的巨兽不知被谁唤醒了,谁能拯
  352.         救我们呢……
  353.         
  354. \\c[6]契约金   \\c[0]10000G"
  355.    @tasks_info[11] = Game_Task.new(名称, 简介)
  356.    
  357.    
  358.    #-----------------------------
  359.    # 恶任务2:盗取潜能之果
  360.    #-----------------------------

  361.    if $game_variables[22] >= 5
  362.      名称 = "\\c[2]当前任务(完成)"
  363.      item = "潜能之果:#{$game_variables[22]}/5 (完成)"
  364.    else
  365.      名称 = "\\c[2]当前任务"
  366.      item = "潜能之果:#{$game_variables[22]}/5"
  367.    end

  368.    简介 = "\\c[2]盗取潜能之果
  369.    
  370. \\c[6]任务目标 \\c[0]盗取5枚潜能之果
  371.         #{item}

  372. \\c[6]任务地点 \\c[0]城镇

  373. \\c[6]任务报酬 \\c[0]声望值10点、金钱2500G

  374. \\c[6]任务提示 \\c[0]现在我们正需要这玩意儿,
  375.         去弄点来吧!广场上的一个
  376.         老头子身上好象有很多。
  377.         (队伍中需要有盗贼)

  378. \\c[6]契约金   \\c[0]金钱500G"
  379.    @tasks_info[12] = Game_Task.new(名称, 简介)
  380.    
  381.    
  382.    #-----------------------------
  383.    # 恶任务3:沙漠中的海市蜃楼
  384.    #-----------------------------

  385.    if $game_switches[64] == true
  386.      名称 = "\\c[2]当前任务(完成)"
  387.    else
  388.      名称 = "\\c[2]当前任务"
  389.    end

  390.    简介 = "\\c[2]沙漠中的海市蜃楼
  391.    
  392. \\c[6]任务目标 \\c[0]击败企图破坏我们生意的王
  393.         国军士兵

  394. \\c[6]任务地点 \\c[0]万兽沙漠

  395. \\c[6]任务报酬 \\c[0]声望值10点、金钱4000G

  396. \\c[6]任务提示 \\c[0]我们在沙漠中的一个绿洲里
  397.         开设了一个卖解暑饮料的业
  398.         务,现在有士兵过来阻挠!
  399.         过去赶走他们!

  400. \\c[6]契约金   \\c[0]金钱800G"
  401.    @tasks_info[13] = Game_Task.new(名称, 简介)
  402.    
  403.    
  404.    #-----------------------------
  405.    # 紧急任务:迷途的旅人
  406.    #-----------------------------

  407.    if $game_switches[66] == true
  408.      名称 = "\\c[2]紧急任务(完成)"
  409.    else
  410.      名称 = "\\c[2]紧急任务"
  411.    end

  412.    简介 = "\\c[2]迷途的商人
  413.    
  414. \\c[6]任务目标 \\c[0]绑架迷路的商人

  415. \\c[6]任务地点 \\c[0]深蓝之廊

  416. \\c[6]任务报酬 \\c[0]声望值10点、金钱5000G

  417. \\c[6]任务提示 \\c[0]出去收集珍稀材料的商人在
  418.         深蓝之廊迷了路,这是个好
  419.         机会!把他绑架到这里来!

  420. \\c[6]契约金   \\c[0]无"
  421.    @tasks_info[14] = Game_Task.new(名称, 简介)
  422.    
  423.    
  424.    #-----------------------------
  425.    # 恶任务4:妖刀·一文字
  426.    #-----------------------------
  427.    if $game_party.weapon_number(5) >= 1
  428.      名称 = "\\c[2]当前任务(完成)"
  429.      item = "\\c[2]\\i[一臻文字]一文字·臻:#{$game_party.weapon_number(54)}/1 (完成)"
  430.    else
  431.      名称 = "\\c[2]当前任务"
  432.      item = "\\c[2]\\i[一臻文字]一文字·臻:#{$game_party.weapon_number(54)}/1"
  433.    end

  434.    简介 = "\\c[2]妖刀·一文字·臻
  435.    
  436. \\c[6]任务目标 \\c[0]合成妖刀·一文字·臻
  437.         #{item}

  438. \\c[6]任务地点 \\c[0]古岩之穴、王都

  439. \\c[6]任务报酬 \\c[0]声望值8点、金钱6000G

  440. \\c[6]任务提示 \\c[0]一文字·臻是由5块陨石矿
  441.         和一把见习刀合成的,陨石
  442.         矿在古岩之穴的矿物博士身
  443.         上有好多,哼哼。
  444.         到手后去武防店合成就行。

  445. \\c[6]契约金   \\c[0]金钱1000G"
  446.    @tasks_info[15] = Game_Task.new(名称, 简介)
  447.    
  448.    
  449.    #-----------------------------
  450.    # 恶任务5:飓风之塔要塞探索
  451.    #-----------------------------

  452.    if $game_variables[20] >= 25
  453.      名称 = "\\c[2]当前任务(完成)"
  454.      kills = "消灭士兵数:#{$game_variables[20]}/25 (完成)"
  455.    else
  456.      名称 = "\\c[2]当前任务"
  457.      kills = "消灭士兵数:#{$game_variables[20]}/25"
  458.    end
  459.    
  460.    简介 = "\\c[2]飓风之塔要塞探索
  461.    
  462. \\c[6]任务目标 \\c[0]击败所有巡逻的士兵
  463.         #{kills}
  464.         
  465. \\c[6]任务地点 \\c[0]飓风之塔

  466. \\c[6]任务报酬 \\c[0]声望值15点、金钱8000G

  467. \\c[6]任务提示 \\c[0]我们可能要把大本营迁往飓
  468.         风之塔,但是现在里面有很
  469.         多士兵在巡逻,把他们全部
  470.         解决掉!

  471. \\c[6]契约金   \\c[0]1500G"
  472.    @tasks_info[16] = Game_Task.new(名称, 简介)
  473.    
  474.    
  475.    #-----------------------------
  476.    # 恶任务6:要命的发现
  477.    #-----------------------------

  478.    if $game_switches[70] == true
  479.      名称 = "\\c[2]当前任务(完成)"
  480.    else
  481.      名称 = "\\c[2]当前任务"
  482.    end
  483.    
  484.    简介 = "\\c[2]要命的发现
  485.    
  486. \\c[6]任务目标 \\c[0]将朱雀之馆的发现者灭口
  487.         
  488. \\c[6]任务地点 \\c[0]红莲之窟

  489. \\c[6]任务报酬 \\c[0]声望值10点、金钱5000G

  490. \\c[6]任务提示 \\c[0]一个无聊的探险者在红莲之
  491.         窟发现了传说中的古迹·朱
  492.         雀之馆,去调查一下,并把
  493.         发现者灭口!

  494. \\c[6]契约金   \\c[0]1000G"
  495.    @tasks_info[17] = Game_Task.new(名称, 简介)
  496.    

  497.    #-----------------------------
  498.    # 紧急任务2:怀壁其罪
  499.    #-----------------------------

  500.    if $game_switches[72] == true
  501.      名称 = "\\c[2]紧急任务(完成)"
  502.    else
  503.      名称 = "\\c[2]紧急任务"
  504.    end

  505.    简介 = "\\c[2]怀壁其罪
  506.    
  507. \\c[6]任务目标 \\c[0]得到死灵法师·里奇身上的
  508.         破魔之匙

  509. \\c[6]任务地点 \\c[0]王都赌场

  510. \\c[6]任务报酬 \\c[0]声望值20点、金钱10000G

  511. \\c[6]任务提示 \\c[0]流连赌场的里奇似乎已经找
  512.         到了打开创世之馆的钥匙,
  513.         不过,我们才应该是钥匙的
  514.         主人!把破魔之匙夺过来!
  515.         
  516. \\c[6]契约金   \\c[0]无"
  517.    @tasks_info[18] = Game_Task.new(名称, 简介)
  518.    
  519.    
  520.    #-----------------------------
  521.    # 恶任务7:禁断的封印
  522.    #-----------------------------

  523.    if $game_variables[24] >= 4
  524.      名称 = "\\c[2]当前任务(完成)"
  525.    else
  526.      名称 = "\\c[2]当前任务"
  527.    end

  528.    简介 = "\\c[2]禁断的封印
  529.    
  530. \\c[6]任务目标 \\c[0]唤醒密斯利尔大陆传说中的
  531.         四方巨兽
  532.         已唤醒#{$game_variables[24]}/4只

  533. \\c[6]任务地点 \\c[0]各地

  534. \\c[6]任务报酬 \\c[0]声望值50点、金钱50000G

  535. \\c[6]任务提示 \\c[0]传说中在古代占据密斯利尔
  536.         大陆四方的巨兽,现在我们
  537.         要唤醒他们!在王国军措手
  538.         不及的时候再乘虚而入!
  539.         
  540. \\c[6]契约金   \\c[0]10000G"
  541.    @tasks_info[19] = Game_Task.new(名称, 简介)

  542.    
  543.    #-----------------------------
  544.    # 恶任务最终:暗之音
  545.    #-----------------------------

  546.    if $game_switches[115] == true
  547.      名称 = "\\c[2]最终任务(完成)"
  548.    else
  549.      名称 = "\\c[2]最终任务"
  550.    end

  551.    简介 = "\\c[2]暗之音
  552.    
  553. \\c[6]任务目标 \\c[0]在皇宫内找到密斯利尔国王
  554.         ,并刺杀之。

  555. \\c[6]任务地点 \\c[0]皇宫

  556. \\c[6]任务报酬 \\c[0]一切

  557. \\c[6]任务提示 \\c[0]密斯利尔国王或许已经知道
  558.         我们要刺杀他的消息,要在
  559.         皇宫内找到他不是件容易的
  560.         事,在皇宫内多打听消息吧
  561.         。
  562.         
  563. \\c[6]契约金   \\c[0]无"
  564.    @tasks_info[20] = Game_Task.new(名称, 简介)
  565.    
  566.    
  567.    #-----------------------------
  568.    # 善任务最终:光之裁
  569.    #-----------------------------

  570.    if $game_switches[113] == true
  571.      名称 = "\\c[2]最终任务(完成)"
  572.    else
  573.      名称 = "\\c[2]最终任务"
  574.    end

  575.    简介 = "\\c[2]光之裁
  576.    
  577. \\c[6]任务目标 \\c[0]找到拉法尔的王都地下据点
  578.         ,逮捕拉法尔。

  579. \\c[6]任务地点 \\c[0]王都地下据点

  580. \\c[6]任务报酬 \\c[0]应得的报酬

  581. \\c[6]任务提示 \\c[0]拉法尔的地下据点据说就在
  582.         港口一带,找到这个据点,
  583.         把盘据在里面的毒瘤完全清
  584.         除吧!
  585.         
  586. \\c[6]契约金   \\c[0]无"
  587.    @tasks_info[21] = Game_Task.new(名称, 简介)
  588.    
  589. end
  590. end
  591.    
  592. #==============================================================================
  593. # ■ Interpreter
  594. #------------------------------------------------------------------------------
  595. #  执行事件命令的解释器。本类在 Game_System 类
  596. # 与 Game_Event 类的内部使用。
  597. #==============================================================================

  598. class Interpreter
  599. #--------------------------------------------------------------------------
  600. # ● 接受任务
  601. #--------------------------------------------------------------------------
  602. def get_task(id)
  603.    task = $game_party.tasks_info[id]
  604.    return true if (task.nil? or $game_party.current_tasks.include?(task.id))
  605.    $game_party.current_tasks.unshift(task.id)
  606.    return true
  607. end
  608. #--------------------------------------------------------------------------
  609. # ● 获得全部任务
  610. #--------------------------------------------------------------------------
  611. def get_all_task
  612.    # 清空当前任务
  613.    $game_party.current_tasks.clear
  614.    for task in $game_party.tasks_info
  615.      next if task.nil?
  616.      $game_party.current_tasks.unshift(task.id)
  617.    end
  618.    return true
  619. end
  620. #--------------------------------------------------------------------------
  621. # ● 完成/放弃任务
  622. #--------------------------------------------------------------------------
  623. def finish_task(id)
  624.    task = $game_party.tasks_info[id]
  625.    return true if task.nil?
  626.    $game_party.current_tasks.delete(task.id)
  627.    return true
  628. end
  629. #--------------------------------------------------------------------------
  630. # ● 删除全部任务
  631. #--------------------------------------------------------------------------
  632. def finish_all_task
  633.    $game_party.current_tasks.clear
  634.    return true
  635. end
  636. end

  637. #==============================================================================
  638. # ■ Game_Party
  639. #------------------------------------------------------------------------------
  640. #  处理同伴的类。包含金钱以及物品的信息。本类的实例
  641. # 请参考 $game_party。
  642. #==============================================================================

  643. class Game_Party
  644. #--------------------------------------------------------------------------
  645. # ● 定义实例变量
  646. #--------------------------------------------------------------------------
  647. attr_writer     :latest_task                  # 上次查看的任务
  648. #--------------------------------------------------------------------------
  649. # ● 取得任务资料
  650. #--------------------------------------------------------------------------
  651. def tasks_info
  652.    if @tasks_info.nil?
  653.      get_tasks_info
  654.    end
  655.    return @tasks_info
  656. end
  657. #--------------------------------------------------------------------------
  658. # ● 取得当前任务
  659. #--------------------------------------------------------------------------
  660. def current_tasks
  661.    if @current_tasks.nil?
  662.      @current_tasks = []
  663.    end
  664.    return @current_tasks
  665. end
  666. #--------------------------------------------------------------------------
  667. # ● 上次查看的任务
  668. #--------------------------------------------------------------------------
  669. def latest_task
  670.    if !current_tasks.include?(@latest_task)
  671.      @latest_task = current_tasks[0]
  672.    end
  673.    return @latest_task
  674. end
  675. end

  676. #==============================================================================
  677. # ■ Game_Task
  678. #------------------------------------------------------------------------------
  679. #  处理任务的类。包含任务的信息。
  680. #==============================================================================

  681. class Game_Task
  682. attr_accessor   :name                   # 名称
  683. attr_accessor   :briefing               # 简介
  684. def initialize(name, briefing)
  685.    @name = name
  686.    @briefing = briefing
  687. end
  688. def height
  689.    text = @briefing.clone
  690.    x = 0
  691.    y = 64
  692.    min_y = 0
  693.    # 限制文字处理
  694.    begin
  695.      last_text = text.clone
  696.      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  697.    end until text == last_text
  698.    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  699.      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  700.    end
  701.    # 为了方便、将 "\\\\" 变换为 "\000"
  702.    text.gsub!(/\\\\/) { "\000" }
  703.    # "\C" 变为 "\001"
  704.    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  705.    # "\I" 变为 "\002"
  706.    text.gsub!(/\\[Ii]/) { "\002" }
  707.    # "\P" 变为 "\003"
  708.    text.gsub!(/\\[Pp]/) { "\003" }
  709.    # c 获取 1 个字 (如果不能取得文字就循环)
  710.    while ((c = text.slice!(/./m)) != nil)
  711.      # \\ 的情况下
  712.      if c == "\000"
  713.        # 还原为本来的文字
  714.        c = "\\"
  715.      end
  716.      # \C[n] 的情况下
  717.      if c == "\001"
  718.        # 更改文字色
  719.        text.sub!(/\[([0-9]+)\]/, "")
  720.        # 下面的文字
  721.        next
  722.      end
  723.      # 图标的情况下
  724.      if c == "\002"
  725.        icon_name = ''
  726.        while ((cha = text.slice!(/./m)) != ']')
  727.          next if cha == '['
  728.          icon_name += cha
  729.        end
  730.        icon = RPG::Cache.icon(icon_name)
  731.        if x + icon.width > 368
  732.          x = 0
  733.          y += [32, min_y].max
  734.          min_y = 0
  735.        end
  736.        x += 28
  737.        next
  738.      end
  739.      # 图片的情况下
  740.      if c == "\003"
  741.        pic_name = ''
  742.        while ((cha = text.slice!(/./m)) != ']')
  743.          next if cha == '['
  744.          pic_name += cha
  745.        end
  746.        pic = RPG::Cache.picture(pic_name)
  747.        if x + pic.width > 368
  748.          x = 0
  749.          y += [32, min_y].max
  750.          min_y = 0
  751.        end
  752.        x += pic.width
  753.        min_y = [pic.height, 32].max
  754.        next
  755.      end
  756.      # 另起一行文字的情况下
  757.      if c == "\n"
  758.        y += [32, min_y].max
  759.        min_y = 0
  760.        x = 0
  761.        # 下面的文字
  762.        next
  763.      end
  764.      # 自动换行处理
  765.      if x + 22 > 368
  766.        y += [32, min_y].max
  767.        min_y = 0
  768.        x = 0
  769.      end
  770.      # x 为要描绘文字的加法运算
  771.      x += 22
  772.    end
  773.    return (y + [32, min_y].max)
  774. end
  775. def id
  776.    return $game_party.tasks_info.index(self)
  777. end
  778. end

  779. #==============================================================================
  780. # ■ Window_Task_Name
  781. #------------------------------------------------------------------------------
  782. #  任务名称显示窗口。
  783. #==============================================================================

  784. class Window_Task_Name < Window_Selectable
  785. #--------------------------------------------------------------------------
  786. # ● 初始化对像
  787. #--------------------------------------------------------------------------
  788. def initialize(tasks)
  789.    super(0, 0, 240, 480)
  790.    @tasks = []
  791.    for id in tasks
  792.      @tasks.push($game_party.tasks_info[id])
  793.    end
  794.    @item_max = tasks.size
  795.    self.contents = Bitmap.new(
  796.    self.width - 32, @item_max == 0 ? 32 : @item_max * 32)
  797. [color=#FF33FF]   @menu_com = Sprite.new
  798.    @menu_com.bitmap = RPG::Cache.picture("文件名")[/color]
  799.    refresh
  800.    self.index = 0
  801.    end
  802. #--------------------------------------------------------------------------
  803. # ● 刷新
  804. #--------------------------------------------------------------------------
  805. def refresh
  806.    self.contents.clear
  807.    if @tasks != []
  808.      for task in @tasks
  809.        draw_item(task)
  810.      end
  811.    else
  812.      draw_blank
  813.    end
  814. end
  815. #--------------------------------------------------------------------------
  816. # ● 描绘项目
  817. #--------------------------------------------------------------------------
  818. def draw_item(task)
  819.    text = task.name.clone
  820.    x = 0
  821.    y = @tasks.index(task) * 32
  822.    # 限制文字处理
  823.    begin
  824.      last_text = text.clone
  825.      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  826.    end until text == last_text
  827.    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  828.      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  829.    end
  830.    # 为了方便、将 "\\\\" 变换为 "\000"
  831.    text.gsub!(/\\\\/) { "\000" }
  832.    # "\\C" 变为 "\001"
  833.    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  834.    # "\I" 变为 "\002"
  835.    text.gsub!(/\\[Ii]/) { "\002" }
  836.    # "\P" 变为 "\003"
  837.    text.gsub!(/\\[Pp]/) { "\003" }
  838.    # c 获取 1 个字 (如果不能取得文字就循环)
  839.    while ((c = text.slice!(/./m)) != nil)
  840.      # \\ 的情况下
  841.      if c == "\000"
  842.        # 还原为本来的文字
  843.        c = "\\"
  844.      end
  845.      # \C[n] 的情况下
  846.      if c == "\001"
  847.        # 更改文字色
  848.        text.sub!(/\[([0-9]+)\]/, "")
  849.        color = $1.to_i
  850.        if color >= 0 and color <= 7
  851.          self.contents.font.color = text_color(color)
  852.        elsif color == 8
  853.          self.contents.font.color = disabled_color
  854.        elsif color == 9
  855.          self.contents.font.color = system_color
  856.        end
  857.        # 下面的文字
  858.        next
  859.      end
  860.      # 图标的情况下
  861.      if c == "\002"
  862.        icon_name = ''
  863.        while ((cha = text.slice!(/./m)) != ']')
  864.          next if cha == '['
  865.          icon_name += cha
  866.        end
  867.        icon = RPG::Cache.icon(icon_name)
  868.        if x + icon.width > self.contents.width
  869.          x = 0
  870.          y += [32, min_y].max
  871.          min_y = 0
  872.        end
  873.        self.contents.blt(x + 4, y + 4, icon, Rect.new(0, 0, 24, 24))
  874.        x += 28
  875.        next
  876.      end
  877.      # 图片的情况下
  878.      if c == "\003"
  879.        pic_name = ''
  880.        while ((cha = text.slice!(/./m)) != ']')
  881.          next if cha == '['
  882.          pic_name += cha
  883.        end
  884.        pic = RPG::Cache.picture(pic_name)
  885.        if x + pic.width > self.contents.width
  886.          x = 0
  887.          y += [32, min_y].max
  888.          min_y = 0
  889.        end
  890.        self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height))
  891.        x += pic.width
  892.        next
  893.      end
  894.      # 描绘文字
  895.      self.contents.draw_text(4 + x, y, 40, 32, c)
  896.      # x 为要描绘文字的加法运算
  897.      x += self.contents.text_size(c).width
  898.    end
  899. end
  900. #--------------------------------------------------------------------------
  901. # ● 描绘空行
  902. #--------------------------------------------------------------------------
  903. def draw_blank
  904.    self.contents.font.color = disabled_color
  905.    rect = Rect.new(4, 0, self.contents.width - 8, 32)
  906.    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  907.    self.contents.draw_text(rect, '当前没有任何任务')
  908.    
  909.    
  910.    
  911. end
  912. #--------------------------------------------------------------------------
  913. # ● 获取任务
  914. #--------------------------------------------------------------------------
  915. def task
  916.    return @tasks[self.index]
  917. end
  918. end

  919. #==============================================================================
  920. # ■ Window_Task
  921. #------------------------------------------------------------------------------
  922. #  任务内容显示窗口。
  923. #==============================================================================

  924. class Window_Task < Window_Base
  925. #--------------------------------------------------------------------------
  926. # ● 初始化对像
  927. #--------------------------------------------------------------------------
  928. def initialize(task_id)
  929.    super(240, 0, 400, 480)
  930.    refresh(task_id)

  931. end

  932.   


  933. #--------------------------------------------------------------------------
  934. # ● 刷新内容
  935. #--------------------------------------------------------------------------
  936. def refresh(task_id)
  937.    self.oy = 0
  938.    self.visible = true
  939.    return if task_id.nil?
  940.    task = $game_party.tasks_info[task_id]
  941.    if !task.nil?
  942.      self.contents = Bitmap.new(self.width - 32, task.height)
  943.    else
  944.      self.contents = Bitmap.new(self.width - 32, self.height - 32)
  945.      return
  946.    end
  947.    self.contents.font.color = normal_color
  948.    # 描绘任务内容
  949.    draw_task_info(task)
  950. end
  951. #--------------------------------------------------------------------------
  952. # ● 描绘任务内容
  953. #--------------------------------------------------------------------------
  954. def draw_task_info(task)
  955.    # 记录文字x坐标
  956.    x = 0
  957.    # 记录文字y坐标
  958.    y = 0
  959.    # 记录换行时y坐标最小加值
  960.    min_y = 0
  961.    self.contents.font.color = normal_color
  962.    # 描绘任务简介
  963.    text = task.briefing.clone
  964.    # 限制文字处理
  965.    begin
  966.      last_text = text.clone
  967.      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  968.    end until text == last_text
  969.    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  970.      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  971.    end
  972.    # 为了方便、将 "\\\\" 变换为 "\000"
  973.    text.gsub!(/\\\\/) { "\000" }
  974.    # "\C" 变为 "\001"
  975.    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  976.    # "\I" 变为 "\002"
  977.    text.gsub!(/\\[Ii]/) { "\002" }
  978.    # "\P" 变为 "\003"
  979.    text.gsub!(/\\[Pp]/) { "\003" }
  980.    # c 获取 1 个字 (如果不能取得文字就循环)
  981.    while ((c = text.slice!(/./m)) != nil)
  982.      # \\ 的情况下
  983.      if c == "\000"
  984.        # 还原为本来的文字
  985.        c = "\\"
  986.      end
  987.      # \C[n] 的情况下
  988.      if c == "\001"
  989.        # 更改文字色
  990.        text.sub!(/\[([0-9]+)\]/, "")
  991.        color = $1.to_i
  992.        if color >= 0 and color <= 7
  993.          self.contents.font.color = text_color(color)
  994.        elsif color == 8
  995.          self.contents.font.color = disabled_color
  996.        elsif color == 9
  997.          self.contents.font.color = system_color
  998.        end
  999.        # 下面的文字
  1000.        next
  1001.      end
  1002.      # 图标的情况下
  1003.      if c == "\002"
  1004.        icon_name = ''
  1005.        while ((cha = text.slice!(/./m)) != ']')
  1006.          next if cha == '['
  1007.          icon_name += cha
  1008.        end
  1009.        icon = RPG::Cache.icon(icon_name)
  1010.        if x + icon.width > self.contents.width
  1011.          x = 0
  1012.          y += [32, min_y].max
  1013.          min_y = 0
  1014.        end
  1015.        self.contents.blt(x + 4, y + 4, icon, Rect.new(0, 0, 24, 24))
  1016.        x += 28
  1017.        next
  1018.      end
  1019.      # 图片的情况下
  1020.      if c == "\003"
  1021.        pic_name = ''
  1022.        while ((cha = text.slice!(/./m)) != ']')
  1023.          next if cha == '['
  1024.          pic_name += cha
  1025.        end
  1026.        pic = RPG::Cache.picture(pic_name)
  1027.        if x + pic.width > self.contents.width
  1028.          x = 0
  1029.          y += [32, min_y].max
  1030.          min_y = 0
  1031.        end
  1032.        self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height))
  1033.        x += pic.width
  1034.        min_y = [pic.height, 32].max
  1035.        next
  1036.      end
  1037.      # 另起一行文字的情况下
  1038.      if c == "\n"
  1039.        y += [32, min_y].max
  1040.        min_y = 0
  1041.        x = 0
  1042.        # 下面的文字
  1043.        next
  1044.      end
  1045.      # 自动换行处理
  1046.      if x + self.contents.text_size(c).width > self.contents.width
  1047.        y += [32, min_y].max
  1048.        min_y = 0
  1049.        x = 0
  1050.      end
  1051.      # 描绘文字
  1052.      self.contents.draw_text(4 + x, y, 40, 32, c)
  1053.      # x 为要描绘文字的加法运算
  1054.      x += self.contents.text_size(c).width
  1055.    end
  1056. end
  1057. end






  1058. #==============================================================================
  1059. # ■ Scene_Task
  1060. #------------------------------------------------------------------------------
  1061. #  处理任务画面的类。
  1062. #==============================================================================

  1063. class Scene_Task
  1064. #--------------------------------------------------------------------------
  1065. # ● 主处理
  1066. #--------------------------------------------------------------------------
  1067. def main
  1068.    # 刷新任务资料
  1069.    $game_party.get_tasks_info
  1070.    # 生成任务名称窗口
  1071.    @task_names_window = Window_Task_Name.new($game_party.current_tasks)
  1072.    @task_names_window.active = true
  1073.    if $game_party.current_tasks != []
  1074.      @task_names_window.index = $game_party.current_tasks.index($game_party.latest_task)
  1075.    end
  1076.    # 生成任务内容窗口
  1077.    @task_info_window = Window_Task.new($game_party.latest_task)
  1078.    @task_info_window.active = true
  1079.    # 执行过渡
  1080.    Graphics.transition
  1081.    # 主循环
  1082.    loop do
  1083.      # 刷新游戏画面
  1084.      Graphics.update
  1085.      # 刷新输入信息
  1086.      Input.update
  1087.      # 刷新画面
  1088.      update
  1089.      # 如果画面被切换的话就中断循环
  1090.      if $scene != self
  1091.        break
  1092.      end
  1093.    end
  1094.    # 准备过渡
  1095.    Graphics.freeze
  1096.    # 释放窗口
  1097.    @task_names_window.dispose
  1098.    @task_info_window.dispose
  1099. end





  1100. #--------------------------------------------------------------------------
  1101. # ● 刷新画面
  1102. #--------------------------------------------------------------------------
  1103. def update
  1104.    # 刷新窗口
  1105.    @task_names_window.update
  1106.    @task_info_window.update
  1107.    update_task_names_window
  1108. end
  1109. #--------------------------------------------------------------------------
  1110. # ● 刷新任务名称窗口
  1111. #--------------------------------------------------------------------------
  1112. def update_task_names_window
  1113.    # 按下 B 键的情况下
  1114.    if Input.trigger?(Input::B)
  1115.      # 演奏取消 SE
  1116.      $game_system.se_play($data_system.cancel_se)
  1117.      # 这里设置返回的场景,返回地图是Scene_Map.new,菜单是Scene_Menu.new(任务界面index)
  1118.      $scene = Scene_Menu.new(4)
  1119.      return
  1120.    end
  1121.    # 按下 C 键的情况下
  1122.    if Input.trigger?(Input::C)
  1123.      # 无任务可显示的话
  1124.      if @task_names_window.task == nil
  1125.        # 演奏冻结 SE
  1126.        $game_system.se_play($data_system.buzzer_se)
  1127.        return
  1128.      end
  1129.      # 如果光标没有移动的话,翻页
  1130.      if $game_party.latest_task == @task_names_window.task.id
  1131.        if @task_info_window.oy + @task_info_window.height - 32 > @task_info_window.contents.height
  1132.          @task_info_window.oy = 0
  1133.        else
  1134.          @task_info_window.oy += 480-32
  1135.        end
  1136.        if @task_info_window.contents.height > @task_info_window.height - 32
  1137.          # 演奏翻页 SE
  1138.          Audio.se_play(CHANGE_PAGE_SE)
  1139.        end
  1140.      else
  1141.        @task_info_window.refresh(@task_names_window.task.id)
  1142.        $game_party.latest_task = @task_names_window.task.id
  1143.        # 演奏确定 SE
  1144.        $game_system.se_play($data_system.decision_se)
  1145.      end
  1146.    end
  1147. end
  1148. end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
[url=http://rpg.blue/upload_program/d/菜鸟飞呀飞_love_111006892.jpg]http://rpg.blue/upload_program/d/菜鸟飞呀飞_love_111006892.jpg[/url][FLY][url=http://rpg.blue/upload_program/d/菜鸟飞呀飞_yz_tb_111008420.png]http://rpg.blue/upload_program/d/菜鸟飞呀飞_yz_tb_111008420.png[/url][/FLY][url=http://rpg.blue/upload_program/d/菜鸟飞呀飞_yzs_111008459.png]http://rpg.blue/upload_program/d/菜鸟飞呀飞_yzs_111008459.png[/url]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
13 小时
注册时间
2008-1-11
帖子
330
5
 楼主| 发表于 2008-4-27 21:03:06 | 只看该作者
先谢cZooCz帮忙解答!
再问一下:如果要显示两张图片呢?


回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 15:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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