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

Project1

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

[已经过期] Sideview100与Yanfly的ace战斗系统出问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
179 小时
注册时间
2012-11-14
帖子
94
跳转到指定楼层
 楼主| 发表于 2013-2-1 11:38:23 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
我想用Yanfly的ace战斗系统来去掉战斗时候选择敌人那个选择菜单,直接选取敌人本身而不是通过名字来选择敌人
但是在战斗开始后,当作出攻击后,伤害的数值没显示出现就会报错

显示Yanfly的ace战斗系统第2894行dispaly_action_results未定义,但是查找后发现

在横版脚本的这一行,已经进行了定义。这个报错到底是为什么呢?
会不会是因为我使用的是汉化版的Sideview100造成的,因为在范例中看日文版的Sideview100没有出现这个问题..求高手

未命名1.jpg (51.4 KB, 下载次数: 18)

未命名1.jpg

Lv1.梦旅人

梦石
0
星屑
50
在线时间
179 小时
注册时间
2012-11-14
帖子
94
11
 楼主| 发表于 2013-2-2 02:00:50 | 只看该作者
fans2010 发表于 2013-2-2 01:29
http://rpg.blue/forum.php?mod=viewthread&tid=223765
这个我用了,好像没有你说的后几个问题,但是 ...

把我下午发的那个去除“战斗,逃跑”的脚本放到你新发的这个脚本之前,然后不用改什么或者增添函数,直接就可以使用了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
121 小时
注册时间
2010-10-7
帖子
81
10
发表于 2013-2-2 01:29:11 | 只看该作者
本帖最后由 fans2010 于 2013-2-2 01:56 编辑

http://rpg.blue/forum.php?mod=viewthread&tid=223765
这个我用了,好像没有你说的后几个问题,但是就是开始的时候的那两个“战斗”“逃跑”选项去除的话要在里面搜索这个“SKIP_PARTY_COMMAND”,设为false,除了这儿之外,还有两个函数要加进去,一个是
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # alias method: battle_start
  3.   #--------------------------------------------------------------------------
  4.   alias scene_battle_battle_start_abe battle_start
  5.   def battle_start
  6.     scene_battle_battle_start_abe
  7.     return unless YEA::BATTLE::SKIP_PARTY_COMMAND
  8.     @party_command_window.deactivate
  9.     if BattleManager.input_start
  10.       command_fight
  11.     else
  12.       turn_start
  13.     end
  14.   end


另一个是

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # alias method: battle_start
  3.   #--------------------------------------------------------------------------
  4.   alias scene_battle_battle_start_abe battle_start
  5.   def battle_start
  6.     scene_battle_battle_start_abe
  7.     return unless YEA::BATTLE::SKIP_PARTY_COMMAND
  8.     @party_command_window.deactivate
  9.     if BattleManager.input_start
  10.       command_fight
  11.     else
  12.       turn_start
  13.     end
  14.   end


最后再加一个函数

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # new method: status_redraw_target
  3.   #--------------------------------------------------------------------------
  4.   def status_redraw_target(target)
  5.     return unless target.actor?
  6.     @status_window.draw_item($game_party.battle_members.index(target))
  7.   end


这样的话暂时好像没问题
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
136 小时
注册时间
2010-11-8
帖子
33
9
发表于 2013-2-1 22:33:59 | 只看该作者
LBQ 发表于 2013-2-1 22:01
干嘛用Yanfly搭配Sideview啊。。。搭配什么animated battler 还有 battle symphony 神马的难道不是更好? ...

前几天有发现这个脚本

抓下来试了一下后发现他的技能设定全部都要写在注释里,麻烦到傻眼加上本人对英文感冒(哥表示哥只看得懂日文),果断放弃

不然真的很想改用他的系统,介面我比较喜欢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
179 小时
注册时间
2012-11-14
帖子
94
8
 楼主| 发表于 2013-2-1 22:09:49 | 只看该作者
LBQ 发表于 2013-2-1 22:01
干嘛用Yanfly搭配Sideview啊。。。搭配什么animated battler 还有 battle symphony 神马的难道不是更好? ...

哎?能发下那两个系统的相关链接么?我孤陋寡闻了..没听说过这两个..

点评

