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

Project1

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

[原创发布]VX版 得失物品自动提示

 关闭 [复制链接]

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

跳转到指定楼层
1
发表于 2008-1-11 10:11:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
1、标题:VX版 得失物品自动提示

2、作者:柳柳

3、摘要:RMVX下的得失物品自动提示,提示中按确定可以加速跳过。注意一点是如果你用VX自带的宝箱,那么宝箱事件里面最后一句话请删掉。

4、首发网址:http://z.66rpg.com/dispbbs.asp?b ... p;star=1&page=1

5、教学分类:RMVX、脚本、地图、表现效果

6、发布日期:2008/1/11

7、适用人群:任何RPG和SRPG制作者,为了统一游戏效果并追求美观的作者,脚本初级学习者。

8、通用度:★★★★★

9、技术应用的复杂度:20

10、技术学习的理解难度:35

11、范例工程:- -b 上传在自己小窝了,需要请自取:http://z.66rpg.com/dispbbs.asp?boardid=9&id=30&star=1&page=1 建议直接新建工程测试比较快。

12、关键字:得失、物品、武器、防具、金钱、自动、提示、统一界面、窗口创建、脚本入门

13、作者的话:这个是RMVX的得失物品自动提示,和XP版的差不太多,不过经历这么久时间,我已经比原来聪明点了,算法不仅规范一些(配合RGSS2.0吗),也加了一些小的人性化设定。只是窗口界面还不是很好看,以后可以根据自己兴趣慢慢改吧。

14、教学正文:

这个的制作过程很简单:

~1、首先确定得失物品会有几个参数,我这里设定为三个。

~2、根据这三个参数制作一个Window新类,用来创建窗口。不要把代码分散写在函数里面,不好维护。

~3、将获得物品的刷新部分代码写在Game_Interpreter里面,新定义一个函数。

~4、调整获得物品的那几个函数,加入一行自动显示的代码即可。



