Project1

标题: 改变普通攻击和防护的插件 [打印本页]

作者: yorlbgy    时间: 2016-1-3 13:59
标题: 改变普通攻击和防护的插件
新年新手贴,自己用的时候写的,可能很简陋(我是原脚本盲(ΦωΦ)),需要的小伙伴自提吧。
额。。。祝大家新年快乐(=゚ω゚)=



JAVASCRIPT 代码复制下载
  1. //=============================================================================
  2. // NTJ_ChangeBaseSkill.js
  3. //=============================================================================
  4.  
  5. /*:
  6. * @plugindesc 通过注释更换 攻击 和 防护的技能id。
  7. *  牛头牛头牛头菌
  8. * @author yorlbgy
  9. *
  10. * @help 更换基本技能:
  11. 1、在武器/角色/职业  注释上写<aSkillId: 技能id> 如<aSkillId: 3> 更换普通攻击的技能
  12.    在盾牌/武器/角色/职业  注释上写<gSkillId: 技能id> 如<gSkillId: 3> 更换防护的技能
  13.  
  14. 2、在角色和职业上面还可以根据武器类型来分别定义
  15. <aSkillIdWith武器类型id: 技能id>  <aSkillIdWith2: 3> 如果装备的是剑就会用技能3作为普通攻击。
  16. <gSkillIdWith武器类型id: 技能id>  同上。
  17. 注意:不要再with和武器类型id之间加空格!
  18.  
  19. 3、bug?:我乡下人不会玩,所以插件还有些问题
  20.         1在横板战斗里面,角色的动作有点问题(我还不会改,以后再改吧。
  21.         2由于没有做逃跑的处理,所以请不要把技能改成逃跑这类特别的技能。
  22.  
  23. 4、优先级说明:在多个条件满足的时候,优先级如下
  24.         攻击:武器  > 角色武器类型指定 > 角色 > 职业武器类型指定 > 职业
  25.         防护:盾牌 > 武器  > 角色武器类型指定 > 角色 > 职业武器类型指定 > 职业
  26. 5、武器类型:参考武器类型列表
  27.         0:无
  28.         1:匕首
  29.         2:剑
  30.         3:链枷
  31.         4:斧
  32.         5:鞭
  33.         6:杖
  34.         7:弓
  35.         8:弩
  36.         9:枪
  37.         10:爪
  38.         11:手套
  39.         12:矛
  40. */
  41. (function() {
  42.  
  43.  
  44.  
  45.                 var _Game_ActorattackSkillId = Game_Actor.prototype.attackSkillId;
  46.  
  47.                 if(!_Game_ActorattackSkillId){
  48.                         _Game_ActorattackSkillId = function(){
  49.                                 return 1;
  50.                         }
  51.                 }
  52.  
  53.                 var My_Game_ActorattackSkillIdStr = function(){
  54.  
  55.                         if(!this.hasNoWeapons()){
  56.                                 for(var i = 0;i<this.weapons().length;i++){
  57.                                         var weaponAttackId = this.weapons()[i].meta.aSkillId;
  58.                                         if(weaponAttackId){
  59.                                                 return weaponAttackId;
  60.                                         }
  61.                                 }
  62.  
  63.                                 var actorWeaponAttackId = this.actor().meta["aSkillIdWith"+this.weapons()[0].wtypeId];
  64.                                 if(actorWeaponAttackId){
  65.                                         return actorWeaponAttackId;
  66.                                 }
  67.  
  68.  
  69.                         }
  70.  
  71.                         var actorAttackId = this.actor().meta.aSkillId;
  72.                         if(actorAttackId){
  73.                                 return actorAttackId;
  74.                         }
  75.  
  76.                         if(!this.hasNoWeapons()){
  77.                                 var classWeaponAttackId = this.currentClass().meta["aSkillIdWith"+this.weapons()[0].wtypeId];
  78.                                         if(classWeaponAttackId){
  79.                                                 return classWeaponAttackId;
  80.                                         }
  81.                         }
  82.  
  83.                         var classAttackId = this.currentClass().meta.aSkillId;
  84.                         if(classAttackId){
  85.                                 return classAttackId;
  86.                         }
  87.  
  88.                         var result = _Game_ActorattackSkillId.call(this);
  89.                     return result;
  90.  
  91.                 };
  92.  
  93.                 Game_Actor.prototype.attackSkillId = function(){
  94.                         var result =  My_Game_ActorattackSkillIdStr.call(this);
  95.                         if(!result) {
  96.                                 return 1;
  97.                         }
  98.                         return Number(result);
  99.                 }
  100.  
  101.  
  102.  
  103.  
  104.                 var _Game_ActorguardSkillId = Game_Actor.prototype.guardSkillId;
  105.  
  106.  
  107.                 if(!_Game_ActorguardSkillId){
  108.                         _Game_ActorguardSkillId = function(){
  109.                                 return 2;
  110.                         }
  111.                 }
  112.  
  113.                 var My_Game_ActorguardSkillId = function(){
  114.                         for(var i=0;i<this.armors().length;i++){
  115.                                 var shield = this.armors()[i];       
  116.                                 if(shield.etypeId == 2){
  117.                                         var guardSkillId = shield.meta.gSkillId;
  118.                                         if(guardSkillId){
  119.                                                 return guardSkillId;
  120.                                         }
  121.                                 }
  122.                         }
  123.  
  124.                         if(!this.hasNoWeapons()){
  125.                                 for(var i = 0;i<this.weapons().length;i++){
  126.                                         var weaponGuardId = this.weapons()[i].meta.gSkillId;
  127.                                         if(weaponGuardId){
  128.                                                 return weaponGuardId;
  129.                                         }
  130.                                 }
  131.  
  132.                                 var actorWeaponGuardId = this.actor().meta["gSkillIdWith"+this.weapons()[0].wtypeId];
  133.                                 if(actorWeaponGuardId){
  134.                                         return actorWeaponGuardId;
  135.                                 }
  136.  
  137.  
  138.                         }
  139.  
  140.  
  141.  
  142.                         var actorGuardId = this.actor().meta.gSkillId;
  143.                         if(actorGuardId){
  144.                                 return actorGuardId;
  145.                         }
  146.  
  147.                         if(!this.hasNoWeapons()){
  148.                                 var classWeaponGuardId = this.currentClass().meta["gSkillIdWith"+this.weapons()[0].wtypeId];
  149.                                 if(classWeaponGuardId){
  150.                                         return classWeaponGuardId;
  151.                                 }
  152.                         }
  153.  
  154.                         var classGuardId = this.currentClass().meta.gSkillId;
  155.                         if(classGuardId){
  156.                                 return classGuardId;
  157.                         }
  158.  
  159.                         var result = _Game_ActorguardSkillId.call(this);
  160.                         return result;
  161.                 }
  162.  
  163.  
  164.  
  165.                 Game_Actor.prototype.guardSkillId = function(){
  166.                         var result = My_Game_ActorguardSkillId.call(this);
  167.                         if(!result){
  168.                                 return 2;
  169.                         }
  170.                         return Number(result);
  171.                 };
  172.  
  173. })();


作者: 路过的弓兵    时间: 2017-4-7 17:32
好东西,解决了我一直很困惑的问题
作者: playermaker    时间: 2017-4-7 18:57
干啥用的这个
作者: asd873asd    时间: 2019-8-12 01:39
非常感谢,帮大忙了!
作者: li52qx    时间: 2019-9-15 20:32

非常感谢,帮大忙了!
作者: 乌鸦爵士    时间: 2019-11-9 06:12
这两天一直在纠结怎么改远程职业的普攻,谢谢楼主

作者: wtdming    时间: 2020-1-29 03:29
感觉不错哦,谢谢分享!
作者: 神喵君    时间: 2020-5-24 07:04
请问一下,为什么我保存成js格式插件加载后没有反应?
作者: 神喵君    时间: 2020-5-24 07:53
神喵君 发表于 2020-5-24 07:04
请问一下,为什么我保存成js格式插件加载后没有反应?

已经解决问题了
作者: zwlele1980    时间: 2020-10-30 19:46
这个可以啊 很实用啊 谢谢




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