查看: 2445|回复: 2

[已经过期] 请问如何显示图片

[复制链接]
梦石
0
星屑
2457
在线时间
912 小时
注册时间
2014-10-14
回帖
1155

开拓者

发表于 2016-12-30 15:04:34 | 显示全部楼层 |阅读模式

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

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

×
[pre lang="ruby"]=begin
--------------------------------------------------------------------------
详尽任务显示界面 v2.1
--------------------------------------------------------------------------
By 叶子

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

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

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

2、设置任务资料

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

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

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

4、完成/删除任务

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

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

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

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

class Game_Party
  #--------------------------------------------------------------------------
  # ● 设置任务资料
  #--------------------------------------------------------------------------
  def get_tasks_info
    @tasks_info = []

    #-讲解-
    # 三个示例任务由浅入深,其实只要看懂第一个就可以使用了。
    # 任务的写法多种多样,不限于这三个任务的方法
    #----
    #-----------------------------
    # 示例任务1:沙漠中的五叶花
    #-----------------------------
    名称 = "\\c[6]鬼屋冒险\\i[500]"
    #-讲解-
    # 注意!脚本编辑器的变色功能并不是非常完善,所以换行后字变黑了,但仍然是字符
    # 串的一部分,所以不要忘记在内容最后打一个双引号
    # 按回车是强制换行
    #----
    简介 = "\\c[6]鬼屋冒险
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:
找到这两个胆小鬼,并出去。

\\c[0]找到:\\v[34]/2人


\\c[9]备注:
以后没事可以来这里玩玩……"
    #-讲解-
    # 每个任务最后一定要加上:
    # @tasks_info[任务ID] = Game_Task.new(名称, 简介)
    # 接受任务和完成任务都是用这个任务ID来索引
    #----
    @tasks_info[1] = Game_Task.new(名称, 简介)

    #-----------------------------
    # 示例任务2:克萝莉亚的药瓶
    #-----------------------------
    名称 = "\\c[6]逃出研究所\\i[500]"
    #-讲解-
    # 这里使用了字符串相加,例如 s = "a" + "b" ,s 就是 "ab"
    # 还用了内嵌表达式,$game_party.item_number(38) 就是38号物品的数量
    #----
    简介 = "\\c[6]逃出研究所
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:
安全逃离研究所,小心RL-2000……




\\c[9]备注:
也许有什么人需要帮助……"
    @tasks_info[2] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[4]猫耳少女\\i[10]"
    简介 = "\\c[4]猫耳少女
\\c[9]任务等级:\\i[10]

\\c[9]任务目标:
帮助猫耳少女逃离,开门的因该是卡片一类的电子钥匙……\\c[0]

\\i[040-Item09]:#{$game_party.item_number(27)}/1

\\c[9]备注:
或许在某个员工休息的地方能找到……"
    @tasks_info[3] = Game_Task.new(名称, 简介)

#-----------------------------   
    名称 = "\\c[0]路人的委托\\i[50]"
    简介 = "\\c[0]路人的委托
\\c[9]任务等级:\\i[50]

\\c[9]任务目标:
帮助路人找回被偷的皮包。
\\i[皮包]:#{$game_party.item_number(28)}/1

\\c[9]备注:
也许在旧仓库里能找到……"

    @tasks_info[4] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[5]捕杀灰熊\\i[500]\\i[10]"
    简介 = "\\c[5]捕杀灰熊
\\c[9]任务等级:\\i[500]\\i[10]

\\c[9]任务目标:
从动物身上收集以下东西:
\\i[虎牙1]:#{$game_party.item_number(201)}/5狼牙
\\i[虎牙1]:#{$game_party.item_number(202)}/3虎牙
\\i[熊皮1]:#{$game_party.item_number(203)}/1熊皮

\\c[9]备注:
灰熊经常在水域出没……"

    @tasks_info[5] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]矿石商的交易Ⅰ\\i[50]"
    简介 = "\\c[0]矿石商的交易Ⅰ
\\c[9]任务等级:\\i[50]

\\c[9]任务目标:
从采矿场挖到以下东西:
\\i[青铜矿]:#{$game_party.item_number(205)}/20青铜矿
\\i[钢铁矿]:#{$game_party.item_number(207)}/10钢铁矿
\\i[银矿]:#{$game_party.item_number(209)}/5白银矿
\\i[黄金矿]:#{$game_party.item_number(211)}/1黄金矿

\\c[9]备注:
每种矿石的获得几率都不一样……"

    @tasks_info[6] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]矿石商的交易Ⅱ\\i[50]"
    简介 = "\\c[0]矿石商的交易Ⅱ
\\c[9]任务等级:\\i[50]

