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

Project1

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

[转载] VA汉化-打开宝箱时浮空出道具图标(浮空图标)

[复制链接]

Lv3.寻梦者

伴侣:北岛谜烟

梦石
0
星屑
3012
在线时间
3547 小时
注册时间
2012-8-7
帖子
12181

贵宾

跳转到指定楼层
1
发表于 2012-8-27 20:09:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 delv25 于 2012-11-14 12:42 编辑

打开宝箱后,NPC送物品,都可以浮空显示图标
我命名为浮空图标,不知道各位有什么更好听的名字……效果图:
可以在得到道具后或者事件中设定脚本弹出

P.S请把此脚本放在物品得失脚本后,否则会有点矛盾。
  1. #========================================================#
  2. #                 浮空图标Ver.1.2                         #
  3. #========================================================#
  4. =begin
  5. 作者:tomoaky
  6. (雾)汉化:delv25
  7. 你可以在得到物品后弹出浮空图标。

  8. 请运行以下命令事件“脚本”
  9.   pop_icon(event_id的,icon_id,持续时间)
  10.   
  11. 号icon_id图标被显示在事件号event_id的开销。
  12.   运行事件本身是一个值为0 event_id的,
  13.   玩家们可如果你指定为-1。
  14.   持续时间越长,你可以省略,默认时间120帧,也可以在下面调整。
  15.   
  16.   例子:pop_icon(-1, 17, 300)
  17.   在游戏里显示5秒(300帧)的的非战斗图标。
  18.   
  19.   有没有效果,当您运行的的命令pop_icon在图标视图。
  20.   如果你想看到的图标紧接该命令delete_icon
  21.   请运行命令pop_icon,删除图标。
  22. 注解:我算过了,第一个空的图标不算,是从第二个实图标开始算起。
  23.   例子:delete_icon(-1)
  24.   删除被显示在游戏窗口中的图标

  25. “铠甲”变动“武器”更改“项”命令作为奖金事件
  26.   在执行时,自动显示一个图标的能力。
  27.   您要查看游戏的图标(默认是变量6)的变量可以改变的,(脚本下面改)
  28.   虽然该值是相同至于pop_icon event_id的命令,指定以下内容:-2
  29.   然后,您可以关闭。(翻译无能=A=)

  30. 默认变量:006
  31. 2012.01.19 Ver1.2
  32. - 添加delete_icon命令删除的图标弹出显示
  33. 自主移动命令脚本[自定义]
  34. 修正了一个错误,功能的弹出图标不工作
  35.   
  36. 2011.12.21 Ver1.11
  37. ·修正了一个错误的图标时,不会出现指定为0,并行的event_id
  38.   
  39. 2011.12.17 VER1.1
  40. - 我已经添加了能够在命令中指定的显示时间
  41. =end



  42. #==============================================================================
  43. # □ 项目设定
  44. #==============================================================================
  45. module TMICPOP
  46.   GRAVITY = 24              # 重力根据图标
  47.   SPEED   = -320            # 初始速度(Y坐标)的图标
  48.   
  49.   VN_TARGET = 6             # 控制开关?(翻译无能嘛)
  50. end

  51. #==============================================================================
  52. # □ 命令(嘛……下面的我就自动用谷歌翻译了……不要在意那些细节……)
  53. #==============================================================================
  54. module TMICPOP
  55. module Commands
  56.   #--------------------------------------------------------------------------
  57.   # ○ 开始
  58.   #--------------------------------------------------------------------------
  59.   def pop_icon(event_id, icon_id, duration = 120)
  60.     target = get_character(event_id)
  61.     return unless target
  62.     target.icpop_id = icon_id
  63.     target.icpop_duration = duration
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ○ 删除
  67.   #--------------------------------------------------------------------------
  68.   def delete_icon(event_id)
  69.     target = get_character(event_id)
  70.     return unless target
  71.     target.icpop_delete_flag = true
  72.   end
  73. end
  74. end # module TMICPOP

  75. #==============================================================================
  76. # ■ Game_CharacterBase
  77. #==============================================================================
  78. class Game_CharacterBase
  79.   #--------------------------------------------------------------------------
  80.   # ● 公共变量数?
  81.   #--------------------------------------------------------------------------
  82.   attr_accessor :icpop_id                 # 图标 ID
  83.   attr_accessor :icpop_duration           # 图标显示時間
  84.   attr_accessor :icpop_delete_flag        # 消除图标
  85.   #--------------------------------------------------------------------------
  86.   # ● 公共变量数的初始化
  87.   #--------------------------------------------------------------------------
  88.   alias tmicpop_game_characterbase_init_public_members init_public_members
  89.   def init_public_members
  90.     tmicpop_game_characterbase_init_public_members
  91.     @icpop_id = 0
  92.     @icpop_duration = 0
  93.     @icpop_delete_flag = false
  94.   end
  95. end

  96. #==============================================================================
  97. # ■ Sprite_Character
  98. #==============================================================================
  99. class Sprite_Character
  100.   #--------------------------------------------------------------------------
  101.   # ● オブジェクト初期化
  102.   #     character : Game_Character
  103.   #--------------------------------------------------------------------------
  104.   alias tmicpop_sprite_character_initialize initialize
  105.   def initialize(viewport, character = nil)
  106.     @icpop_duration = 0
  107.     tmicpop_sprite_character_initialize(viewport, character)
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● 解放
  111.   #--------------------------------------------------------------------------
  112.   alias tmicpop_sprite_character_dispose dispose
  113.   def dispose
  114.     dispose_icpop
  115.     tmicpop_sprite_character_dispose
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 帧更新
  119.   #--------------------------------------------------------------------------
  120.   alias tmicpop_sprite_character_update update
  121.   def update
  122.     update_icpop
  123.     tmicpop_sprite_character_update
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 新的效果设定
  127.   #--------------------------------------------------------------------------
  128.   alias tmicpop_sprite_character_setup_new_effect setup_new_effect
  129.   def setup_new_effect
  130.     tmicpop_sprite_character_setup_new_effect
  131.     if !@icpop_sprite && @character.icpop_id > 0
  132.       @icpop_id = @character.icpop_id
  133.       @character.icpop_id = 0
  134.       start_icpop
  135.     end
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ○ 图标表示的开端
  139.   #--------------------------------------------------------------------------
  140.   def start_icpop
  141.     dispose_icpop
  142.     @icpop_duration = @icpop_duration_max = @character.icpop_duration
  143.     @icpop_sprite = ::Sprite.new(viewport)
  144.     @icpop_sprite.bitmap = Cache.system("IconSet")
  145.     @icpop_sprite.src_rect.set(@icpop_id % 16 * 24, @icpop_id / 16 * 24, 24, 24)
  146.     @icpop_sprite.ox = 12
  147.     @icpop_sprite.oy = 24
  148.     @icpop_y_plus = 0
  149.     @icpop_y_speed = TMICPOP::SPEED
  150.     update_icpop
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ○ 图标施放
  154.   #--------------------------------------------------------------------------
  155.   def dispose_icpop
  156.     @character.icpop_delete_flag = false
  157.     if @icpop_sprite
  158.       @icpop_sprite.dispose
  159.       @icpop_sprite = nil
  160.     end
  161.   end
  162.   #--------------------------------------------------------------------------
  163.   # ○ 图标更新
  164.   #--------------------------------------------------------------------------
  165.   def update_icpop
  166.     if @icpop_duration > 0
  167.       @icpop_duration -= 1
  168.       if @character.icpop_delete_flag
  169.         @icpop_duration = 0
  170.         dispose_icpop
  171.       elsif @icpop_duration > 0
  172.         @icpop_sprite.x = x
  173.         @icpop_y_plus += @icpop_y_speed
  174.         @icpop_y_speed += TMICPOP::GRAVITY
  175.         if @icpop_y_plus > 0
  176.           @icpop_y_plus = 0 - @icpop_y_plus
  177.           @icpop_y_speed = 0 - @icpop_y_speed / 2
  178.         end
  179.         @icpop_sprite.y = y - height + (@icpop_y_plus / 256)
  180.         @icpop_sprite.z = z + 200
  181.         @icpop_sprite.opacity = (@icpop_duration < 16 ? @icpop_duration * 16 :
  182.           (@icpop_duration_max - @icpop_duration) * 32)
  183.       else
  184.         dispose_icpop
  185.         @character.icpop_id = 0
  186.       end
  187.     end
  188.   end
  189. end

  190. #==============================================================================
  191. # ■ Game_Event
  192. #==============================================================================
  193. class Game_Event
  194.   include TMICPOP::Commands
  195.   #--------------------------------------------------------------------------
  196.   # ○ キャラクターの取得
  197.   #  #PARAM:此事件ID,否则游戏中显示浮空图标?如果0 -1
  198.   #--------------------------------------------------------------------------
  199.   def get_character(param)
  200.     if param < 0
  201.       $game_player
  202.     else
  203.       $game_map.events[param > 0 ? param : @id]
  204.     end
  205.   end
  206. end

  207. #==============================================================================
  208. # ■ Game_Interpreter
  209. #==============================================================================
  210. class Game_Interpreter
  211.   include TMICPOP::Commands
  212.   #--------------------------------------------------------------------------
  213.   # ● 物品の増減
  214.   #--------------------------------------------------------------------------
  215.   alias tmicpop_game_interpreter_command_126 command_126
  216.   def command_126
  217.     tmicpop_game_interpreter_command_126
  218.     value = operate_value(@params[1], @params[2], @params[3])
  219.     if value > 0
  220.       if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
  221.         item = $data_items[@params[0]]
  222.         pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
  223.       end
  224.     end
  225.   end
  226.   #--------------------------------------------------------------------------
  227.   # ● 武器の増減
  228.   #--------------------------------------------------------------------------
  229.   alias tmicpop_game_interpreter_command_127 command_127
  230.   def command_127
  231.     tmicpop_game_interpreter_command_127
  232.     value = operate_value(@params[1], @params[2], @params[3])
  233.     if value > 0
  234.       if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
  235.         item = $data_weapons[@params[0]]
  236.         pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
  237.       end
  238.     end
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # ● 防具の増減
  242.   #--------------------------------------------------------------------------
  243.   alias tmicpop_game_interpreter_command_128 command_128
  244.   def command_128
  245.     tmicpop_game_interpreter_command_128
  246.     value = operate_value(@params[1], @params[2], @params[3])
  247.     if value > 0
  248.       if $game_variables[TMICPOP::VN_TARGET] >= -1 && !$game_party.in_battle
  249.         item = $data_armors[@params[0]]
  250.         pop_icon($game_variables[TMICPOP::VN_TARGET], item.icon_index)
  251.       end
  252.     end
  253.   end
  254. end
