幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2935|回复: 10

[RMVX] [求助]关于敌人位置的限制

[复制链接]

9

主题

42

帖子

553

积分

⑤进阶

积分
553
发表于 2006-10-13 09:25:24 | 显示全部楼层 |阅读模式
请问   如何突破数据库的限制.把敌人的位置放的更下面?


因为某个脚本的关系  敌人不可以使用大图.不然头就会看不到

我把脚本和说明发2楼位置吧  

看看到修改哪个比较方便吧

[s:6]  [s:6]
回复

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 09:28:03 | 显示全部楼层
[行走图战斗动画脚本]
也就是把战斗图改为行走图进行战斗
脚本内容如下

脚本来自于:http://para.j-mx.com/rgss

冲突脚本:宠物脚本1.2版
http://bbs.rpgchina.com/read-htm ... d-%B3%E8%CE%EF.html

注意:以下一共有两个脚本,插入后就能达到战斗动画。
插入脚本后先进入游戏进行战斗一下,然后就会明白素材问题了
素材问题:脚本采用了战斗图自动选择行走图~~~

脚本内容:
使用方法:覆盖掉原来的Game_BattleAction所有内容。
  1. #==============================================================================
  2. # ■ Game_BattleAction
  3. #------------------------------------------------------------------------------
  4. #是处理动作 (战斗中的行动)的级。这个级在 Game_Battler kura# su内部被使用。
  5. #==============================================================================
  6. class Game_BattleAction
  7. #--------------------------------------------------------------------------
  8. # ● instance变量
  9. #--------------------------------------------------------------------------
  10. attr_accessor :speed                    # 速度
  11. attr_accessor :kind                     # 类别(基本/ 技艺 / 物品)
  12. attr_accessor :basic                    # 基本(攻击/防御/逃跑)
  13. attr_accessor :skill_id                 # 特技ID
  14. attr_accessor :item_id                  # 物品ID
  15. attr_accessor :target_index             # 对象禁书目录
  16. attr_accessor :forcing                  # 强制标志
  17. #--------------------------------------------------------------------------
  18. # ● 初始化
  19. #--------------------------------------------------------------------------
  20. def initialize
  21.    clear
  22. end
  23. #--------------------------------------------------------------------------
  24. # ● clearness
  25. #--------------------------------------------------------------------------
  26. def clear
  27.    @speed = 0
  28.    @kind = 0
  29.    @basic = 3
  30.    @skill_id = 0
  31.    @item_id = 0
  32.    @target_index = -1
  33.    @forcing = false
  34. end
  35. #--------------------------------------------------------------------------
  36. # ● 判断
  37. #--------------------------------------------------------------------------
  38. def valid?
  39.    return (not (@kind == 0 and @basic == 3))
  40. end
  41. #--------------------------------------------------------------------------
  42. # ● 单体判断
  43. #--------------------------------------------------------------------------
  44. def for_one_friend?
  45.    # 类别特技,效果范围包含伙伴单体(HP 0 的)场合
  46.    if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
  47.      return true
  48.    end
  49.    # 类别以条款,效果范围包含伙伴单体(HP 0 的)场合
  50.    if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
  51.      return true
  52.    end
  53.    return false
  54. end
  55. #--------------------------------------------------------------------------
  56. # ● 单体用(HP 0)判断
  57. #--------------------------------------------------------------------------
  58. def for_one_friend_hp0?
  59.    # 特技效果范围单体(HP 0 )的场合
  60.    if @kind == 1 and [5].include?($data_skills[@skill_id].scope)
  61.      return true
  62.    end
  63.    # 物品效果范围单体(HP 0 )的场合
  64.    if @kind == 2 and [5].include?($data_items[@item_id].scope)
  65.      return true
  66.    end
  67.    return false
  68. end
  69. #--------------------------------------------------------------------------
  70. # ● random目标 (actor用)
  71. #--------------------------------------------------------------------------
  72. def decide_random_target_for_actor
  73.    # 效果范围分歧
  74.    if for_one_friend_hp0?
  75.      battler = $game_party.random_target_actor_hp0
  76.    elsif for_one_friend?
  77.      battler = $game_party.random_target_actor
  78.    else
  79.      battler = $game_troop.random_target_enemy
  80.    end
  81. # 如果对象存在取得禁书目录,
  82. # 对象不存在的情况clearness动作
  83.    if battler != nil
  84.      @target_index = battler.index
  85.    else
  86.      clear
  87.    end
  88. end
  89. #--------------------------------------------------------------------------
  90. # ● random目标 (enemy用)
  91. #--------------------------------------------------------------------------
  92. def decide_random_target_for_enemy
  93.    # 效果范围分歧
  94.    if for_one_friend_hp0?
  95.      battler = $game_troop.random_target_enemy_hp0
  96.    elsif for_one_friend?
  97.      battler = $game_troop.random_target_enemy
  98.    else
  99.      battler = $game_party.random_target_actor
  100.    end
  101.    # 如果对象存在取得禁书目录,
  102.    # 对象不存在的情况clearness动作
  103.    if battler != nil
  104.      @target_index = battler.index
  105.    else
  106.      clear
  107.    end
  108. end
  109. #--------------------------------------------------------------------------
  110. # ● 最后目标 (actor)
  111. #--------------------------------------------------------------------------
  112. def decide_last_target_for_actor
  113.    # 单体actor效果范围,(enemy)
  114.    if @target_index == -1
  115.      battler = nil
  116.    elsif for_one_friend?
  117.      battler = $game_party.actors[@target_index]
  118.    else
  119.      battler = $game_troop.enemies[@target_index]
  120.    end
  121.    # 对象不存在的情况clearness动作
  122.    if battler == nil or not battler.exist?
  123.      clear
  124.    end
  125. end
  126. #--------------------------------------------------------------------------
  127. # ● 最后目标 (enemy)
  128. #--------------------------------------------------------------------------
  129. def decide_last_target_for_enemy
  130.    # 单体enemy效果范围 (actor)
  131.    if @target_index == -1
  132.      battler = nil
  133.    elsif for_one_friend?
  134.      battler = $game_troop.enemies[@target_index]
  135.    else
  136.      battler = $game_party.actors[@target_index]
  137.    end
  138.    # 对象不存在的情况clearness动作
  139.    if battler == nil or not battler.exist?
  140.      clear
  141.    end
  142. end
  143. end
  144. 使用方法:复制脚本内容在Sprite_Picture之上插入脚本,然后命名为
  145. Sprite_Battler_Updated
  146. 脚本内容:
  147. #==============================================================================
  148. # ■ Sprite_Battler
  149. #==============================================================================
  150. class Sprite_Battler < RPG::Sprite
  151. #--------------------------------------------------------------------------
  152. # ● instance变量
  153. #--------------------------------------------------------------------------
  154. attr_accessor :battler                  # butler
  155. #--------------------------------------------------------------------------
  156. # ● 初始化
  157. #     viewport : viewport
  158. #     battler  : butler(Game_Battler)
  159. #--------------------------------------------------------------------------
  160. def initialize(viewport, battler = nil)
  161.    super(viewport)
  162.    @battler = battler
  163.    @battler_visible = false
  164.    # 定义动画用变量
  165.    @hoko_wait = 0
  166.    @hoko_pattern = 0
  167. end
  168. #--------------------------------------------------------------------------
  169. # ● 解放
  170. #--------------------------------------------------------------------------
  171. def dispose
  172.    if self.bitmap != nil
  173.      self.bitmap.dispose
  174.    end
  175.    super
  176. end
  177. #--------------------------------------------------------------------------
  178. # ● 更新
  179. #--------------------------------------------------------------------------
  180. def update
  181.    super
  182.      # butler nil 的场合
  183.    if @battler == nil
  184.      self.bitmap = nil
  185.      loop_animation(nil)
  186.      return
  187.    end
  188.      # 如果文件名或者色相与现在的东西不同
  189.    if @battler.battler_name != @battler_name or
  190.       @battler.battler_hue != @battler_hue
  191.      # 取得位图设定
  192.      @battler_name = @battler.battler_name
  193.      @battler_hue = @battler.battler_hue
  194.      # battler→character变更
  195.      #self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
  196.      self.bitmap = RPG::Cache.character(@battler_name, @battler_hue)
  197.      @width = bitmap.width / 4
  198.      @height = bitmap.height / 4
  199.      self.ox = @width / 2
  200.      self.oy = bitmap.height
  201.      self.src_rect.set(@hoko_pattern * @width, 0, @width, @height)
  202.      
  203.      # 战斗不能再隐藏要是状态把不透明度做为 0
  204.      if @battler.dead? or @battler.hidden
  205.        self.opacity = 0
  206.      end
  207.    end
  208.    # 如果动画ID与现在的东西有差异
  209.    if @battler.damage == nil and
  210.       @battler.state_animation_id != @state_animation_id
  211.      @state_animation_id = @battler.state_animation_id
  212.      loop_animation($data_animations[@state_animation_id])
  213.    end
  214.    # 应该被表示actor的场合
  215.    if @battler.is_a?(Game_Actor) and @battler_visible
  216.      # 不是主要阶段的时候把不透明度稍稍下降
  217.      if $game_temp.battle_main_phase
  218.        self.opacity += 3 if self.opacity < 255
  219.      else
  220.        self.opacity -= 3 if self.opacity > 207
  221.      end
  222.    end
  223.    # 闪烁
  224.    if @battler.blink
  225.      blink_on
  226.    else
  227.      blink_off
  228.    end
  229.    # 不可见的场合
  230.    unless @battler_visible
  231.      # 出现
  232.      if not @battler.hidden and not @battler.dead? and
  233.         (@battler.damage == nil or @battler.damage_pop)
  234.        appear
  235.        @battler_visible = true
  236.      end
  237.    end
  238.    # 可见的场合
  239.    if @battler_visible
  240.      # 逃走
  241.      if @battler.hidden
  242.        $game_system.se_play($data_system.escape_se)
  243.        escape
  244.        @battler_visible = false
  245.      end
  246.      # 白闪光
  247.      if @battler.white_flash
  248.        whiten
  249.        @battler.white_flash = false
  250.      end
  251.      # 动画
  252.      if @battler.animation_id != 0
  253.        animation = $data_animations[@battler.animation_id]
  254.        animation(animation, @battler.animation_hit)
  255.        @battler.animation_id = 0
  256.      end
  257.      # 损坏
  258.      if @battler.damage_pop
  259.        damage(@battler.damage, @battler.critical)
  260.        @battler.damage = nil
  261.        @battler.critical = false
  262.        @battler.damage_pop = false
  263.      end
  264.      # korapusu
  265.      if @battler.damage == nil and @battler.dead?
  266.        if @battler.is_a?(Game_Enemy)
  267.          $game_system.se_play($data_system.enemy_collapse_se)
  268.        else
  269.          $game_system.se_play($data_system.actor_collapse_se)
  270.        end
  271.        collapse
  272.        @battler_visible = false
  273.      end
  274.      # 步行动画
  275.      hoko_anime()
  276.      # p @hoko_pattern
  277.    end
  278.    # 设定的坐标
  279.    self.x = @battler.screen_x
  280.    self.y = @battler.screen_y
  281.    self.z = @battler.screen_z
  282. end
  283. #--------------------------------------------------------------------------
  284. # ● 步行动画
  285. #--------------------------------------------------------------------------
  286. def hoko_anime()
  287.    @hoko_wait += 1
  288.    if @hoko_wait > 6
  289.      @hoko_wait = 0
  290.      @hoko_pattern += 1
  291.      if @hoko_pattern > 3
  292.        @hoko_pattern = 0
  293.        # p "0"
  294.      end
  295.      self.src_rect.set(@hoko_pattern * @width, 0, @width, @height)
  296.    end
  297. end
  298. end
