查看: 3258|回复: 9

[已经过期] va行走图横战脚本

[复制链接]
梦石
0
星屑
50
在线时间
22 小时
注册时间
2012-10-28
回帖
17
发表于 2013-4-22 19:42:59 | 显示全部楼层 |阅读模式

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

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

×
如题,求一个行走图的横战脚本,最好用修改的。。。。。(本人脚本痴)
梦石
0
星屑
50
在线时间
22 小时
注册时间
2012-10-28
回帖
17
 楼主| 发表于 2013-4-22 19:43:33 | 显示全部楼层
错了,最好不用修改的......
回复

使用道具 举报

梦石
0
星屑
50
在线时间
25 小时
注册时间
2013-2-16
回帖
26
发表于 2013-4-25 14:44:48 | 显示全部楼层
可以查阅本版的图书馆,有这个东西的~
回复

使用道具 举报

梦石
0
星屑
50
在线时间
22 小时
注册时间
2012-10-28
回帖
17
 楼主| 发表于 2013-4-26 17:53:54 | 显示全部楼层
诺粞 发表于 2013-4-25 14:44
可以查阅本版的图书馆,有这个东西的~

求下链接
回复

使用道具 举报

梦石
0
星屑
50
在线时间
25 小时
注册时间
2013-2-16
回帖
26
发表于 2013-4-26 20:02:31 | 显示全部楼层
timo 发表于 2013-4-26 17:53
求下链接

就在置顶啊...
回复

使用道具 举报

梦石
0
星屑
803
在线时间
2068 小时
注册时间
2011-10-3
回帖
1620
发表于 2013-4-27 06:16:54 | 显示全部楼层
http://rpg.blue/thread-236237-1-1.html
这个用起来超烦,你有能力的话可以试试
回复

使用道具 举报

