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

Project1

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

[已经解决] Claimh的任务脚本怎么使用的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
173 小时
注册时间
2010-10-6
帖子
43
跳转到指定楼层
1
发表于 2015-2-27 15:38:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1星屑
本帖最后由 35113329 于 2015-2-27 19:53 编辑

1,这个系统怎么做主线任务2,怎么在任务系统的页面换一个背景3,怎么使任务在作者想要其出现时出现,想要其消失时消失(类似空之轨迹的支线任务时限)。谢谢大家!马上就开学了,赶工中......

http://6rweb.sinaapp.com/articles/5129 脚本就是这个整合系统里的任务脚本

最佳答案

查看完整内容

改好了,但是声明如下: 1.你给我的脚本应该是主站那个超级集合,我下了你的脚本,但是没有素材,所以一进去就报错,所以我没能测试使用结果,有问题你就回复我。 2.脚本我只改了“任务系统公会”这个脚本,其他地方没改,改动的地方我加了很明显的符号。 3.图片放在Graphics/system这个文件夹下 4.图片名必须为taskboard,你给我的图片是jpg的,我没能测试VA能不能直接显示JPG,我一般都是用PNG的。 5.因为没得测试,有些窗口我 ...

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
2
发表于 2015-2-27 15:38:51 | 只看该作者
35113329 发表于 2015-2-28 09:47
话说设定初期任务的开关是打开的前提下怎么游戏里的任务列表还是一片空白?话说在事件里call_guild打开还 ...

