查看: 3017|回复: 2

[有事请教] 单独设定每个人物普攻的插件

[复制链接]
梦石
0
星屑
651
在线时间
118 小时
注册时间
2019-3-15
回帖
60
发表于 2020-4-11 16:31:22 | 显示全部楼层 |阅读模式

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

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

×
这个插件我没理解错的话,应该是在比如说职业备注栏里加个标签,然后这个人物就可以用那个指定技能作为普攻了,但我这样做的时候却什么也没有发生,可能是啥情况?


[pre lang="javascript"]//=============================================================================
// TMPlugin - 通常攻撃スキル拡張
// バージョン: 1.1.0
// 最終更新日: 2019/04/15
// 配布元  : https://hikimoki.sakura.ne.jp/
//-----------------------------------------------------------------------------
// Copyright (c) 2016 tomoaky
// Released under the MIT license.
// http://opensource.org/licenses/mit-license.php
//=============================================================================

/*:
* @plugindesc 攻撃コマンドや防御コマンドで使用するスキルを
* アクターや装備ごとに変更できるようにします。
*
* @author tomoaky (https://hikimoki.sakura.ne.jp/)
*
* @param skillNameCommand
* @type boolean
* @desc コマンドにスキル名を適用する。
* @default true
*
* @help
* TMPlugin - 通常攻撃スキル拡張 Ver1.1.0
*
* 使い方:
*
*   アクター、職業、武器、防具、ステートのメモ欄にタグを設定することで
*   通常攻撃や防御のスキルを変更することができます。
*   タグが設定された装備やステートが複数適用されている場合の優先度は
*   ステート > 武器 > 防具 > 職業 > アクター
*   となっています。
*
*   このプラグインは RPGツクールMV Version 1.6.1 で動作確認をしています。
*
*   このプラグインはMITライセンスのもとに配布しています、商用利用、
*   改造、再配布など、自由にお使いいただけます。
*
*
* メモ欄タグ(アクター、職業、武器、防具、ステート):
*
*   <attackSkill:3>
*   アクターが攻撃コマンドで使用するスキルを3番のものに変更します。
*
*   <guardSkill:7>
*   アクターが防御コマンドで使用するスキルを7番のものに変更します。
*/

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

(function() {

        var parameters = PluginManager.parameters('TMAttackSkillEx');
        var skillNameCommand = JSON.parse(parameters['skillNameCommand'] || 'true');

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

        var _Game_Actor_attackSkillId = Game_Actor.prototype.attackSkillId;
        Game_Actor.prototype.attackSkillId = function() {
                var a = this.traitObjectsTMASE().filter(function(obj) {
                        return obj.meta.attackSkill;
                });
                return a[0] ? +a[0].meta.attackSkill : _Game_Actor_attackSkillId.call(this);
        };

        var _Game_Actor_guardSkillId = Game_Actor.prototype.guardSkillId;
        Game_Actor.prototype.guardSkillId = function() {
                var a = this.traitObjectsTMASE().filter(function(obj) {
                        return obj.meta.guardSkill;
                });
                return a[0] ? +a[0].meta.guardSkill : _Game_Actor_guardSkillId.call(this);
        };

        // ステート、武器、防具、職業、アクターの順で並ぶ効果オブジェクト配列を返す
        Game_Actor.prototype.traitObjectsTMASE = function() {
                var objects = Game_Battler.prototype.traitObjects.call(this);
                var equips = this.equips();
                for (var i = 0; i < equips.length; i++) {
                        var item = equips;
                        if (item) {
                                objects.push(item);
                        }
                }
                objects = objects.concat([this.currentClass(), this.actor()]);
                return objects;
        };

        //-----------------------------------------------------------------------------
        // Window_ActorCommand
        //

        var _Window_ActorCommand_addAttackCommand = Window_ActorCommand.prototype.addAttackCommand;
        Window_ActorCommand.prototype.addAttackCommand = function() {
                _Window_ActorCommand_addAttackCommand.call(this);
                if (skillNameCommand) {
                        var skill = $dataSkills[this._actor.attackSkillId()];
                        this._list[this.maxItems() - 1].name = skill.name;
                }
        };

        var _Window_ActorCommand_addGuardCommand = Window_ActorCommand.prototype.addGuardCommand;
        Window_ActorCommand.prototype.addGuardCommand = function() {
                _Window_ActorCommand_addGuardCommand.call(this);
                if (skillNameCommand) {
                        var skill = $dataSkills[this._actor.guardSkillId()];
                        this._list[this.maxItems() - 1].name = skill.name;
                }
        };[/pre]
梦石
0
星屑
3113
在线时间
227 小时
注册时间
2019-5-13
回帖
114
发表于 2020-4-11 16:39:52 | 显示全部楼层
MV  自带有插件,按武器显示普攻技能。。。你在每一把武器的标签中添加标签,装备这个武器,就用相应的技能!!  你新开的新项目中,就自带有这个插件,只是你忽略了而已!!

点评

懂了,试过了可以,谢谢啦。  发表于 2020-4-11 17:31
永恒
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部