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

Project1

 找回密码
 注册会员
搜索
楼主: 后知后觉
打印 上一主题 下一主题

[RMVA发布] [RMVA]横版战斗模板v1.7 2012-02-09 修正两处重要BUG

  [复制链接]

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

61
 楼主| 发表于 2013-3-16 18:01:02 | 显示全部楼层
风水缚止 发表于 2013-3-16 17:39
LZ大大求再回答一个问题
如果我只给一个主角设置了战斗图的话 就一切OK 正常运行
但是如果我想让2个主角同 ...

只有这些信息我也不知道问题出在哪











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

62
 楼主| 发表于 2013-3-20 20:34:56 | 显示全部楼层
qq5581199 发表于 2013-3-20 19:26
楼主你好 我想问问 为什么我战斗时 伤害值和显示的伤害值不一样呢?
就是明明是受到100伤害 显示却是200多 ...

看使用说明里关于伤害值分段显示的部分











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

63
 楼主| 发表于 2013-5-3 21:51:03 | 显示全部楼层
hcm 发表于 2013-5-3 21:05
想问一下关于敌人坐标的问题:
在使用横版脚本前,想改版敌人整体坐标(数据库里的移动范围是五百多乘四百 ...

对 Game_Enemy 的
def screen_x 和 def screen_y 下手.
要整体偏移的话直接改这2函数











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

64
 楼主| 发表于 2013-5-4 01:42:12 | 显示全部楼层
hcm 发表于 2013-5-3 22:53
这样添加发现无法运行,
screen_?和real_screen_?貌似不可以用相同的 。

你这样写会形成死循环.

要用 alias 给 screen_x 弄个别名 然后重定义 screen_x

  1.   alias old_game_enemy_screen_x screen_x
  2.   def screen_x
  3.     old_game_enemy_screen_x + 偏移量
  4.   end
复制代码

点评

hcm
嗯,谢谢。  发表于 2013-5-4 12:37











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

65
 楼主| 发表于 2014-6-1 18:09:38 | 显示全部楼层
hcm 发表于 2014-5-31 13:17
不好意思又来提问了,
因为发现使用这个脚本后,
在战斗中使用全屏动画攻击的时候,当技能对象有X个人时,

只有在同一帧对多个目标设置的相同全屏动画才是只播放一个.











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

66
 楼主| 发表于 2014-6-4 10:40:03 | 显示全部楼层
本帖最后由 后知后觉 于 2014-6-8 01:04 编辑
hcm 发表于 2014-6-3 12:43
但是,
怎么在同一帧对多个目标设置呢?
我仔细看过你的范例了,


看了下脚本.这个问题应该在VA默认工程里也有才对
默认的 Sprite_Base 的 update 里面有这2行
    @@ani_checker.clear
    @@ani_spr_checker.clear

这2个东西就是用来控制全屏动画的
一个是控制 精灵
一个是控制 音效
这2行写在这个动画基类里.他的每个实例在调用了 update 后
都会把这2东西给清空
所以多个实例就算在同一帧播放动画 这东西都是空的 全屏动画也就会被创建
因为启动动画的接口是在 update 里
要解决这个问题就得把这2行删掉
然后去 Spriteset_Battle 里的 update 里
来清空这2个 Sprite_Base 的类变量
这样才是一帧清空一次.而不是现在这样 有多少个实例在同一帧内update了就清空那2东西多少次

@hcm
把地图上的动画忽略了
还要在 Spriteset_Map 的 update 里加一行
    Sprite_Base.clear_checkers
才可以 不然地图上放同一个全屏动画只能放一次.
或者更毒一点直接加到 Scene_Base 的 update 里去

  1. # 把此脚本放在默认脚本中 Spriteset_Battle 的下面挨着
  2. #==============================================================================
  3. # ■ Sprite_Base
  4. #==============================================================================

  5. class Sprite_Base < Sprite
  6.   #--------------------------------------------------------------------------
  7.   # ● 清除控制全屏动画的标志
  8.   #--------------------------------------------------------------------------
  9.   def self.clear_checkers
  10.     @@ani_checker.clear
  11.     @@ani_spr_checker.clear
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 更新画面
  15.   #--------------------------------------------------------------------------
  16.   def update
  17.     super
  18.     update_animation
  19.   end
  20. end
  21. #==============================================================================
  22. # ■ Spriteset_Map
  23. #==============================================================================

  24. class Spriteset_Map
  25.   #--------------------------------------------------------------------------
  26.   # ● 帧更新
  27.   #--------------------------------------------------------------------------
  28.   alias hzhj_spriteset_map_update update
  29.   def update
  30.     Sprite_Base.clear_checkers
  31.     hzhj_spriteset_map_update
  32.   end
  33. end
  34. #==============================================================================
  35. # ■ Spriteset_Battle
  36. #==============================================================================

  37. class Spriteset_Battle
  38.   #--------------------------------------------------------------------------
  39.   # ● 帧更新
  40.   #--------------------------------------------------------------------------
  41.   alias hzhj_spriteset_battle_update update
  42.   def update
  43.     Sprite_Base.clear_checkers
  44.     hzhj_spriteset_battle_update
  45.   end
  46. end
复制代码

点评

hcm
哦,真的耶,谢谢提醒。  发表于 2014-6-8 08:25
hcm
非常感谢,这样全屏动画就正常了,目前没发现和我自己修改过的战斗脚本冲突。  发表于 2014-6-4 14:06











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

67
 楼主| 发表于 2014-9-4 20:44:25 | 显示全部楼层
hcm 发表于 2014-9-4 16:13
嗯,好像因为堆砌脚本经常发现新问题啊。
在该横版脚本和https://rpg.blue/thread-220872-1-1.htmlpigss ...

行动结束和回合结束都会执行的一个函数 没有被执行了吧

#==============================================================================
# ■ Window_BattleLog
#==============================================================================

class Window_BattleLog < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 显示状态附加/解除(追加定义)
  #--------------------------------------------------------------------------
  alias hzhj_old_display_status_for_state_ani_wnd_btlog display_changed_states
  def display_changed_states(target)
    target.need_update_state_animation = true
    hzhj_old_display_status_for_state_ani_wnd_btlog(target)
  end
end



找准地方设置 need_update_state_animation 就行了











你知道得太多了

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6645
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

68
 楼主| 发表于 2014-9-10 13:23:06 | 显示全部楼层
hcm 发表于 2014-9-10 00:21
和这个相关的地方只有但是看起来似乎没办法直接设置啊。

可以直接在 战斗者 的 on_turn_end 里面加











你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-10 01:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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