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

Project1

 找回密码
 注册会员
搜索
楼主: 876加几
打印 上一主题 下一主题

[原创发布] 自己亲手写的任务系统脚本 Ver 1.0

[复制链接]

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
跳转到指定楼层
1
发表于 2013-10-27 18:41:40 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 876加几 于 2015-8-27 22:41 编辑

本系统纯属原创。
先看看脚本吧:
老版本脚本
Ver 0.2版(修正粗体字Bug,已关闭下载):
注意:由于部分人找不到脚本,所以此红字作为指引,下面是下载地址:
Ver 1.0版(大更新,裁图在下面)
任务系统 Ver 1.0.zip (207.01 KB, 下载次数: 789)
使用方法:                #注:[]里的全是选填内容
添加新任务:
  1. $game_temp.new_task(名称, 帮助文本[, 难度, 得到金钱, 得到物品, 得到武器, 得到防具, 物品数量, 武器数量, 防具数量])
复制代码
完成任务:
  1. $game_temp.final_task(任务ID[, 帮助文本分行])
复制代码
失效任务:
  1. $game_temp.lose_task(任务ID[, 帮助文本分行])
复制代码
调用任务画面:
  1. $scene = Scene_Task.new
复制代码
Ver 1.0大版本更新,以往的方法将不再支持!
Ver 1.0 添加新任务:
RUBY 代码复制
  1. $game_temp.new_task(name, help, [difficulty, gold, items, weapons, armors])
  2. =begin
  3. name       : 名称
  4. help       : 帮助
  5. difficulty : 难度,默认为 1
  6. gold       : 赏金,默认为 0(没有赏金)
  7. items      : 物品,格式为 {id1 => 数量, id2 => 数量, ...},默认为 {}(没有物品奖励)
  8. weapons(武器) 和 armors(防具)设置方法等同于物品。
  9. =end

Ver 1.0 完成任务:
RUBY 代码复制
  1. $game_temp.final_task(id)

Ver 1.0 任务失败:
RUBY 代码复制
  1. $game_temp.lose_task(id)

由于 Ver 1.0 的任务系统物品是两行并列的,所以建议物品汉字长度要小于4,否则会发生堆叠。
注意!如果游戏已经有存档了就别添这个脚本了,否则存档必须全删除,若既有存档还不删除存档的话,读档时就会:出错!

裁图(Ver 0.1):

裁图(Ver 0.2):

裁图(Ver 1.0):

点评

请补充上传工程,因为论坛原因脚本会变异。  发表于 2013-11-9 12:28

评分

参与人数 4星屑 +476 收起 理由
W.Q.C. + 26 ~
804173948 + 15 凑整+支持0.0
kuerlulu + 10 好长!
怪蜀黍 + 425 奖励条例!

查看全部评分

呃,发糖贴好冷清呀!

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
2
 楼主| 发表于 2013-11-3 19:36:25 | 显示全部楼层
修复Bug更新自顶。
修复任务多的话显示不全问题;
修复向下移动任务信息部分丢失问题。

点评

大佬,这个问题发现还在啊  发表于 2020-9-17 13:24
empty是清空,一般游戏皮肤不会随意换所以只刷新内容refresh即可无需update,我说无需update不是我不知道update的作用而是在功能够用的前提下简化代码  发表于 2013-11-8 18:14
已经找到问题了,为防止连贴已编辑旧回复  发表于 2013-11-6 21:45
呃,发糖贴好冷清呀!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
3
 楼主| 发表于 2015-7-23 10:21:55 | 显示全部楼层
Ver 1.0 大版本更新置顶!
更新内容:
1.章节分割显示;
2.设置物品、武器、防具优化;
3.缩小字体,不怕字太长缩微;
4.任务完成、失败颜色。
呃,发糖贴好冷清呀!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
4
 楼主| 发表于 2015-10-6 22:01:57 | 显示全部楼层
只能加进命令栏中。
RUBY 代码复制
  1. #Scene_Menu 替换19~27行
  2.     # 生成命令窗口
  3.     s1 = $data_system.words.item
  4.     s2 = $data_system.words.skill
  5.     s3 = $data_system.words.equip
  6.     s4 = "状态"
  7.     s5 = "存档"
  8.     s6 = "结束游戏"
  9.     @command_window = Window_Command.new(160, [s1, s2, s3, s4,"任务" , s5, s6])
