加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 duchen5779 于 2015-10-22 16:07 编辑
一个很古老的SIDEVIEW4.0,SLICK发布的。但是我一直在用,今天调试的时候,不知道为什么在SIDEVIEW5里加上一段“当1号角色用9号技能攻击敌人时顺便给自己加3号状态”之后,试验时报错,是和这个技能升级的脚本冲突,报错也是报这个脚本……
后来我又用这个SIDEVIEW的原始工程加的这个技能升级的脚本,加了那段“当1号角色用9号技能攻击敌人时顺便给自己加3号状态”,发现还是同样的错误,排除了其他脚本干扰的可能。
因为有一些天赋的设置需要攻击敌人的时候给本方加状态或者是干别的(给本方加属性就没事),我在想,喂,我一个加状态碍着你技能升级毛事啊……所以求大拿解惑。
附技能升级脚本:
=begin 在可以升级的技能的备注栏里写上 下等级技能编号 升级经验 每次增加经验 例 下等级技能编号2 升级经验10 每次增加经验2 =end class Game_Actor MULTISKILLS = true#true时可以同时学会高等级技能和低等级技能, #false时候学会高等级技能后会遗忘低等级技能 alias supersetup setup def setup(*args) supersetup(*args) @skillexp = {} end def addskillexp return unless @action.skill.updatable? @skillexp[@action.skill.id] = 0 if @skillexp[@action.skill.id].nil? @skillexp[@action.skill.id] += @action.skill.eachexp if @skillexp[@action.skill.id] >= @action.skill.maxexp return if @skills.include?(@action.skill.nextskillid) learn_skill(@action.skill.nextskillid) forget_skill(@action.skill.id) unless MULTISKILLS $game_message.new_page text = "技能" + @action.skill.name + "升级" $game_message.texts.push(text) text = "学会" + $data_skills[@action.skill.nextskillid].name $game_message.texts.push(text) end end end class Game_Enemy def addskillexp end end module RPG class Skill def updatable? @note =~ /下等级技能编号(\d+)/ return !$1.nil? end def nextskillid @note =~ /下等级技能编号(\d+)/ return $1.to_i end def maxexp @note =~ /升级经验(\d+)/ return $1.to_i end def eachexp @note =~ /每次增加经验(\d+)/ return $1.to_i end end end class Scene_Battle alias superexecute_action_skill execute_action_skill def execute_action_skill superexecute_action_skill @active_battler.addskillexp end end
=begin
在可以升级的技能的备注栏里写上
下等级技能编号
升级经验
每次增加经验
例
下等级技能编号2
升级经验10
每次增加经验2
=end
class Game_Actor
MULTISKILLS = true#true时可以同时学会高等级技能和低等级技能,
#false时候学会高等级技能后会遗忘低等级技能
alias supersetup setup
def setup(*args)
supersetup(*args)
@skillexp = {}
end
def addskillexp
return unless @action.skill.updatable?
@skillexp[@action.skill.id] = 0 if @skillexp[@action.skill.id].nil?
@skillexp[@action.skill.id] += @action.skill.eachexp
if @skillexp[@action.skill.id] >= @action.skill.maxexp
return if @skills.include?(@action.skill.nextskillid)
learn_skill(@action.skill.nextskillid)
forget_skill(@action.skill.id) unless MULTISKILLS
$game_message.new_page
text = "技能" + @action.skill.name + "升级"
$game_message.texts.push(text)
text = "学会" + $data_skills[@action.skill.nextskillid].name
$game_message.texts.push(text)
end
end
end
class Game_Enemy
def addskillexp
end
end
module RPG
class Skill
def updatable?
@note =~ /下等级技能编号(\d+)/
return !$1.nil?
end
def nextskillid
@note =~ /下等级技能编号(\d+)/
return $1.to_i
end
def maxexp
@note =~ /升级经验(\d+)/
return $1.to_i
end
def eachexp
@note =~ /每次增加经验(\d+)/
return $1.to_i
end
end
end
class Scene_Battle
alias superexecute_action_skill execute_action_skill
def execute_action_skill
superexecute_action_skill
@active_battler.addskillexp
end
end
冲突的那段脚本为
if user.is_a?(Game_Actor) and user.id == 1 and obj.is_a?(RPG::Skill) and obj.id == 9# 攻击对方给自己加状态 user.add_state(3) #1号角色施展9号技能,给自己加3号状态 end
if user.is_a?(Game_Actor) and user.id == 1 and obj.is_a?(RPG::Skill) and obj.id == 9# 攻击对方给自己加状态
user.add_state(3) #1号角色施展9号技能,给自己加3号状态
end
下附工程。
slick_CP整合公共版4.0ALPHA.rar
(1.16 MB, 下载次数: 105)
|