\\c[9]任务目标:
从采矿场挖到以下东西:
\\i[黄晶石矿]:#{$game_party.item_number(221)}/20黄晶石
\\i[紫金石矿]:#{$game_party.item_number(224)}/10紫金石
\\i[翡翠矿]:#{$game_party.item_number(227)}/5翡翠石
\\i[天青石矿]:#{$game_party.item_number(230)}/1天青石

\\c[9]备注:
每种矿石的获得几率都不一样……"

    @tasks_info[7] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]矿石商的交易Ⅲ\\i[50]"
    简介 = "\\c[0]矿石商的交易Ⅲ
\\c[9]任务等级:\\i[50]

\\c[9]任务目标:
从采矿场挖到以下东西:
\\i[银矿]:#{$game_party.item_number(209)}/10银矿
\\i[黄金矿]:#{$game_party.item_number(211)}/5黄金矿
\\i[翡翠矿]:#{$game_party.item_number(227)}/10翡翠石
\\i[天青石矿]:#{$game_party.item_number(230)}/5天青石

\\c[9]备注:
每种矿石的获得几率都不一样……"

    @tasks_info[8] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[6]矿山寻宝\\i[500]\\i[50]"
    简介 = "\\c[6]矿山寻宝
\\c[9]任务等级:\\i[500]\\i[50]

\\c[9]任务目标:
从矿山找到宝物:

\\i[049-Skill06]:\\v[34]/1宝物


\\c[9]备注:
这里的机关真不少……"
    @tasks_info[9] = Game_Task.new(名称, 简介)
#-----------------------------
if $game_variables[277] == 1
    名称 = "\\c[0]收集狼牙\\i[100]"
    简介 = "\\c[0]收集狼牙
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[虎牙1]:#{$game_party.item_number(201)}/#{$game_variables[278]}狼牙

\\c[9]备注:
草原的狼身上有这东西"
end
if $game_variables[277] == 2
    名称 = "\\c[0]收集虎牙\\i[100]"
    简介 = "\\c[0]收集虎牙
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[虎牙1]:#{$game_party.item_number(202)}/#{$game_variables[278]}虎牙

\\c[9]备注:
草原的虎身上有这东西"
end
if $game_variables[277] == 3
    名称 = "\\c[0]收集熊皮\\i[100]"
    简介 = "\\c[0]收集熊皮
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[熊皮1]:#{$game_party.item_number(203)}/#{$game_variables[278]}熊皮

\\c[9]备注:
水域的熊身上有这东西"
end
if $game_variables[277] == 4
    名称 = "\\c[0]收集熊掌\\i[100]"
    简介 = "\\c[0]收集熊掌
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[熊掌1]:#{$game_party.item_number(204)}/#{$game_variables[278]}熊掌

\\c[9]备注:
水域的熊身上有这东西"
end
if $game_variables[277] == 5
    名称 = "\\c[0]收集幻之草\\i[100]"
    简介 = "\\c[0]收集幻之草
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[三叶草1]:#{$game_party.item_number(300)}/#{$game_variables[278]}幻之草

\\c[9]备注:
迷失的森林里的幻之蘑菇身上有这东西"
end
if $game_variables[277] == 6
    名称 = "\\c[0]收集魔气瓶\\i[100]"
    简介 = "\\c[0]收集魔气瓶
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[液体氧1]:#{$game_party.item_number(301)}/#{$game_variables[278]}魔气瓶

\\c[9]备注:
迷失的森林里的幻之人偶身上有这东西"
end
if $game_variables[277] == 7
    名称 = "\\c[0]收集山鹿角\\i[100]"
    简介 = "\\c[0]收集山鹿角
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[鹿角]:#{$game_party.item_number(302)}/#{$game_variables[278]}山鹿角

\\c[9]备注:
风之峡谷里的山鹿身上有这东西"
end
if $game_variables[277] == 8
    名称 = "\\c[0]收集狼毛\\i[100]"
    简介 = "\\c[0]收集狼毛
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[黑色的皮]:#{$game_party.item_number(303)}/#{$game_variables[278]}狼毛

\\c[9]备注:
遗迹里的变异狼人身上有这东西"
end
if $game_variables[277] == 9
    名称 = "\\c[0]收集xx\\i[100]"
    简介 = "\\c[0]收集xx
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
收集到贝德拉尔的旅行商人所要求的东西:

\\i[黑色的皮]:#{$game_party.item_number(304)}/#{$game_variables[278]}xx

\\c[9]备注:
xx里的xx身上有这东西"
end
    @tasks_info[10] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[6]雷之四神器\\i[500]\\i[500]"
    简介 = "\\c[6]雷之四神器
\\c[9]任务等级:\\i[500]\\i[500]