复制代码
范例我就不多说了,超过1MB。
我说明一下,像人物头上浮出图标的脚本是
  1. pop_icon(-1, 17, 300)
复制代码
17代表图标号。Iconset里面的横数下来第17个(第一个空的不算)
300代表显示300帧,也就是5秒。
其他的都在脚本里了,翻译无能希望理解。
脚本来自日站
http://hikimoki.sakura.ne.jp/index.html

嘛,原帖来自
http://rpg.blue/thread-221868-1-1.html

感觉功能很好就花了半小时无脑翻译了~

点评

= =当年汉化3个脚本无力了……居然找到了我的黑历史……  发表于 2013-2-4 09:36
DE君,没兴趣去九萌坐坐吗?  发表于 2012-9-1 18:36
比如两个人打架,一个人把另一个人手给砍了,脚本也是,虽然没有提示报错,但是导致脚本没有完全发挥出来作用  发表于 2012-8-28 16:42
你还没理解冲突的意思。。。  发表于 2012-8-28 16:37
那不就是冲突嘛  发表于 2012-8-28 16:25

评分

参与人数 3星屑 +510 收起 理由
囧灬王阳 + 4 塞糖
八宝粥先生 + 6 抵制二百五
东来东去 + 500 塞糖

查看全部评分

本人收不到提醒(点评|回复|@人),总之有事情到空间留言一起普通普通

