设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1732|回复: 2
打印 上一主题 下一主题

[已经解决] ★【性格系统】和【技能升级】脚本冲突★

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
381 小时
注册时间
2012-8-13
帖子
113
跳转到指定楼层
1
发表于 2013-3-28 14:05:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 tyq4590 于 2013-3-31 13:48 编辑

【已经自行解决】

我用了雪流星的‘技能升级’脚本和va超级整合里的‘性格系统’脚本,结果在选择性格的时候报错。原因我大概知道:【技能升级】脚本在scene_skill里添加了一个技能升级的窗口,而【性格系统】则是在scene_skill的category里添加了一项‘性格’。而‘性格’是不调用技能的,因此在选择‘性格’这一项时,技能skill这一项是空的,所以技能升级窗口无法读取出技能的数值,因此报错。我试着在脚本中添加各种判定,但是都没有效果。这里附上脚本和范例工程,希望有前辈帮我看看应该如何解决这个冲突!

【范例工程】:

http://pan.baidu.com/share/link?shareid=377046&uk=4045777572


【技能升级脚本】:

http://rpg.blue/thread-222619-1-1.html


【性格系统】(需配合【技能系统管理】使用):

RUBY 代码复制
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - TP Manager v1.02
  4. # -- Last Updated: 2011.12.10
  5. # -- Level: Hard
  6. # -- Requires: n/a
  7. #
  8. #==============================================================================
  9.  
  10. $imported = {} if $imported.nil?
  11. $imported["YEA-TPManager"] = true
  12.  
  13. #==============================================================================
  14. # ▼ Updates
  15. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  16. # 2011.12.10 - Added <tp cost: x> notetag.
  17. # 2011.12.06 - Fixed an error in one of the formulas.
  18. # 2011.12.05 - Started Script and Finished.
  19. #
  20. #==============================================================================
  21. # ▼ Introduction
  22. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  23. # The TP system in RPG Maker VX Ace is actually rather limiting. A lot of the
  24. # system is hardcoded in giving Ace users very little control over how much TP
  25. # gain a battler can receive from particular actions and situations. This
  26. # script gives you the ability to adjust how much TP actors will acquire from
  27. # various actions, different TP modes, and letting players select and pick what
  28. # TP mode they want for each actor (akin to Final Fantasy X).
  29. #
  30. #==============================================================================
  31. # ▼ Instructions
  32. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  33. # To install this script, open up your script editor and copy/paste this script
  34. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  35. #
  36. # -----------------------------------------------------------------------------
  37. # Actor Notetags - These notetags go in the actors notebox in the database.
  38. # -----------------------------------------------------------------------------
  39. # <tp mode: x>
  40. # This sets the actor's default TP mode to x. If this tag isn't used, the
  41. # default TP mode will be set to whatever the module uses as default.
  42. #
  43. # <unlock tp: x>
  44. # <unlock tp: x, x>
  45. # This unlocks what TP modes the actor can use by default. If this tag isn't
  46. # used, the default unlocked TP modes will be whatever the module uses.
  47. #
  48. # -----------------------------------------------------------------------------
  49. # Item Notetags - These notetags go in the item notebox in the database.
  50. # -----------------------------------------------------------------------------
  51. # <unlock tp: x>
  52. # <unlock tp: x, x>
  53. # When this item is used upon an actor, that actor will learn TP Mode(s) x,
  54. # making it available to change in the TP Menu.
  55. #
  56. # -----------------------------------------------------------------------------
  57. # Skill Notetags - These notetags go in the skill notebox in the database.
  58. # -----------------------------------------------------------------------------
  59. # <unlock tp: x>
  60. # <unlock tp: x, x>
  61. # When this skill targets an actor, that actor will learn TP Mode(s) x thus,
  62. # making it available to change in the TP Menu.
  63. #
  64. # <learn unlock tp: x>
  65. # <learn unlock tp: x, x>
  66. # When an actor learns a skill with this notetag, that actor will learn
  67. # TP Mode(s) x making it available to change in the TP Menu.
  68. #
  69. # <tp cost: x>
  70. # When this notetag appears in a skill's notebox, the TP cost for that skill
  71. # becomes x. This notetag allows TP costs to surpass 100 TP, which is the max
  72. # TP cost in the RPG Maker VX Ace database editor.
  73. #
  74. # -----------------------------------------------------------------------------
  75. # Enemy Notetags - These notetags go in the enemy notebox in the database.
  76. # -----------------------------------------------------------------------------
  77. # <tp mode: x>
  78. # This sets the enemy's default TP mode to x. If this tag isn't used, the
  79. # default TP mode will be set to whatever the module uses as default.
  80. #
  81. # -----------------------------------------------------------------------------
  82. # Script Calls - These commands are used with script calls.
  83. # -----------------------------------------------------------------------------
  84. # change_tp_mode(x, y)
  85. # Replace x with the ID of the actor you want to change to the TP Mode y. This
  86. # will also unlock the TP mode for the actor, and make it available under the
  87. # skill menu for changing.
  88. #
  89. # unlock_tp_mode(x, y)
  90. # Replace x with the ID of the actor you want to learn for the TP Mode y. This
  91. # will cause the actor to learn the TP mode and have it accessible in the skill
  92. # menu for changing.
  93. #
  94. # remove_tp_mode(x, y)
  95. # Replace x with the ID of the actor you want to remove the TP Mode y. This
  96. # will cause the actor to forget the TP mode and no longer have it accessible
  97. # through the skill menu for changing.
  98. #
  99. # unlock_all_tp_modes(x)
  100. # Replace x with the ID of the actor you want to unlock all TP modes for. This
  101. # will make all the TP modes available to the actor from the skill menu.
  102. #
  103. # remove_all_tp_modes(x)
  104. # Removes all TP modes for actor x except for the actor's default TP mode.
  105. # This removes all TP modes from being available in the actor's skill menu.
  106. #
  107. #==============================================================================
  108. # ▼ Compatibility
  109. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  110. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  111. # it will run with RPG Maker VX without adjusting.
  112. #
  113. #==============================================================================
  114.  
  115. module YEA
  116.   module TP_MANAGER
  117.  
  118.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  119.     # - General TP Settings -
  120.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  121.     # Here, you can adjust global settings for TP including the maximum TP,
  122.     # whether or not you want the player to change TP modes, and more.
  123.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  124.     TP_LIMIT  = 100         # Sets the maximum TP. Default: 100
  125.     DEFAULT_TP_MODE = 0            # This is the TP mode everybody starts with
  126.                                    # unless changed through notetags.
  127.     DEFAULT_UNLOCKS = [0, 1, 2, 3,4,5,6,7,8,9,10,11,12,13,14,15,]
  128.     # These modes are unlocked for all actors
  129.                                    # unless changed through notetags.
  130.     LOW_HP = 0.25           # Percent for what is considered low HP.
  131.     LOW_MP = 0.25           # Percent for what is considered low MP.
  132.  
  133.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  134.     # - TP Mode Change Settings -
  135.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  136.     # Adjust the settings here for TP Mode Menu related items. Also, be sure
  137.     # to bind the TP_MODE_SWITCH to a switch ID. If that switch is on, the
  138.     # TP Mode item will appear in the skill menu. If off, it won't appear.
  139.     # If you set it to 0, then TP mode will always be enabled.
  140.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  141.     MENU_NAME = "性格"   # The displayed name for the TP Menu.
  142.     TP_MODE_SWITCH  = 12     # Switch ID used for enabling TP Mode menu.
  143.     DEFAULT_ENABLE  = true  # Enable switch by default?
  144.     CHANGE_TP_RESET = true  # Reset TP to 0 whenever a mode is changed?
  145.     EQUIPPED_COLOUR = 17    # Window text colour used for equipped TP mode.
  146.  
  147.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  148.     # - TP Modes -
  149.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  150.     # TP modes have a number of things that can change the way actors gain TP.
  151.     # Adjust the settings below to change how much gain and loss incurs per
  152.     # each of the different actions.
  153.     #
  154.     # Setting        Description
  155.     # -------------------------------------------------------------------------
  156.     # - :name        - Name that appears in the TP Mode menu.
  157.     # - :icon        - Icon used for the TP Mode menu.
  158.     # - :description - Help window description. Use \n for line breaks.
  159.     # - :preserve_tp - Carry over TP from last battle to next battle?
  160.     # - :init_tp     - TP at the start of each battle if no TP preservation.
  161.     # - :regen_tp    - TP regenerated each turn. Uses a formula.
  162.     # - :take_hp_dmg - TP charged by receiving HP damage. Uses a formula.
  163.     # - :deal_hp_dmg - TP gained by dealing HP damage. Uses a formula.
  164.     # - :heal_hp_dmg - TP gained through healing HP damage. Uses a formula.
  165.     # - :ally_hp_dmg - TP gained when allies take HP damage. Uses a formula.
  166.     # - :take_mp_dmg - TP charged by receiving MP damage. Uses a formula.
  167.     # - :deal_mp_dmg - TP gained by dealing MP damage. Uses a formula.
  168.     # - :heal_mp_dmg - TP gained through healing MP damage. Uses a formula.
  169.     # - :ally_mp_dmg - TP gained when allies take MP damage. Uses a formula.
  170.     # - :deal_state  - TP gained when user inflicts a state to a foe. Formula.
  171.     # - :gain_state  - TP gained when user gains a state from a foe. Formula.
  172.     # - :kill_ally   - TP gained when an ally is killed. Uses a formula.
  173.     # - :kill_enemy  - TP gained when killing an enemy. Uses a formula.
  174.     # - :win_battle  - TP gained whenever a battle is won. Uses a formula.
  175.     # - :flee_battle - TP gained whenever party escapes. Uses a formula.
  176.     # - :lose_battle - TP gained whenever a battle is lost. Uses a formula.
  177.     # - :low_hp_turn - TP gained at the end of a turn with user at low HP.
  178.     # - :low_mp_turn - TP gained at the end of a turn with user at low MP.
  179.     # - :only_ally   - TP gained when user is only ally alive.
  180.     # - :evasion     - TP gained when user evades an attack.
  181.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  182.     TP_MODES ={
  183.     # TP Mode => { Settings }
  184.     # -------------------------------------------------------------------------
  185.       0 => { # This is the default mode.
  186.       # :setting     => Adjust settings as you see fit.
  187.         :name        => "苦行僧",
  188.         :icon        => 121,
  189.         :description => "在等待或者受到攻击时增加TP.",
  190.         :preserve_tp => false,
  191.         :init_tp     => "rand * 25",
  192.         :regen_tp    => "100 * trg",
  193.         :take_hp_dmg => "50 * damage_rate * tcr",
  194.         :deal_hp_dmg => "0",
  195.         :heal_hp_dmg => "0",
  196.         :ally_hp_dmg => "0",
  197.         :take_mp_dmg => "0",
  198.         :deal_mp_dmg => "0",
  199.         :heal_mp_dmg => "0",
  200.         :ally_mp_dmg => "0",
  201.         :deal_state  => "0",
  202.         :gain_state  => "0",
  203.         :kill_ally   => "0",
  204.         :kill_enemy  => "0",
  205.         :win_battle  => "0",
  206.         :flee_battle => "0",
  207.         :lose_battle => "0",
  208.         :low_hp_turn => "0",
  209.         :low_mp_turn => "0",
  210.         :only_alive  => "0",
  211.         :evasion     => "0",
  212.       }, # Do not remove this.
  213.     # -------------------------------------------------------------------------
  214.       1 => { # New TP mode!
  215.       # :setting     => Adjust settings as you see fit.
  216.         :name        => "难友",
  217.         :icon        => 122,
  218.         :description => "每当同伴受伤都增加TP.",
  219.         :preserve_tp => true,
  220.         :init_tp     => "0",
  221.         :regen_tp    => "0",
  222.         :take_hp_dmg => "0",
  223.         :deal_hp_dmg => "0",
  224.         :heal_hp_dmg => "0",
  225.         :ally_hp_dmg => "20 * tcr",
  226.         :take_mp_dmg => "0",
  227.         :deal_mp_dmg => "0",
  228.         :heal_mp_dmg => "0",
  229.         :ally_mp_dmg => "0",
  230.         :deal_state  => "0",
  231.         :gain_state  => "0",
  232.         :kill_ally   => "0",
  233.         :kill_enemy  => "0",
  234.         :win_battle  => "0",
  235.         :flee_battle => "0",
  236.         :lose_battle => "0",
  237.         :low_hp_turn => "0",
  238.         :low_mp_turn => "0",
  239.         :only_alive  => "0",
  240.         :evasion     => "0",
  241.       }, # Do not remove this.
  242.     # -------------------------------------------------------------------------
  243.       2 => { # New TP mode!
  244.       # :setting     => Adjust settings as you see fit.
  245.         :name        => "勇者",
  246.         :icon        => 116,
  247.         :description => "进攻和治疗时增加TP.",
  248.         :preserve_tp => true,
  249.         :init_tp     => "0",
  250.         :regen_tp    => "0",
  251.         :take_hp_dmg => "0",
  252.         :deal_hp_dmg => "[@result.hp_damage * 100 / mhp, 16].min * tcr",
  253.         :heal_hp_dmg => "0",
  254.         :ally_hp_dmg => "0",
  255.         :take_mp_dmg => "0",
  256.         :deal_mp_dmg => "0",
  257.         :heal_mp_dmg => "0",
  258.         :ally_mp_dmg => "0",
  259.         :deal_state  => "0",
  260.         :gain_state  => "0",
  261.         :kill_ally   => "0",
  262.         :kill_enemy  => "0",
  263.         :win_battle  => "0",
  264.         :flee_battle => "0",
  265.         :lose_battle => "0",
  266.         :low_hp_turn => "0",
  267.         :low_mp_turn => "0",
  268.         :only_alive  => "0",
  269.         :evasion     => "0",
  270.       }, # Do not remove this.
  271.     # -------------------------------------------------------------------------
  272.       3 => { # New TP mode!
  273.       # :setting     => Adjust settings as you see fit.
  274.         :name        => "守护者",
  275.         :icon        => 112,
  276.         :description => "治疗时增加TP.",
  277.         :preserve_tp => true,
  278.         :init_tp     => "0",
  279.         :regen_tp    => "0",
  280.         :take_hp_dmg => "0",
  281.         :deal_hp_dmg => "0",
  282.         :heal_hp_dmg => "[@result.hp_damage * -100 / mhp, 16].min * tcr",
  283.         :ally_hp_dmg => "0",
  284.         :take_mp_dmg => "0",
  285.         :deal_mp_dmg => "0",
  286.         :heal_mp_dmg => "0",
  287.         :ally_mp_dmg => "0",
  288.         :deal_state  => "0",
  289.         :gain_state  => "0",
  290.         :kill_ally   => "0",
  291.         :kill_enemy  => "0",
  292.         :win_battle  => "0",
  293.         :flee_battle => "0",
  294.         :lose_battle => "0",
  295.         :low_hp_turn => "0",
  296.         :low_mp_turn => "0",
  297.         :only_alive  => "0",
  298.         :evasion     => "0",
  299.       }, # Do not remove this.
  300.     # -------------------------------------------------------------------------
  301.       4 => { # New TP mode!
  302.       # :setting     => Adjust settings as you see fit.
  303.         :name        => "中断者",
  304.         :icon        => 215,
  305.         :description => "恢复MP损害受到MP损伤或者同伴受到损伤时提高TP.",
  306.         :preserve_tp => true,
  307.         :init_tp     => "0",
  308.         :regen_tp    => "0",
  309.         :take_hp_dmg => "0",
  310.         :deal_hp_dmg => "0",
  311.         :heal_hp_dmg => "0",
  312.         :ally_hp_dmg => "0",
  313.         :take_mp_dmg => "50 * damage_rate * tcr",
  314.         :deal_mp_dmg => "[@result.mp_damage / 4, 16].min * tcr",
  315.         :heal_mp_dmg => "0",
  316.         :ally_mp_dmg => "20 * tcr",
  317.         :deal_state  => "0",
  318.         :gain_state  => "0",
  319.         :kill_ally   => "0",
  320.         :kill_enemy  => "0",
  321.         :win_battle  => "0",
  322.         :flee_battle => "0",
  323.         :lose_battle => "0",
  324.         :low_hp_turn => "0",
  325.         :low_mp_turn => "0",
  326.         :only_alive  => "0",
  327.         :evasion     => "0",
  328.       }, # Do not remove this.
  329.     # -------------------------------------------------------------------------
  330.       5 => { # New TP mode!
  331.       # :setting     => Adjust settings as you see fit.
  332.         :name        => "炼金术士",
  333.         :icon        => 193,
  334.         :description => "恢复同伴MP时增加TP.",
  335.         :preserve_tp => true,
  336.         :init_tp     => "0",
  337.         :regen_tp    => "0",
  338.         :take_hp_dmg => "0",
  339.         :deal_hp_dmg => "0",
  340.         :heal_hp_dmg => "0",
  341.         :ally_hp_dmg => "0",
  342.         :take_mp_dmg => "0",
  343.         :deal_mp_dmg => "0",
  344.         :heal_mp_dmg => "[@result.mp_damage / -4, 16].min * tcr",
  345.         :ally_mp_dmg => "0",
  346.         :deal_state  => "0",
  347.         :gain_state  => "0",
  348.         :kill_ally   => "0",
  349.         :kill_enemy  => "0",
  350.         :win_battle  => "0",
  351.         :flee_battle => "0",
  352.         :lose_battle => "0",
  353.         :low_hp_turn => "0",
  354.         :low_mp_turn => "0",
  355.         :only_alive  => "0",
  356.         :evasion     => "0",
  357.       }, # Do not remove this.
  358.     # -------------------------------------------------------------------------
  359.       6 => { # New TP mode!
  360.       # :setting     => Adjust settings as you see fit.
  361.         :name        => "杀手",
  362.         :icon        => 115,
  363.         :description => "当敌人死亡时增加TP.",
  364.         :preserve_tp => true,
  365.         :init_tp     => "0",
  366.         :regen_tp    => "0",
  367.         :take_hp_dmg => "0",
  368.         :deal_hp_dmg => "0",
  369.         :heal_hp_dmg => "0",
  370.         :ally_hp_dmg => "0",
  371.         :take_mp_dmg => "0",
  372.         :deal_mp_dmg => "0",
  373.         :heal_mp_dmg => "0",
  374.         :ally_mp_dmg => "0",
  375.         :deal_state  => "0",
  376.         :gain_state  => "0",
  377.         :kill_ally   => "0",
  378.         :kill_enemy  => "25 * tcr",
  379.         :win_battle  => "0",
  380.         :flee_battle => "0",
  381.         :lose_battle => "0",
  382.         :low_hp_turn => "0",
  383.         :low_mp_turn => "0",
  384.         :only_alive  => "0",
  385.         :evasion     => "0",
  386.       }, # Do not remove this.
  387.     # -------------------------------------------------------------------------
  388.       7 => { # New TP mode!
  389.       # :setting     => Adjust settings as you see fit.
  390.         :name        => "复仇者",
  391.         :icon        => 1,
  392.         :description => "当同伴死亡时增加TP.",
  393.         :preserve_tp => true,
  394.         :init_tp     => "0",
  395.         :regen_tp    => "0",
  396.         :take_hp_dmg => "0",
  397.         :deal_hp_dmg => "0",
  398.         :heal_hp_dmg => "0",
  399.         :ally_hp_dmg => "0",
  400.         :take_mp_dmg => "0",
  401.         :deal_mp_dmg => "0",
  402.         :heal_mp_dmg => "0",
  403.         :ally_mp_dmg => "0",
  404.         :deal_state  => "0",
  405.         :gain_state  => "0",
  406.         :kill_ally   => "50 * tcr",
  407.         :kill_enemy  => "0",
  408.         :win_battle  => "0",
  409.         :flee_battle => "0",
  410.         :lose_battle => "0",
  411.         :low_hp_turn => "0",
  412.         :low_mp_turn => "0",
  413.         :only_alive  => "0",
  414.         :evasion     => "0",
  415.       }, # Do not remove this.
  416.     # -------------------------------------------------------------------------
  417.       8 => { # New TP mode!
  418.       # :setting     => Adjust settings as you see fit.
  419.         :name        => "胜利者",
  420.         :icon        => 113,
  421.         :description => "不管是否战斗都增加TP.",
  422.         :preserve_tp => true,
  423.         :init_tp     => "0",
  424.         :regen_tp    => "0",
  425.         :take_hp_dmg => "0",
  426.         :deal_hp_dmg => "0",
  427.         :heal_hp_dmg => "0",
  428.         :ally_hp_dmg => "0",
  429.         :take_mp_dmg => "0",
  430.         :deal_mp_dmg => "0",
  431.         :heal_mp_dmg => "0",
  432.         :ally_mp_dmg => "0",
  433.         :deal_state  => "0",
  434.         :gain_state  => "0",
  435.         :kill_ally   => "0",
  436.         :kill_enemy  => "0",
  437.         :win_battle  => "20 * tcr",
  438.         :flee_battle => "0",
  439.         :lose_battle => "0",
  440.         :low_hp_turn => "0",
  441.         :low_mp_turn => "0",
  442.         :only_alive  => "0",
  443.         :evasion     => "0",
  444.       }, # Do not remove this.
  445.     # -------------------------------------------------------------------------
  446.       9 => { # New TP mode!
  447.       # :setting     => Adjust settings as you see fit.
  448.         :name        => "胆小鬼",
  449.         :icon        => 114,
  450.         :description => "不管是否逃跑都增加TP.",
  451.         :preserve_tp => true,
  452.         :init_tp     => "0",
  453.         :regen_tp    => "0",
  454.         :take_hp_dmg => "0",
  455.         :deal_hp_dmg => "0",
  456.         :heal_hp_dmg => "0",
  457.         :ally_hp_dmg => "0",
  458.         :take_mp_dmg => "0",
  459.         :deal_mp_dmg => "0",
  460.         :heal_mp_dmg => "0",
  461.         :ally_mp_dmg => "0",
  462.         :deal_state  => "0",
  463.         :gain_state  => "0",
  464.         :kill_ally   => "0",
  465.         :kill_enemy  => "0",
  466.         :win_battle  => "0",
  467.         :flee_battle => "0",
  468.         :lose_battle => "20 * tcr",
  469.         :low_hp_turn => "0",
  470.         :low_mp_turn => "0",
  471.         :only_alive  => "0",
  472.         :evasion     => "0",
  473.       }, # Do not remove this.
  474.     # -------------------------------------------------------------------------
  475.       10 => { # New TP mode!
  476.       # :setting     => Adjust settings as you see fit.
  477.         :name        => "狂人",
  478.         :icon        => 48,
  479.         :description => "不管战斗结束后多少TP都增加.",
  480.         :preserve_tp => true,
  481.         :init_tp     => "0",
  482.         :regen_tp    => "0",
  483.         :take_hp_dmg => "0",
  484.         :deal_hp_dmg => "0",
  485.         :heal_hp_dmg => "0",
  486.         :ally_hp_dmg => "0",
  487.         :take_mp_dmg => "0",
  488.         :deal_mp_dmg => "0",
  489.         :heal_mp_dmg => "0",
  490.         :ally_mp_dmg => "0",
  491.         :deal_state  => "0",
  492.         :gain_state  => "0",
  493.         :kill_ally   => "0",
  494.         :kill_enemy  => "0",
  495.         :win_battle  => "0",
  496.         :flee_battle => "0",
  497.         :lose_battle => "0",
  498.         :low_hp_turn => "16 * tcr",
  499.         :low_mp_turn => "0",
  500.         :only_alive  => "0",
  501.         :evasion     => "0",
  502.       }, # Do not remove this.
  503.     # -------------------------------------------------------------------------
  504.       11 => { # New TP mode!
  505.       # :setting     => Adjust settings as you see fit.
  506.         :name        => "调剂师",
  507.         :icon        => 49,
  508.         :description => "不管战斗结束后多少MP都增加TP.",
  509.         :preserve_tp => true,
  510.         :init_tp     => "0",
  511.         :regen_tp    => "0",
  512.         :take_hp_dmg => "0",
  513.         :deal_hp_dmg => "0",
  514.         :heal_hp_dmg => "0",
  515.         :ally_hp_dmg => "0",
  516.         :take_mp_dmg => "0",
  517.         :deal_mp_dmg => "0",
  518.         :heal_mp_dmg => "0",
  519.         :ally_mp_dmg => "0",
  520.         :deal_state  => "0",
  521.         :gain_state  => "0",
  522.         :kill_ally   => "0",
  523.         :kill_enemy  => "0",
  524.         :win_battle  => "0",
  525.         :flee_battle => "0",
  526.         :lose_battle => "0",
  527.         :low_hp_turn => "0",
  528.         :low_mp_turn => "16 * tcr",
  529.         :only_alive  => "0",
  530.         :evasion     => "0",
  531.       }, # Do not remove this.
  532.     # -------------------------------------------------------------------------
  533.       12 => { # New TP mode!
  534.       # :setting     => Adjust settings as you see fit.
  535.         :name        => "战略家",
  536.         :icon        => 10,
  537.         :description => "每当使敌人状态受到攻击提高TP.",
  538.         :preserve_tp => true,
  539.         :init_tp     => "0",
  540.         :regen_tp    => "0",
  541.         :take_hp_dmg => "0",
  542.         :deal_hp_dmg => "0",
  543.         :heal_hp_dmg => "0",
  544.         :ally_hp_dmg => "0",
  545.         :take_mp_dmg => "0",
  546.         :deal_mp_dmg => "0",
  547.         :heal_mp_dmg => "0",
  548.         :ally_mp_dmg => "0",
  549.         :deal_state  => "16 * tcr",
  550.         :gain_state  => "0",
  551.         :kill_ally   => "0",
  552.         :kill_enemy  => "0",
  553.         :win_battle  => "0",
  554.         :flee_battle => "0",
  555.         :lose_battle => "0",
  556.         :low_hp_turn => "0",
  557.         :low_mp_turn => "0",
  558.         :only_alive  => "0",
  559.         :evasion     => "0",
  560.       }, # Do not remove this.
  561.     # -------------------------------------------------------------------------
  562.       13 => { # New TP mode!
  563.       # :setting     => Adjust settings as you see fit.
  564.         :name        => "病人",
  565.         :icon        => 3,
  566.         :description => "每当状态受到攻击提高TP.",
  567.         :preserve_tp => true,
  568.         :init_tp     => "0",
  569.         :regen_tp    => "0",
  570.         :take_hp_dmg => "0",
  571.         :deal_hp_dmg => "0",
  572.         :heal_hp_dmg => "0",
  573.         :ally_hp_dmg => "0",
  574.         :take_mp_dmg => "0",
  575.         :deal_mp_dmg => "0",
  576.         :heal_mp_dmg => "0",
  577.         :ally_mp_dmg => "0",
  578.         :deal_state  => "0",
  579.         :gain_state  => "16 * tcr",
  580.         :kill_ally   => "0",
  581.         :kill_enemy  => "0",
  582.         :win_battle  => "0",
  583.         :flee_battle => "0",
  584.         :lose_battle => "0",
  585.         :low_hp_turn => "0",
  586.         :low_mp_turn => "0",
  587.         :only_alive  => "0",
  588.         :evasion     => "0",
  589.       }, # Do not remove this.
  590.     # -------------------------------------------------------------------------
  591.       14 => { # New TP mode!
  592.       # :setting     => Adjust settings as you see fit.
  593.         :name        => "舞者",
  594.         :icon        => 12,
  595.         :description => "每当成功地逃避攻击提高TP.",
  596.         :preserve_tp => true,
  597.         :init_tp     => "0",
  598.         :regen_tp    => "0",
  599.         :take_hp_dmg => "0",
  600.         :deal_hp_dmg => "0",
  601.         :heal_hp_dmg => "0",
  602.         :ally_hp_dmg => "0",
  603.         :take_mp_dmg => "0",
  604.         :deal_mp_dmg => "0",
  605.         :heal_mp_dmg => "0",
  606.         :ally_mp_dmg => "0",
  607.         :deal_state  => "0",
  608.         :gain_state  => "0",
  609.         :kill_ally   => "0",
  610.         :kill_enemy  => "0",
  611.         :win_battle  => "0",
  612.         :flee_battle => "0",
  613.         :lose_battle => "0",
  614.         :low_hp_turn => "0",
  615.         :low_mp_turn => "0",
  616.         :only_alive  => "0",
  617.         :evasion     => "16 * tcr",
  618.       }, # Do not remove this.
  619.     # -------------------------------------------------------------------------
  620.       15 => { # New TP mode!
  621.       # :setting     => Adjust settings as you see fit.
  622.         :name        => "独行侠",
  623.         :icon        => 14,
  624.         :description => "当只剩最后一人时增加TP.",
  625.         :preserve_tp => true,
  626.         :init_tp     => "0",
  627.         :regen_tp    => "0",
  628.         :take_hp_dmg => "0",
  629.         :deal_hp_dmg => "0",
  630.         :heal_hp_dmg => "0",
  631.         :ally_hp_dmg => "0",
  632.         :take_mp_dmg => "0",
  633.         :deal_mp_dmg => "0",
  634.         :heal_mp_dmg => "0",
  635.         :ally_mp_dmg => "0",
  636.         :deal_state  => "0",
  637.         :gain_state  => "0",
  638.         :kill_ally   => "0",
  639.         :kill_enemy  => "0",
  640.         :win_battle  => "0",
  641.         :flee_battle => "0",
  642.         :lose_battle => "0",
  643.         :low_hp_turn => "0",
  644.         :low_mp_turn => "0",
  645.         :only_alive  => "16 * tcr",
  646.         :evasion     => "0",
  647.       }, # Do not remove this.
  648.     # -------------------------------------------------------------------------
  649.     } # Do not remove this.
  650.  
  651.   end # TP_MANAGER
  652. end # YEA
  653.  
  654. #==============================================================================
  655. # ▼ Editting anything past this point may potentially result in causing
  656. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  657. # halitosis so edit at your own risk.
  658. #==============================================================================
  659.  
  660. module YEA
  661.   module REGEXP
  662.   module ACTOR
  663.  
  664.     TP_MODE   = /<(?:TP_MODE|tp mode):[ ](\d+)>/i
  665.     UNLOCK_TP = /<(?:UNLOCK_TP|unlock tp):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  666.  
  667.   end # ACTOR
  668.   module ENEMY
  669.  
  670.     TP_MODE   = /<(?:TP_MODE|tp mode):[ ](\d+)>/i
  671.  
  672.   end # ENEMY
  673.   module BASEITEM
  674.  
  675.     UNLOCK_TP = /<(?:UNLOCK_TP|unlock tp):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  676.     LEARN_TP = /<(?:LEARN_UNLOCK_TP|learn unlock tp):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  677.     TP_COST  = /<(?:TP_COST|tp cost):[ ](\d+)>/i
  678.  
  679.   end # BASEITEM
  680.   end # REGEXP
  681. end # YEA
  682.  
  683. #==============================================================================
  684. # ■ Switch
  685. #==============================================================================
  686.  
  687. module Switch
  688.  
  689.   #--------------------------------------------------------------------------
  690.   # self.tp_mode
  691.   #--------------------------------------------------------------------------
  692.   def self.tp_mode
  693.     return true if YEA::TP_MANAGER::TP_MODE_SWITCH <= 0
  694.     return $game_switches[YEA::TP_MANAGER::TP_MODE_SWITCH]
  695.   end
  696.  
  697.   #--------------------------------------------------------------------------
  698.   # self.tp_mode_set
  699.   #--------------------------------------------------------------------------
  700.   def self.tp_mode_set(item)
  701.     return if YEA::TP_MANAGER::TP_MODE_SWITCH <= 0
  702.     $game_switches[YEA::TP_MANAGER::TP_MODE_SWITCH] = item
  703.   end
  704.  
  705. end # Switch
  706.  
  707. #==============================================================================
  708. # ■ Numeric
  709. #==============================================================================
  710.  
  711. class Numeric
  712.  
  713.   #--------------------------------------------------------------------------
  714.   # new method: group_digits
  715.   #--------------------------------------------------------------------------
  716.   unless $imported["YEA-CoreEngine"]
  717.   def group; return self.to_s; end
  718.   end # $imported["YEA-CoreEngine"]
  719.  
  720. end # Numeric
  721.  
  722. #==============================================================================
  723. # ■ DataManager
  724. #==============================================================================
  725.  
  726. module DataManager
  727.  
  728.   #--------------------------------------------------------------------------
  729.   # alias method: load_database
  730.   #--------------------------------------------------------------------------
  731.   class <<self; alias load_database_tpm load_database; end
  732.   def self.load_database
  733.     load_database_tpm
  734.     load_notetags_tpm
  735.   end
  736.  
  737.   #--------------------------------------------------------------------------
  738.   # new method: load_notetags_tpm
  739.   #--------------------------------------------------------------------------
  740.   def self.load_notetags_tpm
  741.     groups = [$data_actors, $data_enemies, $data_items, $data_skills]
  742.     for group in groups
  743.       for obj in group
  744.         next if obj.nil?
  745.         obj.load_notetags_tpm
  746.       end
  747.     end
  748.   end
  749.  
  750.   #--------------------------------------------------------------------------
  751.   # alias method: setup_new_game
  752.   #--------------------------------------------------------------------------
  753.   class <<self; alias setup_new_game_tpm setup_new_game; end
  754.   def self.setup_new_game
  755.     setup_new_game_tpm
  756.     Switch.tp_mode_set(YEA::TP_MANAGER::DEFAULT_ENABLE)
  757.   end
  758.  
  759. end # DataManager
  760.  
  761. #==============================================================================
  762. # ■ RPG::Actor
  763. #==============================================================================
  764.  
  765. class RPG::Actor < RPG::BaseItem
  766.  
  767.   #--------------------------------------------------------------------------
  768.   # public instance variables
  769.   #--------------------------------------------------------------------------
  770.   attr_accessor :tp_mode
  771.   attr_accessor :unlocked_tp_modes
  772.  
  773.   #--------------------------------------------------------------------------
  774.   # common cache: load_notetags_tpm
  775.   #--------------------------------------------------------------------------
  776.   def load_notetags_tpm
  777.     @tp_mode = nil
  778.     @unlocked_tp_modes = []
  779.     #---
  780.     self.note.split(/[\r\n]+/).each { |line|
  781.       case line
  782.       #---
  783.       when YEA::REGEXP::ACTOR::TP_MODE
  784.         @tp_mode = $1.to_i
  785.       when YEA::REGEXP::ACTOR::UNLOCK_TP
  786.         $1.scan(/\d+/).each { |num|
  787.         @unlocked_tp_modes.push(num.to_i) if num.to_i > 0 }
  788.       #---
  789.       end
  790.     } # self.note.split
  791.     #---
  792.     @tp_mode = YEA::TP_MANAGER::DEFAULT_TP_MODE if @tp_mode.nil?
  793.     if @unlocked_tp_modes.empty?
  794.       @unlocked_tp_modes = YEA::TP_MANAGER::DEFAULT_UNLOCKS.clone
  795.     end
  796.     @unlocked_tp_modes.push(@tp_mode) if !@unlocked_tp_modes.include?(@tp_mode)
  797.     @unlocked_tp_modes.uniq!
  798.     @unlocked_tp_modes.sort!
  799.   end
  800.  
  801. end # RPG::Actor
  802.  
  803. #==============================================================================
  804. # ■ RPG::Enemy
  805. #==============================================================================
  806.  
  807. class RPG::Enemy < RPG::BaseItem
  808.  
  809.   #--------------------------------------------------------------------------
  810.   # public instance variables
  811.   #--------------------------------------------------------------------------
  812.   attr_accessor :tp_mode
  813.  
  814.   #--------------------------------------------------------------------------
  815.   # common cache: load_notetags_tpm
  816.   #--------------------------------------------------------------------------
  817.   def load_notetags_tpm
  818.     @tp_mode = YEA::TP_MANAGER::DEFAULT_TP_MODE
  819.     #---
  820.     self.note.split(/[\r\n]+/).each { |line|
  821.       case line
  822.       #---
  823.       when YEA::REGEXP::ENEMY::TP_MODE
  824.         @tp_mode = $1.to_i
  825.       #---
  826.       end
  827.     } # self.note.split
  828.     #---
  829.   end
  830.  
  831. end # RPG::Enemy
  832.  
  833. #==============================================================================
  834. # ■ RPG::BaseItem
  835. #==============================================================================
  836.  
  837. class RPG::BaseItem
  838.  
  839.   #--------------------------------------------------------------------------
  840.   # public instance variables
  841.   #--------------------------------------------------------------------------
  842.   attr_accessor :unlocked_tp_modes
  843.   attr_accessor :learn_tp_modes
  844.   attr_accessor :tp_cost
  845.  
  846.   #--------------------------------------------------------------------------
  847.   # common cache: load_notetags_tpm
  848.   #--------------------------------------------------------------------------
  849.   def load_notetags_tpm
  850.     @unlocked_tp_modes = []
  851.     @learn_tp_modes = []
  852.     #---
  853.     self.note.split(/[\r\n]+/).each { |line|
  854.       case line
  855.       #---
  856.       when YEA::REGEXP::BASEITEM::UNLOCK_TP
  857.         $1.scan(/\d+/).each { |num|
  858.         @unlocked_tp_modes.push(num.to_i) if num.to_i > 0 }
  859.       when YEA::REGEXP::BASEITEM::LEARN_TP
  860.         $1.scan(/\d+/).each { |num|
  861.         @learn_tp_modes.push(num.to_i) if num.to_i > 0 }
  862.       when YEA::REGEXP::BASEITEM::TP_COST
  863.         next unless self.is_a?(RPG::Skill)
  864.         @tp_cost = $1.to_i
  865.       #---
  866.       end
  867.     } # self.note.split
  868.     #---
  869.   end
  870.  
  871. end # RPG::BaseItem
  872.  
  873. #==============================================================================
  874. # ■ BattleManager
  875. #==============================================================================
  876.  
  877. module BattleManager
  878.   #--------------------------------------------------------------------------
  879.   # alias method: load_database
  880.   #--------------------------------------------------------------------------
  881.   class <<self; alias battle_end_tpm battle_end;end
  882.   def self.battle_end(result)
  883.     battle_end_tpm(result)
  884.     case result
  885.     when 0
  886.       for member in $game_party.alive_members
  887.         member.tp += eval(member.tp_setting(:win_battle))
  888.       end
  889.     when 1
  890.       for member in $game_party.alive_members
  891.         member.tp += eval(member.tp_setting(:flee_battle))
  892.       end
  893.     end
  894.   end
  895.  
  896.  
  897.  
  898. end # BattleManager
  899.  
  900. #==============================================================================
  901. # ■ Game_BattlerBase
  902. #==============================================================================
  903.  
  904. class Game_BattlerBase
  905.   #--------------------------------------------------------------------------
  906.   # public instance variables
  907.   #--------------------------------------------------------------------------
  908.   attr_accessor :tp_mode
  909.   attr_accessor :unlocked_tp_modes
  910.  
  911.   #--------------------------------------------------------------------------
  912.   # overwrite method: max_tp
  913.   #--------------------------------------------------------------------------
  914.   def max_tp; return YEA::TP_MANAGER::TP_LIMIT; end
  915.  
  916.   #--------------------------------------------------------------------------
  917.   # anti-crash methods: max_tp, unlocked_tp_modes
  918.   #--------------------------------------------------------------------------
  919.   def tp_mode; return 0; end
  920.   def unlocked_tp_modes; return [0]; end
  921.  
  922.   #--------------------------------------------------------------------------
  923.   # new method: tp_setting
  924.   #--------------------------------------------------------------------------
  925.   def tp_setting(setting)
  926.     return YEA::TP_MANAGER::TP_MODES[tp_mode][setting]
  927.   end
  928.  
  929.   #--------------------------------------------------------------------------
  930.   # alias method: preserve_tp?
  931.   #--------------------------------------------------------------------------
  932.   alias game_battlerbase_preserve_tp_tpm preserve_tp?
  933.   def preserve_tp?
  934.     return true if tp_setting(:preserve_tp)
  935.     return game_battlerbase_preserve_tp_tpm
  936.   end
  937.  
  938. end # Game_BattlerBase
  939.  
  940. #==============================================================================
  941. # ■ Game_Battler
  942. #==============================================================================
  943.  
  944. class Game_Battler < Game_BattlerBase
  945.  
  946.   #--------------------------------------------------------------------------
  947.   # overwrite method: init_tp
  948.   #--------------------------------------------------------------------------
  949.   def init_tp
  950.     self.tp = eval(tp_setting(:init_tp))
  951.   end
  952.  
  953.   #--------------------------------------------------------------------------
  954.   # overwrite method: charge_tp_by_damage
  955.   #--------------------------------------------------------------------------
  956.   def charge_tp_by_damage(damage_rate)
  957.     self.tp += eval(tp_setting(:take_hp_dmg))
  958.   end
  959.  
  960.   #--------------------------------------------------------------------------
  961.   # new method: charge_tp_by_mp_damage
  962.   #--------------------------------------------------------------------------
  963.   def charge_tp_by_mp_damage(damage_rate)
  964.     self.tp += eval(tp_setting(:take_mp_dmg))
  965.   end
  966.  
  967.   #--------------------------------------------------------------------------
  968.   # overwrite method:
  969.   #--------------------------------------------------------------------------
  970.   def regenerate_tp
  971.     self.tp += eval(tp_setting(:regen_tp))
  972.     self.tp += eval(tp_setting(:low_hp_turn)) if self.hp < tp_low_hp
  973.     self.tp += eval(tp_setting(:low_mp_turn)) if self.mp < tp_low_mp
  974.     if friends_unit.alive_members.size == 1
  975.       self.tp += eval(tp_setting(:only_alive))
  976.     end
  977.   end
  978.  
  979.   #--------------------------------------------------------------------------
  980.   # new method: tp_low_hp
  981.   #--------------------------------------------------------------------------
  982.   def tp_low_hp
  983.     return self.mhp * YEA::TP_MANAGER::LOW_HP
  984.   end
  985.  
  986.   #--------------------------------------------------------------------------
  987.   # new method: tp_low_mp
  988.   #--------------------------------------------------------------------------
  989.   def tp_low_mp
  990.     return self.mmp * YEA::TP_MANAGER::LOW_MP
  991.   end
  992.  
  993.   #--------------------------------------------------------------------------
  994.   # alias method: execute_damage
  995.   #--------------------------------------------------------------------------
  996.   alias game_battler_execute_damage_tpm execute_damage
  997.   def execute_damage(user)
  998.     game_battler_execute_damage_tpm(user)
  999.     return unless $game_party.in_battle
  1000.     if @result.hp_damage > 0
  1001.       user.tp += eval(user.tp_setting(:deal_hp_dmg))
  1002.       gain_tp_ally_hp_damage
  1003.     elsif @result.hp_damage < 0
  1004.       user.tp += eval(user.tp_setting(:heal_hp_dmg))
  1005.     end
  1006.     if @result.mp_damage > 0
  1007.       user.tp += eval(user.tp_setting(:deal_mp_dmg))
  1008.       gain_tp_ally_mp_damage
  1009.       charge_tp_by_mp_damage(@result.mp_damage)
  1010.     elsif @result.mp_damage < 0
  1011.       user.tp += eval(user.tp_setting(:heal_mp_dmg))
  1012.     end
  1013.     user.tp += eval(user.tp_setting(:kill_enemy)) if self.hp == 0
  1014.     gain_tp_kill_ally if self.hp == 0
  1015.   end
  1016.  
  1017.   #--------------------------------------------------------------------------
  1018.   # new method: gain_tp_ally_hp_damage
  1019.   #--------------------------------------------------------------------------
  1020.   def gain_tp_ally_hp_damage
  1021.     for member in friends_unit.alive_members
  1022.       next if member == self
  1023.       member.tp += eval(member.tp_setting(:ally_hp_dmg))
  1024.     end
  1025.   end
  1026.  
  1027.   #--------------------------------------------------------------------------
  1028.   # new method: gain_tp_ally_mp_damage
  1029.   #--------------------------------------------------------------------------
  1030.   def gain_tp_ally_mp_damage
  1031.     for member in friends_unit.alive_members
  1032.       next if member == self
  1033.       member.tp += eval(member.tp_setting(:ally_mp_dmg))
  1034.     end
  1035.   end
  1036.  
  1037.   #--------------------------------------------------------------------------
  1038.   # new method: gain_tp_kill_ally
  1039.   #--------------------------------------------------------------------------
  1040.   def gain_tp_kill_ally
  1041.     for member in friends_unit.alive_members
  1042.       next if member == self
  1043.       member.tp += eval(member.tp_setting(:kill_ally))
  1044.     end
  1045.   end
  1046.  
  1047.   #--------------------------------------------------------------------------
  1048.   # alias method: item_effect_add_state
  1049.   #--------------------------------------------------------------------------
  1050.   alias game_battler_item_effect_add_state_tpm item_effect_add_state
  1051.   def item_effect_add_state(user, item, effect)
  1052.     original_states = states.clone
  1053.     game_battler_item_effect_add_state_tpm(user, item, effect)
  1054.     return unless $game_party.in_battle
  1055.     if original_states != states && opponents_unit.members.include?(user)
  1056.       user.tp += eval(user.tp_setting(:deal_state))
  1057.       self.tp += eval(tp_setting(:gain_state))
  1058.     end
  1059.   end
  1060.  
  1061.   #--------------------------------------------------------------------------
  1062.   # alias method: item_apply
  1063.   #--------------------------------------------------------------------------
  1064.   alias game_battler_item_apply_tpm item_apply
  1065.   def item_apply(user, item)
  1066.     game_battler_item_apply_tpm(user, item)
  1067.     return unless $game_party.in_battle
  1068.     return if @result.hit?
  1069.     self.tp += eval(tp_setting(:evasion))
  1070.   end
  1071.  
  1072.   #--------------------------------------------------------------------------
  1073.   # alias method: item_test
  1074.   #--------------------------------------------------------------------------
  1075.   alias game_battler_item_test_tpm item_test
  1076.   def item_test(user, item)
  1077.     return false if item.for_dead_friend? != dead?
  1078.     return true if item.unlocked_tp_modes.size > 0
  1079.     return game_battler_item_test_tpm(user, item)
  1080.   end
  1081.  
  1082.   #--------------------------------------------------------------------------
  1083.   # alias method: item_user_effect
  1084.   #--------------------------------------------------------------------------
  1085.   alias game_battler_item_user_effect_tpm item_user_effect
  1086.   def item_user_effect(user, item)
  1087.     game_battler_item_user_effect_tpm(user, item)
  1088.     return unless actor?
  1089.     for mode in item.unlocked_tp_modes
  1090.       unlock_tp_mode(mode)
  1091.     end
  1092.   end
  1093.  
  1094. end # Game_Battler
  1095.  
  1096. #==============================================================================
  1097. # ■ Game_Actor
  1098. #==============================================================================
  1099.  
  1100. class Game_Actor < Game_Battler
  1101.  
  1102.   #--------------------------------------------------------------------------
  1103.   # alias method: setup
  1104.   #--------------------------------------------------------------------------
  1105.   alias game_actor_setup_tpm setup
  1106.   def setup(actor_id)
  1107.     game_actor_setup_tpm(actor_id)
  1108.     @tp_mode = actor.tp_mode
  1109.     @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1110.   end
  1111.  
  1112.   #--------------------------------------------------------------------------
  1113.   # new method: tp_mode
  1114.   #--------------------------------------------------------------------------
  1115.   def tp_mode
  1116.     @tp_mode = actor.tp_mode if @tp_mode.nil?
  1117.     return @tp_mode
  1118.   end
  1119.  
  1120.   #--------------------------------------------------------------------------
  1121.   # new method: unlocked_tp_modes
  1122.   #--------------------------------------------------------------------------
  1123.   def unlocked_tp_modes
  1124.     if @unlocked_tp_modes.empty?
  1125.       @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1126.     end
  1127.     return @unlocked_tp_modes.uniq
  1128.   end
  1129.  
  1130.   #--------------------------------------------------------------------------
  1131.   # new method: change_tp_mode
  1132.   #--------------------------------------------------------------------------
  1133.   def change_tp_mode(mode)
  1134.     @tp_mode = mode
  1135.     unlock_tp_mode(mode)
  1136.     self.tp = 0 if YEA::TP_MANAGER::CHANGE_TP_RESET
  1137.   end
  1138.  
  1139.   #--------------------------------------------------------------------------
  1140.   # new method: unlock_tp_mode
  1141.   #--------------------------------------------------------------------------
  1142.   def unlock_tp_mode(mode)
  1143.     if @unlocked_tp_modes.empty?
  1144.       @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1145.     end
  1146.     @unlocked_tp_modes.push(mode)
  1147.     @unlocked_tp_modes.uniq!
  1148.     @unlocked_tp_modes.sort!
  1149.   end
  1150.  
  1151.   #--------------------------------------------------------------------------
  1152.   # new method: remove_tp_mode
  1153.   #--------------------------------------------------------------------------
  1154.   def remove_tp_mode(mode)
  1155.     if @unlocked_tp_modes.empty?
  1156.       @unlocked_tp_modes = actor.unlocked_tp_modes.clone
  1157.     end
  1158.     @unlocked_tp_modes.delete(mode)
  1159.     @tp_mode = @unlocked_tp_modes[0] if @tp_mode == mode
  1160.   end
  1161.  
  1162.   #--------------------------------------------------------------------------
  1163.   # alias method: learn_skill
  1164.   #--------------------------------------------------------------------------
  1165.   alias game_actor_learn_skill_tpm learn_skill
  1166.   def learn_skill(skill_id)
  1167.     game_actor_learn_skill_tpm(skill_id)
  1168.     for mode in $data_skills[skill_id].learn_tp_modes
  1169.       unlock_tp_mode(mode)
  1170.     end
  1171.   end
  1172.  
  1173. end # Game_Actor
  1174.  
  1175. #==============================================================================
  1176. # ■ Game_Enemy
  1177. #==============================================================================
  1178.  
  1179. class Game_Enemy < Game_Battler
  1180.  
  1181.   #--------------------------------------------------------------------------
  1182.   # new method: tp_mode
  1183.   #--------------------------------------------------------------------------
  1184.   def tp_mode; return enemy.tp_mode; end
  1185.  
  1186. end # Game_Enemy
  1187.  
  1188. #==============================================================================
  1189. # ■ Game_Interpreter
  1190. #==============================================================================
  1191.  
  1192. class Game_Interpreter
  1193.  
  1194.   #--------------------------------------------------------------------------
  1195.   # new method: change_tp_mode
  1196.   #--------------------------------------------------------------------------
  1197.   def change_tp_mode(actor_id, mode)
  1198.     $game_actors[actor_id].change_tp_mode(mode)
  1199.   end
  1200.  
  1201.   #--------------------------------------------------------------------------
  1202.   # new method: unlock_tp_mode
  1203.   #--------------------------------------------------------------------------
  1204.   def unlock_tp_mode(actor_id, mode)
  1205.     $game_actors[actor_id].unlock_tp_mode(mode)
  1206.   end
  1207.  
  1208.   #--------------------------------------------------------------------------
  1209.   # new method: remove_tp_mode
  1210.   #--------------------------------------------------------------------------
  1211.   def remove_tp_mode(actor_id, mode)
  1212.     $game_actors[actor_id].remove_tp_mode(mode)
  1213.   end
  1214.  
  1215.   #--------------------------------------------------------------------------
  1216.   # new method: unlock_all_tp_modes
  1217.   #--------------------------------------------------------------------------
  1218.   def unlock_all_tp_modes(actor_id)
  1219.     for key in YEA::TP_MANAGER::TP_MODES
  1220.       $game_actors[actor_id].unlock_tp_mode(key[0])
  1221.     end
  1222.   end
  1223.  
  1224.   #--------------------------------------------------------------------------
  1225.   # new method: remove_all_tp_modes
  1226.   #--------------------------------------------------------------------------
  1227.   def remove_all_tp_modes(actor_id)
  1228.     for key in YEA::TP_MANAGER::TP_MODES
  1229.       next if key[0] == $data_actors[actor_id].tp_mode
  1230.       $game_actors[actor_id].remove_tp_mode(key[0])
  1231.     end
  1232.   end
  1233.  
  1234. end # Game_Interpreter
  1235.  
  1236. #==============================================================================
  1237. # ■ Window_SkillCommand
  1238. #==============================================================================
  1239.  
  1240. class Window_SkillCommand < Window_Command
  1241.  
  1242.   #--------------------------------------------------------------------------
  1243.   # alias method: make_command_list
  1244.   #--------------------------------------------------------------------------
  1245.   alias window_skillcommand_make_command_list_tpm make_command_list
  1246.   def make_command_list
  1247.     return unless @actor
  1248.     window_skillcommand_make_command_list_tpm
  1249.  
  1250.   end
  1251.  
  1252.   #--------------------------------------------------------------------------
  1253.   # new method: add_tp_modes
  1254.   #--------------------------------------------------------------------------
  1255.   def add_tp_modes
  1256.     return unless Switch.tp_mode
  1257.     add_command(YEA::TP_MANAGER::MENU_NAME, :tp_mode, true, :tp_mode)
  1258.   end
  1259.  
  1260. end # Window_SkillCommand
  1261.  
  1262. #==============================================================================
  1263. # ■ Window_SkillList
  1264. #==============================================================================
  1265.  
  1266. class Window_SkillList < Window_Selectable
  1267.  
  1268.   #--------------------------------------------------------------------------
  1269.   # new method: tp_mode?
  1270.   #--------------------------------------------------------------------------
  1271.   def tp_mode?; return @stype_id == :tp_mode; end
  1272.  
  1273.   #--------------------------------------------------------------------------
  1274.   # new method: tp_mode
  1275.   #--------------------------------------------------------------------------
  1276.   def tp_mode
  1277.     return nil unless tp_mode?
  1278.     return @data[index]
  1279.   end
  1280.  
  1281.   #--------------------------------------------------------------------------
  1282.   # alias method: make_item_list
  1283.   #--------------------------------------------------------------------------
  1284.   alias window_skilllist_make_item_list_tpm make_item_list
  1285.   def make_item_list
  1286.     if tp_mode?
  1287.       @data = @actor.unlocked_tp_modes
  1288.       @data.sort!
  1289.     else
  1290.       window_skilllist_make_item_list_tpm
  1291.     end
  1292.   end
  1293.  
  1294.   #--------------------------------------------------------------------------
  1295.   # alias method: draw_item
  1296.   #--------------------------------------------------------------------------
  1297.   alias window_skilllist_draw_item_tpm draw_item
  1298.   def draw_item(index)
  1299.     if tp_mode?
  1300.       draw_tp_mode_item(index)
  1301.     else
  1302.       window_skilllist_draw_item_tpm(index)
  1303.     end
  1304.   end
  1305.  
  1306.   #--------------------------------------------------------------------------
  1307.   # new method: draw_tp_mode_item
  1308.   #--------------------------------------------------------------------------
  1309.   def draw_tp_mode_item(index)
  1310.     tp_mode = @data[index]
  1311.     return unless YEA::TP_MANAGER::TP_MODES.include?(tp_mode)
  1312.     rect = item_rect(index)
  1313.     rect.width -= 4
  1314.     icon = YEA::TP_MANAGER::TP_MODES[tp_mode][:icon]
  1315.     draw_icon(icon, rect.x, rect.y)
  1316.     change_color(tp_mode_colour(tp_mode))
  1317.     name = YEA::TP_MANAGER::TP_MODES[tp_mode][:name]
  1318.     draw_text(rect.x+24, rect.y, rect.width-24, line_height, name)
  1319.   end
  1320.  
  1321.   #--------------------------------------------------------------------------
  1322.   # new method: tp_mode_colour
  1323.   #--------------------------------------------------------------------------
  1324.   def tp_mode_colour(mode)
  1325.     if @actor.tp_mode == mode
  1326.       return text_color(YEA::TP_MANAGER::EQUIPPED_COLOUR)
  1327.     else
  1328.       return normal_color
  1329.     end
  1330.   end
  1331.  
  1332.   #--------------------------------------------------------------------------
  1333.   # alias method: current_item_enabled?
  1334.   #--------------------------------------------------------------------------
  1335.   alias window_skilllist_current_item_enabled current_item_enabled?
  1336.   def current_item_enabled?
  1337.     if tp_mode?
  1338.       return @actor.tp_mode != @data[index]
  1339.     else
  1340.       return window_skilllist_current_item_enabled
  1341.     end
  1342.   end
  1343.  
  1344.   #--------------------------------------------------------------------------
  1345.   # alias method: update_help
  1346.   #--------------------------------------------------------------------------
  1347.   alias window_skilllist_update_help_tpm update_help
  1348.   def update_help
  1349.     if tp_mode?
  1350.       $game_switches[30] = true #mark!!
  1351.  
  1352.       tp_mode = @data[index]
  1353.       if YEA::TP_MANAGER::TP_MODES.include?(tp_mode)
  1354.         text = YEA::TP_MANAGER::TP_MODES[tp_mode][:description]
  1355.       else
  1356.         text = ""
  1357.       end
  1358.       @help_window.set_text(text)
  1359.     else
  1360.       window_skilllist_update_help_tpm
  1361.     end
  1362.   end
  1363.  
  1364. end # Window_SkillList
  1365.  
  1366. #==============================================================================
  1367. # ■ Scene_Skill
  1368. #==============================================================================
  1369.  
  1370. class Scene_Skill < Scene_ItemBase
  1371.  
  1372.   #--------------------------------------------------------------------------
  1373.   # alias method: create_command_window
  1374.   #--------------------------------------------------------------------------
  1375.   alias scene_skill_create_command_window_tpm create_command_window
  1376.   def create_command_window
  1377.     scene_skill_create_command_window_tpm
  1378.     @command_window.set_handler(:tp_mode,    method(:command_skill))
  1379.   end
  1380.  
  1381.   #--------------------------------------------------------------------------
  1382.   # alias method: on_item_ok
  1383.   #--------------------------------------------------------------------------
  1384.   alias scene_skill_on_item_ok_tpm on_item_ok
  1385.   def on_item_ok
  1386.     if @item_window.tp_mode?
  1387.       Sound.play_equip
  1388.       user.change_tp_mode(@item_window.tp_mode)
  1389.       @status_window.refresh
  1390.       @item_window.refresh
  1391.       @item_window.activate
  1392.     else
  1393.       scene_skill_on_item_ok_tpm
  1394.     end
  1395.   end
  1396.  
  1397. end # Scene_Skill
  1398.  
  1399. #==============================================================================
  1400. #
  1401. # ▼ End of File
  1402. #
  1403. #==============================================================================