RUBY 代码复制
  1. #Scene_Menu 注释或删除一者即可,注释或删除步数窗口请修改44行y数值为320
  2.     # 生成游戏时间窗口
  3.     @playtime_window = Window_PlayTime.new
  4.     @playtime_window.x = 0
  5.     @playtime_window.y = 224
  6.     # 生成步数窗口
  7.     @steps_window = Window_Steps.new
  8.     @steps_window.x = 0
  9.     @steps_window.y = 320
RUBY 代码复制
  1. #Scene_Menu 替换105~169行:
  2.   def update_command
  3.     # 按下 B 键的情况下
  4.     if Input.trigger?(Input::B)
  5.       # 演奏取消 SE
  6.       $game_system.se_play($data_system.cancel_se)
  7.       # 切换的地图画面
  8.       $scene = Scene_Map.new
  9.       return
  10.     end
  11.     # 按下 C 键的情况下
  12.     if Input.trigger?(Input::C)
  13.       # 同伴人数为 0、存档、游戏结束以外的场合
  14.       if $game_party.actors.size == 0 and @command_window.index < 4
  15.         # 演奏冻结 SE
  16.         $game_system.se_play($data_system.buzzer_se)
  17.         return
  18.       end
  19.       # 命令窗口的光标位置分支
  20.       case @command_window.index
  21.       when 0  # 物品
  22.         # 演奏确定 SE
  23.         $game_system.se_play($data_system.decision_se)
  24.         # 切换到物品画面
  25.         $scene = Scene_Item.new
  26.       when 1  # 特技
  27.         # 演奏确定 SE
  28.         $game_system.se_play($data_system.decision_se)
  29.         # 激活状态窗口
  30.         @command_window.active = false
  31.         @status_window.active = true
  32.         @status_window.index = 0
  33.       when 2  # 装备
  34.         # 演奏确定 SE
  35.         $game_system.se_play($data_system.decision_se)
  36.         # 激活状态窗口
  37.         @command_window.active = false
  38.         @status_window.active = true
  39.         @status_window.index = 0
  40.       when 3  # 状态
  41.         # 演奏确定 SE
  42.         $game_system.se_play($data_system.decision_se)
  43.         # 激活状态窗口
  44.         @command_window.active = false
  45.         @status_window.active = true
  46.         @status_window.index = 0
  47.       when 4  # 任务
  48.         $scene = Scene_Task.new
  49.       when 5  # 存档
  50.         # 禁止存档的情况下
  51.         if $game_system.save_disabled
  52.           # 演奏冻结 SE
  53.           $game_system.se_play($data_system.buzzer_se)
  54.           return
  55.         end
  56.         # 演奏确定 SE
  57.         $game_system.se_play($data_system.decision_se)
  58.         # 切换到存档画面
  59.         $scene = Scene_Save.new
  60.       when 6  # 游戏结束
  61.         # 演奏确定 SE
  62.         $game_system.se_play($data_system.decision_se)
  63.         # 切换到游戏结束画面
  64.         $scene = Scene_End.new
  65.       end
  66.       return
  67.     end
  68.   end
呃,发糖贴好冷清呀!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

矿工

梦石
0
星屑
134
在线时间
898 小时
注册时间
2012-10-5
帖子
1535
5
 楼主| 发表于 2016-1-3 10:03:28 | 显示全部楼层
本帖最后由 876加几 于 2016-1-3 10:05 编辑
赤之新月 发表于 2016-1-2 23:26
请问能不能让失败的任务重启,或者删除失败的任务?


重启失败的任务:
RUBY 代码复制
  1. $game_taskdata.lose_tasks.delete(id)
  2. $game_taskdata.task_command_name[id].delete("(已失败)")
  3. $game_taskdata.task_help[id].delete("(已失败)")
  4. #id:任务序列号

删除失败的任务会有很多bug

点评

感谢~=3=  发表于 2016-1-3 12:34
呃,发糖贴好冷清呀!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 10:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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