Project1
标题:
游戏战斗的时候出现脚本问题
[打印本页]
作者:
鸣焕天羽
时间:
2011-11-15 13:28
标题:
游戏战斗的时候出现脚本问题
6.jpg
(6.49 KB, 下载次数: 0)
下载附件
保存到相册
就是这个问题
2011-11-15 13:28 上传
就是这个问题,希望有高手能帮我解答下,万分感激~~ dsu_plus_rewardpost_czw
作者:
rainfly
时间:
2011-11-15 17:25
scope是物品的使用范围,大概是物品不存在时调用了scope方法
作者:
小白玩家
时间:
2011-11-15 18:18
你之前修改了什么,还有贴出脚本吧,都不知道62行是什么
作者:
鸣焕天羽
时间:
2011-11-15 18:21
呃,好吧,是这个脚本
#==============================================================================
# ■ Game_BattleAction
#------------------------------------------------------------------------------
# 处理行动 (战斗中的行动) 的类。这个类在 Game_Battler 类
# 的内部使用。
#==============================================================================
class Game_BattleAction
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
# ● 清除
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
# ● 随机目标 (角色用)
#--------------------------------------------------------------------------
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
# 对像存在的话取得索引、
# 对像不存在的场合下清除行动
if battler != nil
@target_index = battler.index
else
clear
end
end
#--------------------------------------------------------------------------
# ● 随机目标 (敌人用)
#--------------------------------------------------------------------------
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
# 对像存在的话取得索引、
# 对像不存在的场合下清除行动
if battler != nil
@target_index = battler.index
else
clear
end
end
#--------------------------------------------------------------------------
# ● 最后的目标 (角色用)
#--------------------------------------------------------------------------
def decide_last_target_for_actor
# 效果范围是己方单体以及行动者以外的敌人
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_party.actors[@target_index]
else
battler = $game_troop.enemies[@target_index]
end
# 对像不存在的场合下清除行动
if battler == nil or not battler.exist?
clear
end
end
#--------------------------------------------------------------------------
# ● 最后的目标 (敌人用)
#--------------------------------------------------------------------------
def decide_last_target_for_enemy
# 效果范围是己方单体以敌人以外的角色
if @target_index == -1
battler = nil
elsif for_one_friend?
battler = $game_troop.enemies[@target_index]
else
battler = $game_party.actors[@target_index]
end
# 对像不存在的场合下清除行动
if battler == nil or not battler.exist?
clear
end
end
end
复制代码
作者:
小白玩家
时间:
2011-11-15 18:31
本帖最后由 小白玩家 于 2011-11-15 18:32 编辑
脚本是没问题啊,你出问题前干了什么,仔细想想哦,我先吃饭去啦
作者:
feizhaodan
时间:
2011-11-15 18:35
使用了一个不存在的道具或者是技能。
看看有没有角色有已经删掉的技能。
作者:
鸣焕天羽
时间:
2011-11-15 21:49
嗯嗯,谢谢你们了,现在又试了一下,有的时候会出现问题,有的时候又不会,要使用自带的敌人角色就不会出现问题,换了别的话再加上攻击动画有时候就会死掉....
鸣焕天羽于2011-11-16 12:27补充以下内容:
嗯,找到问题了,有的敌人没有动画,把那个删掉了就不出错了,但是有一点不明白,为什么有的时候会报错担忧的时候就会报呢,总之,谢谢大家了,谢谢你们的帮忙~~~:)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1