【技能系统管理】:

RUBY 代码复制
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - Ace Skill Menu v1.01
  4. # -- Last Updated: 2012.01.08
  5. # -- Level: Normal, Hard
  6. # -- Requires: n/a
  7. #
  8. #==============================================================================
  9.  
  10. $imported = {} if $imported.nil?
  11. $imported["YEA-SkillMenu"] = true
  12.  
  13. #==============================================================================
  14. # ▼ Updates
  15. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  16. # 2012.01.08 - Compatibility Update: Learn Skill Engine
  17. # 2012.01.02 - Started Script and Finished.
  18. #
  19. #==============================================================================
  20. # ▼ Introduction
  21. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  22. # This is a menu reordering script for the Skill Menu for RPG Maker VX Ace. The
  23. # script lets you add, remove, and rearrange skill menu additions added by
  24. # other scripts. This script will update periodically to provide better updated
  25. # compatibility with those other scripts.
  26. #
  27. #==============================================================================
  28. # ▼ Instructions
  29. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  30. # To install this script, open up your script editor and copy/paste this script
  31. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  32. #
  33. # Adjust the module's settings to adjust the skill command window.
  34. #
  35. #==============================================================================
  36. # ▼ Compatibility
  37. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  38. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  39. # it will run with RPG Maker VX without adjusting.
  40. #
  41. #==============================================================================
  42.  
  43. module YEA
  44.   module SKILL_MENU
  45.  
  46.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  47.     # - Command Window Settings -
  48.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  49.     # Adjust the command window that appears in the skill command window. Add,
  50.     # remove, or rearrange the commands as you see fit. If you would like to
  51.     # add in custom commands, please refer to the custom hash. Here's a list of
  52.     # what does what:
  53.     #
  54.     # -------------------------------------------------------------------------
  55.     # :command         Description
  56.     # -------------------------------------------------------------------------
  57.     # :stype_list      Displays all of the actor's usable skill types.
  58.     #
  59.     # :tp_mode         Requires YEA - TP Manager
  60.     # :learn_skill     Requires YEA - Learn Skill Engine
  61.     #
  62.     # :grathnode       Requires Kread-EX - Grathnode Install
  63.     # :sslots          Requires YSA - Slots Battle
  64.     #
  65.     # And that's all of the currently available commands. This list will be
  66.     # updated as more scripts become available.
  67.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  68.     COMMANDS =[
  69.       :stype_list,   # Displays all of the actor's usable skill types.
  70.       :learn_skill,  # Requires YEA - Learn Skill Engine
  71.       :tp_mode,      # Requires YEA - TP Manager
  72.       :grathnode,    # Requires Kread-EX - Grathnode Install
  73.       :sslots,       # Requires YSA - Slots Battle.
  74.     # :custom1,      # Custom Skill Command 1
  75.     # :custom2,      # Custom Skill Command 2
  76.     ] # Do not remove this.
  77.  
  78.     #--------------------------------------------------------------------------
  79.     # - Skill Custom Commands -
  80.     # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  81.     # For those who use scripts to that may produce unique effects for
  82.     # equipping, use this hash to manage the custom commands for the Skill
  83.     # Command Window. You can disable certain commands or prevent them from
  84.     # appearing by using switches. If you don't wish to bind them to a switch,
  85.     # set the proper switch to 0 for it to have no impact.
  86.     #--------------------------------------------------------------------------
  87.     CUSTOM_SKILL_COMMANDS ={
  88.     # :command => ["Display Name", EnableSwitch, ShowSwitch, Handler Method],
  89.       :grathnode => ["Grathnodes",            0,          0, :command_grath],
  90.       :sslots  => [  "Pick Slots",            0,          0, :command_sslot],
  91.       :custom1 => [ "Custom Name",            0,          0, :command_name1],
  92.       :custom2 => [ "Custom Text",           13,          0, :command_name2],
  93.     } # Do not remove this.
  94.  
  95.   end # SKILL_MENU
  96. end # YEA
  97.  
  98. #==============================================================================
  99. # ▼ Editting anything past this point may potentially result in causing
  100. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  101. # halitosis so edit at your own risk.
  102. #==============================================================================
  103.  
  104. #==============================================================================
  105. # ■ Game_Temp
  106. #==============================================================================
  107.  
  108. class Game_Temp
  109.  
  110.   #--------------------------------------------------------------------------
  111.   # public instance variables
  112.   #--------------------------------------------------------------------------
  113.   attr_accessor :scene_skill_index
  114.   attr_accessor :scene_skill_oy
  115.  
  116. end # Game_Temp
  117.  
  118. #==============================================================================
  119. # ■ Window_SkillCommand
  120. #==============================================================================
  121.  
  122. class Window_SkillCommand < Window_Command
  123.  
  124.   #--------------------------------------------------------------------------
  125.   # alias method: make_command_list
  126.   #--------------------------------------------------------------------------
  127.   alias window_skillcommand_make_command_list_asm make_command_list
  128.   def make_command_list
  129.     unless SceneManager.scene_is?(Scene_Skill)
  130.       window_skillcommand_make_command_list_asm
  131.       return
  132.     end
  133.     return unless @actor
  134.     for command in YEA::SKILL_MENU::COMMANDS
  135.       case command
  136.       #--- Imported YEA ---
  137.       when :stype_list
  138.         add_skill_types
  139.       #--- Imported YEA ---
  140.       when :tp_mode
  141.         next unless $imported["YEA-TPManager"]
  142.         add_tp_modes
  143.       when :learn_skill
  144.         next unless $imported["YEA-LearnSkillEngine"]
  145.         add_learn_skill_command
  146.       #--- Imported Other ---
  147.       when :grathnode
  148.         next unless $imported["KRX-GrathnodeInstall"]
  149.         process_custom_command(command)
  150.       when :sslots
  151.         next unless $imported["YSA-SlotBattle"]
  152.         process_custom_command(command)
  153.       #--- Custom Commands ---
  154.       else
  155.         process_custom_command(command)
  156.       end
  157.     end
  158.   end
  159.  
  160.   #--------------------------------------------------------------------------
  161.   # new method: add_skill_types
  162.   #--------------------------------------------------------------------------
  163.   def add_skill_types
  164.     @actor.added_skill_types.each do |stype_id|
  165.       name = $data_system.skill_types[stype_id]
  166.       add_command(name, :skill, true, stype_id)
  167.     end
  168.   end
  169.  
  170.   #--------------------------------------------------------------------------
  171.   # new method: process_custom_command
  172.   #--------------------------------------------------------------------------
  173.   def process_custom_command(command)
  174.     return unless YEA::SKILL_MENU::CUSTOM_SKILL_COMMANDS.include?(command)
  175.     show = YEA::SKILL_MENU::CUSTOM_SKILL_COMMANDS[command][2]
  176.     continue = show <= 0 ? true : $game_switches[show]
  177.     return unless continue
  178.     text = YEA::SKILL_MENU::CUSTOM_SKILL_COMMANDS[command][0]
  179.     switch = YEA::SKILL_MENU::CUSTOM_SKILL_COMMANDS[command][1]
  180.     enabled = switch <= 0 ? true : $game_switches[switch]
  181.     add_command(text, command, enabled, @actor.added_skill_types[0])
  182.   end
  183.  
  184.   #--------------------------------------------------------------------------
  185.   # new method: process_ok
  186.   #--------------------------------------------------------------------------
  187.   def process_ok
  188.     if SceneManager.scene_is?(Scene_Skill)
  189.       $game_temp.scene_skill_index = index
  190.       $game_temp.scene_skill_oy = self.oy
  191.     end
  192.     super
  193.   end
  194.  
  195. end # Window_SkillCommand
  196.  
  197. #==============================================================================
  198. # ■ Scene_Skill
  199. #==============================================================================
  200.  
  201. class Scene_Skill < Scene_ItemBase
  202.  
  203.   #--------------------------------------------------------------------------
  204.   # alias method: create_command_window
  205.   #--------------------------------------------------------------------------
  206.   alias scene_skill_create_command_window_asm create_command_window
  207.   def create_command_window
  208.     scene_skill_create_command_window_asm
  209.     if !$game_temp.scene_skill_index.nil? && SceneManager.scene_is?(Scene_Skill)
  210.       @command_window.select($game_temp.scene_skill_index)
  211.       @command_window.oy = $game_temp.scene_skill_oy
  212.     end
  213.     $game_temp.scene_skill_index = nil
  214.     $game_temp.scene_skill_oy = nil
  215.     process_custom_skill_commands
  216.   end
  217.  
  218.   #--------------------------------------------------------------------------
  219.   # new method: process_custom_skill_commands
  220.   #--------------------------------------------------------------------------
  221.   def process_custom_skill_commands
  222.     for command in YEA::SKILL_MENU::COMMANDS
  223.       next unless YEA::SKILL_MENU::CUSTOM_SKILL_COMMANDS.include?(command)
  224.       called_method = YEA::SKILL_MENU::CUSTOM_SKILL_COMMANDS[command][3]
  225.       @command_window.set_handler(command, method(called_method))
  226.     end
  227.   end
  228.  
  229.   #--------------------------------------------------------------------------
  230.   # new method: command_grath
  231.   #--------------------------------------------------------------------------
  232.   def command_grath
  233.     SceneManager.call(Scene_Grathnode)
  234.   end
  235.  
  236.   #--------------------------------------------------------------------------
  237.   # new method: command_sslot
  238.   #--------------------------------------------------------------------------
  239.   def command_sslot
  240.     SceneManager.call(Scene_PickSlots)
  241.   end
  242.  
  243.   #--------------------------------------------------------------------------
  244.   # new method: command_name1
  245.   #--------------------------------------------------------------------------
  246.   def command_name1
  247.     # Do nothing.
  248.   end
  249.  
  250.   #--------------------------------------------------------------------------
  251.   # new method: command_name2
  252.   #--------------------------------------------------------------------------
  253.   def command_name2
  254.     # Do nothing.
  255.   end
  256.  
  257. end # Scene_Skill
  258.  
  259. #==============================================================================
  260. #
  261. # ▼ End of File
  262. #
  263. #==============================================================================
   

Lv1.梦旅人

梦石
0
星屑
50
在线时间
381 小时
注册时间
2012-8-13
帖子
113
2
 楼主| 发表于 2013-3-31 09:47:52 | 只看该作者
自己解决了。。。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2009
在线时间
658 小时
注册时间
2014-2-15
帖子
81
3
发表于 2016-4-26 14:52:08 | 只看该作者
请问您是怎么解决的?
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-27 13:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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