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

Project1

 找回密码
 注册会员
搜索

游戏战斗的时候出现脚本问题

查看数: 1105 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2011-11-15 13:28

正文摘要:

就是这个问题,希望有高手能帮我解答下,万分感激~~

回复

鸣焕天羽 发表于 2011-11-15 21:49:57
嗯嗯,谢谢你们了,现在又试了一下,有的时候会出现问题,有的时候又不会,要使用自带的敌人角色就不会出现问题,换了别的话再加上攻击动画有时候就会死掉....


鸣焕天羽于2011-11-16 12:27补充以下内容:
嗯,找到问题了,有的敌人没有动画,把那个删掉了就不出错了,但是有一点不明白,为什么有的时候会报错担忧的时候就会报呢,总之,谢谢大家了,谢谢你们的帮忙~~~:)

点评

仔细检查有没有使用了已经删除了的物品和技能的敌人。  发表于 2011-11-15 22:58
feizhaodan 发表于 2011-11-15 18:35:53
使用了一个不存在的道具或者是技能。
看看有没有角色有已经删掉的技能。
小白玩家 发表于 2011-11-15 18:31:48
本帖最后由 小白玩家 于 2011-11-15 18:32 编辑

脚本是没问题啊,你出问题前干了什么,仔细想想哦,我先吃饭去啦
鸣焕天羽 发表于 2011-11-15 18:21:32
呃,好吧,是这个脚本
  1. #==============================================================================
  2. # ■ Game_BattleAction
  3. #------------------------------------------------------------------------------
  4. #  处理行动 (战斗中的行动) 的类。这个类在 Game_Battler 类
  5. # 的内部使用。
  6. #==============================================================================

  7. class Game_BattleAction
  8.   #--------------------------------------------------------------------------
  9.   # ● 定义实例变量
  10.   #--------------------------------------------------------------------------
  11.   attr_accessor :speed                    # 速度
  12.   attr_accessor :kind                     # 种类 (基本 / 特技 / 物品)
  13.   attr_accessor :basic                    # 基本 (攻击 / 防御 / 逃跑)
  14.   attr_accessor :skill_id                 # 特技 ID
  15.   attr_accessor :item_id                  # 物品 ID
  16.   attr_accessor :target_index             # 对像索引
  17.   attr_accessor :forcing                  # 强制标志
  18.   #--------------------------------------------------------------------------
  19.   # ● 初始化对像
  20.   #--------------------------------------------------------------------------
  21.   def initialize
  22.     clear
  23.   end
  24.   #--------------------------------------------------------------------------
  25.   # ● 清除
  26.   #--------------------------------------------------------------------------
  27.   def clear
  28.     @speed = 0
  29.     @kind = 0
  30.     @basic = 3
  31.     @skill_id = 0
  32.     @item_id = 0
  33.     @target_index = -1
  34.     @forcing = false
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 有效判定
  38.   #--------------------------------------------------------------------------
  39.   def valid?
  40.     return (not (@kind == 0 and @basic == 3))
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 己方单体使用判定
  44.   #--------------------------------------------------------------------------
  45.   def for_one_friend?
  46.     # 种类为特技、效果范围是我方单体 (包含 HP 0) 的情况
  47.     if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
  48.       return true
  49.     end
  50.     # 种类为物品、效果范围是我方单体 (包含 HP 0) 的情况
  51.     if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
  52.       return true
  53.     end
  54.     return false
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 己方单体用 (HP 0) 判定
  58.   #--------------------------------------------------------------------------
  59.   def for_one_friend_hp0?
  60.     # 种类为特技、效果范围是我方单体 (HP 0) 的情况
  61.     if @kind == 1 and [5].include?($data_skills[@skill_id].scope)
  62.       return true
  63.     end
  64.     # 种类为物品、效果范围是我方单体 (HP 0) 的情况
  65.     if @kind == 2 and [5].include?($data_items[@item_id].scope)
  66.       return true
  67.     end
  68.     return false
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 随机目标 (角色用)
  72.   #--------------------------------------------------------------------------
  73.   def decide_random_target_for_actor
  74.     # 效果范围的分支
  75.     if for_one_friend_hp0?
  76.       battler = $game_party.random_target_actor_hp0
  77.     elsif for_one_friend?
  78.       battler = $game_party.random_target_actor
  79.     else
  80.       battler = $game_troop.random_target_enemy
  81.     end
  82.     # 对像存在的话取得索引、
  83.     # 对像不存在的场合下清除行动
  84.     if battler != nil
  85.       @target_index = battler.index
  86.     else
  87.       clear
  88.     end
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 随机目标 (敌人用)
  92.   #--------------------------------------------------------------------------
  93.   def decide_random_target_for_enemy
  94.     # 效果范围的分支
  95.     if for_one_friend_hp0?
  96.       battler = $game_troop.random_target_enemy_hp0
  97.     elsif for_one_friend?
  98.       battler = $game_troop.random_target_enemy
  99.     else
  100.       battler = $game_party.random_target_actor
  101.     end
  102.     # 对像存在的话取得索引、
  103.     # 对像不存在的场合下清除行动
  104.     if battler != nil
  105.       @target_index = battler.index
  106.     else
  107.       clear
  108.     end
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 最后的目标 (角色用)
  112.   #--------------------------------------------------------------------------
  113.   def decide_last_target_for_actor
  114.     # 效果范围是己方单体以及行动者以外的敌人
  115.     if @target_index == -1
  116.       battler = nil
  117.     elsif for_one_friend?
  118.       battler = $game_party.actors[@target_index]
  119.     else
  120.       battler = $game_troop.enemies[@target_index]
  121.     end
  122.     # 对像不存在的场合下清除行动
  123.     if battler == nil or not battler.exist?
  124.       clear
  125.     end
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 最后的目标 (敌人用)
  129.   #--------------------------------------------------------------------------
  130.   def decide_last_target_for_enemy
  131.     # 效果范围是己方单体以敌人以外的角色
  132.     if @target_index == -1
  133.       battler = nil
  134.     elsif for_one_friend?
  135.       battler = $game_troop.enemies[@target_index]
  136.     else
  137.       battler = $game_party.actors[@target_index]
  138.     end
  139.     # 对像不存在的场合下清除行动
  140.     if battler == nil or not battler.exist?
  141.       clear
  142.     end
  143.   end
  144. end
复制代码
小白玩家 发表于 2011-11-15 18:18:21
你之前修改了什么,还有贴出脚本吧,都不知道62行是什么
rainfly 发表于 2011-11-15 17:25:15
scope是物品的使用范围,大概是物品不存在时调用了scope方法
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-27 23:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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