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

Project1

 找回密码
 注册会员
搜索

对YAB脸图脚本有点疑问

查看数: 1920 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-6-2 13:58

正文摘要:

本帖最后由 脚本盲 于 2012-6-2 14:04 编辑 各位大大,用了Yanfly Engine Ace - Ace Battle Engine 之后发现, VA默认的角色中,有的角色在战斗中是既显示TP值又显示MP值的。可是自己新建一个角色,却只能显示M ...

回复

ushiromiya 发表于 2012-6-2 23:50:17
脚本盲 发表于 2012-6-2 18:24
大大,还有个问题。就是当人物等级小于10时,无论如何都只能显示MP。

一般魔法就消耗mp
特技就消耗TP
不过如果自己加技能的话可以随意哦
具体原配技能用什么,你可以到技能界面,什么类型就用什么
脚本盲 发表于 2012-6-2 18:24:32
ushiromiya 发表于 2012-6-2 17:24
这是你的角色不会使用“特技”类型
在角色设定界面右边那里右键,添加技能类型,特技
然后运行游戏或者战斗 ...

大大,还有个问题。就是当人物等级小于10时,无论如何都只能显示MP。

点评

哦,各位大大无视我吧,我突然明白了。  发表于 2012-6-2 18:26
hcm 发表于 2012-6-2 18:15:42
本帖最后由 hcm 于 2012-6-2 18:17 编辑

事实上,是特技还是魔法无所谓的吧,毕竟在数据库——用语可以随便改,
我觉得主要是在数据库——技能那里设置的问题,
当学的技能里只有消耗TP的,就只显示TP,
当学的技能里既有消耗TP又有消耗MP的,就两个都显示,
和技能类型无关,和技能所消耗的东西有关,就这样,要新添加技能类型会显示的也取决于消耗的东西,
下面这个脚本应该可以随时显示两个:
  1. $imported = {} if $imported.nil?
  2. module YEA
  3.   module BATTLE
  4.     BATTLESTATUS_NAME_FONT_SIZE = 20
  5.     BATTLESTATUS_TEXT_FONT_SIZE = 16
  6.     BATTLESTATUS_HPGAUGE_Y_PLUS = 11
  7.     BATTLESTATUS_CENTER_FACES   = false
  8.   end
  9. end
  10. class Window_BattleStatus < Window_Selectable
  11.   def initialize
  12.     super(0, 0, window_width, window_height)
  13.     self.openness = 0
  14.     @party = $game_party.battle_members.clone
  15.   end
  16.   def col_max; return $game_party.max_battle_members; end
  17.   def battle_members; return $game_party.battle_members; end
  18.   def actor; return battle_members[@index]; end
  19.   def update
  20.     super
  21.     return if @party == $game_party.battle_members
  22.     @party = $game_party.battle_members.clone
  23.     refresh
  24.   end
  25.   def draw_item(index)
  26.     return if index.nil?
  27.     clear_item(index)
  28.     actor = battle_members[index]
  29.     rect = item_rect(index)
  30.     return if actor.nil?
  31.     draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
  32.     draw_actor_name(actor, rect.x, rect.y, rect.width-8)
  33.     draw_actor_icons(actor, rect.x, line_height*1, rect.width)
  34.     gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
  35.     contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
  36.     draw_actor_hp(actor, rect.x+2, line_height*2+gx, rect.width-4)
  37.     dw = rect.width/2-2
  38.     dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
  39.     draw_actor_tp(actor, rect.x+2, line_height*3, dw)
  40.     dw = rect.width - rect.width/2 - 2
  41.     draw_actor_mp(actor, rect.x+rect.width/2, line_height*3, dw)
  42.   end
  43.   def item_rect(index)
  44.     rect = Rect.new
  45.     rect.width = contents.width / $game_party.max_battle_members
  46.     rect.height = contents.height
  47.     rect.x = index * rect.width
  48.     if YEA::BATTLE::BATTLESTATUS_CENTER_FACES
  49.       rect.x += (contents.width - $game_party.members.size * rect.width) / 2
  50.     end
  51.     rect.y = 0
  52.     return rect
  53.   end
  54.   def draw_face(face_name, face_index, dx, dy, enabled = true)
  55.     bitmap = Cache.face(face_name)
  56.     fx = [(96 - item_rect(0).width + 1) / 2, 0].max
  57.     fy = face_index / 4 * 96 + 2
  58.     fw = [item_rect(0).width - 4, 92].min
  59.     rect = Rect.new(fx, fy, fw, 92)
  60.     rect = Rect.new(face_index % 4 * 96 + fx, fy, fw, 92)
  61.     contents.blt(dx, dy, bitmap, rect, enabled ? 255 : translucent_alpha)
  62.     bitmap.dispose
  63.   end
  64.   def draw_actor_name(actor, dx, dy, dw = 112)
  65.     reset_font_settings
  66.     contents.font.size = YEA::BATTLE::BATTLESTATUS_NAME_FONT_SIZE
  67.     change_color(hp_color(actor))
  68.     draw_text(dx+24, dy, dw-24, line_height, actor.name)
  69.   end
  70.   def draw_current_and_max_values(dx, dy, dw, current, max, color1, color2)
  71.     change_color(color1)
  72.     draw_text(dx, dy, dw, line_height, current.group, 2)
  73.   end
  74.   def draw_actor_hp(actor, dx, dy, width = 124)
  75.     draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  76.     change_color(system_color)
  77.     cy = (Font.default_size - contents.font.size) / 2 + 1
  78.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
  79.     draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
  80.       hp_color(actor), normal_color)
  81.     end
  82.   def draw_actor_mp(actor, dx, dy, width = 124)
  83.     draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  84.     change_color(system_color)
  85.     cy = (Font.default_size - contents.font.size) / 2 + 1
  86.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
  87.     draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
  88.       mp_color(actor), normal_color)
  89.     end
  90.   def draw_actor_tp(actor, dx, dy, width = 124)
  91.     draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
  92.     change_color(system_color)
  93.     cy = (Font.default_size - contents.font.size) / 2 + 1
  94.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
  95.     change_color(tp_color(actor))
  96.     draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  97.   end
  98. end
复制代码
���

点评

谢谢大大,我明白了。  发表于 2012-6-2 18:27
ushiromiya 发表于 2012-6-2 17:24:22
本帖最后由 ushiromiya 于 2012-6-2 17:50 编辑

这是你的角色不会使用“特技”类型
在角色设定界面右边那里右键,添加技能类型,特技
然后运行游戏或者战斗测试就可以看到了
同理你看原装的埃里克因为不会魔法也没有显示MP条
只有魔法的时候
只显示MP条
只有特技的时候
只显示TP
都有的时候
就都显示l了

当然,要求是你的角色的职业设定里也要有相应类型的技能,否则一个魔法技能都不会,MP槽也是不会显示的


点评

大大,还有个问题。就是当人物等级小于10时,无论如何都只能显示MP。  发表于 2012-6-2 18:10
大大,如果我添加了其他技能类型怎么办?我怎么区分哪个技能类型使用TP,哪个技能类型使用mp?  发表于 2012-6-2 17:54
脚本盲 发表于 2012-6-2 15:06:04
54酱 发表于 2012-6-2 14:44
TP值为0时不显示TP条?

不是的,新建角色都这样......
54酱 发表于 2012-6-2 14:44:05
TP值为0时不显示TP条?
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-3 00:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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