复制代码

[s:6]
回复 支持 反对

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 09:37:27 | 显示全部楼层
脚本默认读取的是行走图第一行人像

有何办法改为最后一行?
回复 支持 反对

使用道具 举报

845

主题

1万

帖子

214748万

积分

版主

脑残中……

Rank: 7Rank: 7Rank: 7

积分
2147483647

声命组金赏

发表于 2006-10-13 10:38:46 | 显示全部楼层
[s:5] 不懂脚本的某人路过 [s:7]
http://icv.cc声动音缘配音社
回复 支持 反对

使用道具 举报

91

主题

3188

帖子

83986万

积分

荣誉群

传说中的Bunny大神~!

积分
839861514
QQ
发表于 2006-10-13 12:32:59 | 显示全部楼层
要把敌人位置放得更下面:
  1. #==============================================================================
  2. # ■ Sprite_Battler
  3. #==============================================================================
  4. class Sprite_Battler < RPG::Sprite
  5. #--------------------------------------------------------------------------
  6. # ● instance变量
  7. #--------------------------------------------------------------------------
  8. attr_accessor :battler             # butler
  9. #--------------------------------------------------------------------------
  10. # ● 初始化
  11. #   viewport : viewport
  12. #   battler : butler(Game_Battler)
  13. #--------------------------------------------------------------------------
  14. def initialize(viewport, battler = nil)
  15.   super(viewport)
  16.   @battler = battler
  17.   @battler_visible = false
  18.   # 定义动画用变量
  19.   @hoko_wait = 0
  20.   @hoko_pattern = 0
  21. end
  22. #--------------------------------------------------------------------------
  23. # ● 解放
  24. #--------------------------------------------------------------------------
  25. def dispose
  26.   if self.bitmap != nil
  27.   self.bitmap.dispose
  28.   end
  29.   super
  30. end
  31. #--------------------------------------------------------------------------
  32. # ● 更新
  33. #--------------------------------------------------------------------------
  34. def update
  35.   super
  36.   # butler nil 的场合
  37.   if @battler == nil
  38.   self.bitmap = nil
  39.   loop_animation(nil)
  40.   return
  41.   end
  42.   # 如果文件名或者色相与现在的东西不同
  43.   if @battler.battler_name != @battler_name or
  44.     @battler.battler_hue != @battler_hue
  45.   # 取得位图设定
  46.   @battler_name = @battler.battler_name
  47.   @battler_hue = @battler.battler_hue
  48.   # battler→character变更
  49.   #self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
  50.   self.bitmap = RPG::Cache.character(@battler_name, @battler_hue)
  51.   @width = bitmap.width / 4
  52.   @height = bitmap.height / 4
  53.   self.ox = @width / 2
  54.   self.oy = bitmap.height
  55.   self.src_rect.set(@hoko_pattern * @width, 0, @width, @height)
  56.   
  57.   # 战斗不能再隐藏要是状态把不透明度做为 0
  58.   if @battler.dead? or @battler.hidden
  59.     self.opacity = 0
  60.   end
  61.   end
  62.   # 如果动画ID与现在的东西有差异
  63.   if @battler.damage == nil and
  64.     @battler.state_animation_id != @state_animation_id
  65.   @state_animation_id = @battler.state_animation_id
  66.   loop_animation($data_animations[@state_animation_id])
  67.   end
  68.   # 应该被表示actor的场合
  69.   if @battler.is_a?(Game_Actor) and @battler_visible
  70.   # 不是主要阶段的时候把不透明度稍稍下降
  71.   if $game_temp.battle_main_phase
  72.     self.opacity += 3 if self.opacity < 255
  73.   else
  74.     self.opacity -= 3 if self.opacity > 207
  75.   end
  76.   end
  77.   # 闪烁
  78.   if @battler.blink
  79.   blink_on
  80.   else
  81.   blink_off
  82.   end
  83.   # 不可见的场合
  84.   unless @battler_visible
  85.   # 出现
  86.   if not @battler.hidden and not @battler.dead? and
  87.     (@battler.damage == nil or @battler.damage_pop)
  88.     appear
  89.     @battler_visible = true
  90.   end
  91.   end
  92.   # 可见的场合
  93.   if @battler_visible
  94.   # 逃走
  95.   if @battler.hidden
  96.     $game_system.se_play($data_system.escape_se)
  97.     escape
  98.     @battler_visible = false
  99.   end
  100.   # 白闪光
  101.   if @battler.white_flash
  102.     whiten
  103.     @battler.white_flash = false
  104.   end
  105.   # 动画
  106.   if @battler.animation_id != 0
  107.     animation = $data_animations[@battler.animation_id]
  108.     animation(animation, @battler.animation_hit)
  109.     @battler.animation_id = 0
  110.   end
  111.   # 损坏
  112.   if @battler.damage_pop
  113.     damage(@battler.damage, @battler.critical)
  114.     @battler.damage = nil
  115.     @battler.critical = false
  116.     @battler.damage_pop = false
  117.   end
  118.   # korapusu
  119.   if @battler.damage == nil and @battler.dead?
  120.     if @battler.is_a?(Game_Enemy)
  121.       $game_system.se_play($data_system.enemy_collapse_se)
  122.     else
  123.       $game_system.se_play($data_system.actor_collapse_se)
  124.     end
  125.     collapse
  126.     @battler_visible = false
  127.   end
  128.   # 步行动画
  129.   hoko_anime()
  130.   # p @hoko_pattern
  131.   end
  132.   ##############################################
  133.   # 设定的坐标
  134.   if @battler.is_a?(Game_Enemy)
  135.    self.x = @battler.screen_x
  136.     self.y = @battler.screen_y + 30
  137.     self.z = @battler.screen_z
  138.   else
  139.     self.x = @battler.screen_x
  140.     self.y = @battler.screen_y
  141.     self.z = @battler.screen_z
  142. end
  143. ######################################
  144. #--------------------------------------------------------------------------
  145. # ● 步行动画
  146. #--------------------------------------------------------------------------
  147. def hoko_anime()
  148.   @hoko_wait += 1
  149.   if @hoko_wait > 6
  150.   @hoko_wait = 0
  151.   @hoko_pattern += 1
  152.   if @hoko_pattern > 3
  153.     @hoko_pattern = 0
  154.     # p "0"
  155.   end
  156.   self.src_rect.set(@hoko_pattern * @width, 0, @width, @height)
  157.   end
  158. end
  159. end
