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

Project1

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

[RMVX发布] 【废渣型脚本产物Ⅶ】横版脚本小插件:帮助窗口/血条显示

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
686
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2011-4-12 19:20:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 冰舞蝶恋 于 2011-4-13 13:49 编辑

不知不觉的就写了很多脚本,自我感觉还是蛮实用的~
虽然技术上比不上各位大神,但咱一向引以为豪的是咱那源源不绝、莫名其妙的灵感!
这里就放上脚本和截图咯~




更新到1.4啦~~哈哈~
可跟随人物。自以为能跟赵云前辈的媲美了【美你个头!赵云前辈是大神你算老几啊!
  1. #============================================================================
  2. # 〇 Sideview横版·实用小插件_V.1.4
  3. #                       ——By.冰舞蝶恋
  4. #----------------------------------------------------------------------------
  5. # 功能:让显示人物/敌人名字的窗口,随着字数的多少而变化,并可以自由调控窗口的
  6. #       位置。详见设定部分。
  7. #----------------------------------------------------------------------------
  8. # 更新日记:
  9. # - V.1.1:应求加入血条显示。
  10. # - V.1.2:更改当名字太短血条文字会挤在一起的情况。
  11. # - V.1.3:更改当不使用血条的时候,帮助窗口的高度(复原32的高度)。
  12. # - V.1.4:加入帮助窗口跟随光标的功能。
  13. #============================================================================
  14. #============================================================================
  15. # ● 设定部分
  16. #----------------------------------------------------------------------------
  17. #-设定帮助窗口的位置---------------------------------------------------------
  18. $H = 0  # 0-将显示在左上方
  19.         # 1-将显示在正中间
  20.         # 2-将显示在右上方
  21. $Gs = true  # 是否跟随光标?(true/false)
  22. $Xw = 0  # 如果跟随光标,窗口X坐标的调整
  23. $Yw = 0  # 如果跟随光标,窗口Y坐标的调整
  24. #----------------------------------------------------------------------------
  25. #-帮助窗口的宽度-------------------------------------------------------------
  26. $W = 40  # 在文字宽度的基础上,宽度补加多少
  27. $Wn = 20  # 每个文字将有多少宽度?(不推荐修改,但可以根据字号而调整)
  28. #----------------------------------------------------------------------------
  29. #-血条显示-------------------------------------------------------------------
  30. $hpV = true  # 是否使用血条?(true/false)
  31. #----------------------------------------------------------------------------
  32. #============================================================================
  33. class Scene_Battle
  34.   #--------------------------------------------------------------------------
  35.   # ● 目标选择的开始
  36.   #--------------------------------------------------------------------------
  37.   def start_target_selection(actor = false)
  38.     members = $game_party.members if actor
  39.     members = $game_troop.members unless actor
  40.     # 光标精灵的作成
  41.     @cursor = Sprite.new
  42.     @cursor.bitmap = Cache.character("cursor")
  43.     @cursor.src_rect.set(0, 0, 38, 38)
  44.     @cursor_flame = 0
  45.     @cursor.x = -200
  46.     @cursor.y = -200
  47.     @cursor.z = 401
  48.     @cursor.ox = @cursor.width
  49.     @cursor.oy = @cursor.height
  50.     # 存在的目标为最底号码的对象也想最初那样
  51.     @index = 0
  52.     @max_index = members.size - 1
  53.     if $hpV == true
  54.       $al = 64
  55.     else
  56.       $al = 32
  57.     end
  58.     #-获取字数--------------
  59.     a = members[@index].name
  60.     b = a.size / 3
  61.     $bn = b * $Wn + $W
  62.     if $hpV == true
  63.       if b <= 2
  64.         $bn += 32
  65.       end
  66.     end
  67.     #-----------------------
  68.     #-获取帮助窗口的位置----
  69.     if $H == 0
  70.       $Li = 0
  71.     end
  72.     if $H == 1
  73.       $Li = (544 - $bn) / 2
  74.     end
  75.     if $H >= 2
  76.       $Li = 544 - $bn
  77.     end
  78.     if $Gs == true
  79.       point = @spriteset.set_cursor(actor, @index)
  80.       $Li = point[0] + $Xw
  81.       $Lp = point[1] + $Yw
  82.     else
  83.       $Lp = 0
  84.     end
  85.     #-----------------------
  86.     #-获取血条所属角色------
  87.     $actor_i = members[@index]
  88.     #-----------------------
  89.     # 作成显示目标名的帮助窗口
  90.     @help_window.visible = false if @help_window != nil
  91.     @help_window2 = Window_Help2.new if @help_window2 == nil
  92.     # 消除不要的窗口
  93.     @actor_command_window.active = false
  94.     @skill_window.visible = false if @skill_window != nil
  95.     @item_window.visible = false if @item_window != nil
  96.     # 主人公为站都不能者也可以作为目标来与敌方区分
  97.     unless actor
  98.       members.size.times do
  99.         break if members[@index].exist?
  100.         @index += 1
  101.       end
  102.     end  
  103.     @help_window2.set_text(members[@index].name, 1)
  104.     select_member(actor)
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● 向前移动光标
  108.   #--------------------------------------------------------------------------
  109.   def cursor_up(members, actor)
  110.     Sound.play_cursor
  111.     members.size.times do
  112.       @index += members.size - 1
  113.       @index %= members.size
  114.       break if actor
  115.       break if members[@index].exist?
  116.     end
  117.     @help_window2.visible = false   
  118.     #-获取字数--------------
  119.     a = members[@index].name
  120.     b = a.size / 3
  121.     $bn = b * $Wn + $W
  122.     if $hpV == true
  123.       if b <= 2
  124.         $bn += 32
  125.       end
  126.     end
  127.     #-----------------------
  128.     #-获取帮助窗口的位置----
  129.     if $H == 0
  130.       $Li = 0
  131.     end
  132.     if $H == 1
  133.       $Li = (544 - $bn) / 2
  134.     end
  135.     if $H >= 2
  136.       $Li = 544 - $bn
  137.     end
  138.     if $Gs == true
  139.       point = @spriteset.set_cursor(actor, @index)
  140.       $Li = point[0] + $Xw
  141.       $Lp = point[1] + $Yw
  142.     else
  143.       $Lp = 0
  144.     end
  145.     #-----------------------
  146.     #-获取血条所属角色------
  147.     $actor_i = members[@index]
  148.     #-----------------------
  149.     @help_window2 = Window_Help2.new
  150.     @help_window2.set_text(members[@index].name, 1)
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ● 向后移动光标
  154.   #--------------------------------------------------------------------------
  155.   def cursor_down(members, actor)
  156.     Sound.play_cursor
  157.     members.size.times do
  158.       @index += 1
  159.       @index %= members.size
  160.       break if actor
  161.       break if members[@index].exist? && !actor
  162.     end
  163.     @help_window2.visible = false
  164.     #-获取字数--------------
  165.     a = members[@index].name
  166.     b = a.size / 3
  167.     $bn = b * $Wn + $W
  168.     if $hpV == true
  169.       if b <= 2
  170.         $bn += 32
  171.       end
  172.     end
  173.     #-----------------------
  174.     #-获取帮助窗口的位置----
  175.     if $H == 0
  176.       $Li = 0
  177.     end
  178.     if $H == 1
  179.       $Li = (544 - $bn) / 2
  180.     end
  181.     if $H >= 2
  182.       $Li = 544 - $bn
  183.     end
  184.     if $Gs == true
  185.       point = @spriteset.set_cursor(actor, @index)
  186.       $Li = point[0] + $Xw
  187.       $Lp = point[1] + $Yw
  188.     else
  189.       $Lp = 0
  190.     end
  191.     #-----------------------
  192.     #-获取血条所属角色------
  193.     $actor_i = members[@index]
  194.     #-----------------------
  195.     @help_window2 = Window_Help2.new
  196.     @help_window2.set_text(members[@index].name, 1)
  197.   end
  198. end
  199. class Window_Help2 < Window_Base
  200.   #--------------------------------------------------------------------------
  201.   # ● 初始化对像
  202.   #--------------------------------------------------------------------------
  203.   def initialize
  204.     super($Li, $Lp, $bn, WLH + $al)
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # ● 设置文字
  208.   #  text  : 显示于窗口内的字符串
  209.   #  align : 对其 (0..靠左对齐, 1..居中对齐, 2..靠右对齐)
  210.   #--------------------------------------------------------------------------
  211.   def set_text(text, align = 1)
  212.     if text != @text or align != @align
  213.       self.contents.clear
  214.       self.contents.font.color = normal_color
  215.       self.contents.draw_text(4, 0, self.width - 40, WLH, text, align)
  216.       self.contents.font.size = 16
  217.       #-描绘血条-----------------------------
  218.       if $hpV == true
  219.         draw_actor_hp2($actor_i, 4, 12, $bn-40)
  220.         draw_actor_mp2($actor_i, 4, 28, $bn-40)
  221.       end
  222.       #--------------------------------------
  223.       @text = text
  224.       @align = align
  225.     end
  226.   end
  227. end
  228. class Window_Base
  229.   #--------------------------------------------------------------------------
  230.   # ● 描绘 HP
  231.   #     actor : 角色
  232.   #     x     : 描绘目标 X 坐标
  233.   #     y     : 描绘目标 Y 坐标
  234.   #     width : 宽
  235.   #--------------------------------------------------------------------------
  236.   def draw_actor_hp2(actor, x, y, width = 120)
  237.     draw_actor_hp_gauge(actor, x, y, width)
  238.     self.contents.font.color = system_color
  239.     self.contents.draw_text(x, y+8, 30, WLH, Vocab::hp_a)
  240.     self.contents.font.color = hp_color(actor)
  241.     xr = x + width
  242.     if width < 120
  243.       self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.hp, 2)
  244.     else
  245.       self.contents.draw_text(xr - 90-2, y+6, 40, WLH, actor.hp, 2)
  246.       self.contents.font.color = normal_color
  247.       self.contents.draw_text(xr - 50-2, y+6, 10, WLH, "/", 2)
  248.       self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.maxhp, 2)
  249.     end
  250.   end
  251.   #--------------------------------------------------------------------------
  252.   # ● 描绘 MP
  253.   #     actor : 角色
  254.   #     x     : 描绘目标 X 坐标
  255.   #     y     : 描绘目标 Y 坐标
  256.   #     width : 宽
  257.   #--------------------------------------------------------------------------
  258.   def draw_actor_mp2(actor, x, y, width = 120)
  259.     draw_actor_mp_gauge(actor, x, y, width)
  260.     self.contents.font.color = system_color
  261.     self.contents.draw_text(x, y+8, 30, WLH, Vocab::mp_a)
  262.     self.contents.font.color = mp_color(actor)
  263.     xr = x + width
  264.     if width < 120
  265.       self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.mp, 2)
  266.     else
  267.       self.contents.draw_text(xr - 90-2, y+6, 40, WLH, actor.mp, 2)
  268.       self.contents.font.color = normal_color
  269.       self.contents.draw_text(xr - 50-2, y+6, 10, WLH, "/", 2)
  270.       self.contents.draw_text(xr - 40-2, y+6, 40, WLH, actor.maxmp, 2)
  271.     end
  272.   end
  273. end