\\c[9]任务目标:
收集所有的四神器:
\\i[001-Weapon01]:#{$game_party.weapon_number(95)}/1\\c[4]暴食\\c[0]
\\i[闪电之盾]:#{$game_party.item_number(408)}/1\\c[4]闪电之盾\\c[0]
\\i[闪电之盔]:\\c[4]闪电之盔\\c[0]已被帕布迦得到
\\i[闪电之戒]:\\c[4]闪电之戒\\c[0]由吉罗和安娜去寻找

\\c[9]备注:
闪电之盾听说藏在西方的某个遗迹里,而闪电之戒似乎在南方的某处。
                       \\c[0]C键翻页↓
\\c[9]得到闪电之盾后在南方的布特莱恩再集合。"

    @tasks_info[11] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[4]黑翼嗜魂者\\i[100]\\i[100]"
    简介 = "\\c[4]黑翼嗜魂者
\\c[9]任务等级:\\i[100]\\i[100]


\\c[9]任务目标:
消灭黑翼嗜魂者!



\\c[9]备注:
进入暗之门,将黑翼嗜魂者消灭后向幽魂报告。"
    @tasks_info[12] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[6]时空之塔作战①\\i[500]\\i[100]"
    简介 = "\\c[6]时空之塔作战①
\\c[9]任务等级:\\i[500]\\i[100]


\\c[9]任务目标:
时空之塔作战计划的第一阶段。
攻击埃卡特拉王国的第一个边境防线,快速突破它并消灭头目。



\\c[9]备注:
小心为上,实力不行就回去锻炼一下。"
    @tasks_info[13] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[4]菲尔迪与娜沙\\i[500]"
    简介 = "\\c[4]菲尔迪与娜沙
\\c[9]任务等级:\\i[500]


\\c[9]任务目标:
寻找他们,一定就在村子的某处。\\c[0]


\\c[9]备注:
奇怪的感觉,不知道是为什么……"
    @tasks_info[14] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[6]时空之塔作战②\\i[500]\\i[100]"
    简介 = "\\c[6]时空之塔作战②
\\c[9]任务等级:\\i[500]\\i[100]

\\c[9]任务目标:
时空之塔作战计划的第二阶段。
攻击埃卡特拉王国的王都。消灭一定数量的敌人。
\\c[4]打倒的敌人数量:\\c[0]\\v[34]/40

\\c[9]备注:
没有什么技巧可言,努力吧!"
    @tasks_info[15] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[6]时空之塔作战③\\i[500]\\i[500]"
    简介 = "\\c[6]时空之塔作战③
\\c[9]任务等级:\\i[500]\\i[500]

\\c[9]任务目标:
时空之塔作战计划的第三阶段。
攻击埃卡特拉王国的西边防线,由于敌人集中,也只好全力一战了。

\\c[9]备注:
相信自己是最强的!"
    @tasks_info[16] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[6]时空之塔作战④\\c[2]★"
    简介 = "\\c[6]时空之塔作战④\\c[2]
\\c[9]任务等级:\\c[2]★

\\c[9]任务目标:
时空之塔作战计划的最终阶段。
总攻时空之塔!集合大家的力量,以打败罪恶之源帕布枷和拯救安娜为最终目的。

\\c[9]备注:
最后的时刻来临了,努力吧。"
    @tasks_info[17] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[6]事件调查\\i[500]"
    简介 = "\\c[6]事件调查
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:
调查发生在自己身上的事件,找到出里面答案。

\\c[9]备注:
有的时候,事情比想到的复杂的多。"
    @tasks_info[18] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[4]生日礼物\\i[100]"
    简介 = "\\c[4]生日礼物
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
帮助铁强打听小美所喜欢的礼物,最好能帮其获得。

\\i[049-Skill06]:#{$game_party.item_number(233)}/1

\\c[9]备注:
她家就在我家边上,直接去问本人吧。"
    @tasks_info[19] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[6]总部逃离\\c[2]★"
    简介 = "\\c[6]总部逃离\\c[2]
\\c[9]任务等级:\\c[2]★

\\c[9]任务目标:
救出同学们,确保他们的安全后离开总部。

\\c[9]备注:
为什么有“★”?自己想想吧……"
    @tasks_info[20] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]传说的果实Ⅰ\\i[100]\\i[10]"
    简介 = "\\c[0]传说的果实Ⅰ
\\c[9]任务等级:\\i[100]\\i[10]

\\c[9]任务目标:
得到以下物品:

\\i[042-Item11]:#{$game_party.item_number(90)}/1 生命果实
\\i[042-Item11]:#{$game_party.item_number(91)}/1 技能果实
\\i[042-Item11]:#{$game_party.item_number(92)}/1 力量果实
\\i[042-Item11]:#{$game_party.item_number(93)}/1 技巧果实
\\i[042-Item11]:#{$game_party.item_number(94)}/1 敏捷果实
\\i[042-Item11]:#{$game_party.item_number(95)}/1 智力果实
\\i[042-Item11]:#{$game_party.item_number(96)}/1 魔法果实
                      \\c[0]C键翻页↓\\c[9]