复制代码
其他所有的Bunny神都素我的部下XD~ 小教程范例收集 Orz感谢邪恶萝卜联盟!!!(原因自己去猜)
回复 支持 反对

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 17:38:43 | 显示全部楼层
有救了
谢谢东瓜~~~~
我去试试看``` [s:6]  [s:6]  [s:6]  [s:6]
回复 支持 反对

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 17:48:29 | 显示全部楼层
我删去2楼的脚本后 把东瓜的脚本插在 main前..运行战斗测试 显示

161行  syntax error
回复 支持 反对

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 18:07:16 | 显示全部楼层
晕  他的发布贴和网站上的那个不一样

我是用网站上的




#==============================================================================
# ■ Sprite_Battler
#==============================================================================

class Sprite_Battler < RPG::Sprite
#--------------------------------------------------------------------------
# ● instance变量
#--------------------------------------------------------------------------
attr_accessor :battler                  # butler
#--------------------------------------------------------------------------
# ● 初始化
#     viewport : viewport
#     battler  : butler(Game_Battler)
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
   super(viewport)
   @battler = battler
   @battler_visible = false
   # 定义动画用变量
   @hoko_wait = 0
   @hoko_pattern = 0
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
   if self.bitmap != nil
     self.bitmap.dispose
   end
   super
end
#--------------------------------------------------------------------------
# ● 更新
#--------------------------------------------------------------------------
def update
   super
     # butler nil 的场合
   if @battler == nil
     self.bitmap = nil
     loop_animation(nil)
     return
   end
     # 如果文件名或者色相与现在的东西不同
   if @battler.battler_name != @battler_name or
      @battler.battler_hue != @battler_hue
     # 取得位图设定
     @battler_name = @battler.battler_name
     @battler_hue = @battler.battler_hue

     # battler→character变更
     #self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
     self.bitmap = RPG::Cache.character(@battler_name, @battler_hue)
     @width = bitmap.width / 4
     @height = bitmap.height / 4
     self.ox = @width / 1.3
     self.oy = bitmap.height
     self.src_rect.set(@hoko_pattern * @width, 0, @width, @height)
     
     # 战斗不能再隐藏要是状态把不透明度做为 0
     if @battler.dead? or @battler.hidden
       self.opacity = 0
     end
   end
   # 如果动画ID与现在的东西有差异
   if @battler.damage == nil and
      @battler.state_animation_id != @state_animation_id
     @state_animation_id = @battler.state_animation_id
     loop_animation($data_animations[@state_animation_id])
   end
   # 应该被表示actor的场合
   if @battler.is_a?(Game_Actor) and @battler_visible
     # 不是主要阶段的时候把不透明度稍稍下降
     if $game_temp.battle_main_phase
       self.opacity += 3 if self.opacity < 255
     else
       self.opacity -= 3 if self.opacity > 207
     end
   end
   # 闪烁
   if @battler.blink
     blink_on
   else
     blink_off
   end
   # 不可见的场合
   unless @battler_visible
     # 出现
     if not @battler.hidden and not @battler.dead? and
        (@battler.damage == nil or @battler.damage_pop)
       appear
       @battler_visible = true
     end
   end
   # 可见的场合
   if @battler_visible
     # 逃走
     if @battler.hidden
       $game_system.se_play($data_system.escape_se)
       escape
       @battler_visible = false
     end
     # 白闪光
     if @battler.white_flash
       whiten
       @battler.white_flash = false
     end
     # 动画
     if @battler.animation_id != 0
       animation = $data_animations[@battler.animation_id]
       animation(animation, @battler.animation_hit)
       @battler.animation_id = 0
     end
     # 损坏
     if @battler.damage_pop
       damage(@battler.damage, @battler.critical)
       @battler.damage = nil
       @battler.critical = false
       @battler.damage_pop = false
     end
     # korapusu
     if @battler.damage == nil and @battler.dead?
       if @battler.is_a?(Game_Enemy)
         $game_system.se_play($data_system.enemy_collapse_se)
       else
         $game_system.se_play($data_system.actor_collapse_se)
       end
       collapse
       @battler_visible = false
     end
     # 行走动画
     hoko_anime()
     # p @hoko_pattern
   end
   # 设定行走图位置的坐标
   self.x = @battler.screen_x + 7
   self.y = @battler.screen_y + 108
   self.z = @battler.screen_z
end
#--------------------------------------------------------------------------
# ● 行走动画(@hoko_pattern * @width, 0, @width, @height)能设置行走图方向
#--------------------------------------------------------------------------
def hoko_anime()
   @hoko_wait += 1
   if @hoko_wait > 6
     @hoko_wait = 0
     @hoko_pattern += 1
     if @hoko_pattern > 3
       @hoko_pattern = 0
       # p "0"
     end
     self.src_rect.set(@hoko_pattern * @width, 0, @width, @height)
   end
end
end
#==============================================================================
#冲突脚本:宠物脚本1.2版(66主页拿的宠物脚本应该都会冲突)
#注意:以下一共有两个脚本,插入后就能达到战斗动画。
#插入脚本后先进入游戏进行战斗一下,然后就会明白素材问题了
#素材问题:脚本采用了战斗图自动选择行走图~~~
#==============================================================================
#==============================================================================
# ■ Game_BattleAction
#------------------------------------------------------------------------------
#是处理动作 (战斗中的行动)的级。这个级在 Game_Battler kura# su内部被使用。
#==============================================================================

class Game_BattleAction
#--------------------------------------------------------------------------
# ● instance变量
#--------------------------------------------------------------------------
attr_accessor :speed                    # 速度
attr_accessor :kind                     # 类别(基本/ 技艺 / 物品)
attr_accessor :basic                    # 基本(攻击/防御/逃跑)
attr_accessor :skill_id                 # 特技ID
attr_accessor :item_id                  # 物品ID
attr_accessor :target_index             # 对象禁书目录
attr_accessor :forcing                  # 强制标志
#--------------------------------------------------------------------------
# ● 初始化
#--------------------------------------------------------------------------
def initialize
   clear
end
#--------------------------------------------------------------------------
# ● clearness
#--------------------------------------------------------------------------
def clear
   @speed = 0
   @kind = 0
   @basic = 3
   @skill_id = 0
   @item_id = 0
   @target_index = -1
   @forcing = false
end
#--------------------------------------------------------------------------
# ● 判断
#--------------------------------------------------------------------------
def valid?
   return (not (@kind == 0 and @basic == 3))
end
#--------------------------------------------------------------------------
# ● 单体判断
#--------------------------------------------------------------------------
def for_one_friend?
   # 类别特技,效果范围包含伙伴单体(HP 0 的)场合
   if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
     return true
   end
   # 类别以条款,效果范围包含伙伴单体(HP 0 的)场合
   if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
     return true
   end
   return false
end
#--------------------------------------------------------------------------
# ● 单体用(HP 0)判断
#--------------------------------------------------------------------------
def for_one_friend_hp0?
   # 特技效果范围单体(HP 0 )的场合
   if @kind == 1 and [5].include?($data_skills[@skill_id].scope)
     return true
   end
   # 物品效果范围单体(HP 0 )的场合
   if @kind == 2 and [5].include?($data_items[@item_id].scope)
     return true
   end
   return false
end
#--------------------------------------------------------------------------
# ● random目标 (actor用)
#--------------------------------------------------------------------------
def decide_random_target_for_actor
   # 效果范围分歧
   if for_one_friend_hp0?
     battler = $game_party.random_target_actor_hp0
   elsif for_one_friend?
     battler = $game_party.random_target_actor
   else
     battler = $game_troop.random_target_enemy
   end
# 如果对象存在取得禁书目录,
# 对象不存在的情况clearness动作
   if battler != nil
     @target_index = battler.index
   else
     clear
   end
end
#--------------------------------------------------------------------------
# ● random目标 (enemy用)
#--------------------------------------------------------------------------
def decide_random_target_for_enemy
   # 效果范围分歧
   if for_one_friend_hp0?
     battler = $game_troop.random_target_enemy_hp0
   elsif for_one_friend?
     battler = $game_troop.random_target_enemy
   else
     battler = $game_party.random_target_actor
   end
   # 如果对象存在取得禁书目录,
   # 对象不存在的情况clearness动作
   if battler != nil
     @target_index = battler.index
   else
     clear
   end
end
#--------------------------------------------------------------------------
# ● 最后目标 (actor)
#--------------------------------------------------------------------------
def decide_last_target_for_actor
   # 单体actor效果范围,(enemy)
   if @target_index == -1
     battler = nil
   elsif for_one_friend?
     battler = $game_party.actors[@target_index]
   else
     battler = $game_troop.enemies[@target_index]
   end
   # 对象不存在的情况clearness动作
   if battler == nil or not battler.exist?
     clear
   end
end
#--------------------------------------------------------------------------
# ● 最后目标 (enemy)
#--------------------------------------------------------------------------
def decide_last_target_for_enemy
   # 单体enemy效果范围 (actor)
   if @target_index == -1
     battler = nil
   elsif for_one_friend?
     battler = $game_troop.enemies[@target_index]
   else
     battler = $game_party.actors[@target_index]
   end
   # 对象不存在的情况clearness动作
   if battler == nil or not battler.exist?
     clear
   end
end
end

[s:6]
回复 支持 反对

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 18:37:07 | 显示全部楼层
2楼的和7楼的感觉不一样

7楼的用后 位置和我设置的一样

2楼的用后 人物.敌人 坐标都往上移了不少 [或许是2楼的脚本已经把敌人和我方向下移了]

同样是把敌人拉到最下面  可用两个脚本先后敌人出现位置有高低之差.而且偏差大



如何可以的话  请东东修改一下7楼的脚本   让敌人往更下面点 方便我用大图
或者改成读行走图最后一行.我图重新PS一次就好
回复 支持 反对

使用道具 举报

9

主题

42

帖子

553

积分

⑤进阶

积分
553
 楼主| 发表于 2006-10-13 19:26:46 | 显示全部楼层
问题解决了

我调了一下


   # 设定行走图位置的坐标
  self.x = @battler.screen_x + 7
  self.y = @battler.screen_y + 108


这段坐标..明显好了很多.... [s:1]  [s:2]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-28 18:14 , Processed in 0.013216 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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