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

Project1

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

[已经过期] 找个多状态显示脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
293 小时
注册时间
2010-7-21
帖子
574
跳转到指定楼层
1
发表于 2011-2-21 11:05:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
找个多状态显示脚本,不是状态图标化。就是可以睡眠和混乱等等状态在一起的!

Lv1.梦旅人

梦石
0
星屑
49
在线时间
2287 小时
注册时间
2008-8-3
帖子
1505
2
发表于 2011-2-21 13:15:43 | 只看该作者
我们缺乏的不是想象力,而是驾驭想象的能力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
293 小时
注册时间
2010-7-21
帖子
574
3
 楼主| 发表于 2011-2-21 21:05:16 | 只看该作者
本帖最后由 【紫雨】 于 2011-2-21 21:13 编辑

我用的是梦幻群侠的脚本,插入这个后发生了错误!
  1. =begin
  2. 多状态动画 v 1.2
  3. by 后知后觉  2009-6-6
  4. =end
  5. #以下部分为必须放到自己工程里
  6. #设置【增加】显示的状态动画个数

  7. HZHJ_STATE_ANIMATION_ADD_NUMBER = 5

  8. class Game_Temp
  9.   attr_accessor :phase4step5
  10.   alias hzhj_ini initialize
  11.   def initialize
  12.     @phase4step5 = false
  13.     hzhj_ini
  14.   end
  15. end
  16. class Scene_Battle
  17.   alias hzhj_update_phase4_step2 update_phase4_step2
  18.   def update_phase4_step2
  19.     $game_temp.phase4step5 = false
  20.     hzhj_update_phase4_step2
  21.   end
  22.   alias hzhj_update_phase4_step5 update_phase4_step5
  23.   def update_phase4_step5
  24.     $game_temp.phase4step5 = true
  25.     hzhj_update_phase4_step5
  26.   end
  27. end
  28. #以下部分有严重的冲突性 修改过的地方已经做了标记
  29. #拷贝到自己工程的对应位置即可
  30. #稍微懂点脚本的还可以自己改改或删除些
  31. #对自己的游戏来说没有必要的操作
  32. #从而减轻对运行速度的压力。。。
  33. #==============================================================================
  34. # ■ Sprite_Battler
  35. #==============================================================================

  36. class Sprite_Battler < RPG::Sprite
  37.   attr_accessor :battler                  # 战斗者
  38.   def initialize(viewport, battler = nil)
  39.     super(viewport)
  40.     @battler = battler
  41.     @battler_visible = false
  42. #####################################################################
  43. # 多状态动画 1/8
  44.     @state_sprites = []
  45.     for i in 0...HZHJ_STATE_ANIMATION_ADD_NUMBER
  46.       @state_sprites.push(RPG::Sprite.new(viewport))
  47.     end
  48. #####################################################################
  49.   end
  50.   def dispose
  51. #####################################################################
  52. # 多状态动画 2/8
  53.     for hzhj in @state_sprites
  54.       hzhj.dispose
  55.     end
  56. #####################################################################
  57.     if self.bitmap != nil
  58.       self.bitmap.dispose
  59.     end
  60.     super
  61.   end
  62.   def update
  63.     super
  64. #####################################################################
  65. # 多状态动画 3/8
  66.     for hzhj in @state_sprites
  67.       hzhj.update
  68.     end
  69. #####################################################################
  70.     # 战斗者为 nil 的情况下
  71.     if @battler == nil
  72.       self.bitmap = nil
  73.       loop_animation(nil)
  74. #####################################################################
  75. # 多状态动画 4/8
  76.       for hzhj in @state_sprites
  77.         hzhj.loop_animation(nil)
  78.       end
  79. #####################################################################
  80.       return
  81.     end
  82.     # 文件名和色相与当前情况有差异的情况下
  83.     if @battler.battler_name != @battler_name or
  84.        @battler.battler_hue != @battler_hue
  85.       # 获取、设置位图
  86.       @battler_name = @battler.battler_name
  87.       @battler_hue = @battler.battler_hue
  88.       self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
  89.       @width = bitmap.width
  90.       @height = bitmap.height
  91.       self.ox = @width / 2
  92.       self.oy = @height
  93.       # 如果是战斗不能或者是隐藏状态就把透明度设置成 0
  94.       if @battler.dead? or @battler.hidden
  95.         self.opacity = 0
  96.       end
  97.     end
  98.     # 动画 ID 与当前的情况有差异的情况下
  99.     if @battler.damage == nil and
  100.        @battler.state_animation_id != @state_animation_id
  101.       @state_animation_id = @battler.state_animation_id
  102.       loop_animation($data_animations[@state_animation_id])
  103.     end
  104. #####################################################################
  105. # 多状态动画 5/8
  106.     if @battler.damage == nil and $game_temp.phase4step5
  107.       for i in 0...HZHJ_STATE_ANIMATION_ADD_NUMBER
  108.         if @battler.states[i+1] != nil
  109.           @state_sprites[i].loop_animation($data_animations[$data_states[@battler.states[i+1]].animation_id])
  110.           @state_sprites[i].x = self.x
  111.           @state_sprites[i].y = self.y
  112.           @state_sprites[i].z = self.z
  113.           @state_sprites[i].ox = self.ox
  114.           @state_sprites[i].oy = self.oy
  115.           @state_sprites[i].opacity = self.opacity
  116.           @state_sprites[i].visible = self.visible
  117.           @state_sprites[i].src_rect = self.src_rect
  118.         else
  119.           @state_sprites[i].loop_animation($data_animations[0])
  120.         end
  121.       end
  122.     end
  123. #####################################################################
  124.     # 应该被显示的角色的情况下
  125.     if @battler.is_a?(Game_Actor) and @battler_visible
  126.       # 不是主状态的时候稍稍降低点透明度
  127.       if $game_temp.battle_main_phase
  128.         self.opacity += 3 if self.opacity < 255
  129.       else
  130.         self.opacity -= 3 if self.opacity > 207
  131.       end
  132.     end
  133.     # 明灭
  134.     if @battler.blink
  135.       blink_on
  136.     else
  137.       blink_off
  138.     end
  139.     # 不可见的情况下
  140.     unless @battler_visible
  141.       # 出现
  142.       if not @battler.hidden and not @battler.dead? and
  143.          (@battler.damage == nil or @battler.damage_pop)
  144. #####################################################################
  145. # 多状态动画 6/8
  146.     for i in 0...HZHJ_STATE_ANIMATION_ADD_NUMBER
  147.       if @battler.states[i+1] != nil
  148.         @state_sprites[i].loop_animation($data_animations[$data_states[@battler.states[i+1]].animation_id])
  149.         @state_sprites[i].x = self.x
  150.         @state_sprites[i].y = self.y
  151.         @state_sprites[i].z = self.z
  152.         @state_sprites[i].ox = self.ox
  153.         @state_sprites[i].oy = self.oy
  154.         @state_sprites[i].opacity = self.opacity
  155.         @state_sprites[i].visible = self.visible
  156.         @state_sprites[i].src_rect = self.src_rect
  157.       else
  158.         @state_sprites[i].loop_animation($data_animations[0])
  159.       end
  160.     end
  161. #####################################################################
  162.         appear
  163.         @battler_visible = true
  164.       end
  165.     end
  166.     # 可见的情况下
  167.     if @battler_visible
  168.       # 逃跑
  169.       if @battler.hidden
  170.         $game_system.se_play($data_system.escape_se)
  171. #####################################################################
  172. # 多状态动画 7/8
  173.     for i in 0...HZHJ_STATE_ANIMATION_ADD_NUMBER
  174.       if @battler.states[i+1] != nil
  175.         @state_sprites[i].loop_animation($data_animations[$data_states[@battler.states[i+1]].animation_id])
  176.         @state_sprites[i].x = self.x
  177.         @state_sprites[i].y = self.y
  178.         @state_sprites[i].z = self.z
  179.         @state_sprites[i].ox = self.ox
  180.         @state_sprites[i].oy = self.oy
  181.         @state_sprites[i].opacity = self.opacity
  182.         @state_sprites[i].visible = self.visible
  183.         @state_sprites[i].src_rect = self.src_rect
  184.       else
  185.         @state_sprites[i].loop_animation($data_animations[0])
  186.       end
  187.     end
  188. #####################################################################
  189.         escape
  190.         @battler_visible = false
  191.       end
  192.       # 白色闪烁
  193.       if @battler.white_flash
  194.         whiten
  195.         @battler.white_flash = false
  196.       end
  197.       # 动画
  198.       if @battler.animation_id != 0
  199.         animation = $data_animations[@battler.animation_id]
  200.         animation(animation, @battler.animation_hit)
  201.         @battler.animation_id = 0
  202.       end
  203.       # 伤害
  204.       if @battler.damage_pop
  205.         damage(@battler.damage, @battler.critical)
  206.         @battler.damage = nil
  207.         @battler.critical = false
  208.         @battler.damage_pop = false
  209.       end
  210.       # korapusu
  211.       if @battler.damage == nil and @battler.dead?
  212.         if @battler.is_a?(Game_Enemy)
  213.           $game_system.se_play($data_system.enemy_collapse_se)
  214.         else
  215.           $game_system.se_play($data_system.actor_collapse_se)
  216.         end
  217. #####################################################################
  218. # 多状态动画 8/8
  219.       for i in 0...HZHJ_STATE_ANIMATION_ADD_NUMBER
  220.         if @battler.states[i+1] != nil
  221.           @state_sprites[i].loop_animation($data_animations[$data_states[@battler.states[i+1]].animation_id])
  222.           @state_sprites[i].x = self.x
  223.           @state_sprites[i].y = self.y
  224.           @state_sprites[i].z = self.z
  225.           @state_sprites[i].ox = self.ox
  226.           @state_sprites[i].oy = self.oy
  227.           @state_sprites[i].opacity = self.opacity
  228.           @state_sprites[i].visible = self.visible
  229.           @state_sprites[i].src_rect = self.src_rect
  230.         else
  231.           @state_sprites[i].loop_animation($data_animations[0])
  232.         end
  233.       end
  234. #####################################################################
  235.         collapse
  236.         @battler_visible = false
  237.       end
  238.     end
  239.     # 设置活动块的坐标
  240.     self.x = @battler.screen_x
  241.     self.y = @battler.screen_y
  242.     self.z = @battler.screen_z
  243.   end
  244. end
复制代码
1个敌人变成了2个.....攻击的时候任务消失了!

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 05:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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