复制代码
放上截图。



顺便秀自己游戏的战斗系统~~
人物框是自己写的~【得意个头啊你!


注意:必须覆盖在约束汉化的那个横版战斗的下方才有效!

评分

参与人数 5星屑 +432 收起 理由
魔修 + 24 =.=新人总是在神触上面
李光兆 + 6 原创内容
DeathKing + 376 D计划鼓励。但是第一美女就无图无真相了吧.
kefafa + 24 投币~
风缘 + 2 传说中的 6R 第一美女好有才啊

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42849
在线时间
7623 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2011-4-12 19:25:34 | 只看该作者
呜!撒花,支持原创,支持新人创作。

点评

咱不是新人,是菜鸟;菜鸟装新人是不对滴!  发表于 2011-4-12 19:49
冰舞早就不新了=。= 话说前辈终于复活了么  发表于 2011-4-12 19:43
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
686
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

3
 楼主| 发表于 2011-4-12 19:50:28 | 只看该作者
0.0心理压力巨大………感觉受到很大打击的说……
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
35 小时
注册时间
2008-5-13
帖子
55
4
发表于 2011-4-12 20:43:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
686
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

5
 楼主| 发表于 2011-4-12 20:56:08 | 只看该作者
回复 祸忌 的帖子

0.0好奇求工程