LBQ
http://victorscripts.wordpress.com/rpg-maker-vx-ace/battle-scripts/animated-battle/  发表于 2013-2-1 22:20
LBQ
http://symphonyan.org/battle-symphony-introduction/  发表于 2013-2-1 22:19
回复 支持 反对

使用道具 举报

Lv3.寻梦者

唯一的信徒

梦石
0
星屑
1665
在线时间
1357 小时
注册时间
2013-1-29
帖子
1637
7
发表于 2013-2-1 22:01:11 | 只看该作者
干嘛用Yanfly搭配Sideview啊。。。搭配什么animated battler 还有 battle symphony 神马的难道不是更好?
『我只是一个正在潜心修炼的渣乐师罢了』
Dear Time\(^o^)/~


假如上面的图片挂了的话麻烦各位去发个帖 @ 一下 orzFly 让他修复 deartime
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
121 小时
注册时间
2010-10-7
帖子
81
6
发表于 2013-2-1 14:27:31 | 只看该作者
本帖最后由 fans2010 于 2013-2-1 14:29 编辑
月满月西楼 发表于 2013-2-1 14:17
[这个也是从坟帖里面找出来的,目前没发现什么BUG,能够去除掉战斗和逃跑。

你给的那一段代码.要怎么使用. ...


不好意思我2了,我明白你的意思了,你这个代码不错,研究下
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
179 小时
注册时间
2012-11-14
帖子
94
5
 楼主| 发表于 2013-2-1 14:17:45 | 只看该作者
本帖最后由 月满月西楼 于 2013-2-1 14:24 编辑

[
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Battle
  4. #------------------------------------------------------------------------------
  5. #  战斗画面·改
  6. #==============================================================================

  7. class Scene_Battle < Scene_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 更新信息显示的显示端口
  10.   #--------------------------------------------------------------------------
  11.   def update_info_viewport
  12. #    move_info_viewport(0)   if @party_command_window.active
  13.     move_info_viewport(128) if @actor_command_window.active
  14.     move_info_viewport(64)  if BattleManager.in_turn?
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 信息窗口打开时的更新
  18.   #    在状态窗口关闭完成前,信息窗口的打开度设置为 0 。
  19.   #--------------------------------------------------------------------------
  20.   def update_message_open
  21.     if $game_message.busy? && !@status_window.close?
  22.       @message_window.openness = 0
  23.       @status_window.close
  24. #      @party_command_window.close
  25.       @actor_command_window.close
  26.     end
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 生成所有窗口
  30.   #--------------------------------------------------------------------------
  31.   def create_all_windows
  32.     create_message_window
  33.     create_scroll_text_window
  34.     create_log_window
  35.     create_status_window
  36.     create_info_viewport
  37. #    create_party_command_window
  38.     create_actor_command_window
  39.     create_help_window
  40.     create_skill_window
  41.     create_item_window
  42.     create_actor_window
  43.     create_enemy_window
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # ● 生成角色指令窗口
  47.   #--------------------------------------------------------------------------
  48.   def create_actor_command_window
  49.     @actor_command_window = Window_ActorCommand.new
  50.     @actor_command_window.viewport = @info_viewport
  51.     @actor_command_window.set_handler(:attack, method(:command_attack))
  52.     @actor_command_window.set_handler(:skill,  method(:command_skill))
  53.     @actor_command_window.set_handler(:guard,  method(:command_guard))
  54.     @actor_command_window.set_handler(:item,   method(:command_item))
  55.     @actor_command_window.set_handler(:escape, method(:command_escape))
  56.     @actor_command_window.set_handler(:cancel, method(:prior_command))
  57.     @actor_command_window.x = Graphics.width
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 开始队伍指令的选择
  61.   #--------------------------------------------------------------------------
  62.   def start_party_command_selection
  63.     unless scene_changing?
  64.       refresh_status
  65.       @status_window.unselect
  66.       @status_window.open
  67.       if BattleManager.input_start
  68. #        @actor_command_window.close
  69. #        @party_command_window.setup
  70.         @actor_command_window.active
  71.         command_fight
  72.       else
  73. #        @party_command_window.deactivate
  74.         turn_start
  75.       end
  76.     end
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 开始角色指令的选择
  80.   #--------------------------------------------------------------------------
  81.   def start_actor_command_selection
  82.     @status_window.select(BattleManager.actor.index)
  83. #    @party_command_window.close
  84.     @actor_command_window.setup(BattleManager.actor)
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● 回合开始
  88.   #--------------------------------------------------------------------------
  89.   def turn_start
  90. #   @party_command_window.close
  91.     @actor_command_window.close
  92.     @status_window.unselect
  93.     @subject =  nil
  94.     BattleManager.turn_start
  95.     @log_window.wait
  96.     @log_window.clear
  97.   end
  98. end



  99. #==============================================================================
  100. # ■ Window_ActorCommand·改
  101. #------------------------------------------------------------------------------
  102. #  战斗画面中,选择角色行动的窗口。
  103. #==============================================================================

  104. class Window_ActorCommand < Window_Command
  105.   #--------------------------------------------------------------------------
  106.   # ● 生成指令列表
  107.   #--------------------------------------------------------------------------
  108.   def make_command_list
  109.     return unless @actor
  110.     add_attack_command
  111.     add_skill_commands
  112.     add_guard_command
  113.     add_item_command
  114.     add_escape_command
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 添加逃跑指令
  118.   #--------------------------------------------------------------------------
  119.   def add_escape_command
  120.     add_command(Vocab::escape, :escape, BattleManager.can_escape?)
  121.   end
  122. end
复制代码
这个也是从坟帖里面找出来的,目前没发现什么BUG,能够去除掉战斗和逃跑。

你给的那一段代码.要怎么使用..我直接插入后没什么效果啊

这个蝙蝠1和2还在..而不是在战斗图上直接选择..
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
121 小时
注册时间
2010-10-7
帖子
81
4
发表于 2013-2-1 13:45:40 | 只看该作者
显示两个伤害主要是因为那个剑挑就是带伤害的,我现在也不能用YEA,因为它自己本身就是一个战斗系统,伤害会重叠之类的问题会出现,现在只要有个脸图的界面就好了,战斗伤害计算等全部交给SIDEVIEW
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
121 小时
注册时间
2010-10-7
帖子
81
3
发表于 2013-2-1 13:44:17 | 只看该作者

  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_actor_hp(actor, dx, dy, width = 124)
  71.     draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  72.     change_color(system_color)
  73.     cy = (Font.default_size - contents.font.size) / 2 + 1
  74.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
  75.     draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
  76.       hp_color(actor), normal_color)
  77.     end
  78.   def draw_actor_mp(actor, dx, dy, width = 124)
  79.     draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  80.     change_color(system_color)
  81.     cy = (Font.default_size - contents.font.size) / 2 + 1
  82.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
  83.     draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
  84.       mp_color(actor), normal_color)
  85.     end
  86.   def draw_actor_tp(actor, dx, dy, width = 124)
  87.     draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
  88.     change_color(system_color)
  89.     cy = (Font.default_size - contents.font.size) / 2 + 1
  90.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
  91.     change_color(tp_color(actor))
  92.     draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  93.   end
  94. end
