赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 0 |
最后登录 | 2025-7-11 |
在线时间 | 7 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 7 小时
- 注册时间
- 2023-9-12
- 帖子
- 4
|
谢谢大佬,不过我找deepseek解决了,他给的是这样的,不过你这个看起来更简单
- when 7 # 特殊物品分类
- # 使用名称前缀识别特殊物品
- special_prefix = "★" # 自定义前缀符号
-
- # 检查物品
- for i in 1...$data_items.size
- item = $data_items[i]
- if item && item.name.include?(special_prefix) && $game_party.item_number(i) > 0
- @data.push(item)
- end
- end
-
- # 检查武器
- for i in 1...$data_weapons.size
- weapon = $data_weapons[i]
- if weapon && weapon.name.include?(special_prefix) && $game_party.weapon_number(i) > 0
- @data.push(weapon)
- end
- end
-
- # 检查防具
- for i in 1...$data_armors.size
- armor = $data_armors[i]
- if armor && armor.name.include?(special_prefix) && $game_party.armor_number(i) > 0
- @data.push(armor)
- end
- end
- end
- # 項目数が 0 でなければビットマップを作成し、全項目を描画
- @item_max = @data.size
- if @item_max > 0
- self.contents = Bitmap.new(width - 32, row_max * 32)
- self.contents.clear
- for i in 0...@item_max
- draw_item(i)
- end
- end
- end
- 然后还有这一种
- class Harts_Window_ItemList < Window_Selectable
- # 特殊物品ID列表 [类型, ID]
- # 类型: 0=物品, 1=武器, 2=防具
- SPECIAL_ITEMS = [
- [0, 23], # 物品ID 23
- [0, 45], # 物品ID 45
- [1, 12], # 武器ID 12
- [2, 8] # 防具ID 8
- ]
-
- def set_item(command)
- refresh
- case command
- # ... 其他分类保持不变 ...
- when 7 # 特殊物品分类
- SPECIAL_ITEMS.each do |type, id|
- case type
- when 0 # 物品
- if $game_party.item_number(id) > 0
- @data.push($data_items[id])
- end
- when 1 # 武器
- if $game_party.weapon_number(id) > 0
- @data.push($data_weapons[id])
- end
- when 2 # 防具
- if $game_party.armor_number(id) > 0
- @data.push($data_armors[id])
- end
- end
- end
- end
- # ... 后续代码 ...
- end
- end
复制代码 |
|