查看: 3999|回复: 5

[已经过期] T大的被动状态固定值加值“翻译”悬赏

[复制链接]
梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
回帖
668
发表于 2016-4-7 20:03:59 | 显示全部楼层 |阅读模式

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

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

×
悬赏“翻译”几句话,里里外外不过15行,没技术只能用力了...
需求:JAVA语言、兼容YEP的大部分脚本。T大不能自己接单...
#--------------------------------------------------------------------------
# ● require Taroxd基础设置
#    使用方法:在技能/状态上备注<passive x>,
#              表示习得该技能/获得该状态等同于装备了x号武器。
#--------------------------------------------------------------------------

RPG::Skill.note_i :passive
RPG::State.note_i :passive

class Game_Actor < Game_Battler
        #--------------------------------------------------------------------------
        # ● 带有被动技能效果的所有实例
        #--------------------------------------------------------------------------
        def passive_objects
                @skills.map {|id| $data_skills[id] } + states
        end
        #--------------------------------------------------------------------------
        # ● 以数组方式获取拥有特性所有实例
        #--------------------------------------------------------------------------
        def_with(:feature_objects) {|old| old + passive_weapons }
        #--------------------------------------------------------------------------
        # ● 获取普通能力的附加值
        #--------------------------------------------------------------------------
        def_with :param_plus do |old, param_id|
                passive_weapons.sum(old) {|item| item.params[param_id] }
        end
        #--------------------------------------------------------------------------
        # ● 被动技能/状态对应的武器实例构成的数组
        #--------------------------------------------------------------------------
        def passive_weapons
                passive_objects.map {|obj| $data_weapons[obj.passive] }.compact
        end
end

点评

所以要移植请随意  发表于 2016-4-9 08:03
MIT License  发表于 2016-4-9 08:02
未经T大允许,不宜擅自翻译他的作品吧 T大还不许接单,死循环了……  发表于 2016-4-7 20:45
梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2016-4-7 20:56:23 | 显示全部楼层

点评

这个脚本跟YEP那套有部分冲突。试过了,当时也是从你这拿到的。十分感谢  发表于 2016-4-7 20:58
回复

使用道具 举报

梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
回帖
668
 楼主| 发表于 2016-4-7 21:00:08 | 显示全部楼层
本着需求和造福的心态弄的,如果确实触犯了某些条例或规则,我接受T大批评和执行纠正措施。

点评

这样下去,只能大召唤术求T大接单了.  发表于 2016-4-7 21:05
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2016-4-7 21:33:00 | 显示全部楼层
负零 发表于 2016-4-7 21:00
本着需求和造福的心态弄的,如果确实触犯了某些条例或规则,我接受T大批评和执行纠正措施。 ...

可參考這個
hikimoki.sakura的被动状态
パッシヴスキル[pre lang="javascript"]//=============================================================================
// TMVplugin - パッシヴスキル
// 作者: tomoaky (http://hikimoki.sakura.ne.jp/)
// Version: 1.0
// 最終更新日: 2016/01/25
//=============================================================================

/*:
* @plugindesc 使用せずとも常に効果が発動しつづけるスキルを追加します。
*
* @author tomoaky (http://hikimoki.sakura.ne.jp/)
*
* @param passiveCommands
* @desc パッシヴスキルのスキルタイプ番号を半角数字で設定します。
* 複数指定する場合は半角スペースで区切ってください。
* @default
*
* @help
* スキルのメモ欄に <passive:50> のようなタグを使って設定します。
* この例ではスキルを習得している間、50番の武器を装備したときと
* 同じ効果が得られます。
*
* 特徴の『スキル追加』ではパッシヴスキルの効果は適用されません。
*
* パッシヴスキルに必要武器が設定されている場合、該当するタイプの武器を
* 装備している間だけパッシヴスキルの効果が適用されます。
* 武器タイプ以外にもメモ欄タグを使ってTPやステートを効果適用の条件に
* 指定することができます。
*
* メモ欄タグ(スキル):
*   <passive:50>     # 50番の武器を効果とするパッシヴスキルになる
*   <passiveTp:75>   # 残りTPが75以上のときだけパッシヴ効果が適用される
*   <passiveTp:-25>  # 残りTPが25未満のときだけパッシヴ効果が適用される
*   <passiveState:4> # 4番のステートが有効なときだけパッシヴ効果が適用される
*
* プラグインのパラメータ passiveCommands を設定すると、該当するスキルタイプは
* バトル中に表示されなくなります。
* パッシヴスキルのスキルタイプ番号を指定すれば、コマンドからパッシヴスキルを
* 除外することができます。
*
* プラグインコマンドはありません。
*
*/