改好了,但是声明如下:
1.你给我的脚本应该是主站那个超级集合,我下了你的脚本,但是没有素材,所以一进去就报错,所以我没能测试使用结果,有问题你就回复我。
2.脚本我只改了“任务系统公会”这个脚本,其他地方没改,改动的地方我加了很明显的符号。
3.图片放在Graphics/system这个文件夹下
4.图片名必须为taskboard,你给我的图片是jpg的,我没能测试VA能不能直接显示JPG,我一般都是用PNG的。
5.因为没得测试,有些窗口我不知道是干嘛的,为了显示图片,我把他们的透明度改为0了,如果你发现哪个窗口是需要显示默认那种框框的,找到那个窗口,把我加的那句透明度为0的代码删掉就可以了。
脚本如下:
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-4-gld 任务系统【公会】             by Claimh  汉化:疾风怒涛
  3. #------------------------------------------------------------------------------
  4. #【事件脚本操作】
  5. #◆公会呼出办法
  6. #  call_guild(公会ID)
  7. #  ・普通的公会的公会ID为0或直接省略。
  8. #  ・可以设定只能由特定公会发布的任务,运用时请对公会ID请设置合适的标志值。  
  9. #    除了可以添加普通公会任务外,StGuild类可中特别指定某任务由某特定公会发布。
  10. #==============================================================================

  11. class Scene_Guild < Scene_MenuBase
  12.   #--------------------------------------------------------------------------
  13.   # ● 准备
  14.   #--------------------------------------------------------------------------
  15.   def prepare(id=0)
  16.     @id = id
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 开始处理
  20.   #--------------------------------------------------------------------------
  21.   def start
  22.     super
  23.     ##############################tan12345改动开始
  24.     create_scene_bg
  25.     ##############################tan12345改动结束
  26.     create_cation_window
  27.     create_cmd_window
  28.     create_list_window
  29.     create_info_window
  30.     create_rank_window
  31.     create_select_window
  32.     create_result_window
  33.     setup_windows
  34.   end
  35.   ##############################tan12345改动开始
  36.   #--------------------------------------------------------------------------
  37.   # ● 背景图片生成
  38.   #--------------------------------------------------------------------------
  39.   def create_scene_bg
  40.     @bg_sprite = Sprite.new
  41.     @bg_sprite.bitmap = Cache.system("taskboard")
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 更新画面
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     super
  48.     @bg_sprite.update
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 释放所有窗口
  52.   #--------------------------------------------------------------------------
  53.   def dispose_all_windows
  54.     super
  55.     @bg_sprite.dispose
  56.   end
  57.   ##############################tan12345改动结束
  58.   #--------------------------------------------------------------------------
  59.   # ● 命令窗口生成
  60.   #--------------------------------------------------------------------------
  61.   def create_cmd_window
  62.     @cmd = Window_GuildCmd.new
  63.     ##############################tan12345改动开始
  64.     #这句话是用来使窗口变透明,以便显示背景图片
  65.     @cmd.opacity = 0  
  66.     ##############################tan12345改动结束
  67.     @cmd.set_handler(:ok,     method(:cmd_ok))
  68.     @cmd.set_handler(:cancel, method(:return_scene))
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 列表窗口生成
  72.   #--------------------------------------------------------------------------
  73.   def create_list_window
  74.     @list = Window_QuestList.new(-1, @id)
  75.     ##############################tan12345改动开始
  76.     #这句话是用来使窗口变透明,以便显示背景图片
  77.     @list.opacity = 0  
  78.     ##############################tan12345改动结束
  79.     @list.set_handler(:ok,     method(:list_ok))
  80.     @list.set_handler(:cancel, method(:list_cancel))
  81.     @list.set_handler(:cation, method(:list_cation))
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● Info窗口生成
  85.   #--------------------------------------------------------------------------
  86.   def create_info_window
  87.     @info = Window_QuestInfo.new
  88.     ##############################tan12345改动开始
  89.     #这句话是用来使窗口变透明,以便显示背景图片
  90.     @info.opacity = 0  
  91.     ##############################tan12345改动结束
  92.   end
  93.   #----------------------------------------------------------------------------
  94.   # ● Rank窗口生成
  95.   #----------------------------------------------------------------------------
  96.   def create_rank_window
  97.     @rank = Window_QuestRank.new(true)
  98.     ##############################tan12345改动开始
  99.     #这句话是用来使窗口变透明,以便显示背景图片
  100.     @rank.opacity = 0  
  101.     ##############################tan12345改动结束
  102.   end
  103.   #----------------------------------------------------------------------------
  104.   # ● 选择窗口生成
  105.   #----------------------------------------------------------------------------
  106.   def create_select_window
  107.     @select = Window_GuildSelect.new
  108.     ##############################tan12345改动开始
  109.     #这句话是用来使窗口变透明,以便显示背景图片
  110.     @select.opacity = 0  
  111.     ##############################tan12345改动结束
  112.     @select.set_handler(:ok,     method(:select_ok))
  113.     @select.set_handler(:cancel, method(:select_cancel))
  114.   end
  115.   #----------------------------------------------------------------------------
  116.   # ● 警告窗口生成
  117.   #----------------------------------------------------------------------------
  118.   def create_cation_window
  119.     @cation = Window_GuildCation.new
  120.     ##############################tan12345改动开始
  121.     #这句话是用来使窗口变透明,以便显示背景图片
  122.     @cation.opacity = 0  
  123.     ##############################tan12345改动结束
  124.     @cation.set_handler(:ok,     method(:cation_cancel))
  125.     @cation.set_handler(:cancel, method(:cation_cancel))
  126.   end
  127.   #----------------------------------------------------------------------------
  128.   # ● 结果窗口生成
  129.   #----------------------------------------------------------------------------
  130.   def create_result_window
  131.     @result = Window_QuestResult.new
  132.     ##############################tan12345改动开始
  133.     #这句话是用来使窗口变透明,以便显示背景图片
  134.     @result.opacity = 0  
  135.     ##############################tan12345改动结束
  136.     @result.set_handler(:ok,     method(:result_cancel))
  137.     @result.set_handler(:cancel, method(:result_cancel))
  138.   end
  139.   #----------------------------------------------------------------------------
  140.   # ● 设置
  141.   #----------------------------------------------------------------------------
  142.   def setup_windows
  143.     @list.help_window = @info
  144.     @cmd.help_window = @list
  145.     @cmd.activate
  146.     if Quest::GUILD_LIST.size <= 1
  147.       @cmd.hide
  148.       @cmd.deactivate
  149.       @list.activate
  150.     end
  151.   end
  152.   #----------------------------------------------------------------------------
  153.   # ● 种类选择
  154.   #----------------------------------------------------------------------------
  155.   def cmd_ok
  156.     case Quest::GUILD_LIST[@cmd.index]
  157.     when Quest::REPORT, Quest::SHOP;  @list.activate
  158.     when Quest::EXIT;   return_scene
  159.     end
  160.   end
  161.   #----------------------------------------------------------------------------
  162.   # ● 列表选择取消
  163.   #----------------------------------------------------------------------------
  164.   def list_cancel
  165.     @cmd.activate
  166.     return_scene if Quest::GUILD_LIST.size <= 1
  167.   end
  168.   #----------------------------------------------------------------------------
  169.   # ● 选择不可警告
  170.   #----------------------------------------------------------------------------
  171.   def list_cation
  172.     @list.deactivate
  173.     if Quest::GUILD_LIST[@cmd.index] == Quest::SHOP and $game_system.quest.over_playing?
  174.       @cation.set_text("进行中的任务数\\n已达上限数")
  175.     else
  176.       @cation.set_text(@list.cause)
  177.       cation_cancel unless @cation.active
  178.     end
  179.   end
  180.   #----------------------------------------------------------------------------
  181.   # ● 表选择
  182.   #----------------------------------------------------------------------------
  183.   def list_ok
  184.     @select.select_start(Quest::GUILD_LIST[@cmd.index])
  185.   end
  186.   #----------------------------------------------------------------------------
  187.   # ● 警告取消
  188.   #----------------------------------------------------------------------------
  189.   def cation_cancel
  190.     @cation.hide
  191.     @list.activate
  192.   end
  193.   #----------------------------------------------------------------------------
  194.   # ● Y/N选择取消
  195.   #----------------------------------------------------------------------------
  196.   def select_cancel
  197.     @list.activate
  198.     @select.hide
  199.   end
  200.   #----------------------------------------------------------------------------
  201.   # ● Y/N选择
  202.   #----------------------------------------------------------------------------
  203.   def select_ok
  204.     case @select.index
  205.     when 0
  206.       case Quest::GUILD_LIST[@cmd.index]
  207.       when Quest::REPORT; quest_report
  208.       when Quest::SHOP;   quest_start
  209.       else; p "异常: Scene_Guild.update_select#{Quest::GUILD_LIST[@cmd.index]}"
  210.       end
  211.     else
  212.       @list.activate
  213.     end
  214.     @select.hide
  215.   end
  216.   #----------------------------------------------------------------------------
  217.   # ● 框架更新
  218.   #----------------------------------------------------------------------------
  219.   def result_cancel
  220.     @result.hide
  221.     @list.data_refresh(Quest::REPORT, true, @list.index)
  222.     @list.activate
  223.   end
  224.   #----------------------------------------------------------------------------
  225.   # ● 任务接受
  226.   #----------------------------------------------------------------------------
  227.   def quest_start
  228.     if @list.current_item.commission > 0 # 缴纳手续费的场合Shop-SE
  229.       Sound.play_shop
  230.     else
  231.       Sound.play_ok
  232.     end
  233.     @list.quest_start
  234.     @rank.refresh
  235.     @list.activate
  236.   end
  237.   #----------------------------------------------------------------------------
  238.   # ● 任务报告
  239.   #----------------------------------------------------------------------------
  240.   def quest_report
  241.     if @list.quest_clear?(@list.index)
  242.       @list.quest_clear
  243.       refresh_result
  244.     elsif @list.quest_fail?(@list.index)
  245.       @list.quest_fail
  246.       refresh_result
  247.     else
  248.       Sound.play_buzzer
  249.       @cation.set_text(@list.cause)
  250.     end
  251.   end
  252.   def refresh_result
  253.     @result.refresh(@list.current_item)
  254.     @result.show
  255.     @result.activate
  256.     @rank.refresh
  257.   end
  258. end


  259. class Window_GuildCmd < Window_Selectable
  260.   #--------------------------------------------------------------------------
  261.   # ● object初期化
  262.   #--------------------------------------------------------------------------
  263.   def initialize
  264.     @commands = Quest.guild_name
  265.     super(0, 0, Graphics.width, fitting_height(1))
  266.     refresh
  267.     self.index = 0
  268.   end
  269.   #--------------------------------------------------------------------------
  270.   # ● 位数取得
  271.   #--------------------------------------------------------------------------
  272.   def col_max
  273.     @commands.size
  274.   end
  275.   #--------------------------------------------------------------------------
  276.   # ● 项目数取得
  277.   #--------------------------------------------------------------------------
  278.   def item_max
  279.     @commands.size
  280.   end
  281.   #--------------------------------------------------------------------------
  282.   # ● 项目描画
  283.   #--------------------------------------------------------------------------
  284.   def draw_item(index)
  285.     draw_text(item_rect_for_text(index), @commands[index], 1)
  286.   end
  287.   #--------------------------------------------------------------------------
  288.   # ● 帮助文本更新
  289.   #--------------------------------------------------------------------------
  290.   def update_help
  291.     @help_window.data_refresh(Quest::GUILD_LIST[@index])
  292.     @help_window.update_help
  293.   end
  294. end


  295. class Window_GuildCation < Window_Selectable
  296.   #--------------------------------------------------------------------------
  297.   # ● object初期化
  298.   #--------------------------------------------------------------------------
  299.   def initialize
  300.     super(200, 200, Graphics.width-200-32, fitting_height(2))
  301.     self.z = 500
  302.     hide
  303.     self.pause = true
  304.   end
  305.   #--------------------------------------------------------------------------
  306.   # ● 文本表示
  307.   #--------------------------------------------------------------------------
  308.   def set_text(text)
  309.     return if text == ""
  310.     self.contents.clear
  311.     Quest.draw_quest_text(self.contents, 0, 0, contents_width, line_height, text)
  312.     show
  313.     activate
  314.   end
  315. end


  316. class Window_GuildSelect < Window_Selectable
  317.   #--------------------------------------------------------------------------
  318.   # ● object初期化
  319.   #--------------------------------------------------------------------------
  320.   def initialize
  321.     super(200, 200, Graphics.width-200-32, fitting_height(2))
  322.     self.z = 500
  323.     hide
  324.   end
  325.   #--------------------------------------------------------------------------
  326.   # ● 位数取得
  327.   #--------------------------------------------------------------------------
  328.   def col_max
  329.     return 2
  330.   end
  331.   #--------------------------------------------------------------------------
  332.   # ● 项目数取得
  333.   #--------------------------------------------------------------------------
  334.   def item_max
  335.     return 2
  336.   end
  337.   #--------------------------------------------------------------------------
  338.   # ● 任务接受
  339.   #--------------------------------------------------------------------------
  340.   def select_start(type)
  341.     case type
  342.     when Quest::REPORT; text = "你要报告这个任务吗??"
  343.     when Quest::SHOP;   text = "你要接受这个任务吗?"
  344.     else; return
  345.     end
  346.    
  347.     self.index = 1
  348.     self.contents.clear
  349.    
  350.     draw_text(0, 0, contents_width, line_height, text)
  351.     draw_text(item_rect_for_text(0), "是", 1)
  352.     draw_text(item_rect_for_text(1), "否", 1)
  353.     activate.show
  354.   end
  355.   #--------------------------------------------------------------------------
  356.   # ● 项目描画矩形取得
  357.   #--------------------------------------------------------------------------
  358.   def item_rect(index)
  359.     rect = Rect.new
  360.     rect.width = item_width
  361.     rect.height = item_height
  362.     rect.x = index % col_max * (item_width + spacing)
  363.     rect.y = index / col_max * item_height + item_height
  364.     rect
  365.   end
  366. end