\\i[042-Item11]:#{$game_party.item_number(97)}/1 觉醒果实
\\i[银矿成品]:#{$game_party.item_number(210)}/1 白银矿成品
\\i[翡翠矿成品]:#{$game_party.item_number(228)}/1 翡翠石成品

\\c[9]备注:
收集完毕后交给阿克……"

@tasks_info[21] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]传说的果实Ⅱ\\i[500]\\i[50]"
    简介 = "\\c[0]传说的果实Ⅱ
\\c[9]任务等级:\\i[500]\\i[50]

\\c[9]任务目标:
得到以下物品:

\\i[042-Item11]:#{$game_party.item_number(98)}/1 恶魔果实
\\i[042-Item11]:#{$game_party.item_number(90)}/1 生命果实
\\i[042-Item11]:#{$game_party.item_number(91)}/1 技能果实
\\i[042-Item11]:#{$game_party.item_number(92)}/1 力量果实
\\i[042-Item11]:#{$game_party.item_number(93)}/1 技巧果实
\\i[042-Item11]:#{$game_party.item_number(94)}/1 敏捷果实
\\i[042-Item11]:#{$game_party.item_number(95)}/1 智力果实
                      \\c[0]C键翻页↓\\c[9]
\\i[042-Item11]:#{$game_party.item_number(96)}/1 魔法果实
\\i[042-Item11]:#{$game_party.item_number(97)}/1 觉醒果实
\\i[黄金矿成品]:#{$game_party.item_number(212)}/1 黄金矿成品
\\i[天青石成品]:#{$game_party.item_number(231)}/1 天青石成品

\\c[9]备注:
收集完毕后交给阿克……"

@tasks_info[22] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[6]贝茵塔之迷\\i[500]\\i[100]"
    简介 = "\\c[6]贝茵塔之迷
\\c[9]任务等级:\\i[500]\\i[100]

\\c[9]任务目标:

以贝茵塔的最顶层为目标,帮助住民揭开塔的秘密。

\\c[9]备注:
又是一次麻烦的旅途了。"

@tasks_info[23] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[4]沙漠暴君\\i[500]"
    简介 = "\\c[4]沙漠暴君
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:

击败游荡在第一界层的
\\c[2]沙漠暴君-蝎子王\\c[9]#{$game_variables[407]}/3次。

\\c[9]备注:
蝎子王会随机出现在第一界层。"

@tasks_info[24] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[4]丛林守护者\\i[500]"
    简介 = "\\c[4]丛林守护者
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:

击败出现在第二界层的
\\c[2]丛林守护者-巨大树妖\\c[9]#{$game_variables[410]}/4次。

\\c[9]备注:
巨大树妖会随机出现在第二界层。"

@tasks_info[25] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[4]影子猎人\\i[500]"
    简介 = "\\c[4]影子猎人
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:

击败出现在第三界层的
\\c[2]影子猎人-神秘忍者\\c[9]#{$game_variables[411]}/4次。

\\c[9]备注:
神秘忍者会随机出现在第三界层。"

@tasks_info[26] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[6]水晶之翼\\i[500]"
    简介 = "\\c[6]水晶之翼
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:
得到以下物品:
\\i[五花石1]:#{$game_party.item_number(304)}/20 风之元素
\\i[五花石1]:#{$game_party.item_number(305)}/20 土之元素
\\i[五花石1]:#{$game_party.item_number(306)}/20 水之元素
\\i[五花石1]:#{$game_party.item_number(307)}/30 光之元素
\\i[五花石1]:#{$game_party.item_number(308)}/30 暗之元素

\\c[9]备注:
全部得到后就可以开始最终阶段的任务了……"
@tasks_info[27] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[6]最终阶段\\c[2]★"
    简介 = "\\c[6]最终阶段\\c[2]
\\c[9]任务等级:\\c[2]★

\\c[9]任务目标:

\\c[2]破坏人工太阳!

\\c[9]备注:
来华丽的结束这次任务吧!"

@tasks_info[28] = Game_Task.new(名称, 简介)
#-----------------------------
if $game_switches[274] == true
    名称 = "\\c[5]真相·结果\\c[2]\\i[500]\\i[500]"
    简介 = "\\c[5]真相·结果
\\c[9]任务等级:\\i[500]\\i[500]

\\c[9]任务目标:

\\c[2]当面向巴斯议员求证。

\\c[9]备注:
记得把结果报告给菲尔迪。"
else
    名称 = "\\c[5]真相\\c[2]\\i[500]"
    简介 = "\\c[5]真相
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:

\\c[2]探询事件背后所隐藏的真相,先从贝德拉尔监狱开始调查吧。