var Imported = Imported || {};
Imported.TMPassiveSkill = true;

(function() {

  var parameters = PluginManager.parameters('TMPassiveSkill');
  var passiveCommands = parameters['passiveCommands'];
  passiveCommands = passiveCommands ? passiveCommands.split(' ') : [];

  //-----------------------------------------------------------------------------
  // Game_Actor
  //

  var _Game_Actor_paramPlus = Game_Actor.prototype.paramPlus;
  Game_Actor.prototype.paramPlus = function(paramId) {
    var value = _Game_Actor_paramPlus.call(this, paramId);
    var skills = this._skills;
    for (var i = 0; i < skills.length; i++) {
      var item = this.passiveWeapon($dataSkills[skills]);
      if (item) {
        value += item.params[paramId];
      }
    }
    return value;
  };

  var _Game_Actor_traitObjects = Game_Actor.prototype.traitObjects;
  Game_Actor.prototype.traitObjects = function() {
    var objects = _Game_Actor_traitObjects.call(this);
    var skills = this._skills;
    for (var i = 0; i < skills.length; i++) {
      var item = this.passiveWeapon($dataSkills[skills]);
      if (item) {
        objects.push(item);
      }
    }
    return objects;
  };
  
  Game_Actor.prototype.passiveWeapon = function(skill) {
    if (skill.meta.passive && this.isSkillWtypeOk(skill) &&
        this.isPassiveSkillTpOk(skill) &&
        this.isPassiveSkillStateOk(skill)) {
      return $dataWeapons[Number(skill.meta.passive)];
    }
    return null;
  };

  Game_Actor.prototype.isPassiveSkillTpOk = function(skill) {
    if (skill.meta.passiveTp) {
      var n = Number(skill.meta.passiveTp);
      var tp = this.tp;
      if ((n > 0 && n > tp) || (n < 0 && -n <= tp)) {
        return false;
      }
    }
    return true;
  };
  
  Game_Actor.prototype.isPassiveSkillStateOk = function(skill) {
    if (skill.meta.passiveState &&
        !this.isStateAffected(Number(skill.meta.passiveState))) {
      return false;
    }
    return true;
  };
  
  Game_Actor.prototype.addedSkillTypes = function() {
    var skillTypes = Game_BattlerBase.prototype.addedSkillTypes.call(this);
    if ($gameParty.inBattle()) {
      for (var i = 0; i < skillTypes.length; i++) {
        for (var j = 0; j < passiveCommands.length; j++) {
          if (skillTypes === Number(passiveCommands[j])) {
            skillTypes.splice(i--, 1);
          }
        }
      }
    }
    return skillTypes;
  };

})();[/pre]

点评

说实话,你楼上的脚本和YEP那个是比较全面的,我尝试改造下。  发表于 2016-4-7 22:45
回复

使用道具 举报

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
回帖
1464
发表于 2016-4-7 22:33:28 | 显示全部楼层
自己翻译就好
看着写就行,语言都差不多
回复

使用道具 举报

梦石
0
星屑
487
在线时间
908 小时
注册时间
2009-10-12
回帖
1702
发表于 2016-4-8 00:36:39 | 显示全部楼层
这个需求为什么是 java =~=我来翻译呀 翻完 mv 用不了就是了

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部