赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 8899 |
最后登录 | 2013-9-7 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 0 小时
- 注册时间
- 2008-6-16
- 帖子
- 113
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
新菜单显示状态2.0版
很直观的显示人物各属性状态于菜单上。
效果图:
脚本如下:
- ####################################################################
- # 新菜单状态 v2.0
- # 原作者: SojaBird
- # 翻译汉化:浪使者
- # 描述: 一个高级的菜单状态视窗。
- #
- ####################################################################
- module SojaBird_SE
- ##############
- # 初始化设置
- ##############
- Font = "黑体" # 字体设置.
- FontSize = 17 # 字体大小
- Name = "姓名:" # 菜单状态里的姓名
- Class = "职业:" # 菜单状态里的职业.
- Level = "等级:" # 菜单状态里的等级.
- State = "状态:" # 菜单状态里的特殊状态.
- HP = "HP:" # 菜单状态里的HP.
- MP = "MP:" # 菜单状态里的MP.
- NoState = "正常" # 无特殊状态时显示的状态.
- ##############
- # 结束设置
- ##############
- end
- ###############
- # 描绘窗体 #
- ###############
- class Window_Base < Window
-
- def draw_actor_name2(actor, x, y)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::Name, 0)
- self.contents.font.color = hp_color(actor)
- self.contents.draw_text(x, y, 108, WLH, actor.name, 2)
- end
- def draw_actor_class2(actor, x, y)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::Class, 0)
- self.contents.font.color = normal_color
- self.contents.draw_text(x, y, 108, WLH, actor.class.name, 2)
- end
- def draw_actor_level2(actor, x, y)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::Level, 0)
- self.contents.font.color = normal_color
- self.contents.draw_text(x, y, 108, WLH, actor.level, 2)
- end
-
- def draw_actor_state2(actor, x, y, width = 108)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 108, WLH, SojaBird_SE::State, 0)
- self.contents.font.color = normal_color
- if actor.states.empty?
- contents.draw_text(x, y, 108, WLH, SojaBird_SE::NoState, 2)
- else
- for state in actor.states
- contents.draw_text(x, y, 108, WLH, state.name, 2)
- end
- end
- end
-
- def draw_actor_hp2(actor, x, y, width = 120)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 33, WLH, SojaBird_SE::HP, 0)
- self.contents.font.color = hp_color(actor)
- last_font_size = self.contents.font.size
- xr = x + width
- if width < 120
- self.contents.draw_text(xr - 44, y, 44, WLH, actor.hp, 2)
- else
- self.contents.draw_text(xr - 99, y, 44, WLH, actor.hp, 2)
- self.contents.font.color = normal_color
- self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
- self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxhp, 0)
- end
- end
- def draw_actor_mp2(actor, x, y, width = 120)
- self.contents.font.color = system_color
- self.contents.draw_text(x, y, 30, WLH, SojaBird_SE::MP, 0)
- self.contents.font.color = mp_color(actor)
- last_font_size = self.contents.font.size
- xr = x + width
- if width < 120
- self.contents.draw_text(xr - 44, y, 44, WLH, actor.mp, 2)
- else
- self.contents.draw_text(xr - 99, y, 44, WLH, actor.mp, 2)
- self.contents.font.color = normal_color
- self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
- self.contents.draw_text(xr - 44, y, 44, WLH, actor.maxmp, 0)
- end
- end
- def draw_line(actor, x, y, width = 300)
- self.contents.font.color = normal_color
- self.contents.draw_text(x, y, 300, WLH, "____________________________________", 2)
- end
- end
- #####################
- # 菜单状态窗体 #
- #####################
- class Window_MenuStatus < Window_Selectable
-
- def refresh
- self.contents.clear
- self.contents.font.name = SojaBird_SE::Font
- self.contents.font.size = SojaBird_SE::FontSize
- @item_max = $game_party.members.size
- for actor in $game_party.members
- draw_actor_face(actor, 0, actor.index * 94, 94) # 人脸图
- x = 113
- y = actor.index * 94 + WLH / 2
- draw_actor_name2(actor, x, y - 10) # 姓名
- draw_actor_class2(actor, x + 120, y - 10) # 职业
- draw_actor_level2(actor, x, y + WLH * 1 - 13) # 等级
- draw_actor_state2(actor, x, y + WLH * 2 - 15) # 状态
- draw_actor_hp2(actor, x, y + WLH * 3 - 15) # Hp
- draw_actor_mp2(actor, x + 120, y + WLH * 3 - 15) # Mp
- draw_line(actor, x - 50, y + WLH * 3 - 8)
- end
- end
-
- def update_cursor
- if @index < 0
- self.cursor_rect.empty
- elsif @index < @item_max
- self.cursor_rect.set(0, @index * 94, contents.width, 94)
- elsif @index >= 100
- self.cursor_rect.set(0, (@index - 100) * 94, contents.width, 94)
- else
- self.cursor_rect.set(0, 0, contents.width, @item_max * 94)
- end
- end
- end
复制代码
已知脚本冲突:与更换队伍脚本有冲突,但与大多数脚本兼容,其余冲突暂时没有发现。 |
|