\\c[9]备注:
记得把结果报告给菲尔迪。"
end

@tasks_info[29] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[5]搜寻纳加多\\c[2]\\i[500]\\i[500]"
    简介 = "\\c[5]搜寻纳加多
\\c[9]任务等级:\\c[2]\\i[500]\\i[500]

\\c[9]任务目标:

\\c[2]在陵墓内找到贝诺的父亲纳加多

\\c[9]备注:
这些机关……让人欲罢不能呢。"

@tasks_info[30] = Game_Task.new(名称, 简介)
#-----------------------------
    名称 = "\\c[5]寻宝与冒险\\c[2]\\i[500]\\i[500]"
    简介 = "\\c[5]寻宝与冒险
\\c[9]任务等级:\\c[2]\\i[500]\\i[500]

\\c[9]任务目标:

\\c[2]驱逐怪物,在未知洞穴内找到宝物。

\\c[9]备注:
我喜欢冒险!你们呢?"

@tasks_info[38] = Game_Task.new(名称, 简介)

#-----------------------------   
    名称 = "\\c[0]恶心的泥人\\i[10]"
    简介 = "\\c[0]恶心的泥人
\\c[9]任务等级:\\i[10]

\\c[9]任务目标:
打倒40只泥人。
完成进度:#{$game_variables[701]}/40只

\\c[9]备注:
软软粘粘的玩意……"

@tasks_info[31] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]消灭巨石人\\i[50]"
    简介 = "\\c[0]消灭巨石人
\\c[9]任务等级:\\i[50]

\\c[9]任务目标:
打倒40只巨石人。
完成进度:#{$game_variables[702]}/40只

\\c[9]备注:
太坚硬了……这家伙难道刀枪不入?试试战斗道具和枪械类武器吧。"

@tasks_info[32] = Game_Task.new(名称, 简介)
#-----------------------------   
    名称 = "\\c[0]变异人研究\\i[100]"
    简介 = "\\c[0]变异人研究
\\c[9]任务等级:\\i[100]

\\c[9]任务目标:
打倒40只变异人。
完成进度:#{$game_variables[703]}/40只

\\c[9]备注:
没有什么地方能大量消灭这些?
等等,你们还是一个个来好点……"

@tasks_info[33] = Game_Task.new(名称, 简介)

    名称 = "\\c[5]七罪武装\\c[2]\\i[500]\\i[500]\\i[500]"
    简介 = "\\c[5]七罪武装
\\c[9]任务等级:\\c[2]\\i[500]\\i[500]\\i[500]

\\c[9]任务目标:
\\c[2]      傲慢0/1
      妒忌0/1
      暴怒0/1
      懒惰0/1
      贪婪0/1
      暴食0/1
      色欲0/1
\\c[9]备注:
这些武器……都在哪啊?!"
@tasks_info[34] = Game_Task.new(名称, 简介)

#-----------------------------   
    名称 = "\\c[6]德尔拉村的大火①\\i[500]"
    简介 = "\\c[6]德尔拉村的大火①
\\c[9]任务等级:\\i[500]

\\c[9]任务目标:
首先要寻找到 \\c[2]多拉明·萨辛斯

\\c[9]备注:
先去德尔拉村的遗址看看?那家伙到底去哪了……"

@tasks_info[35] = Game_Task.new(名称, 简介)

#-----------------------------   
    名称 = "\\c[6]叛乱的人造人①\\i[500]\\i[500]"
    简介 = "\\c[6]叛乱的人造人①
\\c[9]任务等级:\\i[500]\\i[500]

\\c[9]任务目标:
在平原阻击正在集结的人造人部队。

\\c[9]备注:
向南方平原前进!"

@tasks_info[36] = Game_Task.new(名称, 简介)

#-----------------------------   
    名称 = "\\c[6]变异生物来袭①\\i[500]\\i[100]"
    简介 = "\\c[6]变异生物来袭①
\\c[9]任务等级:\\i[500]\\i[100]

\\c[9]任务目标:
参加讨伐队。

\\c[9]备注:
先各处调查准备一番吧。"

@tasks_info[37] = Game_Task.new(名称, 简介)





    #-----------------------------
    # 示例任务3:灵魂线
    #-----------------------------
    #-讲解-
    # 这里用了条件判断,当3号变量大于等于1时,加上“完成”字样,同时变色
    if $game_variables[3] >= 1
      名称 = "\\c[4]灵魂线(完成)"
      item = "\\c[8]灵魂线:#{$game_variables[3]}/1 (完成)"
    else
      名称 = "\\c[2]灵魂线"
      item = "\\c[0]灵魂线:#{$game_variables[3]}/1"
    end
    #-讲解-
    # 预先定义变量,用内嵌表达式插入
    # 最后用了显示图标
    #----
    简介 = "#{名称}