复制代码
这个是我在某人帖子里下的,这个人删减了YEA脚本,只用yea的界面但是没有用它的战斗系统,请问怎么把开头的那两个“逃跑”和“战斗”去掉呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
179 小时
注册时间
2012-11-14
帖子
94
2
 楼主| 发表于 2013-2-1 13:18:00 | 只看该作者
本帖最后由 月满月西楼 于 2013-2-1 13:31 编辑
fans2010 发表于 2013-2-1 13:09
同求,我也有此困扰


我已经能一并使用了,确实是日版和汉化版的问题
但是能用是能用,不过有更大的问题..
一个是 ,两个战斗系统的伤害数字同时会出现。不过想想看,确实会出现这种情况。
还有个就是
动画待机时间极短。这个是你范例里面的背景变更攻击.。动画刚出来伤害数值就显示了出来,紧接着
敌方就开始行动了..
哎..本来想用Yanfly的ace系统就是只是为了要他那个直接选取攻击敌人的功能..现在带了一大堆重复的功能进来,反倒混乱了。


又想了下,不对啊!在别的范例里面也有Sideview和Yanfly同时使用的。
动画的等待时间不说,也没见会显示两个伤害数值啊..是把其中一个屏蔽掉了么?

点评

虽然没用过……那啥ace战斗系统,不过这俩应该是可以屏蔽一个或者把其中一个伤害图片改全成透明了(投机取巧)  发表于 2013-2-1 15:25
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 08:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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