复制代码
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
600
在线时间
1118 小时
注册时间
2012-12-24
帖子
831
3
发表于 2015-2-27 18:58:34 | 只看该作者
不把脚本放上来么..

点击签名档去一个神奇的地方
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
173 小时
注册时间
2010-10-6
帖子
43
4
 楼主| 发表于 2015-2-27 19:54:13 | 只看该作者
江户川洛奇 发表于 2015-2-27 18:58
不把脚本放上来么..

http://6rweb.sinaapp.com/articles/5129 脚本就是这个整合系统里的任务脚本
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
900 小时
注册时间
2012-11-13
帖子
893
5
发表于 2015-2-27 20:02:11 | 只看该作者
给你个汉化版自己看吧
https://rpg.blue/thread-358534-1-1.html

评分

参与人数 1星屑 +15 收起 理由
35113329 + 15 塞糖

查看全部评分

废弃
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
6
发表于 2015-2-27 22:56:48 | 只看该作者
1.有汉化的,楼上给了地址,我就不重复了
2.任务背景替换成图片需要一点脚本知识,这里不好说,如果你有需要,可以把你的图片名、图片路径写好,把你的任务系统整个工程发上来(只有任务系统的工程),我可以帮你改
3.时效性的支线任务这个好像暂时做不到,你可以考虑在系统进行到一定程度时打开某个开关,然后某个开关打开时,可以接取这个任务,过了一定剧情,开关关闭,任务不可以接取或任务失败。
这个脚本和SideView横版战斗系统有点小冲突(会造成战斗时普通攻击杀死的怪物不算击杀数),注意使用
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
173 小时
注册时间
2010-10-6
帖子
43
7
 楼主| 发表于 2015-2-28 09:47:02 | 只看该作者
