设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2087|回复: 1
打印 上一主题 下一主题

[RMVA发布] 【新人乱改】修改普通攻击、防御的技能ID的脚本

[复制链接]

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

跳转到指定楼层
1
发表于 2013-12-3 18:00:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 taroxd 于 2014-3-3 17:59 编辑

基本是改的别人在这里发过的脚本,但是原帖找不到了……
感谢2L提醒!灵感来源&原作者:feizhaodan  不是不想尊重原作者,是真心找了半小时没找到……

总之是修复了原来的脚本里,修改默认普通攻击技能id会出bug的情况,增加了指令栏技能名称的修改,增加了好多可以加备注的地方。基本是为了我自己的需要啦~{:2_287:}
我是新手一只,第一次在这里发东西,有什么问题请多多指教~

http://rpg.blue/thread-344203-1-1.html 的8L是兼容性更好的版本,并且可能会有该脚本的更新,但链接8L的脚本需要安装链接顶楼的脚本。此处脚本不再更新,仅作在脚本的注释中提供使用方法之用。

RUBY 代码复制
  1. =begin
  2.   使用方法:
  3.     在装备/技能/角色/职业上备注 <attackskill x>或<guardskill x>
  4.  
  5.   效果:
  6.     装上装备后/学会技能后/设定的角色中/设定的职业中,普通攻击/防御变为第x号技能
  7.  
  8.   优先级:
  9.     装备 > 技能 > 角色 > 职业
  10.     装备:武器 > 武器2/盾牌 > 头盔 > 铠甲 > 饰品
  11.     技能:技能ID小的优先。
  12.  
  13.   [2014.1.17] 添加了防御技能的设置,完善了command_attack的重定义,删除了修改优先级的说明
  14. =end
  15.  
  16. class Module
  17.   #--------------------------------------------------------------------------
  18.   # ● 依次把 prefix 作为前缀定义 method1、method2 ... 的别名。
  19.   #    返回处理顺序的别名的数组。
  20.   #--------------------------------------------------------------------------
  21.   def alias_methods(prefix, *methods)
  22.     methods.each do |item|
  23.       if method_defined?("#{prefix}#{item}")
  24.         msgbox("在类 #{self} 中已经定义了方法 #{prefix}#{item}")
  25.         exit
  26.       end
  27.       alias_method("#{prefix}#{item}", item)
  28.     end
  29.     methods.collect {|item| "#{prefix}#{item}".to_sym }
  30.   end
  31. end
  32.  
  33. class RPG::BaseItem
  34.   #--------------------------------------------------------------------------
  35.   # ● 获取普通攻击的技能 ID
  36.   #--------------------------------------------------------------------------
  37.   def attack_skill
  38.     /<ATTACK\s*SKILL\s+(\d+)>/i =~ @note ? $1.to_i : nil
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 获取防御的技能 ID
  42.   #--------------------------------------------------------------------------
  43.   def guard_skill
  44.     /<GUARD\s*SKILL\s+(\d+)>/i =~ @note ? $1.to_i : nil
  45.   end
  46. end
  47.  
  48. class Game_Actor < Game_Battler
  49.   alias_methods(:attack_guard_skill_, :attack_skill_id, :guard_skill_id)
  50.   #--------------------------------------------------------------------------
  51.   # ● 获取普通攻击的技能 ID
  52.   #--------------------------------------------------------------------------
  53.   def attack_skill_id
  54.     (equips.compact + skills + [actor] + [self.class]).each {|item|
  55.       return item.attack_skill if item.attack_skill }
  56.     attack_guard_skill_attack_skill_id
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 获取防御的技能 ID
  60.   #--------------------------------------------------------------------------
  61.   def guard_skill_id
  62.     (equips.compact + skills + [actor] + [self.class]).each {|item|
  63.       return item.guard_skill if item.guard_skill }
  64.     attack_guard_skill_guard_skill_id
  65.   end
  66. end
  67.  
  68. class Scene_Battle < Scene_Base
  69.   alias_methods(:attack_guard_skill_, :command_attack, :command_guard)
  70.   #--------------------------------------------------------------------------
  71.   # ● 普通攻击无需选择目标的情况
  72.   #--------------------------------------------------------------------------
  73.   def command_attack
  74.     skill = $data_skills[BattleManager.actor.attack_skill_id]
  75.     if !skill.need_selection?
  76.       BattleManager.actor.input.set_attack
  77.       next_command
  78.     elsif skill.for_opponent?
  79.       attack_guard_skill_command_attack
  80.     else
  81.       BattleManager.actor.input.set_attack
  82.       select_actor_selection
  83.     end
  84.   end
  85.  
  86.   #--------------------------------------------------------------------------
  87.   # ● 防御需要选择目标的情况
  88.   #--------------------------------------------------------------------------
  89.   def command_guard
  90.     skill = $data_skills[BattleManager.actor.guard_skill_id]
  91.     if skill.need_selection?
  92.       BattleManager.actor.input.set_guard
  93.       skill.for_opponent? ? select_enemy_selection : select_actor_selection
  94.     else
  95.       attack_guard_skill_command_guard
  96.     end
  97.   end
  98. end
  99.  
  100. class Window_ActorCommand < Window_Command
  101.   #--------------------------------------------------------------------------
  102.   # ● 更改攻击指令名称
  103.   #--------------------------------------------------------------------------
  104.   def add_attack_command
  105.     name = $data_skills[@actor.attack_skill_id].name
  106.     add_command(name, :attack, @actor.attack_usable?)
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ● 更改防御指令名称
  110.   #--------------------------------------------------------------------------
  111.   def add_guard_command
  112.     name = $data_skills[@actor.guard_skill_id].name
  113.     add_command(name, :guard, @actor.guard_usable?)
  114.   end
  115. end

评分

参与人数 1星屑 +2 收起 理由
3106345123 + 2 精品文章

查看全部评分

Lv1.梦旅人

梦石
0
星屑
89
在线时间
900 小时
注册时间
2012-11-13
帖子
893
2
发表于 2013-12-4 12:55:49 | 只看该作者
基本是改的别人在这里发过的脚本,但是原帖找不到了……

请尊重原作者:http://rpg.blue/forum.php?mod=re ... 124&pid=2025205
总之是修复了原来的脚本里,修改默认普通攻击技能id会出bug的情况,增加了指令栏技能名称的修改,增加了好多可以加备注的地方。

还是要鼓励。

点评

谢谢帮忙找到原作者~  发表于 2013-12-4 17:42
废弃
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-4 17:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表