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

[转载发布] EkuipFeatures ACE

[复制链接]
累计送礼:
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-3 11:39:17 | 显示全部楼层 |阅读模式
    EkuipFeatures ACE

    by Kyonides


    Introduction

    This simple scriptlet will allow you to add or remove Equip Types to any given Actor during gameplay at will.
    Warning: It uses a couple of script calls to accomplish that.

    The Script - Stable Version

                    Ruby:       
    1. # * EkuipFeatures ACE * #
    2. #   Scripter : Kyonides Arkanthes
    3. #   2023-05-10
    4. # This scriptlet will allow you to add or remove Equip Types to
    5. # any given Actor during gameplay at will.
    6. # * Script Calls * #
    7. # - Find an Actor - 2 Methods:
    8. # actor = $game_party.members[Index]
    9. # actor = $game_actors[ActorID]
    10. # - Learn a New Equip Type
    11. # actor.learn_weapon_type(EquipTypeIndex)
    12. # actor.learn_armor_type(EquipTypeIndex)
    13. # - Forget a given Equip Type
    14. # actor.forget_weapon_type(EquipTypeIndex)
    15. # actor.forget_armor_type(EquipTypeIndex)
    16. module Ekuip
    17.   class FeaturesContainer
    18.     attr_reader :features
    19.     def initialize
    20.       @features = []
    21.     end
    22.     def add(type_code, type_id)
    23.       @features << RPG::BaseItem::Feature.new(type_code, type_id)
    24.       @features = @features.uniq{|f| f.data_id }
    25.     end
    26.     def remove(type_code, type_id)
    27.       @features.delete_if{|f| f.same_data?(type_code, type_id) }
    28.     end
    29.   end
    30. end
    31. class RPG::BaseItem::Feature
    32.   def same_data?(type_code, type_id)
    33.     @code == type_code and @data_id == type_id
    34.   end
    35. end
    36. class Game_Actor
    37.   alias :kyon_learn_ekuip_types_gm_act_init :initialize
    38.   alias :kyon_learn_ekuip_types_gm_act_feat_obj :feature_objects
    39.   def initialize(actor_id)
    40.     @weapon_features = Ekuip::FeaturesContainer.new
    41.     @armor_features = Ekuip::FeaturesContainer.new
    42.     kyon_learn_ekuip_types_gm_act_init(actor_id)
    43.   end
    44.   def equip_features
    45.     [@weapon_features] + [@armor_features]
    46.   end
    47.   def feature_objects
    48.     kyon_learn_ekuip_types_gm_act_feat_obj + equip_features
    49.   end
    50.   def learn_weapon_type(type_id)
    51.     @weapon_features.add(FEATURE_EQUIP_WTYPE, type_id)
    52.   end
    53.   def learn_armor_type(type_id)
    54.     @armor_features.add(FEATURE_EQUIP_ATYPE, type_id)
    55.   end
    56.   def forget_weapon_type(type_id)
    57.     @weapon_features.remove(FEATURE_EQUIP_WTYPE, type_id)
    58.   end
    59.   def forget_armor_type(type_id)
    60.     @armor_features.remove(FEATURE_EQUIP_ATYPE, type_id)
    61.   end
    62. end
    复制代码


    Warning for Newcomers:

    If you only need to make a single call to learn a type, then do this:

                    Ruby:       
    1. $game_actors[10].learn_weapon_type(2)
    复制代码


    Terms & Conditions

    Free for use in any game.
    Include my name in your game credits.
    That's it!


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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-17 06:20 , Processed in 0.097055 second(s), 52 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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