\\c[9]任务目标:
找到埋起来的灵魂线,交给克萝莉亚

#{item}

\\c[0]克萝莉亚:
灵魂线就埋在其中一棵树下,给我好好找\\i[046-Skill03]"
    @tasks_info[99] = Game_Task.new(名称, 简介)

  end
end

#==============================================================================
# ■ Interpreter
#------------------------------------------------------------------------------
#  执行事件命令的解释器。本类在 Game_System 类
# 与 Game_Event 类的内部使用。
#==============================================================================

class Interpreter
  #--------------------------------------------------------------------------
  # ● 接受任务
  #--------------------------------------------------------------------------
  def get_task(id)
    task = $game_party.tasks_info[id]
    return true if (task.nil? or $game_party.current_tasks.include?(task.id))
    $game_party.current_tasks.unshift(task.id)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 获得全部任务
  #--------------------------------------------------------------------------
  def get_all_task
    # 清空当前任务
    $game_party.current_tasks.clear
    for task in $game_party.tasks_info
      next if task.nil?
      $game_party.current_tasks.unshift(task.id)
    end
    return true
  end
  #--------------------------------------------------------------------------
  # ● 完成/放弃任务
  #--------------------------------------------------------------------------
  def finish_task(id)
    task = $game_party.tasks_info[id]
    return true if task.nil?
    $game_party.current_tasks.delete(task.id)
    return true
  end
  #--------------------------------------------------------------------------
  # ● 删除全部任务
  #--------------------------------------------------------------------------
  def finish_all_task
    $game_party.current_tasks.clear
    return true
  end
end

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

class Game_Party
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_writer     :latest_task                  # 上次查看的任务
  #--------------------------------------------------------------------------
  # ● 取得任务资料
  #--------------------------------------------------------------------------
  def tasks_info
    if @tasks_info.nil?
      get_tasks_info
    end
    return @tasks_info
  end
  #--------------------------------------------------------------------------
  # ● 取得当前任务
  #--------------------------------------------------------------------------
  def current_tasks
    if @current_tasks.nil?
      @current_tasks = []
    end
    return @current_tasks
  end
  #--------------------------------------------------------------------------
  # ● 上次查看的任务
  #--------------------------------------------------------------------------
  def latest_task
    if !current_tasks.include?(@latest_task)
      @latest_task = current_tasks[0]
    end
    return @latest_task
  end
end

#==============================================================================
# ■ Game_Task
#------------------------------------------------------------------------------
#  处理任务的类。包含任务的信息。
#==============================================================================

class Game_Task
  attr_accessor   :name                   # 名称
  attr_accessor   :briefing               # 简介
  def initialize(name, briefing)
    @name = name
    @briefing = briefing
  end
  def height
    text = @briefing.clone
    x = 0
    y = 64
    min_y = 0
    # 限制文字处理
    begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    end until text == last_text
    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
    # 为了方便、将 "\\\\" 变换为 "\000"
    text.gsub!(/\\\\/) { "\000" }
    # "\C" 变为 "\001"
    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    # "\I" 变为 "\002"
    text.gsub!(/\\[Ii]/) { "\002" }
    # "\P" 变为 "\003"
    text.gsub!(/\\[Pp]/) { "\003" }
    # c 获取 1 个字 (如果不能取得文字就循环)
    while ((c = text.slice!(/./m)) != nil)
      # \\ 的情况下
      if c == "\000"
        # 还原为本来的文字
        c = "\\"
      end
      # \C[n] 的情况下
      if c == "\001"
        # 更改文字色
        text.sub!(/\[([0-9]+)\]/, "")
        # 下面的文字
        next
      end
      # 图标的情况下
      if c == "\002"
        icon_name = ''
        while ((cha = text.slice!(/./m)) != ']')
          next if cha == '['
          icon_name += cha
        end
        icon = RPG::Cache.icon(icon_name)
        if x + icon.width > 368
          x = 0
          y += [32, min_y].max
          min_y = 0
        end
        x += 28
        next
      end
      # 图片的情况下
      if c == "\003"
        pic_name = ''
        while ((cha = text.slice!(/./m)) != ']')
          next if cha == '['
          pic_name += cha
        end
        pic = RPG::Cache.picture(pic_name)
        if x + pic.width > 368
          x = 0
          y += [32, min_y].max
          min_y = 0
        end
        x += pic.width
        min_y = [pic.height, 32].max
        next
      end
      # 另起一行文字的情况下
      if c == "\n"
        y += [32, min_y].max
        min_y = 0
        x = 0
        # 下面的文字
        next
      end
      # 自动换行处理
      if x + 22 > 368
        y += [32, min_y].max
        min_y = 0
        x = 0
      end
      # x 为要描绘文字的加法运算
      x += 22
    end
    return (y + [32, min_y].max)
  end
  def id
    return $game_party.tasks_info.index(self)
  end