评分

参与人数 1星屑 +2 收起 理由
祸忌 + 2 已经发了短信了

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv3.寻梦者

不活君

梦石
0
星屑
1495
在线时间
1247 小时
注册时间
2011-2-16
帖子
681
6
发表于 2011-4-12 21:09:10 | 只看该作者
很好很强大
不知不觉就几百天过去了 经历无数个雨夜 清晨 黎明 先是兴奋 厌倦 释然 会觉得很有趣 然后又会觉得无趣 最后有一种归属感 满足感
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4097
在线时间
1081 小时
注册时间
2008-5-17
帖子
218

开拓者

7
发表于 2011-4-12 21:38:56 | 只看该作者
ATB+SBS的话 无效啊。。
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
686
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

8
 楼主| 发表于 2011-4-12 21:54:48 | 只看该作者
回复 无名小兵 的帖子

??求工程……
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

RebeccaJackson

梦石
0
星屑
49
在线时间
106 小时
注册时间
2010-8-15
帖子
270
9
发表于 2011-4-12 22:00:43 | 只看该作者
再显个血条吧,配套横版的血条脚本只适合1.5,2.7版还真没法用

点评

已配上~  发表于 2011-4-13 18:12
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1205
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

10
发表于 2011-4-12 23:00:34 | 只看该作者
不妨多制作一点类似的小插件,是很有用处的!

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-7 07:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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