作者: SailCat 时间: 2005-9-16 01:49 PM 标题: 青魔法(学习敌人的技能) 这个是用公共事件实现的,对脚本的改动非常小(仅增加了3个供事件调用的入口定义) 1. 脚本修改 定位到Scene_Battle 1部分 在主处理之前加入以下三行 attr_reader: target_battlers attr_reader: active_battler attr_reader: skill 2. 公共事件 设定一个叫做"青魔法师"的职业,编号为9(可以修改,相应修改下面公共事件中的定义) 插入一个叫做"青魔法"(名字自定)的公共事件,事件内容只有一段脚本,脚本内容: for target in $scene.target_battlers if target.is_a?(Game_Actor) skill=$scene.skill c = target.class_id == 9 ? true:false if c and not target.skills.include?(skill) target.learn_skill(skill.id) textinfo = target.name + " 学会了 " textinfo += "\\c[4]["+skill.name+"]" $game_temp.message_text = textinfo end end end 放心,肯定写的下(其实是左右上下都撑满那个框了) 其中第四行的数字9 可以改成你的青魔法师职业编号。 3.技能设定 凡是可以被学习的技能,请在技能的调用公共事件里设定为青魔法事件 4.设定结束 效果:当职业为“青魔法师”的队员在战斗中被敌方特定技能攻击时,如果没有学会该技能,将立即习得该技能,并且可以马上使用。 ------------------------------------------------------------------------ 作者: SailCat 时间: 2005-9-16 01:57 PM attr_reader: target_battlers attr_reader: active_battler attr_reader: skill 实际上有了这三个入口定义 可以说,你想要什么技能效果,就可以有什么技能效果 相当于可以让你在公共事件里完全重新定义这个技能 正在研究日站上那个战斗特殊效果的脚本 打算把能用公共事件的全部用公共事件来实现,因为那个脚本冲突实在太严重了 ------------------------------------------------------------------------- 作者: 羽翔 时间: 2005-9-16 10:24 PM 不錯,其實還可以加上能力判斷, 如某技要300int才能學,或較高int會學得較快 就會比較合理
|