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

[转载发布] Display State Turns On Icon

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

    连续签到: 2 天

    [LV.7]常住居民III

    5778

    主题

    864

    回帖

    3万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

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

    灌水之王

    发表于 昨天 11:57 | 显示全部楼层 |阅读模式
    Display State Turns On Icon v1.04
    By lolaccount


    Patch Notes

    v1.04 - Added font size and text position parameters.

    v1.03 - Added check if state has an icon, added compatibility for Yanfly's ATB, added decimal place parameter for non-integer turn counts, like in Yanfly's ATB. Fixed crashing when using tofixed out of battle

    v1.02 - Fixed slicing issue that caused more numbers than should be shown

    v1.01 - Added buff and debuffs turns, fixed displaying 1 or 0 for states that don't have turns, moved text up a bit

    Introduction
    This is my first plugin release. I'm a beginner.

    Features
    Shows the number of turns remaining for a state/buff/debuff on its icon.

    Screenshots


    How to Use
    Create a .js file (you can do so with a text editor by saving the file with .js at the end) and paste the script into it, then put it in the js\plugins folder for your project. The filename should be something descriptive to what it is. Turn the plugin on and you are good to go.

    Script

    Spoiler//=============================================================================// Display State Turns On Icon// by lolaccount// Last Updated: 2015.11.26//=============================================================================/*: * @plugindesc v1.04 Number of turns remaining for states/debuffs/buffs is * displayed on the icon. * <lolaccount DisplayStateTurnsOnIcon> * @author lolaccount * * @param Font Size * @desc Default: 16 * @default 16 * * @param Position * @desc Options: bottomleft, center, rightcenter, bottomcenter, etc  Default: topright * @default topright * * @param ---Compatibility--- * @default * * @param Decimal Places * @desc # of decimal places for non-integer turn counts * Default: 0     * @default 0 * * @help This plugin does not provide plugin commands. * ============================================================================ * Patch Notes * ============================================================================ * v1.04 - Added Font Size Parameter, Added Position Parameter * v1.03 - Added check if state has an icon, added compatibility for Yanfly's ATB * added decimal place parameter for non-integer turn counts, like in Yanfly's * ATB. Fixed crashing when using tofixed out of battle * v1.02 - Fixed slicing issue that caused more numbers than should be shown * v1.01 - Added buff and debuffs turns, fixed displaying 1 or 0 for states * that don't have turns, moved text up a bit * ============================================================================ * How To Use * ============================================================================ * Plug and play. * ============================================================================ * Terms Of Use * ============================================================================ * Free to use and modify for commercial and noncommercial games, with or * without credit, as long as you do not claim the script as your own. * Credit is appreciated though. */(function () {    var parameters = $plugins.filter(function (p) {        return p.description.contains('<lolaccount DisplayStateTurnsOnIcon>');    })[0].parameters; //Thanks to Iavra// decimal places to show for turn count    var decimalPlaces = parseInt(parameters['Decimal Places'] || 0);// size of turn text font    var turnFontSize = parseInt(parameters['Font Size'] || 16);// position of turn text    var turnTextPosition = String(parameters['Position'] || 'topright');    // alias function    var _Window_Base_drawActorIcons = Window_Base.prototype.drawActorIcons;    Window_Base.prototype.drawActorIcons = function (actor, x, y, width) {        // the default we are making an alias for        _Window_Base_drawActorIcons.call(this, actor, x, y, width);        // array of turn integers corresponding to each state/debuff/buff        var turns = [];        // initialize loop variable        var i = 0;        // for each state actor has        actor.states().forEach(function (state) {            // check if autoremoval is not 0. If it is not 0 then it is removed            // automatically after a certain number of turns.            if (state.autoRemovalTiming != 0 && state.iconIndex > 0) {                turns.push(actor._stateTurns[actor._states]);            }            else {                // if autoremoval is 0, then it's a state that is not removed by                // turns, like defeat. add 0 to the array so that it is skipped                // when we are displaying the text.                turns.push(0);            }            // increment the loop variable            i++;        }, this);        // for each possible parameter that can have a        // buff or debuff        for (var j = 0; j < actor._buffs.length; j++) {            // check if the parameter has a buff/debuff            if (actor._buffs[j] !== 0) {                // if so add the number of turns the buff/debuff                // has to the turn array                turns.push(actor._buffTurns[j]);            }        }        turns = turns.slice(0, Math.floor(width / Window_Base._iconWidth));        // set font size to parameter        this.contents.fontSize = turnFontSize;        // for each state/debuff/buff, draw text for their turns remaining        for (var i = 0; i < actor.allIcons().length; i++) {            // This is a check for whether the turns remaining is 0 or not            // if we don't check we'll get a 0 displayed for states like death            // turns checks if turn is defined, if not we'll get an error with toFixed            if (turns && turns != 0) {                // draw the text for their turns remaining                this.drawText(turns.toFixed(decimalPlaces), this.turnsRemainingPosX(i,x), this.turnsRemainingPosY(y), Window_Base._iconWidth, 'center');            }        }        // reset font size so other stuff isn't resized as well        this.resetFontSettings();    };    Window_Base.prototype.turnsRemainingPosX = function (i, x) {        var returnValue = x + (Window_Base._iconWidth * i);        switch (turnTextPosition) {            case "topleft":            case "bottomleft":            case "leftcenter":                returnValue -= (Window_Base._iconWidth / 6);                break;            case "topright":            case "bottomright":            case "rightcenter":                returnValue += (Window_Base._iconWidth / 6);                break;        }        return returnValue;    };    Window_Base.prototype.turnsRemainingPosY = function (y) {        var returnValue = y;        switch (turnTextPosition) {            case "topleft":            case "topright":            case "topcenter":                returnValue -= (Window_Base._iconWidth / 6);                break;            case "bottomleft":            case "bottomright":            case "bottomcenter":                returnValue += (Window_Base._iconWidth / 6);                break;        }        return returnValue;    };})();




    Credit and Thanks
    - lolaccount

    Author's Notes
    Free to use and modify for commercial and noncommercial games, with or without credit, as long as you do not claim the script as your own. Credit is appreciated though.

    [url=https://forums.rpgmakerweb.com/attachments/iconturns-jpg.25344/][/url]



    本贴来自国际rpgmaker官方论坛作者:DreamX处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/display-state-turns-on-icon.49034/

    本帖子中包含更多资源

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

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-7-26 03:50 , Processed in 0.072226 second(s), 57 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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