赞 | 5 |
VIP | 52 |
好人卡 | 19 |
积分 | 6 |
经验 | 4394 |
最后登录 | 2023-5-29 |
在线时间 | 961 小时 |
Lv2.观梦者 铃铃塔的守护者
- 梦石
- 0
- 星屑
- 626
- 在线时间
- 961 小时
- 注册时间
- 2010-10-24
- 帖子
- 2768
|
本帖最后由 px.凤翔九天 于 2011-12-24 12:01 编辑
沙之爱罗 发表于 2011-12-24 01:20
我要的是在战斗中随机技能,技能用一次就会在技能栏消失,由另外一个技能顶上……而且你这样……暗怪肿么 ...
战斗中技能用一次后消失吗......我理解错了.....
(另:明暗怪貌似这个都没关系吧,处理在敌人队伍中,怎么设定战斗对象肯定是敌人队伍,除非你有添加了猎奇脚本..)
战斗中使用的话,我抽空写个脚本给你吧,这货貌似事件搞不定了.....
好了,搞定了。看下面- #随机技能脚本 v1.0 by px.凤翔九天
- # 此脚本目的在于实现战斗中随即使用技能。
- # 因此战斗技能分成了两部分:固定技能和随机技能
- # 固定技能就是每次战斗肯定有的,随机技能是指每次战斗随机选出的。
- # 随机技能使用后换上来的另外一个随机技能设定为不会与刚刚使用的重复。
- # 注:固定技能和职业等级技能不冲突,职业等级技能只能在菜单中使用,无法战斗使用。
- # 战斗固定技能只在战斗时出现,菜单中无法使用。
- # 想要使等级技能在战斗中也可用,修改$set_skill就可以。
- $set_skill=[[57],[61],[1,10],[7]]
- $random_skill=[[11,56,58,59,60],[62,63,64,10,47],[53,54,55,45,43,33,34],[8,9,31,32,22,23,24]]
- $random_num=[2,2,3,4]
- #$set_skill指的是每个人的战斗固定技能
- #$random_skill指的是每个人的战斗随机技能组合范围
- #$random_num指的是每个人的战斗随机技能的选择数
- class Scene_Battle
- attr_accessor :learn_skill_id
- alias main_pre main
- alias start_pre start_phase1
- alias skill_result_pre make_skill_action_result
- alias start_pre5 start_phase5
- def main
- @learn_skill_id=0
- main_pre
- end
- def start_phase1
- start_pre
- for i in 1..4
- skill_id=[]
- $game_party.actors[i-1].skills.clear
- $set_skill[i-1].each{|set|
- $game_party.actors[i-1].learn_skill(set)
- while skill_id.size < $random_num[i-1]
- skill_id.push(rand($random_skill[i-1].size))
- skill_id.uniq!
- end
- skill_id.each{|id| $game_party.actors[i-1].learn_skill($random_skill[i-1][id])}
- }
- end
- end
- def make_skill_action_result
- skill_result_pre
- if @active_battler.is_a?(Game_Actor) and $set_skill[@active_battler.index].include?(@skill.id)==false
- @active_battler.forget_skill(@skill.id)
- loop do
- @learn_skill_id=rand($random_skill[@active_battler.index].size)
- break unless @active_battler.skill_learn?(learn_skill_id) == true or @[email protected]
- end
- @active_battler.learn_skill($random_skill[@active_battler.index][@learn_skill_id])
- end
- end
- def start_phase5
- for i in 1..4
- $game_party.actors[i-1].skills.clear
- for j in $data_classes[$game_party.actors[i-1].class_id].learnings
- if j.level <= $game_party.actors[i-1].level
- $game_party.actors[i-1].learn_skill(j.skill_id)
- end
- end
- end
- start_pre5
- end
-
- end
复制代码 吧。
战斗随机技能.rar
(189.13 KB, 下载次数: 58)
|
|