Project1

标题: 新人无脑自改的VX连击脚本求鉴定~ [打印本页]

作者: 耀眼的毛玉    时间: 2013-10-4 23:13
标题: 新人无脑自改的VX连击脚本求鉴定~
本帖最后由 耀眼的毛玉 于 2013-10-4 23:16 编辑

http://rpg.blue/thread-76668-1-1.html这是原版
在原版基础上增加了一句window_message.clear命令、动画播放次数的变量 @animation_times(默认为1,会改脚本的人可以让不同技能的动画播放次数不同)和module RPG里技能名称的显示
自测和我有的其他脚本貌似都兼容,实验了一个单体技能(附带被动技能)和一个群体技能,均无问题
编程大触来帮我看看有没有隐藏的BUG吧
没有BUG的话不嫌弃脚本简陋就尽管拿去用就是


class Scene_Battle < Scene_Base
  def execute_action_skill
    skill = @active_battler.action.skill   
    ####################################################3
    name = skill.name
    if $name_skill.split(/,/)[0]
      if $name_skill != nil
         kill = $name_skill.split(/X/)[1]
         if kill == nil or kill == ""
           kill = 1
         end
         #p kill
         #p name
       end
     end
     
    @animation_times = 1
   
    for ii in 1..kill.to_i
    ####################################################3333
    skill = @active_battler.action.skill
    text = @active_battler.name + skill.message1
    @message_window.add_instant_text(text)
    unless skill.message2.empty?
      wait(10)
      @message_window.add_instant_text(skill.message2)
    end
    targets = @active_battler.action.make_targets
   
    if @animation_times > 0
      display_animation(targets, skill.animation_id)
      @animation_times -= 1
    end
   
    @active_battler.mp -= @active_battler.calc_mp_cost(skill)
    $game_temp.common_event_id = skill.common_event_id
    for target in targets
      target.skill_effect(@active_battler, skill)
      display_action_effects(target, skill)
    end
    @message_window.clear
    end
  end
end
module RPG
    class Skill

      def name
        $name_skill = @name
        name = @name.split(/,X/)[0]

        return name != nil ? name : ""

      end
    end
end

作者: kuerlulu    时间: 2013-10-5 09:04
你这是在黑@无脑之人
作者: 耀眼的毛玉    时间: 2013-10-5 10:40
kuerlulu 发表于 2013-10-5 09:04
你这是在黑@无脑之人 么

这是哪位仙贝(前辈)……不认识的说
作者: 不死鸟之翼    时间: 2013-10-11 21:12
以前写过一个,不过是通过技能的注释来指定技能的连击次数的,片段如下

combo_count=1
    if skill!=nil
      skill.note.each_line { |line|
        case line
        when /<(?:COMBO)\s*(\d+)>/i
          combo_count=$1.to_i if $1!=nil
        end
      }

只要给数据库里技能的注释加上一行<combo x>,就可以进行x段连击
作者: 耀眼的毛玉    时间: 2013-10-13 13:20
不死鸟之翼 发表于 2013-10-11 21:12
以前写过一个,不过是通过技能的注释来指定技能的连击次数的,片段如下

combo_count=1

恩,指定次数的原理其实一样……写在注释更方便,因为用不着改游戏中显示的名字,但我不会正则表达式……
作者: 不死鸟之翼    时间: 2013-10-13 14:01
耀眼的毛玉 发表于 2013-10-13 13:20
恩,指定次数的原理其实一样……写在注释更方便,因为用不着改游戏中显示的名字,但我不会正则表达式…… ...

正则好说,看看度娘百科就好了...
注释是个好东西,可以给技能指定一些特殊的效果,比如说我需要让某技能命中后X%概率附加状态,就可以用注释来实现




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1