Lv1.梦旅人

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
帖子
3800
2
发表于 2012-8-27 21:26:48 | 只看该作者
这个脚本不错但是与得失物品提示的脚本冲突早就纠结了

点评

这两个脚本功能都差不多不需要两个都加囧  发表于 2012-8-31 01:11
不行的  发表于 2012-8-30 12:34
调一下脚本顺序就ok  发表于 2012-8-30 12:34
=L=你是说什么冲突  发表于 2012-8-28 16:41
不会冲突我的工程用着呢先弹出提示以后药水再从宝箱里弹出来然后消失而已,作用是美化,不是提示物品得失  发表于 2012-8-28 16:33
随便看看
回复 支持 反对

使用道具 举报

Lv3.寻梦者

伴侣:北岛谜烟

梦石
0
星屑
3012
在线时间
3547 小时
注册时间
2012-8-7
帖子
12181

贵宾

3
 楼主| 发表于 2012-8-28 16:49:18 | 只看该作者
fxwd 发表于 2012-8-27 21:26
这个脚本不错但是与得失物品提示的脚本冲突早就纠结了

如两个人打架,一个人把另一个人手给砍了,脚本也是,虽然没有提示报错,但是导致脚本没有完全发挥出来作用

你想表达什么……如果是需要提示的话可以自行通过pop_icon(-1, 17, 300)脚本召唤……
另外的作用就是美观一下……
本人收不到提醒(点评|回复|@人),总之有事情到空间留言一起普通普通
回复 支持 反对