本帖最后由 35113329 于 2015-2-28 10:28 编辑
tan12345 发表于 2015-2-27 22:56
1.有汉化的,楼上给了地址,我就不重复了
2.任务背景替换成图片需要一点脚本知识,这里不好说,如果你有需 ...


话说设定初期任务的开关是打开的前提下怎么游戏里的任务列表还是一片空白?话说在事件里call_guild打开还是正常的呢,一到菜单里就一片空了

图片是背景,左面阴影是列表 右面是任务描述,谢谢!

taskboard.jpg (219.85 KB, 下载次数: 63)

taskboard.jpg

Scripts.rar

523.94 KB, 下载次数: 110

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
173 小时
注册时间
2010-10-6
帖子
43
8
 楼主| 发表于 2015-3-1 12:40:17 | 只看该作者
tan12345 发表于 2015-2-27 15:38
改好了,但是声明如下:
1.你给我的脚本应该是主站那个超级集合,我下了你的脚本,但是没有素材,所以一 ...

最后一个问题,要是想改变任务中的任务描述 委托人这些东西的大小和坐标的话,应该在哪里改?
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
9
发表于 2015-3-1 19:29:57 | 只看该作者
35113329 发表于 2015-3-1 12:40
最后一个问题,要是想改变任务中的任务描述 委托人这些东西的大小和坐标的话,应该在哪里改? ...

