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

[转载发布] Party's equipped weapons/armour

[复制链接]
累计送礼:
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-7-26 13:19:36 | 显示全部楼层 |阅读模式
    Sel Feena's Party Equipment Monitor V 1.0



     

    Introduction

    This script allows users to automatically keep tabs on if specific weapons or armour are equipped by the current members of their party. This is done by creating a checklist inside the script; if the weapon/armour is equipped by one or all members of the party (you can choose which), a switch is flipped ON. If not, it is OFF. There are no script calls to make, just some setup within the script.

     

    Features

    - Monitor if any members in your party have a specific weapon/armour equipped.

    - Choose if the ALL party members are required to have an item equipped or not (could be good for infiltration subgame?)

     

     

    Screenshots

    N/A

     

    How to Use

    You build a checklist of weapons and armour to check by editing the CHECKLIST array inside the script. Let's say that:

    - If any member of my party has weapon 1 equipped, I want to flip switch 10 ON

    - If all members of my party have armour 4 equipped, I want to flip switch 11 ON

    Then my CHECKLIST would look like this:

     

      CHECKLIST = [

      # [ equip type ("a" = armour, "w" = weapon), DB ID, all party equipped?, switch ID ]

        [ "w",                                     1,     false,               10 ],

        [ "a",                                     4,      true,               11 ]

      ]

     

    Demo

    N/A

     

    Script

     

                    Code:       
    1. #==============================================================================
    2. # Equipment Checks V 1.0 by Sel Feena
    3. #
    4. # A simple script that will flick switches on/off if it is equipped.
    5. # You can check weapons/armour, and specify if all members have to have this
    6. # equipped to work.
    7. #
    8. # Credits go to NeonBlack for his Equipment and Skill Check Ace Scriptlet,
    9. # for showing me how to access the data needed. :3
    10. #
    11. # This script will run through the checklist whenever new armour/weapons
    12. # are equipped, and also when party members are added or removed.
    13. #
    14. # INSTRUCTIONS
    15. #
    16. #  You build a checklist of weapons and armour to check by editing the CHECKLIST
    17. #  array below. Let's say that:
    18. #  - If member of my party has weapon 1 equipped, I want to flip switch 10 ON
    19. #  - If all members of my party have armour 4 equipped, I want to flip switch 11 ON
    20. #  Then my CHECKLIST would look like this:
    21. #
    22. #  CHECKLIST = [
    23. #  # [ equip type ("a" = armour, "w" = weapon), DB ID, all party equipped?, switch ID ]
    24. #    [ "w",                                     1,     false,               10 ],
    25. #    [ "a",                                     4,      true,               11 ]
    26. #  ]
    27. #
    28. #==============================================================================
    29.  
    30. module SLF_EquipCheck
    31.   CHECKLIST = [
    32.   # [ equip type ("a" = armour, "w" = weapon), DB ID, all party?, switch ID ]
    33.   ]
    34.   
    35.   def self.update
    36.     CHECKLIST.each { |monitor|
    37.       case monitor[0]
    38.       when "w"
    39.         check_weapons_equipped(monitor[1], monitor[2], monitor[3])
    40.       when "a"
    41.         check_armour_equipped(monitor[1], monitor[2], monitor[3])
    42.       end
    43.     }
    44.   end
    45.  
    46.   def self.check_weapons_equipped(weapon_id, all_members, switch_id)
    47.     result = false
    48.     $game_party.members.each { |party_member|
    49.       result = party_member.weapons.include?($data_weapons[weapon_id])
    50.       break if result == true unless all_members
    51.       break if result == false if all_members    
    52.     }
    53.     #Endeach.
    54.     $game_switches[switch_id] = result
    55.   end
    56.   
    57.   def self.check_armour_equipped(armour_id, all_members, switch_id)
    58.     result = false
    59.     $game_party.members.each { |party_member|
    60.       result = party_member.armors.include?($data_armors[armour_id])
    61.       break if result == true unless all_members
    62.       break if result == false if all_members    
    63.     }
    64.     #Endeach.
    65.     $game_switches[switch_id] = result
    66.   end
    67. end # SLF_EquipCheck
    68.  
    69. #==============================================================================
    70. # Aliasing Game_Party to run checks on party change
    71. #==============================================================================
    72. class Game_Party < Game_Unit
    73.   #--------------------------------------------------------------------------
    74.   # * Add an Actor
    75.   #--------------------------------------------------------------------------
    76.   alias slf_add_actor add_actor
    77.   def add_actor(actor_id)
    78.     slf_add_actor(actor_id)
    79.     SLF_EquipCheck.update
    80.   end
    81.   #--------------------------------------------------------------------------
    82.   # * Remove Actor
    83.   #--------------------------------------------------------------------------
    84.   alias slf_remove_actor remove_actor
    85.   def remove_actor(actor_id)
    86.     slf_remove_actor(actor_id)
    87.     SLF_EquipCheck.update
    88.   end
    89. end # Game_Interpreter
    90.  
    91. #==============================================================================
    92. # Aliasing Game_Actor.change_equip to run checks on equipment change
    93. #==============================================================================
    94. class Game_Actor < Game_Battler  
    95.   #--------------------------------------------------------------------------
    96.   # * Change equipment
    97.   #--------------------------------------------------------------------------
    98.   alias slf_change_equip change_equip
    99.   def change_equip(slot_id, item)
    100.     slf_change_equip(slot_id, item)
    101.     SLF_EquipCheck.update
    102.   end  
    103. end #Game_Actor
    复制代码


     

    FAQ

    Q: Where do I put this?

    A: Above Main, below Materials

     

    Q: Where are the script calls needed?

    A: None are necessary. When you change equipment in for your characters, or change party members (through either an event call or by using script calls), this script should detect it.

     

    Q: What about custom weapon/armour setups?

    A: I've tested this out briefly with Yanfly's scripts and there doesn't seem to be an issue.

     

    Credit and Thanks

    - Sel Feena

    - Shaz & Tsukihime for clearing up my confusion regarding aliases

    - Neon Black's very clear script highlighting where the weapon and armour info can be accessed.

     

    Author's Notes

    For the next version it could be nice to:

    - Specify a specific actor that must have the item equipped

    - Monitor the count of specified items, using a variable to update it


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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-17 14:12 , Processed in 0.137266 second(s), 54 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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