梦石
0
星屑
1166
在线时间
127 小时
注册时间
2013-2-16
回帖
368
发表于 2013-4-27 06:55:43 | 显示全部楼层
  1. #================================================= =============================
  2. #■此脚本来自[URL] www.66rpg.com [/ URL]
  3. #------------------------------------------------- -----------------------------
  4. #名称:横版战斗模板
  5. 作者:后知后觉([电子邮件] hzhj.tnt @ 163.com [/电子邮件])
  6. #版本:V1.7 2012-02-09
  7. #使用协议:在保留此脚本相关信息的情况下
  8. #可任意使用,修改及修改后发布。
  9. #如是修改后发布。请在作者标注那里加上某某某改等信息
  10. #感谢你来这里谈谈你对这个工程的看法或报告的BUG。
  11. #[URL] http://rpg.blue/thread-216673-1-1.html [/ URL]
  12. 使用说明:
  13. #请来发布帖查看:
  14. #[URL] http://rpg.blue/thread-216673-1-1.html [/ URL]
  15. #================================================= =============================

  16. 模块 Hzhj中
  17.   模块 HorizontalBattleSystem中
  18.     #
  19.     MaxBattleMembers = 4

  20.     ActorsBattlePosition = { }
  21.     #设置角色战斗图形的坐标
  22.     #等号左边的[]号里面的1 2 3 4查看角色在队伍里的位置
  23.     #等号右边的[]号里面的两个数字分别表示所述坐标Ÿ坐标
  24.     #每次进入战斗的时候都会以这里设置的信息作为初始化位置。
  25.     #如果你把上面的MaxBattleMembers改大了,比如改成了5。
  26.     那么你需要在下面新增一行代码设置队伍中第5位置的坐标。
  27.     #就像这样ActorsBattlePosition [5] = [X坐标,Y坐标]
  28.     ActorsBattlePosition [ 1 ] = [ 378,228 ]。
  29.     ActorsBattlePosition [ 2 ] = [ 422,272 ]。
  30.     ActorsBattlePosition [ 3 ] = [ 466,228 ]。
  31.     ActorsBattlePosition [ 4 ] = [ 510 272 ]

  32.     #设置伤害值的图形的色相取值范围0〜360
  33.     DamageBitmapHue = 0
  34.     #伤害值的分段显示的标志SE文件名
  35.     DamageSectionDisplaySEName =的“DamageSection”

  36.     #动画Ž坐标值默认变化量
  37.     DefaultAniAddZ = 768

  38.     #状态动画Ž坐标值默认变化量
  39.     DefaultLoopAniAddZ = 20

  40.     #战斗中角色的面向
  41.     ActorDirection = 4

  42.     #真位移的帧数
  43.     RealMoveDuration = 20
  44.     #真位移移动前会计算目标点。会获取攻防双方战斗图大小来进行计算。
  45.     下面2个是对战斗图宽度高度进行修正。
  46.     #为正则扩大为负则缩小。单位像素。
  47.     #
  48.     RealMoveBmpAddW = 0
  49.     RealMoveBmpAddH = 0

  50.     #使用技能,物品的过程默认使用RMVA模式
  51.     #在该模式下。本脚本提供的很多功能受限无法使用。
  52.     DefaultUseRmvaMode = FALSE

  53.     #默认显示敌人的HP条,MP条,TP条
  54.     DefaultDisplayEnemyBar = 真

  55.     #一张战斗图中有几个样式(帧格)
  56.     DynamicPatternMax = 4
  57.     #一张战斗图中的一个样式持续多少帧
  58.     OnePatternDuration = 15

  59.     #角色使用战斗死亡图形
  60.     UseActorDeadGraphic = 真
  61.     #敌人使用战斗死亡图形
  62.     UseEnemyDeadGraphic = FALSE

  63.     #使用挨打图形
  64.     UseBeatenGraphic = 真
  65.     #挨打图形维持帧数
  66.     BeatenGraphicDuration = 30

  67.     #是否使用角色防御图只有同时使用了挨打图。此​​项才有效。
  68.     UseActorGuardGraphic = 真
  69.     #是否使用敌人防御图只有同时使用了挨打图。此​​项才有效。
  70.     UseEnemyGuardGraphic = FALSE

  71.     #角色是否使用挨打SE
  72.     UseActorWBSE = 真
  73.     #敌人是否使用挨打SE
  74.     UseEnemyWBSE = 真
  75.     #角色是否使用防御SE
  76.     UseActorGDSE = 真
  77.     #敌人是否使用防御SE
  78.     UseEnemyGDSE = FALSE
  79.   结束
  80. 结束

  81. 角色扮演类::演员RPG :: BaseItem
  82.   DEF battler_name
  83.     返回 @ battler_name  除非 battler_name。零?
  84.     如果 / @ btname [ ( + ) \ / \ =〜@注解
  85.       返回 ( @ battler_name = 1美元。克隆)
  86.     其他
  87.       回报 ( @ battler_name = “#{@名} _#{@昵称}” )
  88.     结束
  89.   结束
  90.   DEF battler_hue
  91.     返回 @ battler_hue  ,除非 @ battler_hue的。零?
  92.     如果 / @ bthue \ [ ([ 0 -9 ] + ) \ ] / =〜@注解
  93.       返回 ( @ battler_hue = 1美元。to_i 绝对)
  94.     其他
  95.       返回 ( @ battler_hue = 0 )
  96.     结束
  97.   结束
  98.   attr_writer :battler_name
  99.   attr_writer :battler_hue
  100. 结束
  101. #================================================= =============================
  102. #■Game_Actor
  103. #================================================= =============================
  104. 类 Game_Actor <Game_Battler
  105.   #------------------------------------------------- -------------------------
  106.   ●属性(新增定义)
  107.   #------------------------------------------------- -------------------------
  108.   attr_writer    :battler_name              #战斗图形文件名
  109.   attr_writer    :battler_hue               #战斗图形色相
  110.   #------------------------------------------------- -------------------------
  111.   ●设置(追加定义)
  112.   #------------------------------------------------- -------------------------
  113.   别名 hzhj_old_setup_for_add_actor_battle_graphic设置
  114.   清晰度设置( actor_id )
  115.     hzhj_old_setup_for_add_actor_battle_graphic ( actor_id )
  116.     @ battler_name = battler_name演员。
  117.     @ battler_hue = battler_hue演员。
  118.   结束
  119.   #------------------------------------------------- -------------------------
  120.   ●是否使用活动块(重定义)
  121.   #------------------------------------------------- -------------------------
  122.   高清 use_sprite?
  123.     返回 真
  124.   结束
  125.   #------------------------------------------------- -------------------------
  126.   #●取得战斗画面所述坐标(新增定义)
  127.   #------------------------------------------------- -------------------------
  128.   DEF screen_x
  129.     返回 ActorsBattlePosition [指数+ 1 ] [ 0 ]
  130.   结束
  131.   #------------------------------------------------- -------------------------
  132.   ●取得战斗系Ÿ坐标(新增定义)
  133.   #------------------------------------------------- -------------------------
  134.   DEF screen_y
  135.     返回 ActorsBattlePosition [指数+ 1 ] [ 1 ]
  136.   结束
  137.   #------------------------------------------------- -------------------------
  138.   #●取得战斗画面Ž坐标(新增定义)
  139.   #------------------------------------------------- -------------------------
  140.   DEF screen_z
  141.     返回 real_screen_y + 100
  142.   结束
  143. 结束
  144. #================================================= =============================
  145. #■Game_Enemy
  146. #================================================= =============================
  147. 类 Game_Enemy <Game_Battler
  148.   #------------------------------------------------- -------------------------
  149.   ●属性(新增定义)
  150.   #------------------------------------------------- -------------------------
  151.   attr_writer    :battler_name              #战斗图形文件名
  152.   attr_writer    :battler_hue               #战斗图形色相
  153.   #------------------------------------------------- -------------------------
  154.   #●取得战斗画面Ž坐标(重定义)
  155.   #------------------------------------------------- -------------------------
  156.   DEF screen_z
  157.     返回 real_screen_y + 100
  158.   结束
  159. 结束
  160. #================================================= =============================
  161. #■Game_Party
  162. #================================================= =============================
  163. 类 Game_Party <Game_Unit
  164.   流包括 Hzhj :: HorizontalBattleSystem
  165.   #------------------------------------------------- -------------------------
  166.   ●取得参战角色的最大数(重定义)
  167.   #------------------------------------------------- -------------------------
  168.   DEF max_battle_members
  169.     返回 MaxBattleMembers的
  170.   结束
  171. 结束

  172. 类
  173.   DEF wait_subject_duration
  174.     返回 _AT_ wait_subject_duration的 ,除非 _AT_ wait_subject_duration的。为零?
  175.     如果 / @瓦特\ [ ( \ - ?\ D + ) \ ] / =〜@名
  176.       @ wait_subject_duration = 1美元。to_i
  177.     其他
  178.       @ wait_subject_duration 0
  179.     结束
  180.     返回 _AT_ wait_subject_duration的
  181.   结束
  182.   attr_writer :wait_subject_duration
  183. 结束
  184. 角色扮演类:: UsableItem RPG :: BaseItem
  185.   流包括 Hzhj :: HorizontalBattleSystem
  186.   DEF animation1_id
  187.     返回 @ animation1_id的 除非 @ animation1_id。为零?
  188.     如果 / @ a1id \ [ ( \ D + ) \ / I =〜@注解
  189.       返回 ( @ to_i animation1_id = 1美元。)
  190.     其他
  191.       返回 ( @ animation1_id = 0 )
  192.     结束
  193.   结束
  194.   DEF wljn
  195.     返回 @ wljn  除非 @ wljn。为零?
  196.     如果 / @ wljn / I =〜@注解
  197.       回报 ( @ wljn = TRUE )
  198.     其他
  199.       返回 ( @ wljn = FALSE )
  200.     结束
  201.   结束
  202.   DEF rmva_mode
  203.     返回 _AT_ rmva_mode的 除非 @ rmva_mode。零?
  204.     如果 / @ rmva / I =〜@注解
  205.       返回 ( @ rmva_mode =!DefaultUseRmvaMode )
  206.     其他
  207.       返回 ( @ rmva_mode DefaultUseRmvaMode )
  208.     结束
  209.   结束
  210.   attr_writer :animation1_id
  211.   attr_writer :wljn
  212.   attr_writer :rmva_mode
  213. 结束
  214. 角色扮演类::武器RPG :: EquipItem
  215.   DEF animation1_id
  216.     返回 @ animation1_id的 除非 @ animation1_id。为零?
  217.     如果 / @ a1id \ [ ( \ D + ) \ ] / =〜@注解
  218.       返回 ( @ to_i animation1_id = 1美元。)
  219.     其他
  220.       返回 ( @ animation1_id = 0 )
  221.     结束
  222.   结束
  223.   attr_writer :animation1_id
  224. 结束
  225. 类 RPG ::敌人 < RPG :: BaseItem
  226.   DEF animation1_id
  227.     返回 @ animation1_id的 除非 @ animation1_id。为零?
  228.     如果 / @ a1id \ [ ( \ D + ) \ ] / =〜@注解
  229.       返回 ( @ to_i animation1_id = 1美元。)
  230.     其他
  231.       返回 ( @ animation1_id = 0 )
  232.     结束
  233.   结束
  234.   DEF animation2_id
  235.     返回 @ animation2_id的 除非 @ animation2_id。为零?
  236.     如果 / @ a2id \ [ ( \ D + ) \ ] / =〜@注解
  237.       返回 ( @ to_i animation2_id = 1美元。)
  238.     其他
  239.       返回 ( @ animation2_id = 0 )
  240.     结束
  241.   结束
  242.   DEF animation3_id
  243.     返回 @ animation3_id的 除非 @ animation3_id。为零?
  244.     如果 / @ a3id \ [ ( \ D + ) \ ] / =〜@注解
  245.       返回 ( @ to_i animation3_id = 1美元。)
  246.     其他
  247.       返回 ( @ animation3_id = 0 )
  248.     结束
  249.   结束
  250.   attr_writer :animation1_id
  251.   attr_writer :animation2_id
  252.   attr_writer :animation3_id
  253. 结束
  254. #================================================= =============================
  255. #■Game_Actor
  256. #================================================= =============================
  257. 类 Game_Actor <Game_Battler
  258.   #------------------------------------------------- -------------------------
  259.   #●取得普通攻击的行动方动画ID(新增定义)
  260.   #------------------------------------------------- -------------------------
  261.   DEF animation1_id
  262.     如果 dual_wield?
  263.       返回武器[ 0 ]。animation1_id  如果武器[ 0 ]
  264.       返回武器[ 1 ]?武器[ 1 ]。animation1_id:0
  265.     其他
  266.       返回武器[ 0 ]?的武器[ 0 ]。animation1_id:0
  267.     结束
  268.   结束
  269. 结束
  270. #================================================= =============================
  271. #■Game_Enemy
  272. #================================================= =============================
  273. 类 Game_Enemy <Game_Battler
  274.   #------------------------------------------------- -------------------------
  275.   #●取得普通攻击的行动方动画ID(新增定义)
  276.   #------------------------------------------------- -------------------------
  277.   DEF animation1_id
  278.     返回敌人。animation1_id的
  279.   结束
  280.   #------------------------------------------------- -------------------------
  281.   #●取得普通攻击的动画ID(新增定义)
  282.   #------------------------------------------------- -------------------------
  283.   DEF atk_animation_id1
  284.     返回敌人。animation2_id的
  285.   结束
  286.   #------------------------------------------------- -------------------------
  287.   #●取得普通攻击的动画ID(二刀流武器2)(新增定义)
  288.   #------------------------------------------------- -------------------------
  289.   DEF atk_animation_id2
  290.     返回敌人。animation3_id的
  291.   结束
  292. 结束
  293. #================================================= =============================
  294. #■Scene_Battle
  295. #================================================= =============================
  296. 类 Scene_Battle <Scene_Base
  297.   流包括 Hzhj :: HorizontalBattleSystem
  298.   #------------------------------------------------- -------------------------
  299.   #●使用技能/物品(重定义)
  300.   #------------------------------------------------- -------------------------
  301.   DEF use_item
  302.     项目= @科目。current_action。项目
  303.     @ log_window display_use_item ( @课题,项目)
  304.     @主题use_item (项)
  305.     refresh_status
  306.     目标= @主题current_action的make_targets 紧凑
  307.     show_animation (目标,项目animation_id )
  308.   结束
  309.   #------------------------------------------------- -------------------------
  310.   ●显示动画(重定义)
  311.   #------------------------------------------------- -------------------------
  312.   DEF show_animation (目标,animation_id )
  313.     项目= @科目。current_action。项目
  314.     如果项目rmva_mode的
  315.       show_rmva_animation (目标,animation_id项)
  316.     其他
  317.       show_hzhj_animation (目标,animation_id项)
  318.     结束
  319.   结束
  320.   #------------------------------------------------- -------------------------
  321.   #●RMVA模式显示动画(新增定义)
  322.   #------------------------------------------------- -------------------------
  323.   :DEF show_rmva_animation (目标animation_id项目)
  324.     @主题。damage_section_displayed = 假
  325.     @主题not_damage_section = 真
  326.     目标,每个 目标
  327. = 假damage_section_displayed       的目标。
  328.       目标。not_damage_section = TRUE
  329.     结束
  330.     ,如果 animation_id < 0
  331.       show_attack_animation (目标)
  332.     其他
  333.       show_rmva_usable_animation (目标,animation_id项)
  334.     结束
  335.   结束
  336.   #------------------------------------------------- -------------------------
  337.   #●HZHJ模式显示动画(新增定义)
  338.   #------------------------------------------------- -------------------------
  339.   :DEF show_hzhj_animation (目标animation_id项目)
  340.     ,如果 animation_id < 0
  341.       show_hzhj_attack_animation (目标项目)
  342.     其他
  343.       如果项目wljn的
  344.         show_wljn_skill_animation (目标,animation_id项)
  345.       其他
  346.         show_magic_skill_animation (目标,animation_id项)
  347.       结束
  348.     结束
  349.   结束
  350.   #------------------------------------------------- -------------------------
  351.   ●HZHJ模式显示攻击动画(重定义)
  352.   #------------------------------------------------- -------------------------
  353.   :DEF show_hzhj_attack_animation (目标项目)
  354.     进制= [ ]
  355.     need_move = FALSE
  356.     动画1 = $ data_animations,[ @主题。animation1_id ]
  357. 如果     need_move =动画1。need_move 动画1
  358.     come_back = TRUE
  359.     目标。的each_with_index  做目标,我|
  360.       进制[ 0 ] =目标
  361.       项目重复做
  362.         接下来 ,如果目标死了吗?&&项损坏。类型 == 1
  363.         接下来 ,如果 @主题。死了吗?
  364.         未来, 如果 @主题。current_action
  365.         如果 need_move && come_back
  366.           come_back = FALSE
  367.           @主题目标,RealMoveDuration动画1 move_se setup_move_info ()
  368.           wait_for_move
  369.         结束
  370.         damage_target = hzhj_apply_item_effects (目标项)
  371.         show_subject_animation ( @科目。animation1_id )
  372.         show_normal_animation (进制,@主题。atk_animation_id1,假)
  373.         show_normal_animation (进制,@主题。atk_animation_id2的,真实)
  374.         等待@ log_window。
  375.         wait_for_animation
  376.         hzhj_invoke_item (目标,项目damage_target; )
  377.       结束
  378.       如果 need_move
  379.         如果目标!=目标[ í +1 ]  或目标。死了吗?
  380.           come_back = TRUE
  381.           @主体come_back_self_position ( RealMoveDuration )
  382.           wait_for_move
  383.         其他
  384.           come_back = FALSE
  385.         结束
  386.       结束
  387.     结束
  388.   结束
  389.   #------------------------------------------------- -------------------------
  390.   ●HZHJ模式显示物理技能类动画(新增定义)
  391.   #------------------------------------------------- -------------------------
  392.   :DEF show_wljn_skill_animation (目标animation_id项目)
  393.     进制= [ ]
  394.     need_move = FALSE
  395.     动画1 = $ data_animations,[项目。animation1_id ]
  396. 如果     need_move =动画1。need_move 动画1
  397.     come_back = TRUE
  398.     目标。的each_with_index  做目标,我|
  399.       进制[ 0 ] =目标
  400.       项目重复做
  401.         接下来 ,如果目标死了吗?&&项损坏。类型 == 1
  402.         接下来 ,如果 @主题。死了吗?
  403.         未来, 如果 @主题。current_action
  404.         如果 need_move && come_back
  405.           come_back = FALSE
  406.           @主题目标,RealMoveDuration动画1 move_se setup_move_info ()
  407.           wait_for_move
  408.         结束
  409.         damage_target = hzhj_apply_item_effects (目标项)
  410.         show_subject_animation (animation1_id项目。)
  411.         show_normal_animation (进制,animation_id,假)
  412.         等待@ log_window。
  413.         wait_for_animation
  414.         hzhj_invoke_item (目标,项目damage_target; )
  415.       结束
  416.       如果 need_move
  417.         如果目标!=目标[ í +1 ]  或目标。死了吗?
  418.           come_back = TRUE
  419.           @主体come_back_self_position ( RealMoveDuration )
  420.           wait_for_move
  421.         其他
  422.           come_back = FALSE
  423.         结束
  424.       结束
  425.     结束
  426.   结束
  427.   #------------------------------------------------- -------------------------
  428.   ●HZHJ模式显示魔法技能类动画(新增定义)
  429.   #------------------------------------------------- -------------------------
  430.   :DEF show_magic_skill_animation (目标animation_id项目)
  431.     进制= [ ]
  432.     damage_targets = { }
  433.     项目重复做
  434.       接下来 ,如果 @主题。死了吗?
  435.       未来, 如果 @主题。current_action
  436. 明确       进制。
  437.       damage_targets 清晰
  438.       目标,每个 目标
  439.         接下来 ,如果目标死了吗?&&项损坏。类型 == 1
  440.         进制<<目标
  441.         damage_targets [目标] = hzhj_apply_item_effects (目标,项目)
  442.       结束
  443.        如果进制。空?
  444.       show_subject_animation (animation1_id项目。)
  445.       show_normal_animation (叉,animation_id )
  446.       等待@ log_window。
  447.       wait_for_animation
  448.       进制。|目标|
  449.         hzhj_invoke_item (目标,项目,damage_targets [目标] )
  450.       结束
  451.       如果 [ 9,10 ]。包括(项目范围)?
  452.         进制。|目标|
  453.           如果目标还活着吗?
  454.             目标。come_back_self_position ( RealMoveDuration )
  455.           结束
  456.         结束
  457.         wait_for_move
  458.       结束
  459.     结束
  460.   结束
  461.   #------------------------------------------------- -------------------------
  462.   ●RMVA模式显示攻击动画(重定义)
  463.   #------------------------------------------------- -------------------------
  464.   :DEF show_attack_animation (的目标)
  465.     项目= @科目。current_action。项目
  466.     show_subject_animation ( @科目。animation1_id )
  467.     show_normal_animation (目标,@主题。atk_animation_id1,假)
  468.     show_normal_animation (目标,@主题。atk_animation_id2,真实)
  469.     等待@ log_window。
  470.     wait_for_animation
  471.     目标。{ |目标|项目重复。次{ invoke_item: (目标,项目)} }   
  472.   结束
  473.   #------------------------------------------------- -------------------------
  474.   ●RMVA模式显示技能,物品动画(新增定义)
  475.   #------------------------------------------------- -------------------------
  476.   :DEF show_rmva_usable_animation (目标animation_id项目)
  477.     show_subject_animation (animation1_id项目。)
  478.     show_normal_animation (目标,animation_id的)
  479.     等待@ log_window。
  480.     wait_for_animation
  481.     目标。{ |目标|项目重复。次{ invoke_item: (目标,项目)} }   
  482.     如果 [ 9,10 ]。包括(项目范围)?
  483.       目标,每个 目标
  484.         如果目标还活着吗?
  485.           目标。come_back_self_position ( RealMoveDuration )
  486.         结束
  487.       结束
  488.       wait_for_move
  489.     结束
  490.   结束
  491.   #------------------------------------------------- -------------------------
  492.   ●显示行动方动画(新增定义)
  493.   #------------------------------------------------- -------------------------
  494.   :DEF show_subject_animation (主题= @主题,animation_id 镜= FALSE )
  495.     动画= $ data_animations [ animation_id ]
  496.     如果动画
  497.       主题。animation_id = animation_id
  498.       主题animation_mirror =镜子
  499.       如果动画wait_subject_duration 0
  500.         wait_for_animation
  501.       ELSIF动画。wait_subject_duration > 0
  502.         动画wait_subject_duration,次{ update_for_wait }
  503.       结束
  504.     结束
  505.   结束
  506. 结束

  507. 类
  508.   流包括 Hzhj :: HorizontalBattleSystem
  509.   def ani_z_correction中
  510.     返回 _AT_ ani_z_correction的 ,除非 _AT_ ani_z_correction的。为零?
  511.     如果 / @ AZ \ [ ( \ - ?\ D + ) \ ] / =〜@名
  512.       返回 ( @ ani_z_correction = $ 1 to_i。)
  513.     其他
  514.       返回 ( @ ani_z_correction = DefaultAniAddZ )
  515.     结束
  516.   结束
  517.   def loop_z_correction中
  518.     返回 _AT_ loop_z_correction的 ,除非 _AT_ loop_z_correction的。为零?
  519.     如果 / @ LZ \ [ ( \ - ?\ d + ) \ ] / =〜@名字
  520.       返回 ( @ loop_z_correction = $ 1 to_i。)
  521.     其他
  522.       返回 ( @ loop_z_correction = DefaultLoopAniAddZ )
  523.     结束
  524.   结束
  525.   attr_writer :ani_z_correction
  526.   attr_writer :loop_z_correction
  527. 结束
  528. 角色扮演类::国家RPG :: BaseItem
  529.   DEF animation_id
  530.     返回 @ animation_id的 除非 @ animation_id。为零?
  531.     如果 / @援助\ [ ( \ d + ) \ ] / =〜@注解
  532.       返回 ( @ to_i animation_id = 1美元。)
  533.     其他
  534.       返回 ( @ animation_id = 0 )
  535.     结束
  536.   结束
  537.   attr_writer :animation_id
  538. 结束
  539. #================================================= =============================
  540. #■Game_BattlerBase
  541. #================================================= =============================
  542. 类 Game_BattlerBase
  543.   #------------------------------------------------- -------------------------
  544.   ●实例变量(新增定义)
  545.   #------------------------------------------------- -------------------------
  546.   attr_reader    :hzhj_add_state_id
  547.   attr_reader    :hzhj_remove_state_id
  548.   attr_accessor中:need_update_state_animation
  549.   #------------------------------------------------- -------------------------
  550.   ●初始化(追加定义)
  551.   #------------------------------------------------- -------------------------
  552.   的别名 hzhj_old_init_for_state_ani_game_battler_base初始化
  553.   DEF初始化
  554.     @ hzhj_add_state_id = [ ]
  555.     @ hzhj_remove_state_id = [ ]
  556.     _AT_ need_update_state_animation = 虚假
  557.     @ = [ ]
  558.     @ state_turns = { }
  559.     @ state_steps = { }
  560.     hzhj_old_init_for_state_ani_game_battler_base
  561.   结束
  562.   #------------------------------------------------- -------------------------
  563.   #●清除状态信息(追加定义)
  564.   #------------------------------------------------- -------------------------
  565.   别名 hzhj_old_clear_states_for_state_ani_game_battler_base clear_states
  566.   DEF clear_states
  567.     old_states = @ 克隆。
  568.     hzhj_old_clear_states_for_state_ani_game_battler_base
  569.     丙吉old_states | @状态
  570.      如果丙吉返回空?
  571.     set_add_state_id (丙吉&@ )
  572.     set_remove_state_id (丙吉old_states的)
  573.   结束
  574.   #------------------------------------------------- -------------------------
  575.   ●消除状态(追加定义)
  576.   #------------------------------------------------- -------------------------
  577.   别名 hzhj_old_erase_state_for_state_ani_game_battler_base erase_state
  578.   高清 erase_state ( STATE_ID )
  579.     old_states = @ 克隆。
  580.     hzhj_old_erase_state_for_state_ani_game_battler_base ( STATE_ID )
  581.     丙吉old_states | @状态
  582.      如果丙吉返回空?
  583.     set_add_state_id (丙吉&@ )
  584.     set_remove_state_id (丙吉old_states的)
  585.   结束
  586.   #--------------------------------------------------------------------------
  587.   ●设置增加的状态(新增定义)
  588.   #------------------------------------------------- -------------------------
  589.   高清 set_add_state_id ( zjdzt )
  590.     为我在 zjdzt的
  591.       如果 $ data_states [我]。animation_id > 0
  592.         如果 不 hzhj_add_state_id 包括(我)
  593.           hzhj_add_state_id 推(我)
  594.         结束
  595.       结束
  596.     结束
  597.   结束
  598.   #------------------------------------------------- -------------------------
  599.   ●设置解除的状态(新增定义)
  600.   #------------------------------------------------- -------------------------
  601.   高清 set_remove_state_id ( jsdzt )
  602.     为我在 jsdzt的
  603.       如果 $ data_states [我]。animation_id > 0
  604.         如果 不 hzhj_remove_state_id 包括(我)
  605.           ani_id = $ data_states [我]。animation_id
  606.           not_end_loop_animation = FALSE
  607.           自我状态。
  608.             状态。animation_id的 == ani_id
  609.               not_end_loop_animation = TRUE
  610.               打破
  611.             结束
  612.           结束
  613.           除非 not_end_loop_animation
  614.             hzhj_remove_state_id 推(我)
  615.           结束
  616.         结束
  617.       结束
  618.     结束
  619.   结束
  620. 结束
  621. #================================================= =============================
  622. #■Game_Battler
  623. #================================================= =============================
  624. 类 Game_Battler <Game_BattlerBase
  625.   #------------------------------------------------- -------------------------
  626.   ●附加新的状态(追加定义)
  627.   #------------------------------------------------- -------------------------
  628.   别名 hzhj_old_add_new_state_for_state_ani_game_battler add_new_state
  629.   高清 add_new_state ( STATE_ID )
  630.     old_states = @ 克隆。
  631.     hzhj_old_add_new_state_for_state_ani_game_battler ( STATE_ID )
  632.     丙吉old_states | @状态
  633.      如果丙吉返回空?
  634.     set_add_state_id (丙吉&@ )
  635.     set_remove_state_id (丙吉old_states的)
  636.   结束
  637. 结束
  638. #================================================= =============================
  639. #■Sprite_Base
  640. #================================================= =============================
  641. 类 Sprite_Base <雪碧
  642.   #------------------------------------------------- -------------------------
  643.   ●初始化(追加定义)
  644.   #------------------------------------------------- -------------------------
  645.   的别名 hzhj_old_init_for_state_ani_spr_base初始化
  646.   DEF初始化( *参数)
  647.     hzhj_old_init_for_state_ani_spr_base ( *参数)
  648.     @ hzhj_loop_animations = [ ]
  649.     @ hzhj_loop_durations = { }
  650.     @ hzhj_loop_sprites = { }
  651.     @ hzhj_loop_bitmap1s = { }
  652.     @ hzhj_loop_bitmap2s = { }
  653.     @ hzhj_loop_ani_oxs = { }
  654.     @ hzhj_loop_ani_oys = { }
  655.     @ flash_nil_duration 0
  656.   结束
  657.   #------------------------------------------------- -------------------------
  658.   ●释放(追加定义)
  659.   #------------------------------------------------- -------------------------
  660.   的别名 hzhj_old_dispose_for_state_ani_spr_base处置
  661.   DEF处置
  662.     dispose_loop_animation
  663.     hzhj_old_dispose_for_state_ani_spr_base
  664.   结束
  665.   #------------------------------------------------- -------------------------
  666.   #●设置动画的活动块(追加定义)
  667.   #------------------------------------------------- -------------------------
  668.   别名 hzhj_old_ani_set_spr_for_state_ani_spr_base animation_set_sprites
  669.   :DEF animation_set_sprites ( *参数)
  670.     hzhj_old_ani_set_spr_for_state_ani_spr_base ( *参数)
  671.     “@”ani_sprites“ 。每个{ |精灵|精灵。Ž + = @的动画。ani_z_correction }
  672.   结束
  673.   #------------------------------------------------- -------------------------
  674.   #●判断是否有循环动画(新增定义)
  675.   #------------------------------------------------- -------------------------
  676.   高清 loop_animation?
  677.     回报 (不“  @“hzhj_loop_animations” 。空吗?)
  678.   结束
  679.   #------------------------------------------------- -------------------------
  680.   ●开始播放循环动画(新增定义)
  681.   #------------------------------------------------- -------------------------
  682.   :DEF start_loop_animation (动画)
  683.     返回 如果 @ hzhj_loop_animations。包括(动画)
  684.     如果动画为零?
  685.       dispose_loop_animation
  686.       返回
  687.     结束
  688.     set_animation_rate
  689.     @ hzhj_loop_animations 推(动画)
  690.     init_loop_animation_duration (动画)
  691.     load_loop_animation_bitmap (动画)
  692.     make_loop_animation_sprites (动画)
  693.     set_loop_animation_origin (动画)
  694.   结束
  695.   #------------------------------------------------- -------------------------
  696.   #●初始化循环动画播放位置(新增定义)
  697.   #------------------------------------------------- -------------------------
  698.   :DEF init_loop_animation_duration (动画)
  699.     @ hzhj_loop_durations [动画] =动画。frame_max * @ ani_rate + 1
  700.   结束
  701.   #------------------------------------------------- -------------------------
  702.   ●读取循环动画图像(新增定义)
  703.   #------------------------------------------------- -------------------------
  704.   :DEF load_loop_animation_bitmap (动画)
  705.     animation1_name = animation1_name动画。
  706.     animation1_hue = animation1_hue动画。
  707.     animation2_name = animation2_name动画。
  708.     animation2_hue = animation2_hue动画。
  709.     bitmap1 =缓存的动画( animation1_name animation1_hue )
  710.     bitmap2 =缓存的动画( animation2_name,animation2_hue )
  711.     如果 @ @ _reference_count 包括?( bitmap1 )
  712.       @ @ _reference_count [ bitmap1 ] + = 1
  713.     其他
  714.       @ @ _reference_count [ bitmap1 ] = 1
  715.     结束
  716.     如果 @ @ _reference_count 包括?( bitmap2 )
  717.       @ @ _reference_count [ bitmap2 ] + = 1
  718.     其他
  719.       @ @ _reference_count [ bitmap2 ] = 1
  720.     结束
  721.     @ hzhj_loop_bitmap1s [动画] = bitmap1
  722.     @ hzhj_loop_bitmap2s [动画] = bitmap2
  723.     图形。frame_reset
  724.   结束
  725.   #------------------------------------------------- -------------------------
  726.   #●生成循环动画活动块(新增定义)
  727.   #------------------------------------------------- -------------------------
  728.   :DEF make_loop_animation_sprites (动画)
  729.     精灵= [ ]
  730.     如果 @ use_sprite的
  731.       16 倍
  732.         雪碧= ::雪碧新(视口)。
  733.         雪碧。可见 = 假
  734.         精灵推(精灵)
  735.       结束
  736.     结束
  737.     @ hzhj_loop_sprites [动画] =精灵
  738.   结束
  739.   #------------------------------------------------- -------------------------
  740.   ●设定循环动画的原点(新增定义)
  741.   #------------------------------------------------- -------------------------
  742.   :DEF set_loop_animation_origin (动画)
  743.     如果动画位置 == 3
  744.       如果视口== 零
  745.         ani_ox =图形宽度 / 2。
  746.         ani_oy =图形高度 / 2
  747.       其他
  748.         ani_ox =视口矩形的宽度 / 2
  749.         ani_oy =口。正确的高度 / 2
  750.       结束
  751.     其他
  752.       ani_ox = X -牛+宽/ 2
  753.       ani_oy = Y - OY +高/ 2
  754.       如果动画位置 == 0
  755.         ani_oy - =身高/ 2
  756.       的ELSIF动画。位置 ==
  757.         ani_oy + =身高/ 2
  758.       结束
  759.     结束
  760.     @ hzhj_loop_ani_oxs [动画] = ani_ox
  761.     @ hzhj_loop_ani_oys [动画] = ani_oy
  762.   结束
  763.   #------------------------------------------------- -------------------------
  764.   ●释放所有循环动画(新增定义)
  765.   #------------------------------------------------- -------------------------
  766.   DEF dispose_loop_animation
  767.     返回, 除非 loop_animation?
  768.     为动画@ hzhj_loop_animations。克隆
  769.       end_loop_animation (动画)
  770.     结束
  771.     @ hzhj_loop_durations 清晰
  772.     @ 明确hzhj_loop_sprites。
  773.     @ hzhj_loop_bitmap1s 清晰
  774.     @ hzhj_loop_bitmap2s 清晰
  775.     @ hzhj_loop_ani_oxs 清晰
  776.     @ hzhj_loop_ani_oys 清晰
  777.     @ hzhj_loop_animations 清晰
  778.   结束
  779.   #------------------------------------------------- -------------------------
  780.   ●结束某个循环动画(新增定义)
  781.   #------------------------------------------------- -------------------------
  782.   :DEF end_loop_animation (动画)
  783.     返回, 如果 不能的 @ hzhj_loop_animations。包括?(动画)
  784.     bitmap1 = @ hzhj_loop_bitmap1s [动画]
  785.     @ @ _reference_count [ bitmap1 ] - = 1
  786.     如果 @ @ _reference_count [ bitmap1 ] == 0
  787.       @ _reference_count 删除( bitmap1 )
  788.       bitmap1 处置。
  789.     结束
  790.     bitmap2 = @ hzhj_loop_bitmap2s [动画]
  791.     @ @ _reference_count [ bitmap2 ] - = 1
  792.     @ _reference_count [ bitmap2 ] == 0
  793.       @ _reference_count 删除( bitmap2 )
  794.       bitmap2 处置。
  795.     结束
  796.     精灵= @ hzhj_loop_sprites [动画]
  797.     精灵精灵
  798.       雪碧。处置
  799.     结束
  800.     “@”hzhj_loop_durations“ 。删除(动画)
  801.     “@”hzhj_loop_sprites“ 。删除(动画)
  802.     “@”hzhj_loop_bitmap1s“ 。删除(动画)
  803.     “@”hzhj_loop_bitmap2s“ 。删除(动画)
  804.     “@”hzhj_loop_ani_oxs“ 。删除(动画)
  805.     “@”hzhj_loop_ani_oys“ 。删除(动画)
  806.     @ hzhj_loop_animations 删除(动画)
  807.   结束
  808.   #------------------------------------------------- -------------------------
  809.   #●刷新(追加定义)
  810.   #------------------------------------------------- -------------------------
  811.   别名 hzhj_old_update_for_state_ani_spr_base更新
  812.   DEF更新
  813.     hzhj_old_update_for_state_ani_spr_base
  814.     update_loop_animation
  815.   结束
  816.   #------------------------------------------------- -------------------------
  817.   #●刷新循环动画(新增定义)
  818.   #------------------------------------------------- -------------------------
  819.   DEF update_loop_animation
  820.     @ flash_nil_duration - = 1, 如果 @ flash_nil_duration 0
  821.     返回, 除非 loop_animation?
  822.     在@ hzhj_loop_animations动画
  823.       @ hzhj_loop_durations [动画] - = 1
  824.       持续时间= @ hzhj_loop_durations [动画]
  825.       如果持续时间%@ ani_rate == 0
  826.         如果持续时间> 0
  827.           set_loop_animation_origin (动画)
  828.           frame_index = frame_max动画。
  829.           frame_index - = (持续时间+ @ ani_rate的 - 1 ) / @ ani_rate
  830.           参数= [ ]
  831.           参数[ 0 ] = @ hzhj_loop_sprites [动画]
  832.           参数[ 1 ] = _AT_ hzhj_loop_bitmap1s [动画]
  833.           参数[ 2 ] = _AT_ hzhj_loop_bitmap2s [动画]
  834.           参数[ 3 ] = _AT_ hzhj_loop_ani_oxs [动画]
  835.           参数[ 4 ] = _AT_ hzhj_loop_ani_oys [动画]
  836.           参数[ 5 ] =动画loop_z_correction
  837.           ARGS [ 6 ] = (​​(不 flash_nil?或动画。to_screen?) 和可见光)
  838.           loop_animation_set_sprites (动画帧[ frame_index ]里,args )
  839.           动画。计时。|定时|
  840.             loop_animation_process_timing (定时), 如果帧 == frame_index 时机。
  841.           结束
  842.         其他
  843.           init_loop_animation_duration (动画)
  844.           重做
  845.         结束
  846.       结束
  847.     结束
  848.   结束
  849.   #------------------------------------------------- -------------------------
  850.   ●设定循环动画的活动块(新增定义)
  851.   #------------------------------------------------- -------------------------
  852.   DEF loop_animation_set_sprites (帧,参数)
  853.     精灵=参数[ 0 ]
  854.     bitmap1 0 = [ 1 ]
  855.     bitmap2 0 = [ 2 ]
  856.     ani_ox 0 = [ 3 ]
  857.     ani_oy 0 = [ 4 ]
  858.     loop_z_correction 0 = [ 5 ]
  859.     state_visible 0 = [ 6 ]
  860.     cell_data = cell_data框架。
  861.     精灵each_with_index  |精灵,我|
  862.       未来 除非精灵
  863.       模式= cell_data [ I,0 ]
  864.       如果图案| |模式< 0
  865.         雪碧。可见 = 假
  866.         下
  867.       结束
  868.       精灵位图模式< 100?bitmap1:bitmap2
  869.       精灵可见 state_visible中
  870.       雪碧。src_rect 集(模式5%* 192,
  871.         样式%100 / 5 * 192,192,192 )
  872.       雪碧。所述 = ani_ox + cell_data [ I,1 ]
  873.       雪碧。Ÿ = ani_oy + cell_data [ I,2 ]
  874.       雪碧。角 = cell_data [ I,4 ]
  875.       雪碧。镜 = ( cell_data [ I,5 ] == 1 )
  876.       如果 loop_z_correction> 9999
  877.         雪碧。Ž = loop_z_correction%10000 +
  878.       ELSIF loop_z_correction < -9999
  879.         雪碧。Ž = loop_z_correction%-10000 + I
  880.       其他
  881.         精灵Ž = 自我。Ž + loop_z_correction +我
  882.       结束
  883.       雪碧。牛 = 96
  884.       雪碧。OY = 96
  885.       雪碧。zoom_x cell_data [ I,3 ] / 100.0
  886.       雪碧。zoom_y cell_data [ I,3 ] / 100.0
  887.       雪碧。不透明度 = cell_data [ I,6 ] * 自混浊 / 255.0
  888.       雪碧。blend_type cell_data [ I,7 ]
  889.     结束
  890.   结束
  891.   #------------------------------------------------- -------------------------
  892.   #●循环动画SE和闪烁时机的处理(新增定义)
  893.   #------------------------------------------------- -------------------------
  894.   DEF loop_animation_process_timing (定时)
  895.     时序。本身玩
  896.     flash_scope 情况的时机。
  897.     当 1
  898.       自我闪光灯(时机。flash_color时机。flash_duration * @ ani_rate )
  899.      2
  900.       如果视口
  901.         口中。闪光灯(时机。flash_color时机。flash_duration * @ ani_rate )
  902.       结束
  903.     时
  904.       自我闪光灯(无定时。flash_duration * @ ani_rate )
  905.     结束
  906.   结束
  907.   #------------------------------------------------- -------------------------
  908.   ●设置闪烁(追加定义)
  909.   #------------------------------------------------- -------------------------
  910.   别名 hzhj_old_flash_for_state_ani_spr_base闪光
  911.   高清闪存( *参数)
  912.     如果 ARGS [ 0 ] 为零?
  913.       _AT_ flash_nil_duration的 0 = [ 1 ]
  914.     其他
  915.       @ flash_nil_duration 0
  916.     结束
  917.     hzhj_old_flash_for_state_ani_spr_base ( *参数)
  918.   结束
  919.   #------------------------------------------------- -------------------------
  920.   ●判断是否正处于【隐藏目标】(新增定义)
  921.   #------------------------------------------------- -------------------------
  922.   高清 flash_nil?
  923.     返回 ( @ flash_nil_duration 0 )
  924.   结束
  925. 结束
  926. #================================================= =============================
  927. #■Sprite_Battler
  928. #================================================= =============================
  929. 类 Sprite_Battler <Sprite_Base
  930.   #------------------------------------------------- -------------------------
  931.   ●初始化(追加定义)
  932.   #------------------------------------------------- -------------------------
  933.   的别名 hzhj_old_init_for_state_ani_spr_battler初始化
  934.   DEF初始化( *参数)
  935.     hzhj_old_init_for_state_ani_spr_battler ( *参数)
  936.     init_battler_add_state_id
  937.   结束
  938.   #------------------------------------------------- -------------------------
  939.   ●初始化战斗者要播放状态动画的状态(新增定义)
  940.   #------------------------------------------------- -------------------------
  941.   DEF init_battler_add_state_id
  942.     如果 @战斗者。为零?
  943.       dispose_loop_animation
  944.     其他
  945.       @战斗者。hzhj_add_state_id 清晰
  946.       @战斗者。hzhj_remove_state_id 清晰
  947.       @战斗者。need_update_state_animation = 真
  948.       为@战斗者状态状态
  949.         接下来 ,如果状态。为零?
  950.         未来 如果 $ data_animations [。animation_id状态零?
  951.         @战斗者。hzhj_add_state_id 推(状态ID )
  952.       结束
  953.     结束
  954.   结束
  955.   #------------------------------------------------- -------------------------
  956.   #●设置战斗者(追加定义)
  957.   #------------------------------------------------- -------------------------
  958.   别名 hzhj_old_battlerdy_for_state_ani_spr_battler的战斗者=
  959.   DEF战斗者= (值)
  960.     old_battler = @战斗者
  961.     hzhj_old_battlerdy_for_state_ani_spr_battler (值)
  962.     如果 old_battler!= @战斗者
  963.       init_battler_add_state_id
  964.     结束
  965.   结束
  966.   #------------------------------------------------- -------------------------
  967.   #●刷新(追加定义)
  968.   #------------------------------------------------- -------------------------
  969.   别名 hzhj_old_update_for_state_ani_spr_battler更新
  970.   DEF更新
  971.     hzhj_old_update_for_state_ani_spr_battler
  972.     如果 @战斗者
  973.       如果 @战斗者。need_update_state_animation的
  974.         @战斗者。need_update_state_animation = FALSE
  975.         如果  战斗者。hzhj_add_state_id 空?
  976.           我@战斗者hzhj_add_state_id的
  977.             如果 @战斗者状态(我)吗?
  978.               ani_id = $ data_states [我]。animation_id
  979.               动画= $ data_animations [ ani_id ]
  980.               start_loop_animation (动画) ,如果 不是动画为零?
  981.             结束
  982.           结束
  983.           @战斗者。hzhj_add_state_id 清晰
  984.         结束
  985.         如果  战斗者。hzhj_remove_state_id 空?
  986.           我@战斗者hzhj_remove_state_id的
  987.             如果 不能 战斗者状态?(我)
  988.               ani_id = $ data_states [我]。animation_id
  989.               动画= $ data_animations [ ani_id ]
  990.               end_loop_animation (动画) ,如果 不是动画为零?
  991.             结束
  992.           结束
  993.           @战斗者。hzhj_remove_state_id 清晰
  994.         结束
  995.       结束
  996.     结束
  997.   结束
  998. 结束
  999. #================================================= =============================
  1000. #■Window_BattleLog
  1001. #================================================= =============================
  1002. 类 Window_BattleLog <Window_Selectable
  1003.   #------------------------------------------------- -------------------------
  1004.   ●显示状态附加/解除(追加定义)
  1005.   #------------------------------------------------- -------------------------
  1006.   别名 hzhj_old_display_status_for_state_ani_wnd_btlog display_changed_states
  1007.   DEF display_changed_states (目标)
  1008.     目标。need_update_state_animation = TRUE
  1009.     hzhj_old_display_status_for_state_ani_wnd_btlog (目标)
  1010.   结束
  1011. 结束

  1012. #================================================= =============================
  1013. ID:■Sprite_Damage $(新增类)
  1014. #================================================= =============================
  1015. 类 Sprite_Damage <雪碧
  1016.   流包括 Hzhj :: HorizontalBattleSystem
  1017.   #------------------------------------------------- -------------------------
  1018.   #●获取/生成伤害值源图
  1019.   #------------------------------------------------- -------------------------
  1020.   @ obmp = 零
  1021.   DEF  自obmp
  1022.     @ obmp 为零?@ obmp。处置?
  1023.       @ obmp = 新的位图。(180,256 )
  1024.       @ obmp 字体加粗 = 真
  1025.       @ obmp 字体阴影 = 假
  1026.       @ obmp 字体轮廓 = 真
  1027.       @ obmp 字体。out_color =颜色。新(255,255,255,255 )
  1028.       @ obmp。字体大小 = 32。
  1029.       种= [ ]
  1030.       颜色。推(颜色新的(255,    0,    0,255 ))。
  1031.       颜色。推(新颜色。(255,128,128,255 ))
  1032.       颜色。推(新  颜色(0,    0,255,255 ))
  1033.       颜色。推(新颜色。(128,128,255,255 ))
  1034.       颜色。推(新  颜色(0,255,    0,255 ))
  1035.       颜色。推(新颜色(128,255,128,255 ))
  1036.       颜色。each_with_index  |色,喜|
  1037.         @ obmp 字体颜色 =颜色
  1038.         无线在 0 .. 9
  1039.           @ obmp draw_text,喜( WI * 18 * 32,18,32,“#{威斯康星}” ,1 )
  1040.         结束
  1041.       结束
  1042.       @ obmp 字体大小 = 20。
  1043.       @ obmp 字体斜体 = TRUE
  1044.       @ @ 字体。obmp out_color =颜色。新的(0,0,0,255 )
  1045.       @ obmp 字体颜色 =颜色新(255,255,255,255 )
  1046.       @ obmp draw_text ( 0,192,90,32,“重要”,1 )
  1047.       @ obmp draw_text (90,192,90,32,“小姐”,1 )
  1048.       @ @ obmp draw_text ( 0,224,90,32,“规避”,1 )
  1049.       @ obmp hue_change ( DamageBitmapHue )
  1050.     结束
  1051.     返回 @ obmp
  1052.   结束
  1053.   #------------------------------------------------- -------------------------
  1054.   #●初始化
  1055.   #------------------------------------------------- -------------------------
  1056.   DEF初始化(视口,参数)
  1057.     超(视口)
  1058.     @类型 =参数[ 0 ]
  1059.     @值 0 = [ 1 ]
  1060.     @临界 0 = [ 2 ]
  1061.     自我。所述 0 = [ 4 ]
  1062.     自我。0 = [ 5 ]
  1063.     自我Ž =参数[ 6 ] +图形。高度 * 5
  1064.     make_move ( args的[ 3 ] )
  1065.     刷新
  1066.   结束
  1067.   #------------------------------------------------- -------------------------
  1068.   #●生成移动数据
  1069.   #------------------------------------------------- -------------------------
  1070.   高清 make_move ( battler_obj_class )
  1071.     @移动 = [ ]
  1072.     案例 battler_obj_class
  1073.     当 演员
  1074.       make_move_actor
  1075.     当 敌人
  1076.       make_move_enemy
  1077.     其他
  1078.       make_move_default
  1079.     结束
  1080.   结束
  1081.   #------------------------------------------------- -------------------------
  1082.   #●生成移动数据默认
  1083.   #------------------------------------------------- -------------------------
  1084.   DEF make_move_default
  1085.     45 倍  | N |
  1086.       如果%3 == 0
  1087.         ADY = -6:-1 < 21?
  1088.         OPA = N < 21?255:255 - ( Ñ -21 ) * 6
  1089.         @移动推([ 0,安以轩,OPA )
  1090.       其他
  1091.         @移动推(0,0,-1 ] )
  1092.       结束
  1093.     结束
  1094.   结束
  1095.   #------------------------------------------------- -------------------------
  1096.   #●生成移动数据角色
  1097.   #------------------------------------------------- -------------------------
  1098.   DEF make_move_actor
  1099.     make_move_default
  1100.   结束
  1101.   #------------------------------------------------- -------------------------
  1102.   #●生成移动数据敌人
  1103.   #------------------------------------------------- -------------------------
  1104.   DEF make_move_enemy
  1105.     make_move_default
  1106.   结束
  1107.   #------------------------------------------------- -------------------------
  1108.   #●描绘
  1109.   #------------------------------------------------- -------------------------
  1110.   DEF刷新
  1111.     如果 没有 自我的位图。为零?
  1112.       自我处置位图。
  1113.       自位图 = 零
  1114.     结束
  1115.     开始
  1116.       @ obmp =缓存动画(“损害”,DamageBitmapHue )
  1117.     抢救 ERRNO :: ENOENT
  1118.       @ obmp = Sprite_Damage。obmp
  1119.     结束
  1120.     @ numw = @ obmp 宽度 / 10
  1121.     @ numh = @ obmp。高度 / 8
  1122.     @ STRW = @ obmp。宽 / 2
  1123.     案例 @值
  1124.     当 数字
  1125.       blt_obmp_numeric
  1126.     当 符号
  1127.       blt_obmp_text
  1128.     结束
  1129.   结束
  1130.   #------------------------------------------------- -------------------------
  1131.   #●通过源图描绘数字
  1132.   #------------------------------------------------- -------------------------
  1133.   DEF blt_obmp_numeric
  1134.     次数= @值。to_i。ABS 的to_s 分割(“” )。
  1135.     nbmpw次数大小 * @ numw
  1136.     bmph = @ numh
  1137.     cbmpw = 0
  1138.     CRECT = 零
  1139.     DY = 0
  1140.     如果 关键
  1141.       cbmpw = @ STRW
  1142.       bmph * 2 =
  1143.       CRECT =矩形。新(0,numh * 6,@ STRW numh )
  1144.       DY = numh的
  1145.     结束
  1146.     自位图新([ nbmpw,cbmpw 32 ]。最大 bmph 32 ]。最大的位图。)
  1147.     自牛 =位图。宽度 / 2
  1148.     自OY = bmph / 2
  1149.     位图。的BLT ((位图宽度 - cbmpw ) / 2,0,@ obmp,CRECT ) 如果 CRECT
  1150.     DX = (位图宽度 - nbmpw ) / 2
  1151.     RY = 0
  1152.     情况 @型
  1153.     时 :马力
  1154.       RY = @值 > = 0?0:@ numh
  1155.     当 :熔点
  1156.       RY = @值 > = 0?@ numh * 2:@ numh * 3
  1157.     时 :TP
  1158.       RY = @值 > = 0?@ numh * 4:@ numh * 5
  1159.     其他
  1160.       返回
  1161.     结束
  1162.     RECT =矩形新的(0,RY,@ numw,numh )
  1163.     数组nums each_with_index  |海峡,我|
  1164.       正确。所述 = str的to_i * @ numw
  1165.       位图。BLT ( DX,DY,@ obmp,正确)
  1166.       DX + = @ numw
  1167.     结束
  1168.   结束
  1169.   #------------------------------------------------- -------------------------
  1170.   #●通过源图描绘文字
  1171.   #------------------------------------------------- -------------------------
  1172.   DEF blt_obmp_text
  1173.     自我位图 = 新的位图。([ @ STRW 32 ]。最大,[: @ numh 32 ]。最大)
  1174.     自牛 = @ STRW / 2
  1175.     自OY = @ numh / 2
  1176.     RX = RY = 0
  1177.     情况 @型
  1178.     时 :想念
  1179.       RX = STRW的
  1180.       RY = @ numh * 6
  1181.     时 :EVA
  1182.       RY = @ numh * 7
  1183.     其他
  1184.       返回
  1185.     结束
  1186.     RECT =矩形的新( RX,RY @ STRW的@ numh的)
  1187.     位图。BLT (0,0,@ obmp,正确)
  1188.   结束
  1189.   #------------------------------------------------- -------------------------
  1190.   #●释放
  1191.   #------------------------------------------------- -------------------------
  1192.   DEF处置
  1193.     位图。出售 ,如果位图
  1194.     非常
  1195.   结束
  1196.   #------------------------------------------------- -------------------------
  1197.   #●移动中判定
  1198.   #------------------------------------------------- -------------------------
  1199.   高清移动?
  1200.     返回 ( @举动。空的吗?)
  1201.   结束
  1202.   #------------------------------------------------- -------------------------
  1203.   #●刷新
  1204.   #------------------------------------------------- -------------------------
  1205.   DEF更新
  1206.     非常
  1207.     如果移动?
  1208.       进制= @举措。转变
  1209.       自所述 + =进制[ 0 ]
  1210.       自ÿ + =进制[ 1 ]
  1211.       自我不透明度 =进制[ 2 ]  如果进制[ 2 ] > = 0
  1212.     结束
  1213.   结束
  1214. 结束
  1215. #================================================= =============================
  1216. #■Game_BattlerBase
  1217. #================================================= =============================
  1218. 类 Game_BattlerBase
  1219.   #------------------------------------------------- -------------------------
  1220.   ●实例变量(新增定义)
  1221.   #------------------------------------------------- -------------------------
  1222.   attr_accessor中hzhj_damage的
  1223.   #------------------------------------------------- -------------------------
  1224.   ●初始化(追加定义)
  1225.   #------------------------------------------------- -------------------------
  1226.   的别名 hzhj_old_init_for_display_damage_game_battler_base初始化
  1227.   DEF初始化
  1228.     _AT_ hzhj_damage ]
  1229.     hzhj_old_init_for_display_damage_game_battler_base
  1230.   结束
  1231. 结束
  1232. #================================================= =============================
  1233. #■Sprite_Base
  1234. #================================================= =============================
  1235. 类 Sprite_Base <雪碧
  1236.   #------------------------------------------------- -------------------------
  1237.   ●初始化(追加定义)
  1238.   #------------------------------------------------- -------------------------
  1239.   的别名 hzhj_old_init_for_display_damage_spr_base初始化
  1240.   DEF初始化( *参数)
  1241.     hzhj_old_init_for_display_damage_spr_base ( *参数)
  1242.     @ hzhj_damage_sprites = [ ]
  1243.   结束
  1244.   #------------------------------------------------- -------------------------
  1245.   ●释放(追加定义)
  1246.   #------------------------------------------------- -------------------------
  1247.   的别名 hzhj_old_dispose_for_display_damage_spr_base处置
  1248.   DEF处置
  1249.     hzhj_old_dispose_for_display_damage_spr_base
  1250.     dispose_damage
  1251.   结束
  1252.   #------------------------------------------------- -------------------------
  1253.   ●判断是否有伤害在显示(新增定义)
  1254.   #------------------------------------------------- -------------------------
  1255.   DEF损伤?
  1256.     返回 (不“  @“hzhj_damage_sprites” 。空的吗?)
  1257.   结束
  1258.   #------------------------------------------------- -------------------------
  1259.   #●开始显示伤害(新增定义)
  1260.   #------------------------------------------------- -------------------------
  1261.   DEF start_damage (参数)
  1262.     参数[ 4 ] = X -牛+宽/ 2
  1263.     参数[ 5 ] = Y - OY +高/ 2
  1264.     参数[ 6 ] = Z
  1265.     @ hzhj_damage_sprites 推( Sprite_Damage。新(视口,参数))
  1266.   结束
  1267.   #------------------------------------------------- -------------------------
  1268.   ●释放所有伤害显示(新增定义)
  1269.   #------------------------------------------------- -------------------------
  1270.   DEF dispose_damage
  1271.     返回, 除非损坏?
  1272.     “@”hzhj_damage_sprites“ 。每个{ |雪碧雪碧。处置}
  1273.     @ 明确hzhj_damage_sprites。
  1274.   结束
  1275.   #------------------------------------------------- -------------------------
  1276.   #●刷新(追加定义)
  1277.   #------------------------------------------------- -------------------------
  1278.   别名 hzhj_old_update_for_display_damage_spr_base更新
  1279.   DEF更新
  1280.     hzhj_old_update_for_display_damage_spr_base
  1281.     update_damage
  1282.   结束
  1283.   #------------------------------------------------- -------------------------
  1284.   #●刷新显示伤害(新增定义)
  1285.   #------------------------------------------------- -------------------------
  1286.   DEF update_damage
  1287.     返回, 除非损坏?
  1288.     “@”hzhj_damage_sprites“ 。each_with_index  |精灵,我|
  1289.       如果精灵动人?
  1290. 更新         雪碧。
  1291.       其他
  1292.         雪碧。处置
  1293.         @ hzhj_damage_sprites [我] = 零
  1294.       结束
  1295.     结束
  1296.     “@”hzhj_damage_sprites“ 。删除(零)
  1297.   结束
  1298. 结束
  1299. #================================================= =============================
  1300. #■Sprite_Battler
  1301. #================================================= =============================
  1302. 类 Sprite_Battler <Sprite_Base
  1303.   #------------------------------------------------- -------------------------
  1304.   #●刷新(追加定义)
  1305.   #------------------------------------------------- -------------------------
  1306.   别名 hzhj_old_update_for_display_damage_spr_battler更新
  1307.   DEF更新
  1308.     hzhj_old_update_for_display_damage_spr_battler
  1309.     如果 @战斗者
  1310.       如果 不是 @战斗者hzhj_damage 空?
  1311.         除非 @战斗者。damage_section_displayed,
  1312.           参数= @战斗者hzhj_damage 克隆
  1313.           ARGS [ 3 ] = @战斗者的演员吗??演员:( @战斗者。敌人?:敌人:无)
  1314.           start_damage (参数)
  1315.         结束
  1316.         @战斗者。hzhj_damage 清晰
  1317.       结束
  1318.     结束
  1319.   结束
  1320. 结束
  1321. #================================================= =============================
  1322. #■Window_BattleLog
  1323. #================================================= =============================
  1324. 类 Window_BattleLog <Window_Selectable
  1325.   #------------------------------------------------- -------------------------
  1326.   ●显示MISS(追加定义)
  1327.   #------------------------------------------------- -------------------------
  1328.   别名 hzhj_old_display_miss_for_display_damage_wnd_btlog display_miss
  1329.   :DEF display_miss (目标项)
  1330.     的目标。hzhj_damage = [ :小姐,小姐,假]
  1331.     hzhj_old_display_miss_for_display_damage_wnd_btlog (目标项)
  1332.   结束
  1333.   #------------------------------------------------- -------------------------
  1334.   #●显示回避(追加定义)
  1335.   #------------------------------------------------- -------------------------
  1336.   别名 hzhj_old_display_evasion_for_display_damage_wnd_btlog display_evasion
  1337.   :DEF display_evasion (目标项)
  1338.     目标。hzhj_damage = [ :EVA :逃避,虚假]
  1339.     hzhj_old_display_evasion_for_display_damage_wnd_btlog (目标项)
  1340.   结束
  1341.   #------------------------------------------------- -------------------------
  1342.   ●显示HP伤害(追加定义)
  1343.   #------------------------------------------------- -------------------------
  1344.   别名 hzhj_old_display_hp_damage_for_display_damage_wnd_btlog display_hp_damage
  1345.   :DEF display_hp_damage (目标项)
  1346.      如果目标的结果。hp_damage == 0 &&项目&&!项目。损坏。to_hp 返回?
  1347.     值= hp_damage目标的结果。
  1348.     关键目标的关键结果。
  1349.     目标。hzhj_damage = [ :马力,价值,关键]
  1350.     hzhj_old_display_hp_damage_for_display_damage_wnd_btlog (目标项)
  1351.   结束
  1352.   #------------------------------------------------- -------------------------
  1353.   ●显示MP伤害(追加定义)
  1354.   #------------------------------------------------- -------------------------
  1355.   别名 hzhj_old_display_mp_damage_for_display_damage_wnd_btlog display_mp_damage
  1356.   :DEF display_mp_damage (目标项)
  1357.      如果目标返回。死了吗?| |的目标。结果mp_damage == 0
  1358.     值= mp_damage目标的结果。
  1359.     关键目标的关键结果。
  1360.     目标。hzhj_damage = [ :熔点,价值,关键]
  1361.     hzhj_old_display_mp_damage_for_display_damage_wnd_btlog (目标项)
  1362.   结束
  1363.   #------------------------------------------------- -------------------------
  1364.   ●显示TP伤害(追加定义)
  1365.   #------------------------------------------------- -------------------------
  1366.   别名 hzhj_old_display_tp_damage_for_display_damage_wnd_btlog display_tp_damage
  1367.   :DEF display_tp_damage (目标项)
  1368.      如果目标返回。死了吗?| |的目标。结果tp_damage == 0
  1369.     值= tp_damage目标的结果。
  1370.     关键目标的关键结果。
  1371.     目标。hzhj_damage = [ :TP,价值,关键]
  1372.     hzhj_old_display_tp_damage_for_display_damage_wnd_btlog (目标项)
  1373.   结束
  1374. 结束

  1375. 类
  1376.   DEF need_move
  1377.     返回 _AT_ need_move的 除非 @ need_move。零?
  1378.     如果 / @ [ RR ] [ MM ] / =〜@名
  1379.       回报 ( @ need_move = TRUE )
  1380.     其他
  1381.       回报 ( @ need_move = FALSE )
  1382.     结束
  1383.   结束
  1384.   DEF move_se
  1385.     返回 _AT_ move_se的 除非 @ move_se。零?
  1386.     @ move_se = RPG :: SE 新
  1387.     如果 / @ [ SS ] [ EE ] \ [ ( + ) \ ] / =〜@名字
  1388.       @ move_se 名称 = $ 1。克隆
  1389.     结束
  1390.     返回 @ move_se
  1391.   结束
  1392.   attr_writer :need_move
  1393.   attr_writer :move_se
  1394. 结束
  1395. #================================================= =============================
  1396. #■Game_Battler
  1397. #================================================= =============================
  1398. 类 Game_Battler <Game_BattlerBase
  1399.   流包括 Hzhj :: HorizontalBattleSystem
  1400.   #------------------------------------------------- -------------------------
  1401.   #●属性
  1402.   #------------------------------------------------- -------------------------
  1403.   attr_accessor中:ADD_X                     #X坐标变化量
  1404.   attr_accessor中:add_y                     #Y坐标变化量
  1405.   attr_accessor中:move_speed_x              #战斗图所述移动速度
  1406.   attr_accessor中:move_speed_y              #战斗图Ÿ移动速度
  1407.   #------------------------------------------------- -------------------------
  1408.   ●初始化(追加定义)
  1409.   #------------------------------------------------- -------------------------
  1410.   的别名 hzhj_old_init_for_real_move_game_battler初始化
  1411.   DEF初始化
  1412.     @ ADD_X = 0
  1413.     @ add_y 0
  1414.     @ move_speed_x 0
  1415.     @ move_speed_y 0
  1416.     hzhj_old_init_for_real_move_game_battler
  1417.   结束
  1418.   #------------------------------------------------- -------------------------
  1419.   ●真实所述坐标(新增定义)
  1420.   #------------------------------------------------- -------------------------
  1421.   DEF real_screen_x
  1422.     返回 screen_x + ADD_X
  1423.   结束
  1424.   #------------------------------------------------- -------------------------
  1425.   ●真实Ÿ坐标(新增定义)
  1426.   #------------------------------------------------- -------------------------
  1427.   DEF real_screen_y
  1428.     返回 screen_y + add_y
  1429.   结束
  1430.   #------------------------------------------------- -------------------------
  1431.   #●返回自己的战斗位置(新增定义)
  1432.   #------------------------------------------------- -------------------------
  1433.   DEF come_back_self_position (持续时间)
  1434.     返回 ,如果死了吗?
  1435.     TX = screen_x
  1436.     TY = screen_y的
  1437.     ADDX = TX  -  real_screen_x
  1438.     阿迪= TY  -  real_screen_y
  1439.      如果返回 ADDX 阿迪== 0 == 0 &&
  1440.     @ ADD_X = 0
  1441.     @ add_y 0
  1442.     最大@ move_speed_x = [ ( ADDX ABS /持续时间to_f ),光大,1 ]。
  1443.     最大@ move_speed_y = [ (阿迪ABS /持续时间to_f ),光大,1 ]。
  1444.   结束
  1445.   #------------------------------------------------- -------------------------
  1446.   #●设置移动信息(新增定义)
  1447.   #------------------------------------------------- -------------------------
  1448.   高清 setup_move_info ( target_battler,持续时间,move_se )
  1449.     返回 ,如果死了吗?
  1450.     TBMP =缓存战斗者( target_battler。battler_name target_battler battler_hue )
  1451.     sbmp =缓存。战斗者( @ battler_name,battler_hue )
  1452.     TBW = TBMP 宽度 / DynamicPatternMax的RealMoveBmpAddW
  1453.     沉鼓= sbmp。宽度 / DynamicPatternMax的RealMoveBmpAddW
  1454.     TBH = TBMP。高度 + RealMoveBmpAddH
  1455.     SBH = sbmp。高度 + RealMoveBmpAddH
  1456.     D =演员??:10 - ActorDirection的ActorDirection
  1457.     TX = target_battler用。real_screen_x
  1458.     TY = real_screen_y target_battler。
  1459.     ð 情况
  1460.     当 1
  1461.       TX = TX + TBW / 2 + SBW / 2
  1462.       TY = TY - SBH / 2
  1463.      2
  1464.       TY = TY - SBH / 2
  1465.     时
  1466.       TX = TX - TBW / 2 - SBW / 2
  1467.       TY = TY - SBH / 2
  1468.     时
  1469.       TX = TX + TBW / 2 + SBW / 2
  1470.     时
  1471.       TX = TX - TBW / 2 - SBW / 2
  1472.     时
  1473.       TX = TX + TBW / 2 + SBW / 2
  1474.       TY = TY + SBH / 2
  1475.     时
  1476.       TY = TY + SBH / 2
  1477.     时
  1478.       TX = TX - TBW / 2 - SBW / 2
  1479.       TY = TY + SBH / 2
  1480.     结束
  1481.     ADDX = TX  -  real_screen_x
  1482.     阿迪= TY  -  real_screen_y
  1483.      如果返回 ADDX 阿迪== 0 == 0 &&
  1484.     @ ADD_X = TX - screen_x 如果 ADDX!= 0
  1485.     @ add_y = TY - screen_y 如果阿迪= 0,
  1486.     最大@ move_speed_x = [ ( ADDX ABS /持续时间to_f ),光大,1 ]。
  1487.     最大@ move_speed_y = [ (阿迪ABS /持续时间to_f ),光大,1 ]。
  1488.     move_se 发挥。
  1489.   结束
  1490. 结束
  1491. #================================================= =============================
  1492. #■Sprite_Battler
  1493. #================================================= =============================
  1494. 类 Sprite_Battler <Sprite_Base
  1495.   #------------------------------------------------- -------------------------
  1496.   ●初始化(追加定义)
  1497.   #------------------------------------------------- -------------------------
  1498.   的别名 hzhj_old_init_for_real_move_spr_battler初始化
  1499.   DEF初始化(视口,战斗者= 零)
  1500.     hzhj_old_init_for_real_move_spr_battler (视口,战斗者)
  1501.     init_position ( @战斗者)  @战斗者
  1502.   结束
  1503.   #------------------------------------------------- -------------------------
  1504.   #●设置战斗者(追加定义)
  1505.   #------------------------------------------------- -------------------------
  1506.   别名 hzhj_old_set_battler_for_real_move_spr_battler的战斗者=
  1507.   DEF战斗者= (值)
  1508.     如果 @战斗者 = value &&的价值!
  1509.       init_position (值)
  1510.     结束
  1511.     hzhj_old_set_battler_for_real_move_spr_battler (值)
  1512.   结束
  1513.   #------------------------------------------------- -------------------------
  1514.   ●初始化位置(新增定义)
  1515.   #------------------------------------------------- -------------------------
  1516.   :DEF init_position (战斗者)
  1517.     战斗者ADD_X = 0
  1518.     战斗者add_y = 0
  1519.     自所述战斗者real_screen_x
  1520.     自我Ÿ =战斗者。real_screen_y
  1521.     自Ž =战斗者screen_z
  1522.   结束
  1523.   #------------------------------------------------- -------------------------
  1524.   #●移动中判定(新增定义)
  1525.   #------------------------------------------------- -------------------------
  1526.   高清移动?
  1527.     返回 假, 除非 @战斗者
  1528.     (到X!= @战斗者real_screen_x  或 Ÿ!= @战斗者。real_screen_y ) && @战斗者
  1529.   结束
  1530.   #------------------------------------------------- -------------------------
  1531.   #●位置的更新(重定义)
  1532.   #------------------------------------------------- -------------------------
  1533.   def update_position
  1534.     if !@battler.dead?
  1535.       if x < @battler.real_screen_x
  1536.         self.x = [x + @battler.move_speed_x, @battler.real_screen_x].min
  1537.       elsif x > @battler.real_screen_x
  1538.         self.x = [x - @battler.move_speed_x, @battler.real_screen_x].max
  1539.       end
  1540.       if y < @battler.real_screen_y
  1541.         self.y = [y + @battler.move_speed_y, @battler.real_screen_y].min
  1542.       elsif y > @battler.real_screen_y
  1543.         self.y = [y - @battler.move_speed_y, @battler.real_screen_y].max
  1544.       end
  1545.       self.z = y + 100
  1546.     end
  1547.   end
  1548. end
  1549. #==============================================================================
  1550. # ■ Spriteset_Battle
  1551. #==============================================================================
  1552. class Spriteset_Battle
  1553.   #--------------------------------------------------------------------------
  1554.   # ● 判定是否移动中(新增定义)
  1555.   #--------------------------------------------------------------------------
  1556.   def moving?
  1557.     battler_sprites.any? {|sprite| sprite.moving? }
  1558.   end
  1559. end
  1560. #==============================================================================
  1561. # ■ Scene_Battle
  1562. #==============================================================================
  1563. class Scene_Battle < Scene_Base
  1564.   #--------------------------------------------------------------------------
  1565.   # ● 等待战斗图移动的结束(新增定义)
  1566.   #--------------------------------------------------------------------------
  1567.   def wait_for_move
  1568.     update_for_wait
  1569.     update_for_wait while @spriteset.moving?
  1570.   end
  1571. end

  1572. class RPG::Troop
  1573.   include Hzhj::HorizontalBattleSystem
  1574.   def display_enemy_bar
  1575.     return @display_enemy_bar unless @display_enemy_bar.nil?
  1576.     if /@ebar/i =~ @name
  1577.       return (@display_enemy_bar = !DefaultDisplayEnemyBar)
  1578.     else
  1579.       return (@display_enemy_bar = DefaultDisplayEnemyBar)
  1580.     end
  1581.   end
  1582.   attr_writer :display_enemy_bar
  1583. end
  1584. #==============================================================================
  1585. # ■ Game_Troop
  1586. #==============================================================================
  1587. class Game_Troop < Game_Unit
  1588.   attr_accessor :display_enemy_bar      # 是否显示敌人HP条、MP条、TP条
  1589.   #--------------------------------------------------------------------------
  1590.   # ● 设置
  1591.   #--------------------------------------------------------------------------
  1592.   alias hzhj_old_setup_for_display_enemy_bar_game_troop setup
  1593.   def setup(troop_id)
  1594.     hzhj_old_setup_for_display_enemy_bar_game_troop(troop_id)
  1595.     @display_enemy_bar = troop.display_enemy_bar
  1596.   end
  1597. end
  1598. #==============================================================================
  1599. # ■ Window_BattleEnemy
  1600. #==============================================================================
  1601. class Window_BattleEnemy < Window_Selectable
  1602.   #--------------------------------------------------------------------------
  1603.   # ● 取得列数
  1604.   #--------------------------------------------------------------------------
  1605.   def col_max
  1606.     if $game_troop.display_enemy_bar
  1607.       return 1
  1608.     else
  1609.       return 2
  1610.     end
  1611.   end
  1612.   #--------------------------------------------------------------------------
  1613.   # ● 刷新
  1614.   #--------------------------------------------------------------------------
  1615.   def refresh
  1616.     create_contents
  1617.     super
  1618.   end
  1619.   #--------------------------------------------------------------------------
  1620.   # ● 描画项目
  1621.   #--------------------------------------------------------------------------
  1622.   def draw_item(index)
  1623.     if $game_troop.display_enemy_bar
  1624.       enemy = $game_troop.alive_members[index]
  1625.       draw_basic_area(basic_area_rect(index), enemy)
  1626.       draw_gauge_area(gauge_area_rect(index), enemy)
  1627.     else
  1628.       change_color(normal_color)
  1629.       name = $game_troop.alive_members[index].name
  1630.       draw_text(item_rect_for_text(index), name)
  1631.     end
  1632.   end
  1633.   #--------------------------------------------------------------------------
  1634.   # ● 取得基本区域的矩形
  1635.   #--------------------------------------------------------------------------
  1636.   def basic_area_rect(index)
  1637.     rect = item_rect_for_text(index)
  1638.     rect.width -= gauge_area_width + 10
  1639.     rect
  1640.   end
  1641.   #--------------------------------------------------------------------------
  1642.   # ● 取得值槽区域的矩形
  1643.   #--------------------------------------------------------------------------
  1644.   def gauge_area_rect(index)
  1645.     rect = item_rect_for_text(index)
  1646.     rect.x += rect.width - gauge_area_width
  1647.     rect.width = gauge_area_width
  1648.     rect
  1649.   end
  1650.   #--------------------------------------------------------------------------
  1651.   # ● 取得值槽区域的宽度
  1652.   #--------------------------------------------------------------------------
  1653.   def gauge_area_width
  1654.     return 220
  1655.   end
  1656.   #--------------------------------------------------------------------------
  1657.   # ● 描画基本区域
  1658.   #--------------------------------------------------------------------------
  1659.   def draw_basic_area(rect, actor)
  1660.     draw_actor_name(actor, rect.x + 0, rect.y, 100)
  1661.     draw_actor_icons(actor, rect.x + 104, rect.y, rect.width - 104)
  1662.   end
  1663.   #--------------------------------------------------------------------------
  1664.   # ● 描画值槽区域
  1665.   #--------------------------------------------------------------------------
  1666.   def draw_gauge_area(rect, actor)
  1667.     if $data_system.opt_display_tp
  1668.       draw_gauge_area_with_tp(rect, actor)
  1669.     else
  1670.       draw_gauge_area_without_tp(rect, actor)
  1671.     end
  1672.   end
  1673.   #--------------------------------------------------------------------------
  1674.   # ● 描画值槽区域(包括 TP 值)
  1675.   #--------------------------------------------------------------------------
  1676.   def draw_gauge_area_with_tp(rect, actor)
  1677.     draw_actor_hp(actor, rect.x + 0, rect.y, 72)
  1678.     draw_actor_mp(actor, rect.x + 82, rect.y, 64)
  1679.     draw_actor_tp(actor, rect.x + 156, rect.y, 64)
  1680.   end
  1681.   #--------------------------------------------------------------------------
  1682.   # ● 描画值槽区域(不包括 TP 值)
  1683.   #--------------------------------------------------------------------------
  1684.   def draw_gauge_area_without_tp(rect, actor)
  1685.     draw_actor_hp(actor, rect.x + 0, rect.y, 134)
  1686.     draw_actor_mp(actor, rect.x + 144,  rect.y, 76)
  1687.   end
  1688. end

  1689. #==============================================================================
  1690. # ■ Sprite_Battler
  1691. #==============================================================================
  1692. class Sprite_Battler < Sprite_Base
  1693.   include Hzhj::HorizontalBattleSystem
  1694.   #--------------------------------------------------------------------------
  1695.   # ● 初始化(追加定义)
  1696.   #--------------------------------------------------------------------------
  1697.   alias hzhj_old_init_for_dynamic_spr_battler initialize
  1698.   def initialize(viewport, battler = nil)
  1699.     hzhj_old_init_for_dynamic_spr_battler(viewport, battler)
  1700.     @dynamic_duration = 0
  1701.     @dynamic_duration_max = DynamicPatternMax * OnePatternDuration
  1702.   end
  1703.   #--------------------------------------------------------------------------
  1704.   # ● 源位图(Source Bitmap)的更新(重定义)
  1705.   #--------------------------------------------------------------------------
  1706.   def update_bitmap
  1707.     new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
  1708.     if bitmap != new_bitmap
  1709.       self.bitmap = new_bitmap
  1710.       init_visibility
  1711.       @dynamic_duration = 0
  1712.       @sx = 0
  1713.       @sw = bitmap.width / DynamicPatternMax
  1714.       @sh = bitmap.height
  1715.       self.ox = @sw / 2
  1716.       self.oy = @sh
  1717.       src_rect.set(@sx, 0, @sw, @sh)
  1718.     end
  1719.   end
  1720.   #--------------------------------------------------------------------------
  1721.   # ● 原点的更新(重定义)
  1722.   #--------------------------------------------------------------------------
  1723.   def update_origin
  1724.     if bitmap
  1725.       @dynamic_duration += 1
  1726.       @dynamic_duration %= @dynamic_duration_max
  1727.       @sx = @dynamic_duration / OnePatternDuration * @sw
  1728.       src_rect.set(@sx, 0, @sw, @sh)
  1729.     end
  1730.   end
  1731.   #--------------------------------------------------------------------------
  1732.   # ● 返回普通设定(追加定义)
  1733.   #--------------------------------------------------------------------------
  1734.   alias hzhj_old_revert_to_normal_for_dynamic_spr_battler revert_to_normal
  1735.   def revert_to_normal
  1736.     hzhj_old_revert_to_normal_for_dynamic_spr_battler
  1737.     self.ox = @sw / 2 if bitmap
  1738.   end
  1739.   #--------------------------------------------------------------------------
  1740.   # ● BOSS 战败(崩坏)效果的更新(追加定义)
  1741.   #--------------------------------------------------------------------------
  1742.   alias hzhj_old_update_boss_col_for_dynamic_spr_battler update_boss_collapse
  1743.   def update_boss_collapse
  1744.     hzhj_old_update_boss_col_for_dynamic_spr_battler
  1745.     self.ox = @sw / 2 + @effect_duration % 2 * 4 - 2
  1746.   end
  1747. end

  1748. #==============================================================================
  1749. # ■ Game_Battler
  1750. #==============================================================================
  1751. class Game_Battler < Game_BattlerBase
  1752.   def set_normal_battler_name
  1753.     @battler_name = @battler_name.split(/★/)[0]
  1754.   end
  1755.   def set_beaten_battler_name
  1756.     if guard?
  1757.       if (UseActorGuardGraphic && actor?) or
  1758.          (UseEnemyGuardGraphic && enemy?)
  1759.         set_guard_battler_name
  1760.         return
  1761.       end
  1762.     end
  1763.     @battler_name = @battler_name.split(/★/)[0] + "★1"
  1764.     if UseActorWBSE && actor?
  1765.       Audio.se_play("Audio/SE/AWBSE_#{id}", 100, 100)
  1766.     elsif UseEnemyWBSE && enemy?
  1767.       Audio.se_play("Audio/SE/EWBSE_#{enemy_id}", 100, 100)
  1768.     end
  1769.   end
  1770.   def set_dead_battler_name
  1771.     @battler_name = @battler_name.split(/★/)[0] + "★2"
  1772.   end
  1773.   def set_guard_battler_name
  1774.     @battler_name = @battler_name.split(/★/)[0] + "★3"
  1775.     if UseActorGDSE && actor?
  1776.       Audio.se_play("Audio/SE/AGDSE_#{id}", 100, 100)
  1777.     elsif UseEnemyGDSE && enemy?
  1778.       Audio.se_play("Audio/SE/EGDSE_#{enemy_id}", 100, 100)
  1779.     end
  1780.   end
  1781. end
  1782. #==============================================================================
  1783. # ■ Sprite_Battler
  1784. #==============================================================================
  1785. class Sprite_Battler < Sprite_Base
  1786.   #--------------------------------------------------------------------------
  1787.   # ● 初始化(追加定义)
  1788.   #--------------------------------------------------------------------------
  1789.   alias hzhj_old_init_for_dead_spr_battler initialize
  1790.   def initialize(viewport, battler = nil)
  1791.     hzhj_old_init_for_dead_spr_battler(viewport, battler)
  1792.     @dead_graphic_used = false
  1793.     if @battler
  1794.       @battler.set_normal_battler_name
  1795.       if @battler.dead?
  1796.         if (UseActorDeadGraphic && @battler.actor?) or
  1797.            (UseEnemyDeadGraphic && @battler.enemy?)
  1798.           @battler.set_dead_battler_name
  1799.           @dead_graphic_used = true
  1800.         end
  1801.       end
  1802.     end
  1803.     @beaten_duration = -1
  1804.   end
  1805.   #--------------------------------------------------------------------------
  1806.   # ● 设置战斗者(追加定义)
  1807.   #--------------------------------------------------------------------------
  1808.   alias hzhj_old_set_battler_for_dead_spr_battler battler=
  1809.   def battler=(value)
  1810.     if [url=home.php?mod=space&uid=133701]@battler[/url] != value
  1811.       @dead_graphic_used = false
  1812.       if value
  1813.         value.set_normal_battler_name
  1814.         if value.dead?
  1815.           if (UseActorDeadGraphic && value.actor?) or
  1816.              (UseEnemyDeadGraphic && value.enemy?)
  1817.             value.set_dead_battler_name
  1818.             @dead_graphic_used = true
  1819.           end
  1820.         end
  1821.       end
  1822.       @beaten_duration = -1
  1823.     end
  1824.     hzhj_old_set_battler_for_dead_spr_battler(value)
  1825.   end
  1826.   #--------------------------------------------------------------------------
  1827.   # ● 源位图(Source Bitmap)的更新(重定义)
  1828.   #--------------------------------------------------------------------------
  1829.   alias hzhj_old_update_bitmap_for_was_beaten_spr_battler update_bitmap
  1830.   def update_bitmap
  1831.     if @beaten_duration > 0
  1832.       @beaten_duration -= 1
  1833.     elsif @beaten_duration == 0
  1834.       @beaten_duration = -1
  1835.       set_bitmap(:normal)
  1836.     end
  1837.     hzhj_old_update_bitmap_for_was_beaten_spr_battler
  1838.   end
  1839.   #--------------------------------------------------------------------------
  1840.   # ● 初始化可视状态(追加定义)
  1841.   #--------------------------------------------------------------------------
  1842.   alias hzhj_old_visibility_for_dead_spr_battler init_visibility
  1843.   def init_visibility
  1844.     hzhj_old_visibility_for_dead_spr_battler
  1845.     if @battler.dead?
  1846.       if (UseActorDeadGraphic && @battler.actor?) or
  1847.          (UseEnemyDeadGraphic && @battler.enemy?)
  1848.         self.opacity = 255
  1849.       end
  1850.     end
  1851.   end
  1852.   #--------------------------------------------------------------------------
  1853.   # ● 效果开始(追加定义)
  1854.   #--------------------------------------------------------------------------
  1855.   alias hzhj_old_start_effect_for_dead_spr_battler start_effect
  1856.   def start_effect(effect_type)
  1857.     if effect_type == :appear
  1858.       if @dead_graphic_used
  1859.         set_bitmap(:normal)
  1860.         @effect_type = nil
  1861.         @effect_duration = 0
  1862.         @dead_graphic_used = false
  1863.         @battler_visible = true
  1864.         return
  1865.       end
  1866.     elsif effect_type == :collapse or
  1867.           effect_type == :boss_collapse or
  1868.           effect_type == :instant_collapse
  1869.       if @beaten_duration >= 0
  1870.         @beaten_duration = -1
  1871.         set_bitmap(:normal)
  1872.       end
  1873.       if (UseActorDeadGraphic && @battler.actor?) or
  1874.          (UseEnemyDeadGraphic && @battler.enemy?)
  1875.         set_bitmap(:dead)
  1876.         @effect_type = nil
  1877.         @effect_duration = 0
  1878.         @dead_graphic_used = true
  1879.         @battler_visible = false
  1880.         return
  1881.       end
  1882.     end
  1883.     hzhj_old_start_effect_for_dead_spr_battler(effect_type)
  1884.   end
  1885.   #--------------------------------------------------------------------------
  1886.   # ● 设置新的位图(新增定义)
  1887.   #--------------------------------------------------------------------------
  1888.   def set_bitmap(sym)
  1889.     case sym
  1890.     when :normal
  1891.       @battler.set_normal_battler_name
  1892.     when :was_beaten
  1893.       @battler.set_beaten_battler_name
  1894.     when :dead
  1895.       @battler.set_dead_battler_name
  1896.     else
  1897.       return
  1898.     end
  1899.     new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
  1900.     if bitmap != new_bitmap
  1901.       self.bitmap = new_bitmap
  1902.       @dynamic_duration = 0
  1903.       @sx = 0
  1904.       @sw = bitmap.width / DynamicPatternMax
  1905.       @sh = bitmap.height
  1906.       self.ox = @sw / 2
  1907.       self.oy = @sh
  1908.       src_rect.set(@sx, 0, @sw, @sh)
  1909.     end
  1910.     update_origin
  1911.     update_position
  1912.   end
  1913. end

  1914. #==============================================================================
  1915. # ■ Scene_Battle
  1916. #==============================================================================
  1917. class Scene_Battle < Scene_Base
  1918.   #--------------------------------------------------------------------------
  1919.   # ● 发动技能/物品(新增定义)
  1920.   #--------------------------------------------------------------------------
  1921.   def hzhj_invoke_item(target, item, damage_target)
  1922.     refresh_status
  1923.     @log_window.display_action_results(damage_target, item)
  1924.     @subject.damage_section_displayed = false
  1925.     @subject.last_target_index = target.index
  1926.     return if target.dead?
  1927.     if rand < target.item_cnt(@subject, item)
  1928.       hzhj_invoke_counter_attack(target, item)
  1929.     elsif rand < target.item_mrf(@subject, item)
  1930.       hzhj_invoke_magic_reflection(target, item)
  1931.     end
  1932.   end
  1933.   #--------------------------------------------------------------------------
  1934.   # ● 发动物理反击(新增定义)
  1935.   #--------------------------------------------------------------------------
  1936.   def hzhj_invoke_counter_attack(target, item)
  1937.     @log_window.display_counter(target, item)
  1938.     attack_skill = $data_skills[target.attack_skill_id]
  1939.     @subject.item_apply(target, attack_skill)
  1940.     need_move = false
  1941.     animation1 = $data_animations[target.animation1_id]
  1942.     need_move = animation1.need_move if animation1
  1943.     ary = [@subject]
  1944.     if need_move
  1945.       target.setup_move_info(@subject, RealMoveDuration, animation1.move_se)
  1946.       wait_for_move
  1947.     end
  1948.     @subject.damage_section_displayed = false
  1949.     @subject.not_damage_section = false
  1950.     show_subject_animation(target.animation1_id, target)
  1951.     show_normal_animation(ary, target.atk_animation_id1, false)
  1952.     show_normal_animation(ary, target.atk_animation_id2, true)
  1953.     @log_window.wait
  1954.     wait_for_animation
  1955.     if need_move && target.alive?
  1956.       target.come_back_self_position(RealMoveDuration)
  1957.       wait_for_move
  1958.     end
  1959.     refresh_status
  1960.     @log_window.display_action_results(@subject, attack_skill)
  1961.   end
  1962.   #--------------------------------------------------------------------------
  1963.   # ● 发动魔法反射(新增定义)
  1964.   #--------------------------------------------------------------------------
  1965.   def hzhj_invoke_magic_reflection(target, item)
  1966.     @subject.damage_section_displayed = false
  1967.     @subject.not_damage_section = false
  1968.     @log_window.display_reflection(target, item)
  1969.     @subject.item_apply(@subject, item)
  1970.     refresh_status
  1971.     @log_window.display_action_results(@subject, item)
  1972.   end
  1973. end

  1974. #==============================================================================
  1975. # ■ Game_Battler
  1976. #==============================================================================
  1977. class Game_Battler < Game_BattlerBase
  1978.   attr_accessor :damage_section_displayed
  1979.   attr_accessor :not_damage_section
  1980. end
  1981. #==============================================================================
  1982. # ■ Game_Actor
  1983. #==============================================================================
  1984. class Game_Actor < Game_Battler
  1985.   #--------------------------------------------------------------------------
  1986.   # ● 执行伤害效果
  1987.   #--------------------------------------------------------------------------
  1988.   alias hzhj_old_per_damage_for_damage_section_game_actor perform_damage_effect
  1989.   def perform_damage_effect
  1990.     unless damage_section_displayed
  1991.       hzhj_old_per_damage_for_damage_section_game_actor
  1992.     end
  1993.   end
  1994. end
  1995. #==============================================================================
  1996. # ■ Game_Enemy
  1997. #==============================================================================
  1998. class Game_Enemy < Game_Battler
  1999.   #--------------------------------------------------------------------------
  2000.   # ● 执行伤害效果
  2001.   #--------------------------------------------------------------------------
  2002.   alias hzhj_old_per_damage_for_damage_section_game_enemy perform_damage_effect
  2003.   def perform_damage_effect
  2004.     unless damage_section_displayed
  2005.       hzhj_old_per_damage_for_damage_section_game_enemy
  2006.     end
  2007.   end
  2008. end
  2009. #==============================================================================
  2010. # ■ Sprite_Battler
  2011. #==============================================================================
  2012. class Sprite_Battler < Sprite_Base
  2013.   #--------------------------------------------------------------------------
  2014.   # ● SE 和闪烁时机的处理
  2015.   #--------------------------------------------------------------------------
  2016.   def animation_process_timing(timing)
  2017.     if timing.se.name == DamageSectionDisplaySEName
  2018.       hp_value = @battler.result.hp_damage
  2019.       mp_value = @battler.result.mp_damage
  2020.       tp_value = @battler.result.tp_damage
  2021.       value = args = nil
  2022.       was_beaten = false
  2023.       if hp_value != 0 && !@battler.not_damage_section
  2024.         was_beaten = true if hp_value > 0
  2025.         value = hp_value * timing.flash_color.red.to_i / 100
  2026.         critical = @battler.result.critical
  2027.         args = [:hp, value, critical]
  2028.       elsif mp_value != 0 && !@battler.not_damage_section
  2029.         was_beaten = true if mp_value > 0
  2030.         value = mp_value * timing.flash_color.red.to_i / 100
  2031.         critical = @battler.result.critical
  2032.         args = [:mp, value, critical]
  2033.       elsif tp_value != 0 && !@battler.not_damage_section
  2034.         was_beaten = true if tp_value > 0
  2035.         value = tp_value * timing.flash_color.red.to_i / 100
  2036.         critical = @battler.result.critical
  2037.         args = [:tp, value, critical]
  2038.       end
  2039.       if value && args
  2040.         args[3] = @battler.actor? ? :actor : (@battler.enemy? ? :enemy : nil)
  2041.         @battler.damage_section_displayed = true
  2042.         start_damage(args)
  2043.         if UseBeatenGraphic && was_beaten
  2044.           set_bitmap(:was_beaten)
  2045.           @beaten_duration = BeatenGraphicDuration
  2046.         end
  2047.       end
  2048.       return
  2049.     end
  2050.     super(timing)
  2051.   end
  2052. end
  2053. #==============================================================================
  2054. # ■ Scene_Battle
  2055. #==============================================================================
  2056. class Scene_Battle < Scene_Base
  2057.   #--------------------------------------------------------------------------
  2058.   # ● 应用技能/物品效果(新增定义)
  2059.   #--------------------------------------------------------------------------
  2060.   def hzhj_apply_item_effects(target, item)
  2061.     target.damage_section_displayed = false
  2062.     target.not_damage_section = false
  2063.     target = apply_substitute(target, item)
  2064.     target.damage_section_displayed = false
  2065.     target.not_damage_section = false
  2066.     target.item_apply(@subject, item)
  2067.     return target
  2068.   end
  2069. end
  2070. #==============================================================================
  2071. # ■ 此脚本来自 [url]www.66rpg.com[/url]
  2072. #==============================================================================
复制代码
这个是后知后觉的作品,你可以用一下。
是va横版战斗脚本
小天终于要填个新坑了,这个游戏的名字是《欲望恶魔~游侠传记》
剧情:★☆☆☆☆☆☆☆☆☆
脚本:★☆☆☆☆☆☆☆☆☆
素材:☆☆☆☆☆☆☆☆☆☆
预计明年这一个浩大的工程既可以完工了。。有木有支持的!?制作工具:RMVA
回复

使用道具 举报

梦石
0
星屑
50
在线时间
22 小时
注册时间
2012-10-28
回帖
17
 楼主| 发表于 2013-4-29 18:04:46 | 显示全部楼层
1142881837 发表于 2013-4-27 06:55

没用额啊
回复

使用道具 举报

梦石
0
星屑
49
在线时间
78 小时
注册时间
2012-7-18
回帖
44
发表于 2013-4-29 19:43:09 | 显示全部楼层
搜狗截图_2013-04-29_19-43-42.png 是这种吗?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
206 小时
注册时间
2013-2-5
回帖
20
发表于 2013-4-30 11:35:08 | 显示全部楼层
你可以试试sideview100
什么什么都不会的渣渣一枚…
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部