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

[转载发布] Always Gain Exact TP on Skill Use

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

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

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

    灌水之王

    发表于 2026-8-1 13:21:59 | 显示全部楼层 |阅读模式
    Always Gain Exact TP on Skill Use


            by lilyWhite


            VX Ace gives you the option for skills to give the user TP when used, setting a specific value in the Database. There are two particular quirks to this, however, which may not fit everyone's needs. TP is only granted if the skill hits the target—if either the user misses due to their Hit Rate or the skill's Success %, or the target dodges the skill due to Evasion or Magic Evasion, the user will not gain any TP. If a skill hits multiple targets, the user will receive the TP Gain value with each successful hit, and thus a skill gains much more TP on many targets than fewer targets, whether or not its effectiveness or cost is affected by the number of targets.


            This script alters how VX Ace gives TP to characters through skill use. The user will receive the TP Gain value (modified by their TP Charge Rate) once upon use of the skill, whether or not it hits or is evaded. The script also allows you to set whether or not actors will gain TP for use of skills outside of battle. By default, it is set to false. (And remember, VX Ace resets actors' TP at the start of battle unless they have the "Preserve TP" trait.)


    Free for use in any commercial or non-commercial project! Credit to "lilyWhite"; I reserve the right to be slightly miffed if you get the capitalization wrong. :3


            The script is within the spoiler below. Copy into the Script Editor and configure if desired.

    Spoiler=begin


                              = Always Gain Exact TP on Skill Use, by lilyWhite =
                              (well, that's a mouthful)
                              
                              VX Ace allows an actor to gain TP when using an skill. However, by default,
                              they will only gain TP if the attack hits and isn't evaded, and every
                              successful hit will add the TP Gain value, resulting in significantly more TP
                              when there are more enemies.
                                
                              This simple little scripts alters the way TP is added to an actor. TP will
                              only be added once upon activation of the skill, regardless of whether or not
                              the skill successfully hits or is evaded by the target. The user's TP Charge
                              Rate (TCR) still applies to received TP.
                              
                              There is an option to allow actors to gain TP when using a skill out of
                              battle. By default, it is set to false. Remember that, by default, VX Ace
                              resets actors' TP at the beginning of battle if they do not have the
                              "Preserve TP" trait.
                              
                              Usage: Free to use in any commercial or non-commercial project! Credit to
                              "lilyWhite"; I reserve the right to be slightly miffed if you get the
                              capitalization wrong. :3
                                
                            =end


                            module DumbTpScript
                              
                              # Will the actor gain TP when a skill is used out of battle? False by default.
                              GAIN_TP_OUT_OF_BATTLE = false
                              
                            end


                              #--------------------------------------------------------------------------
                              # Don't edit below here, unless you know what you're doing.
                              # (Then again, even I don't.)
                              #--------------------------------------------------------------------------


                            class Game_Battler < Game_BattlerBase
                              #--------------------------------------------------------------------------
                              # * Use Skill/Item
                              #    Called for the acting side and applies the effect to other than the user.
                              #--------------------------------------------------------------------------
                              alias use_item_get_tp use_item
                              def use_item(item)
                                use_item_get_tp(item)
                                get_tp = DumbTpScript::GAIN_TP_OUT_OF_BATTLE
                                if item.is_a?(RPG::Skill)
                                  if get_tp == true
                                    user_gain_tp(item)
                                  else
                                    user_gain_tp(item) if $game_party.in_battle == true
                                  end
                                end
                              end
                              
                              #--------------------------------------------------------------------------
                              # * Overwrite item_user_effect...to do NOTHING! To ensure compatibility.
                              #   Hopefully!
                              #--------------------------------------------------------------------------
                              def item_user_effect(user, item)
                              end
                              
                              #--------------------------------------------------------------------------
                              # * New method to add TP.
                              #--------------------------------------------------------------------------
                              def user_gain_tp(item)
                                self.tp += item.tp_gain * self.tcr
                              end
                            end






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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-18 00:25 , Processed in 0.126470 second(s), 55 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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