end

#==============================================================================
# ■ Window_Task_Name
#------------------------------------------------------------------------------
#  任务名称显示窗口。
#==============================================================================

class Window_Task_Name < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize(tasks)
    super(0, 0, 240, 480)

    @menu_com = Sprite.new
    @menu_com.bitmap = RPG::Cache.picture("离开游戏")

    @tasks = []
    for id in tasks
      @tasks.push($game_party.tasks_info[id])
    end
    @item_max = tasks.size
    self.contents = Bitmap.new(
    self.width - 32, @item_max == 0 ? 32 : @item_max * 32)



    refresh
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @tasks != []
      for task in @tasks
        draw_item(task)
      end
    else
      draw_blank
    end
  end
  #--------------------------------------------------------------------------
  # ● 描绘项目
  #--------------------------------------------------------------------------
  def draw_item(task)
    text = task.name.clone
    x = 0
    y = @tasks.index(task) * 32
    # 限制文字处理
    begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    end until text == last_text
    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
    # 为了方便、将 "\\\\" 变换为 "\000"
    text.gsub!(/\\\\/) { "\000" }
    # "\\C" 变为 "\001"
    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    # "\I" 变为 "\002"
    text.gsub!(/\\[Ii]/) { "\002" }
    # "\P" 变为 "\003"
    text.gsub!(/\\[Pp]/) { "\003" }
    # c 获取 1 个字 (如果不能取得文字就循环)
    while ((c = text.slice!(/./m)) != nil)
      # \\ 的情况下
      if c == "\000"
        # 还原为本来的文字
        c = "\\"
      end
      # \C[n] 的情况下
      if c == "\001"
        # 更改文字色
        text.sub!(/\[([0-9]+)\]/, "")
        color = $1.to_i
        if color >= 0 and color <= 7
          self.contents.font.color = text_color(color)
        elsif color == 8
          self.contents.font.color = disabled_color
        elsif color == 9
          self.contents.font.color = system_color
        end
        # 下面的文字
        next
      end
      # 图标的情况下
      if c == "\002"
        icon_name = ''
        while ((cha = text.slice!(/./m)) != ']')
          next if cha == '['
          icon_name += cha
        end
        icon = RPG::Cache.icon(icon_name)
        if x + icon.width > self.contents.width
          x = 0
          y += [32, min_y].max
          min_y = 0
        end
        self.contents.blt(x + 4, y + 4, icon, Rect.new(0, 0, 24, 24))
        x += 28
        next
      end
      # 图片的情况下
      if c == "\003"
        pic_name = ''
        while ((cha = text.slice!(/./m)) != ']')
          next if cha == '['
          pic_name += cha
        end
        pic = RPG::Cache.picture(pic_name)
        if x + pic.width > self.contents.width
          x = 0
          y += [32, min_y].max
          min_y = 0
        end
        self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height))
        x += pic.width
        next
      end
      # 描绘文字
      self.contents.draw_text(4 + x, y, 40, 32, c)
      # x 为要描绘文字的加法运算
      x += self.contents.text_size(c).width
    end
  end
  #--------------------------------------------------------------------------
  # ● 描绘空行
  #--------------------------------------------------------------------------
  def draw_blank
    self.contents.font.color = disabled_color
    rect = Rect.new(4, 0, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect, '当前没有任何任务')
  end
  #--------------------------------------------------------------------------
  # ● 获取任务
  #--------------------------------------------------------------------------
  def task
    return @tasks[self.index]
  end
end

#==============================================================================
# ■ Window_Task
#------------------------------------------------------------------------------
#  任务内容显示窗口。
#==============================================================================