使用道具 举报

Lv1.梦旅人

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
帖子
3800
4
发表于 2012-8-28 16:52:04 | 只看该作者
delv25 发表于 2012-8-28 16:49
如两个人打架,一个人把另一个人手给砍了,脚本也是,虽然没有提示报错,但是导致脚本没有完全发挥出来作 ...

那个脚本的原功能是自动提示的,因为冲突了,所以不能完全发挥出来

点评

=L=是么,不清楚哦,原本就是自动提示的,只是先物品得失提示框消失后才从宝箱里弹出图标来,这么说好像真有冲突…  发表于 2012-8-28 16:56
随便看看
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
728
在线时间
687 小时
注册时间
2011-2-13
帖子
638
5
发表于 2012-8-28 17:53:56 | 只看该作者
我记得是动态显示的宝箱
以前用过了 还不错
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

6
发表于 2012-8-31 01:12:10 | 只看该作者
虽然看截图能看出是VA最好标题还是标注一下,方便搜索什么的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
68
在线时间
931 小时
注册时间
2009-5-25
帖子
430

开拓者

7
发表于 2012-9-1 11:37:58 | 只看该作者
是得到物品后自动显示还是要在宝箱时间里面呼叫脚本才会出现?
看得有点晕……

点评

自动的。  发表于 2012-9-1 12:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
44
在线时间
237 小时
注册时间
2011-2-27
帖子
1008
8
发表于 2012-9-1 12:42:11 | 只看该作者
翻译好多问号。。。不过很好了。。。

点评

=W=谢谢点评  发表于 2012-9-1 12:44
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
68
在线时间
931 小时
注册时间
2009-5-25
帖子
430

开拓者

9
发表于 2012-9-1 14:21:40 | 只看该作者
如果是自动的话那为什么还要填icon的id……

点评

剧情需要时可以弹出  发表于 2012-10-4 18:12
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2012-6-26
帖子
129
10
发表于 2012-9-1 16:23:12 | 只看该作者
@Luciffer  不发去九萌吗?

点评

9萌我的头像被枪毙了2次=A=不想去  发表于 2012-9-2 17:47
问问。  发表于 2012-9-1 18:35
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 00:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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