"任务系统列表"这个脚本,def refresh_text这个方法下面可以更改(可以通过全局搜索def refresh_text来找到这一个方法)
拿委托人这一字眼举例:
原语句:draw_text(self.ox+20, self.oy+y, 120, line_height, "委托人"),其中self.ox+20是指x坐标,你把他改成self.ox+120就能看到效果。
委托人下面还有一行:draw_text(self.ox+120, self.oy+y, 240, line_height, Quest.conv_text(@data.client)),这个是显示委托人是谁的,你把self.ox+120改成self.ox+220,这样,委托人这一行相当于是整体右移了100单位。
字体大小的话,我不知道默认字体大小是多少,你可以在你想要更改字体大小的draw_text()之前加一行:
contents.font.size = 具体数字大小,比如18,这样你就知道字体改变多少了。
当然,字体大小更改后,在draw_text()的下一行记得contents.font.size = Font.default_size使字体还原成默认大小就好。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
173 小时
注册时间
2010-10-6
帖子
43
10
 楼主| 发表于 2015-3-1 20:33:15 | 只看该作者
tan12345 发表于 2015-3-1 19:29
"任务系统列表"这个脚本,def refresh_text这个方法下面可以更改(可以通过全局搜索def refresh_text来找 ...

对了,任务描述这些应该在哪里改呢?怎么改了好几个也没动静
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 17:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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