设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 63|回复: 0

[转载发布] EnemyBook v1.3 - SkottyTV + DragonPC

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    8068

    主题

    864

    回帖

    3万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    30143
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    39105

    灌水之王

    发表于 5 天前 | 显示全部楼层 |阅读模式
    EnemyBook v1.3a




    Creator name

     - Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC)

    Introduction

    Improves the Default EnemyBook.

    Features:


    * SkottyTV Update 1 ->

     *  

     * - Decide if enemys will get an entry automaticly when they appear/transform!

     * - Now you can add an Enemy by a variable value!

     * - Able to add a third info line (desc3)!

     * - Advanced Visual upgrades!

     *

     * SkottyTV Update 2 ->

     *

     * - Decide how many items appear in one row!

     * - Decide if you want to use the Gold Icon from Yanfly Core Engine!

     *

     * SkottyTV Update 3 ->

     *

     * - Decide if you want to halve the Index height.

     * - Advanced Visual upgrades!

     * - Pulsing animation upgrade!

     * - Use switches to enable different information!

     *   (EXP, Gold, Items and Parameters)

     *


     * DragonPC (bug fix) 3a ->

     *

     * - Fixed clipping of Description window 3rd line text at smallest resolution.

     * - Fixed Clipping of the Gold icon at smallest resolution.

     * - Fixed Clipping Of "---Status---" String in Status Window, at smallest resolution.



    Screenshots









    How to Use

    Download from either link and put it in your .../js/plugins folder.

    Dropbox V 1.3a

    Mirror 2 (not updated)

    Script



    //=============================================================================

    // EnemyBook.js

    //=============================================================================

     

    /*:

     * @plugindesc v1.03a + SkottyTV Update 03 // Displays detailed statuses of enemys.

     * @author Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC)

     *

     * @param ----- Functions -----

     * 

     * @param Unknown Data

     * @desc The index name for an unknown enemy.

     * @default ??????

     *

     * @param AutoFill

     * @desc Decide if enemys will automaticly show up in the book when defeated

     * @default false

     *

     * @param Gold Icon

     * @desc Decide if you want to use the Gold Icon from                   Yanfly Core Engine. (true or false)

     * @default true

     * 

     * @param ID before Name

     * @desc Decide if enemys will have the ID number in front of their name

     * @default true

     *

     * @param Enemys in Row

     * @desc Decide how many enemys you want to show in one row.            (default 1, maximum is 4 !)

     * @default 1

     *

     * @param ----- Visuals -----

     *

     * @param Half Index Height

     * @desc Decide if you want to half the Index height.                   (default true)

     * @default true

     *

     * @param Show Status Switch

     * @desc Choose the switch ID that shows the status. (default 0)

     * @default 0

     *

     * @param Show EXP Switch

     * @desc Choose the switch ID that shows the EXP.   (default 0)

     * @default 0

     *

     * @param Show Gold Switch

     * @desc Choose the switch ID that shows the Gold.  (default 0)

     * @default 0

     *

     * @param Show Items Switch

     * @desc Choose the switch ID that shows the Items. (default 0)

     * @default 0

     *

     * @param ----- Animation -----

     *

     * @param Pulsing Enemy

     * @desc Decide if you want to display an animated enemy.               (default true)

     * @default true

     *

     * @param Pulsing Intensity

     * @desc Decide how strong the animation should be.               Higher number = Less Intensity (default 4)

     * @default 4

     * 

     * @help

     *

     * ============================================================================

     * SkottyTV Update 01 ->

     *

     * - Decide if enemys will get an entry automaticly when they appear/transform!

     * - Now you can add an Enemy by a variable value!

     * - Able to add a third info line (desc3)!

     * - Advanced Visual upgrades!

     *

     * SkottyTV Update 02 ->

     * 

     * - Decide how many columns appear in one row!

     * - Decide if you want to use the Gold Icon from Yanfly Core Engine!

     *

     * SkottyTV Update 03 ->

     * 

     * - Decide if you want to half the Index height.

     * - Advanced Visual upgrades!

     * - Pulsing animation upgrade!

     * - Use switches to enable different information!

     *   (EXP, Gold, Items and Parameters)

     *

     * DragonPC (bug fix) 3a ->

     *

     * - Fixed clipping of Description window 3rd line text at smallest resolution.

     * - Fixed Clipping of the Gold icon at smallest resolution.

     * - Fixed Clipping Of "---Status---" String in Status Window, at smallest resolution.

     * ============================================================================

     *

     * Plugin Command:

     *   EnemyBook open         # Open the enemy book screen

     *   EnemyBook add 3        # Add enemy #3 to the enemy book

     *   EnemyBook addvar 10    # Add enemy (ID) that is in variable 10

     *   EnemyBook remove 4     # Remove enemy #4 from the enemy book

     *   EnemyBook complete     # Complete the enemy book

     *   EnemyBook clear        # Clear the enemy book

     *

     * Enemy Note:

     *   <desc1:The mighty Duck>   # Description text in the enemy book, line 1

     *   <desc2:This is Line 2>    # Description text in the enemy book, line 2

     *   <desc3:Some Info here?>   # Description text in the enemy book, line 3

     *   <book:no>                 # This enemy does not appear in the enemy book

     *

     * ============================================================================

     *

     * Investigate Skill Tutorial:

     * (You will need YanFly´s Battle Engine Core and ActSeqPack1 to get it work)

     *

     * - First set the "AutoFill" option of this plugin to false

     * - Now create a skill which calls a common event X and have the following

     *   in its notebox:

     *   <Target Action>

     *    Change Variable Y = target._enemyId

     *   </Target Action>

     * - Now in the common event X call a Plugin-Line and write:

     *   EnemyBook addvar Y

     * - Done!

     *

     * (X and Y is a number you choose)

     */

     

    /*:ja

     * @plugindesc モンスター図鑑です。敵キャラの詳細なステータスを表示します。

     * @author Yoji Ojima (Compatibility with YEP) / + SkottyTV (thx to DragonPC)

     *

    * @param ----- Functions -----

     * 

     * @param Unknown Data

     * @desc The index name for an unknown enemy.

     * @default ??????

     *

     * @param AutoFill

     * @desc Decide if enemys will automaticly show up in the book when defeated

     * @default false

     *

     * @param Gold Icon

     * @desc Decide if you want to use the Gold Icon from                   Yanfly Core Engine. (true or false)

     * @default true

     * 

     * @param ID before Name

     * @desc Decide if enemys will have the ID number in front of their name

     * @default true

     *

     * @param Enemys in Row

     * @desc Decide how many enemys you want to show in one row.            (default 1, maximum is 4 !)

     * @default 1

     *

     * @param ----- Visuals -----

     *

     * @param Half Index Height

     * @desc Decide if you want to half the Index height.                   (default true)

     * @default true

     *

     * @param Show Status Switch

     * @desc Choose the switch ID that shows the status. (default 0)

     * @default 0

     *

     * @param Show EXP Switch

     * @desc Choose the switch ID that shows the EXP.   (default 0)

     * @default 0

     *

     * @param Show Gold Switch

     * @desc Choose the switch ID that shows the Gold.  (default 0)

     * @default 0

     *

     * @param Show Items Switch

     * @desc Choose the switch ID that shows the Items. (default 0)

     * @default 0

     *

     * @param ----- Animation -----

     *

     * @param Pulsing Enemy

     * @desc Decide if you want to display an animated enemy.               (default true)

     * @default true

     *

     * @param Pulsing Intensity

     * @desc Decide how strong the animation should be.               Higher number = Less Intensity (default 4)

     * @default 4

     * 

     * @help

     *

     * ============================================================================

     * SkottyTV Update 01 ->

     *

     * - Decide if enemys will get an entry automaticly when they appear/transform!

     * - Now you can add an Enemy by a variable value!

     * - Able to add a third info line (desc3)!

     * - Advanced Visual upgrades!

     *

     * SkottyTV Update 02 ->

     * 

     * - Decide how many columns appear in one row!

     * - Decide if you want to use the Gold Icon from Yanfly Core Engine!

     *

     * SkottyTV Update 03 ->

     * 

     * - Decide if you want to half the Index height.

     * - Advanced Visual upgrades!

     * - Pulsing animation upgrade!

     * - Use switches to enable different informations!

     *   (EXP, Gold, Items and Parameters)

     * 

     * DragonPC (bug fix) 3a ->

     *

     * - Fixed clipping of Description window 3rd line text at smallest resolution.

     * - Fixed Clipping of the Gold icon at smallest resolution.

     * - Fixed Clipping Of "---Status---" String in Status Window, at smallest resolution.

     * ============================================================================

     *

     * プラグインコマンド:

     *   EnemyBook open         # 図鑑画面を開く

     *   EnemyBook add 3        # 敵キャラ3番を図鑑に追加

     *   EnemyBook addvar 10    # Add enemy that is in variable 10

     *   EnemyBook remove 4     # 敵キャラ4番を図鑑から削除

     *   EnemyBook complete     # 図鑑を完成させる

     *   EnemyBook clear        # 図鑑をクリアする

     *

     * 敵キャラのメモ:

     *   <desc1:なんとか>      # 説明1行目

     *   <desc2:かんとか>      # 説明2行目

     *   <desc3:かんとか>     # 説明3行目

     *   <book:no>              # 図鑑に載せない場合

     *

     * ============================================================================

     *

     * Investigate Skill Tutorial:

     * (You will need YanFly´s Battle Engine Core and ActSeqPack1 to get it work)

     *

     * - First set the "AutoFill" option of this plugin to false

     * - Now create a skill which calls a common event X and have the following

     *   in its notebox:

     *   <Target Action>

     *    Change Variable Y = target._enemyId

     *   </Target Action>

     * - Now in the common event X call a Plugin-Line and write:

     *   EnemyBook addvar Y

     * - Done!

     *

     * (X and Y is a number you choose)

     */

     

    (function() {

     

        var parameters = PluginManager.parameters('EnemyBook');

        var unknownData = String(parameters['Unknown Data'] || '??????')

        var AutoFill = String(parameters['AutoFill'] || 'false');

        var IDatName = String(parameters['ID before Name'] || 'true');

        var listEnemysRow = Number(parameters['Enemys in Row']);

        var goldIcon = String(parameters['Gold Icon'] || 'true');

        var IndexHeight = String(parameters['Half Index Height'] || 'true');

        var ShowEXP = Number(parameters['Show EXP Switch']);

        var ShowGold = Number(parameters['Show Gold Switch']);

        var ShowItems = Number(parameters['Show Items Switch']);

        var ShowStatus = Number(parameters['Show Status Switch']);

        var AnimEnemy = String(parameters['Pulsing Enemy'] || 'true');

        var AnimIntens = Number(parameters['Pulsing Intensity']);

     

        var _Game_Interpreter_pluginCommand =

                Game_Interpreter.prototype.pluginCommand;

        Game_Interpreter.prototype.pluginCommand = function(command, args) {

            _Game_Interpreter_pluginCommand.call(this, command, args);

            if (command === 'EnemyBook') {

                switch (args[0]) {

                case 'open':

                    SceneManager.push(Scene_EnemyBook);

                    break;

                case 'add':

                    $gameSystem.addToEnemyBook(Number(args[1]));

                    break;

                case 'addvar':

                    $gameSystem.addToEnemyBook(Number($gameVariables.value(args[1])));

                    break;

                case 'remove':

                    $gameSystem.removeFromEnemyBook(Number(args[1]));

                    break;

                case 'complete':

                    $gameSystem.completeEnemyBook();

                    break;

                case 'clear':

                    $gameSystem.clearEnemyBook();

                    break;

                }

            }

        };

     

        Game_System.prototype.addToEnemyBook = function(enemyId) {

            if (!this._enemyBookFlags) {

                this.clearEnemyBook();

            }

            this._enemyBookFlags[enemyId] = true;

        };

     

        Game_System.prototype.removeFromEnemyBook = function(enemyId) {

            if (this._enemyBookFlags) {

                this._enemyBookFlags[enemyId] = false;

            }

        };

     

        Game_System.prototype.completeEnemyBook = function() {

            this.clearEnemyBook();

            for (var i = 1; i < $dataEnemies.length; i++) {

                this._enemyBookFlags = true;

            }

        };

     

        Game_System.prototype.clearEnemyBook = function() {

            this._enemyBookFlags = [];

        };

     

        Game_System.prototype.isInEnemyBook = function(enemy) {

            if (this._enemyBookFlags && enemy) {

                return !!this._enemyBookFlags[enemy.id];

            } else {

                return false;

            }

        };

     

        var _Game_Troop_setup = Game_Troop.prototype.setup;

        Game_Troop.prototype.setup = function(troopId) {

            _Game_Troop_setup.call(this, troopId);

            this.members().forEach(function(enemy) {

                if (enemy.isAppeared()) {

     

            if (AutoFill === 'true') {

            $gameSystem.addToEnemyBook(enemy.enemyId());

    }

                }

            }, this);

        };

     

        var _Game_Enemy_appear = Game_Enemy.prototype.appear;

        Game_Enemy.prototype.appear = function() {

            _Game_Enemy_appear.call(this);

    if (AutoFill === 'true') {

            $gameSystem.addToEnemyBook(this._enemyId);

    }

        };

     

        var _Game_Enemy_transform = Game_Enemy.prototype.transform;

        Game_Enemy.prototype.transform = function(enemyId) {

            _Game_Enemy_transform.call(this, enemyId);

    if (AutoFill === 'true') {

            $gameSystem.addToEnemyBook(enemyId);

    }

        };

     

        function Scene_EnemyBook() {

            this.initialize.apply(this, arguments);

        }

     

        Scene_EnemyBook.prototype = Object.create(Scene_MenuBase.prototype);

        Scene_EnemyBook.prototype.constructor = Scene_EnemyBook;

     

        Scene_EnemyBook.prototype.initialize = function() {

            Scene_MenuBase.prototype.initialize.call(this);

        };

     

        Scene_EnemyBook.prototype.create = function() {

     

            var w3 = Graphics.boxWidth / 3;

            var ww = (Graphics.boxWidth / 3)*2 + 2;

            var wh = Graphics.boxHeight / 5;

     

            Scene_MenuBase.prototype.create.call(this);

            this._indexWindow = new Window_EnemyBookIndex(0, 0);

            this._indexWindow.setHandler('cancel', this.popScene.bind(this));

            

            this._statusWindow = new Window_EnemyBookStatus(w3, 0, ww, wh);

            this._statusWindow2 = new Window_EnemyBookStatus2(w3, wh, ww, wh*2.5);

            this._statusWindow3 = new Window_EnemyBookStatus3(w3, wh*3.5, ww, wh*2);

            this.addWindow(this._indexWindow);

            this.addWindow(this._statusWindow);

            this.addWindow(this._statusWindow2);

            this.addWindow(this._statusWindow3);

            this._indexWindow.setStatusWindow(this._statusWindow);

            this._indexWindow.setStatusWindow2(this._statusWindow2);

            this._indexWindow.setStatusWindow3(this._statusWindow3);

        };

     

        function Window_EnemyBookIndex() {

            this.initialize.apply(this, arguments);

        }

     

        Window_EnemyBookIndex.prototype = Object.create(Window_Selectable.prototype);

        Window_EnemyBookIndex.prototype.constructor = Window_EnemyBookIndex;

     

        Window_EnemyBookIndex.lastTopRow = 0;

        Window_EnemyBookIndex.lastIndex  = 0;

     

        Window_EnemyBookIndex.prototype.initialize = function(x, y) {

            var width = Graphics.boxWidth / 3;

            

        if (IndexHeight === 'true') {

            var height = Graphics.boxHeight / 2;

        }

        else{

            var height = Graphics.boxHeight;

        }

            

            

        Window_Selectable.prototype.initialize.call(this, x, y, width, height);

            this.refresh();

            this.setTopRow(Window_EnemyBookIndex.lastTopRow);

            this.select(Window_EnemyBookIndex.lastIndex);

            this.activate();

        };

     

        Window_EnemyBookIndex.prototype.maxCols = function() {

            if (listEnemysRow > 4) {

                return 4;

            }

            else{

                return listEnemysRow;

            }

        };

     

        Window_EnemyBookIndex.prototype.maxItems = function() {

            return this._list ? this._list.length : 0;

        };

     

        Window_EnemyBookIndex.prototype.setStatusWindow = function(statusWindow) {

            this._statusWindow = statusWindow;

            this.updateStatus();

        };

        Window_EnemyBookIndex.prototype.setStatusWindow2 = function(statusWindow2) {

            this._statusWindow2 = statusWindow2;

            this.updateStatus();

        };

        Window_EnemyBookIndex.prototype.setStatusWindow3 = function(statusWindow3) {

            this._statusWindow3 = statusWindow3;

            this.updateStatus();

        };

     

        Window_EnemyBookIndex.prototype.update = function() {

            Window_Selectable.prototype.update.call(this);

            this.updateStatus();

        };

     

        Window_EnemyBookIndex.prototype.updateStatus = function() {

            if (this._statusWindow) {

                var enemy = this._list[this.index()];

                this._statusWindow.setEnemy(enemy);

            }

                    if (this._statusWindow2) {

                var enemy = this._list[this.index()];

                this._statusWindow2.setEnemy(enemy);

            }

                    if (this._statusWindow3) {

                var enemy = this._list[this.index()];

                this._statusWindow3.setEnemy(enemy);

            }

        };

     

        Window_EnemyBookIndex.prototype.refresh = function() {

            this._list = [];

            for (var i = 1; i < $dataEnemies.length; i++) {

                var enemy = $dataEnemies;

                if (enemy.name && enemy.meta.book !== 'no') {

                    this._list.push(enemy);

                }

            }

            this.createContents();

            this.drawAllItems();

        };

     

        Window_EnemyBookIndex.prototype.drawItem = function(index) {

            var enemy = this._list[index];

            var rect = this.itemRectForText(index);

            var name;

            if ($gameSystem.isInEnemyBook(enemy)) {

    if (IDatName === 'true') {

                name = enemy.id + " - " + enemy.name;

    } else {

       name = enemy.name;

        }

            } else {

                name = unknownData;

            }

            this.drawText(name, rect.x, rect.y, rect.width);

        };

     

        Window_EnemyBookIndex.prototype.processCancel = function() {

            Window_Selectable.prototype.processCancel.call(this);

            Window_EnemyBookIndex.lastTopRow = this.topRow();

            Window_EnemyBookIndex.lastIndex = this.index();

        };

     

        function Window_EnemyBookStatus() {

            this.initialize.apply(this, arguments);

        }

        function Window_EnemyBookStatus2() {

           this.initialize.apply(this, arguments);

        }

        function Window_EnemyBookStatus3() {

            this.initialize.apply(this, arguments);

        }

     

        Window_EnemyBookStatus.prototype = Object.create(Window_Base.prototype);

        Window_EnemyBookStatus.prototype.constructor = Window_EnemyBookStatus;

        

        Window_EnemyBookStatus2.prototype = Object.create(Window_Base.prototype);

        Window_EnemyBookStatus2.prototype.constructor = Window_EnemyBookStatus2;

        

        Window_EnemyBookStatus3.prototype = Object.create(Window_Base.prototype);

        Window_EnemyBookStatus3.prototype.constructor = Window_EnemyBookStatus3;

     

        

        Window_EnemyBookStatus2.prototype.initialize = function(x, y, width, height) {

            Window_Base.prototype.initialize.call(this, x, y, width, height);

            this._enemy = null;

            this._enemySprite = new Sprite();

            this._enemySprite.anchor.x = 0.5;

            this._enemySprite.anchor.y = 0.5;

            this._enemySprite.x = (Graphics.boxWidth)/3;

            this._enemySprite.y = (Graphics.boxHeight/5)+35;

            this.addChildToBack(this._enemySprite);

            this.refresh();

        };

     

        Window_EnemyBookStatus.prototype.setEnemy = function(enemy) {

            if (this._enemy !== enemy) {

                this._enemy = enemy;

                this.refresh();

            }

        };

        Window_EnemyBookStatus2.prototype.setEnemy = function(enemy) {

            if (this._enemy !== enemy) {

                this._enemy = enemy;

                this.refresh();

            }

        };

        Window_EnemyBookStatus3.prototype.setEnemy = function(enemy) {

            if (this._enemy !== enemy) {

                this._enemy = enemy;

                this.refresh();

            }

        };

        

        if (AnimEnemy === 'true') {

        Window_EnemyBookStatus2.prototype.update = function() {

            Window_Base.prototype.update.call(this);

            if (this._enemySprite.bitmap) {

                var bitmapHeight = this._enemySprite.bitmap.height;

                var contentsHeight = this.contents.height;

                

                    var scalex = (Math.cos(Graphics.frameCount*0.01))/AnimIntens;

                    var scaley = ((Math.cos(Graphics.frameCount*0.01))/AnimIntens);

                

                this._enemySprite.scale.x = (scalex*scalex)+0.9;

                this._enemySprite.scale.y = (scaley*scaley)+0.9;

                

                if (bitmapHeight > contentsHeight) {

                    this._enemySprite.scale.x = ((scalex*scalex)+0.9)-0.2;

                    this._enemySprite.scale.y = ((scaley*scaley)+0.9)-0.2;

                }

            }

     

        };

        }

        else {

        Window_EnemyBookStatus2.prototype.update = function() {

            Window_Base.prototype.update.call(this);

            if (this._enemySprite.bitmap) {

                var bitmapHeight = this._enemySprite.bitmap.height;

                var contentsHeight = this.contents.height;

                

                    var scale = 1;

                

                this._enemySprite.scale.x = scale;

                this._enemySprite.scale.y = scale;

                

                if (bitmapHeight > contentsHeight) {

                    this._enemySprite.scale.x = contentsHeight/bitmapHeight;

                    this._enemySprite.scale.y = contentsHeight/bitmapHeight;

                }

            }

     

        };

        }

     

        Window_EnemyBookStatus.prototype.refresh = function() {

            

            this.contents.clear();

            

            var enemy = this._enemy;

            var x = 0;

            var y = 0;

            var lineHeight = this.lineHeight();

            

            if (!enemy || !$gameSystem.isInEnemyBook(enemy)) {

                return;

            }

            

            var descWidth = 1;

            x = 1;

            y = 0; //lineHeight*9

            this.drawTextEx(enemy.meta.desc1, x, (y + lineHeight * 0)-7, descWidth);

            this.drawTextEx(enemy.meta.desc2, x, (y + lineHeight * 1)-15, descWidth);

            this.drawTextEx(enemy.meta.desc3, x, (y + lineHeight * 2)-23, descWidth);

        };

        

        Window_EnemyBookStatus2.prototype.refresh = function() {

            

            this.contents.clear();

            

            var enemy = this._enemy;

            var x = 0;

            var y = 0;

            var lineHeight = this.lineHeight();

     

            if (!enemy || !$gameSystem.isInEnemyBook(enemy)) {

                this._enemySprite.bitmap = null;

                return;

            }

     

            var name = enemy.battlerName;

            var hue = enemy.battlerHue;

            var bitmap;

            if ($gameSystem.isSideView()) {

                bitmap = ImageManager.loadSvEnemy(name, hue);

            } else {

                bitmap = ImageManager.loadEnemy(name, hue);

            }

            

            this._enemySprite.bitmap = bitmap;

            

            this.resetTextColor();

     

            var rewardsWidth = 280;

            x = 1;

            y += lineHeight*1;

            

            if ($gameSwitches.value(ShowItems) === true || ShowItems === 0) {

            for (var j = 0; j < enemy.dropItems.length; j++) {

                var di = enemy.dropItems[j];

                if (di.kind > 0) {

                    this.changeTextColor(this.systemColor());

                    this.drawText(TextManager.item + ':', 1, 1);

                    var item = Game_Enemy.prototype.itemObject(di.kind, di.dataId);

                    this.drawItemName(item, x, y, rewardsWidth);

                    y += lineHeight;

                }

                else{

                    this.changeTextColor(this.systemColor());

                    this.drawText(TextManager.item + ':', 1, 1);

                    this.resetTextColor();

                }

            }

            

            this.resetTextColor();

            }

            

            x = (Graphics.boxWidth/3)*2 - this.textWidth(TextManager.expA) - 45

            y = (Graphics.boxHeight/5)*2 - lineHeight

            

            if ($gameSwitches.value(ShowEXP) === true || ShowEXP === 0) {

     

                this.changeTextColor(this.systemColor());

                this.drawText(TextManager.expA, x, y - 8);

     

                this.resetTextColor();

                this.drawText(enemy.exp, x - this.textWidth(enemy.exp + ' '), y - 8);

            }

            

            if ($gameSwitches.value(ShowGold) === true || ShowGold === 0) {

                this.changeTextColor(this.systemColor());

            

                if (goldIcon === 'true') {

                    this.drawIcon(Yanfly.Icon.Gold, x, y - 8 + lineHeight)

                } else {

                    this.drawText(TextManager.currencyUnit, x, y + lineHeight);

                }

     

                this.resetTextColor();

                this.drawText(enemy.gold, x - this.textWidth(enemy.gold + ' '), y - 8 + lineHeight);

            }

     

        }

        

        

        Window_EnemyBookStatus3.prototype.refresh = function() {

            

            this.contents.clear();

            

            if ($gameSwitches.value(ShowStatus) === true || ShowStatus === 0) {

            var enemy = this._enemy;

            var x = 0;

            var y = 0;

            var lineHeight = this.lineHeight();

            

            if (!enemy || !$gameSystem.isInEnemyBook(enemy)) {

                return;

            }

                

                this.drawText('--- ' + TextManager.status + ' ---', (Graphics.boxWidth/3) - (this.textWidth('--- ' + 

     

    TextManager.status + ' ---')/2), -7, 160);

                this.resetTextColor();  

     

            this.resetTextColor();

     

            x = (Graphics.boxWidth/3) - 235

            y = 25;

     

            var arr = [TextManager.param(0), TextManager.param(1), TextManager.param(2), TextManager.param(3)];

     

            var lgth = 0;

            var longest;

     

            for(var i=0; i < arr.length; i++){

                if(arr.length > lgth){

                    var lgth = arr.length;

                    longest = arr;

                }      

            }

            

            for (var i = 0; i < 4; i++) {

                this.changeTextColor(this.systemColor());

                this.drawText(TextManager.param(i), x, y, 160);

                this.resetTextColor();        

                this.drawText(enemy.params, x + this.textWidth(longest + '  '), y, 60, 'left');

                y += lineHeight;

            }

            

            y = 25;

            

            var arr = [TextManager.param(4), TextManager.param(5), TextManager.param(6), TextManager.param(7)];

     

            var lgth = 0;

            var longest2;

     

            for(var i=0; i < arr.length; i++){

                if(arr.length > lgth){

                    var lgth = arr.length;

                    longest2 = arr;

                }      

            }

            

            x = x + 10 + this.textWidth(longest + '  ') + 90

            

            for (var i = 4; i < 8; i++) {

                this.changeTextColor(this.systemColor());

                this.drawText(TextManager.param(i), x, y, 160);

                this.resetTextColor();

                this.drawText(enemy.params, x + this.textWidth(longest2 + '  '), y, 60, 'left');

                y += lineHeight;

            }

            

     

        }

        }

     

    })();



     

     

    Credit and Thanks

     

    - DragonPC (great ideas / bug finding / trouble shooting / support / graphics / video)

    Yoji Ojima Original Plugin + (compatibility with Yanfly)

    - Rexal (movement)

    - Yanfly (Inspiration)

    - cellicom (for reporting clipping issue)

     

    Terms of Use: This script can be used for Both private and Commercial games, If used please pass along the credit of all authors. thank you.


    本贴来自国际rpgmaker官方论坛作者:dragonpc处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/enemybook-v1-3-skottytv-dragonpc.49130/
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-1 11:47 , Processed in 0.123413 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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