class Window_Task < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize(task_id)
    super(240, 0, 400, 480)
    refresh(task_id)
  end
  #--------------------------------------------------------------------------
  # ● 刷新内容
  #--------------------------------------------------------------------------
  def refresh(task_id)
    self.oy = 0
    self.visible = true
    return if task_id.nil?
    task = $game_party.tasks_info[task_id]
    if !task.nil?
      self.contents = Bitmap.new(self.width - 32, task.height)
    else
      self.contents = Bitmap.new(self.width - 32, self.height - 32)
      return
    end
    self.contents.font.color = normal_color
    # 描绘任务内容
    draw_task_info(task)
  end
  #--------------------------------------------------------------------------
  # ● 描绘任务内容
  #--------------------------------------------------------------------------
  def draw_task_info(task)
    # 记录文字x坐标
    x = 0
    # 记录文字y坐标
    y = 0
    # 记录换行时y坐标最小加值
    min_y = 0
    self.contents.font.color = normal_color
    # 描绘任务简介
    text = task.briefing.clone
    # 限制文字处理
    begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    end until text == last_text
    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
    end
    # 为了方便、将 "\\\\" 变换为 "\000"
    text.gsub!(/\\\\/) { "\000" }
    # "\C" 变为 "\001"
    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    # "\I" 变为 "\002"
    text.gsub!(/\\[Ii]/) { "\002" }
    # "\P" 变为 "\003"
    text.gsub!(/\\[Pp]/) { "\003" }
    # c 获取 1 个字 (如果不能取得文字就循环)
    while ((c = text.slice!(/./m)) != nil)
      # \\ 的情况下
      if c == "\000"
        # 还原为本来的文字
        c = "\\"
      end
      # \C[n] 的情况下
      if c == "\001"
        # 更改文字色
        text.sub!(/\[([0-9]+)\]/, "")
        color = $1.to_i
        if color >= 0 and color <= 7
          self.contents.font.color = text_color(color)
        elsif color == 8
          self.contents.font.color = disabled_color
        elsif color == 9
          self.contents.font.color = system_color
        end
        # 下面的文字
        next
      end
      # 图标的情况下
      if c == "\002"
        icon_name = ''
        while ((cha = text.slice!(/./m)) != ']')
          next if cha == '['
          icon_name += cha
        end
        icon = RPG::Cache.icon(icon_name)
        if x + icon.width > self.contents.width
          x = 0
          y += [32, min_y].max
          min_y = 0
        end
        self.contents.blt(x + 4, y + 4, icon, Rect.new(0, 0, 24, 24))
        x += 28
        next
      end
      # 图片的情况下
      if c == "\003"
        pic_name = ''
        while ((cha = text.slice!(/./m)) != ']')
          next if cha == '['
          pic_name += cha
        end
        pic = RPG::Cache.picture(pic_name)
        if x + pic.width > self.contents.width
          x = 0
          y += [32, min_y].max
          min_y = 0
        end
        self.contents.blt(x + 4, y, pic, Rect.new(0, 0, pic.width, pic.height))
        x += pic.width
        min_y = [pic.height, 32].max
        next
      end
      # 另起一行文字的情况下
      if c == "\n"
        y += [32, min_y].max
        min_y = 0
        x = 0
        # 下面的文字
        next
      end
      # 自动换行处理
      if x + self.contents.text_size(c).width > self.contents.width
        y += [32, min_y].max
        min_y = 0
        x = 0
      end
      # 描绘文字
      self.contents.draw_text(4 + x, y, 40, 32, c)
      # x 为要描绘文字的加法运算
      x += self.contents.text_size(c).width
    end
  end
end

#==============================================================================
# ■ Scene_Task
#------------------------------------------------------------------------------
#  处理任务画面的类。
#==============================================================================

class Scene_Task
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    # 刷新任务资料
    $game_party.get_tasks_info
    # 生成任务名称窗口
    @task_names_window = Window_Task_Name.new($game_party.current_tasks)
    @task_names_window.active = true
    if $game_party.current_tasks != []
      @task_names_window.index = $game_party.current_tasks.index($game_party.latest_task)
    end
    # 生成任务内容窗口
    @task_info_window = Window_Task.new($game_party.latest_task)
    @task_info_window.active = true
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果画面被切换的话就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放窗口
    @task_names_window.dispose
    @task_info_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新窗口
    @task_names_window.update
    @task_info_window.update
    update_task_names_window
  end
  #--------------------------------------------------------------------------
  # ● 刷新任务名称窗口
  #--------------------------------------------------------------------------
  def update_task_names_window
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 这里设置返回的场景,返回地图是Scene_Map.new,菜单是Scene_Menu.new(任务界面index)
      $scene = Scene_Menu.new
      #$scene = Scene_Map.new
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 无任务可显示的话
      if @task_names_window.task == nil
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 如果光标没有移动的话,翻页
      if $game_party.latest_task == @task_names_window.task.id
        if @task_info_window.oy + @task_info_window.height - 32 > @task_info_window.contents.height
          @task_info_window.oy = 0
        else
          @task_info_window.oy += 480-32
        end
        if @task_info_window.contents.height > @task_info_window.height - 32
          # 演奏翻页 SE
          Audio.se_play(CHANGE_PAGE_SE)
        end
      else
        @task_info_window.refresh(@task_names_window.task.id)
        $game_party.latest_task = @task_names_window.task.id
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
      end
    end
  end
end

# 生成帮助窗口
[/pre]

点评

我已在 脚本 增加图片 就是 不显示 。。咋办  发表于 2016-12-30 15:04
------落尽红樱君不见,轻绘梨花泪沾衣。~~~
梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-1-1 19:20:41 | 显示全部楼层
试一下
  1. \\p[001-Fighter01.png]
复制代码
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部