具体代码如下(提示,复制脚本请用word中转):

  1. #==============================================================================
  2. # ■  Game_Interpreter
  3. #------------------------------------------------------------------------------
  4. #  执行事件命令的解释器。本类在 Game_System 类
  5. # 与 Game_Event 类的内部使用。
  6. #==============================================================================
  7. class Game_Interpreter
  8.   #--------------------------------------------------------------------------
  9.   # ● 得失物品自动提示的刷新时间控制
  10.   #--------------------------------------------------------------------------
  11.   def call_6RgetItem(para1, para2 = nil, para3 = nil)
  12.     temp_window = Window_Gain_Item.new(para1, para2, para3)
  13.     Sound.play_shop
  14.     for i in 0..120
  15.       Graphics.update
  16.       Input.update
  17.       if Input.trigger?(Input::C) or Input.trigger?(Input::B)
  18.         Sound.play_cancel
  19.         break
  20.       end
  21.     end
  22.     for i in 0..15
  23.       temp_window.opacity -= 20
  24.       temp_window.contents_opacity -= 16
  25.       temp_window.update
  26.       Graphics.update
  27.     end   
  28.     temp_window.dispose
  29.     temp_window = nil
  30.   end  
  31.   #--------------------------------------------------------------------------
  32.   # ● 增减金钱
  33.   #--------------------------------------------------------------------------
  34.   def command_125
  35.     value = operate_value(@params[0], @params[1], @params[2])
  36.     $game_party.gain_gold(value)
  37.     call_6RgetItem("gold", value)
  38.     return true
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 增减物品
  42.   #--------------------------------------------------------------------------
  43.   def command_126
  44.     value = operate_value(@params[1], @params[2], @params[3])
  45.     $game_party.gain_item($data_items[@params[0]], value)
  46.     $game_map.need_refresh = true
  47.     call_6RgetItem("item", $data_items[@params[0]], value)
  48.     return true
  49.   end  
  50.   #--------------------------------------------------------------------------
  51.   # ● 增减武器
  52.   #--------------------------------------------------------------------------
  53.   def command_127
  54.     value = operate_value(@params[1], @params[2], @params[3])
  55.     $game_party.gain_item($data_weapons[@params[0]], value, @params[4])
  56.     call_6RgetItem("item", $data_weapons[@params[0]], value)
  57.     return true
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 增减防具
  61.   #--------------------------------------------------------------------------
  62.   def command_128
  63.     value = operate_value(@params[1], @params[2], @params[3])
  64.     $game_party.gain_item($data_armors[@params[0]], value, @params[4])
  65.     call_6RgetItem("item", $data_armors[@params[0]], value)
  66.     return true
  67.   end
  68. end

  69. #==============================================================================
  70. # ■ Window_Gain_Item
  71. #------------------------------------------------------------------------------
  72. #  显示获得物品的窗口。
  73. #==============================================================================

  74. class Window_Gain_Item < Window_Base
  75.   #--------------------------------------------------------------------------
  76.   # ● 初始化窗口
  77.   #--------------------------------------------------------------------------
  78.   def initialize(para1, para2 = nil, para3 = nil)
  79.     super(0, 0, 160, WLH + 32)
  80.     self.z = 10000
  81.     case para1
  82.     when "item"
  83.       str = "获得"
  84.       if para3 < 0 then
  85.         str = "失去"
  86.         para3 = - para3
  87.       end
  88.       winwidth = contents.text_size("  你获得了: ?  " + para3.to_s).width + 24 + contents.text_size(para2.name).width
  89.       self.width = winwidth + 64
  90.       self.height = 64
  91.       self.x = (Graphics.width - self.width) / 2
  92.       self.y = (Graphics.height - self.height) / 2
  93.       create_contents
  94.       self.contents.draw_text(0, 0, self.width, 32, "  你" + str + "了: ")
  95.       tx = contents.text_size("  你" + str + "了:").width
  96.       draw_item_name(para2, tx , 0, true)
  97.       self.contents.draw_text(tx + 24, 0, self.width, 32, para2.name)
  98.       tx = contents.text_size("  你" + str + "了: ").width + 24 + contents.text_size(para2.name).width
  99.       self.contents.draw_text(tx, 0, self.width, 32, " ? + para3.to_s)
  100.     when "gold"
  101.       str = "获得"
  102.       if para2 < 0 then
  103.         str = "失去"
  104.         para2 = - para2
  105.       end
  106.       winwidth = contents.text_size("  你获得了:   " + Vocab.gold.to_s).width + contents.text_size(para2).width
  107.       self.width = winwidth + 64
  108.       self.height = 64
  109.       self.x = (Graphics.width - self.width) / 2
  110.       self.y = (Graphics.height - self.height) / 2
  111.       create_contents
  112.       self.contents.draw_text(0, 0, self.width, 32, "  你" + str + "了: #{para2} " + Vocab.gold.to_s)
  113.     end
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 物品名的描画
  117.   #     item : 物品(特技、武器、防具可)
  118.   #     x    : 描画目标 X 坐标
  119.   #     y    : 描画目标 Y 坐标
  120.   #     enabled : 有效标记录。是false 的时候半透明绘画
  121.   #--------------------------------------------------------------------------
  122.   def draw_item_name(item, x, y, enabled = true)
  123.     if item != nil
  124.       draw_icon(item.icon_index, x, y, enabled)
  125.       self.contents.font.color = normal_color
  126.       self.contents.font.color.alpha = enabled ? 255 : 128
  127.     end
  128.   end  
  129. end
复制代码



17、教学相关RGSS类:

class Game_Interpreter
    def initialize
    def draw_item_name

class Game_Interpreter
    def call_6RgetItem
    def command_125
    def command_126
    def command_127
    def command_128


上面这个类别检查可以用来检查脚本冲突的原因。当然我建议你直接用本脚本中的函数替换以上几个函数的相应部分。

              [本贴由 御灵 于 2008-1-17 23:35:24 进行了编辑]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2006-5-27
帖子
458
2
发表于 2008-1-11 17:04:46 | 只看该作者
看日本那边VX脚本出得蛮勤的... 这边也开始出现了呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

3
 楼主| 发表于 2008-1-11 19:43:15 | 只看该作者
有没有推荐的日文VX站?

点评

完全不懂……  发表于 2010-7-24 18:21
回复 支持 反对

使用道具 举报

Lv1.梦旅人

忘记

梦石
0
星屑
55
在线时间
4 小时
注册时间
2007-12-15
帖子
3062
4
发表于 2008-1-11 19:53:05 | 只看该作者
支持这脚本!@,不过暂时不会用VX,先把RM做的游戏完善好再说!{/hx}
因为你哭泣的时候有我想你你被人嘲笑时有我陪你在你感觉最无助的那一刻有个声音鼓励
<font color=#8600E9>忘记</font>
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2006-5-27
帖子
458
5
发表于 2008-1-11 20:05:51 | 只看该作者
目前有提供RGSS2脚本的日站仅有下列站点
http://f44.aaa.livedoor.jp/~ytomy/index.html
http://mdc-light.jpn.org/TYPE74RX-T/index.html
http://members.jcom.home.ne.jp/cogwheel/
http://mintoroom.web.infoseek.co.jp/

还有樱雅的VX站,不过目前挂掉中…
回复 支持 反对

使用道具 举报

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

6
 楼主| 发表于 2008-1-12 07:55:18 | 只看该作者
好,多谢!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
111
在线时间
74 小时
注册时间
2006-5-29
帖子
453
7
发表于 2008-1-12 13:08:07 | 只看该作者
好,好快!VX俺还没用上,脚本这么快出现{/qiang}
完全来支持详细教程+脚本+截图SAMA~~~~
----
不知道RGSS写法有无大变更(←RGSS入门中||||)
【我的百度空间】
 不定时更新绘画或像素图~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
19 小时
注册时间
2006-8-3
帖子
510
8
发表于 2008-1-12 19:57:52 | 只看该作者
现在还没有用RMVX等汉化破截版问世
不知游戏何时能完成!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

9
发表于 2008-1-12 22:40:51 | 只看该作者
福音啊~~~~~~~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1554
在线时间
144 小时
注册时间
2007-4-1
帖子
4263

开拓者贵宾

10
发表于 2008-1-12 23:12:36 | 只看该作者
直接套用发文模板如下

一开始还以为有现成的发帖模板  - -
1、标题:

2、作者:

3、摘要:

4、首发网址:

5、教学分类:

6、发布日期:

7、适用人群:

8、通用度:★★★★★

9、技术应用的复杂度:

10、技术学习的理解难度:

11、范例工程:

12、关键字:

13、作者的话:

14、教学正文:


具体代码如下(提示,复制脚本请用word中转):

截图

17、教学相关RGSS类:

倒是蛮不错的。。。。。要不要考虑增加这么一个原创技术帖模板呢?方便我们菜鸟查找学习~
回归,重拾一下绘图工房的管理,先让我熟悉一下,请多指教 ( ´▽` )ノ
新加分规则试行中,如发现问题欢迎提出
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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