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

[转载发布] KFrozenSkill XP

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

    连续签到: 2 天

    [LV.7]常住居民III

    4461

    主题

    864

    回帖

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

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

    灌水之王

    发表于 前天 17:48 | 显示全部楼层 |阅读模式
    KFrozenSkill XP

    by Kyonides Arkanthes


    I guess there could be such moments where you would love to freeze a given hero's skill :wizard: as a plot device :book: or just as a funny way to bother the player.


    Guess what! Now you can do that!

    Note: Instructions are already embedded in my script!

                    Ruby:        
    1. # * KFrozenSkill XP
    2. #   Scripter : Kyonides Arkanthes
    3. #   v 1.0.0 - 2022-06-09
    4. # Have you ever wanted to freeze a hero's given skill?
    5. # Now you can!
    6. # * Script Calls * #
    7. # actor = $game_actors[ID]
    8. # OR...
    9. # actor = $game_party.actors[Index]
    10. # actor.freeze_skill(SkillID, Options)
    11. # - Options - They got to be separated by commas!
    12. # - Actor with a given ID has got to be dead:
    13. # :actor => 1
    14. # :hp => 1500 (as minimum)
    15. # :sp => 275 (as minimum)
    16. # :gold => 1500
    17. # :item => [ItemID, Quantity]
    18. # Example:
    19. # actor.freeze_skill(1, :actor => 3, :hp => 1200)
    20. # * Optional Script Calls * #
    21. # actor.frozen_skill?(skill_id)
    22. # actor.thawed_skill?(skill_id)
    23. # * Warnings * #
    24. # Skills can only be frozen once!
    25. # The script call will fail if the hero has not learned the chosen skill!
    26. class Game_Actor
    27.   alias :kyon_frozen_skill_gm_actor_init :initialize
    28.   alias :kyon_frozen_skill_gm_actor_skill_use? :skill_can_use?
    29.   def initialize(actor_id)
    30.     kyon_frozen_skill_gm_actor_init(actor_id)
    31.     @frozen_skills = {}
    32.     @thawed_skills = []
    33.   end
    34.   def freeze_skill(skill_id, options={})
    35.     return if !@skills.include?(skill_id) or @thawed_skills.include?(skill_id)
    36.     return if options.empty?
    37.     @frozen_skills[skill_id] = options
    38.   end
    39.   def thaw_skill(skill_id)
    40.     req = @frozen_skills[skill_id]
    41.     return unless req
    42.     gold = req[:gold]
    43.     if gold and $game_party.gold >= gold
    44.       $game_party.lose_gold(gold)
    45.       req.delete(:gold)
    46.     end
    47.     item = req[:item]
    48.     if item and $game_party.item_number(item[0]) >= item[1]
    49.       $game_party.lose_item(item[0], item[1])
    50.       req.delete(:item)
    51.     end
    52.     var = req[:actor]
    53.     req.delete(:actor) if var and $game_actors[var].dead?
    54.     var = req[:hp]
    55.     req.delete(:hp) if var and var <= maxhp
    56.     var = req[:sp]
    57.     req.delete(:sp) if var and var <= maxsp
    58.     return if req.keys.size > 0
    59.     @frozen_skills.delete(skill_id)
    60.     @thawed_skills << skill_id
    61.     @thawed_skills = @thawed_skills.sort.uniq
    62.     true
    63.   end
    64.   def skill_can_use?(skill_id)
    65.     return false if frozen_skill?(skill_id)
    66.     kyon_frozen_skill_gm_actor_skill_use?(skill_id)
    67.   end
    68.   def frozen_skill?(skill_id) @frozen_skills.keys.include?(skill_id) end
    69.   def thawed_skill?(skill_id) @thawed_skills.include?(skill_id) end
    70.   def frozen_skill_ids() @frozen_skills.keys.sort end
    71.   attr_reader :frozen_skills, :thawed_skills
    72. end
    复制代码


    Terms & Conditions

    Free as in beer for use in non commercial games. Contact me if you want to go commercial. ;D
    Don't worry pals! I know it's a scriptlet so it'll be quite inexpensive. Guaranteed.
    Later on I might publish a small menu that could let you handle this actions with ease.


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

    本帖子中包含更多资源

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

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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-7-14 16:52 , Processed in 0.114868 second(s), 56 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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