插件脚本 [21.1]背包检索功能;

Halily

馆主
2024/01/14
29
2
17
625
21
从宝可梦同人Tectonic Earthquake中移植出来的功能;
在原有的基础上,支持全背包检索,并能跳转到对应口袋:

浏览附件bandicam 2024-10-29 18-14-37-538.mp4
如果您安装了Bag Screen with interactable Party插件:
则在适当位置添加以下内容:
Ruby:
elsif Input.triggerex?(:TAB)
              searchText = pbEnterText("输人物品名称或描述.", 0, 999)
              if searchText != ""
                searchText = searchText.downcase 
                matchedItems = []

                @bag.pockets.each_with_index do |thispocket, pocketIndex|
                  thispocket.each_with_index do |potentialItem, potentialIndex|
                    description = GameData::Item.get(potentialItem[0]).name.downcase + GameData::Item.get(potentialItem[0]).description.downcase
                    if description.include?(searchText)
                        matchedItems.push({ index: potentialIndex, pocket: pocketIndex, item: potentialItem[0] })
                    end
                  end
                end
  
                if matchedItems.length == 1
                     item = matchedItems[0]
                  itemwindow.pocket = item[:pocket]
                  itemwindow.index = item[:index]
    
                  @bag.last_viewed_pocket = item[:pocket]
                  pbRefresh
    
                elsif matchedItems.length > 1
                  itemId = pbChooseItemFromListWithoutVar("搜索结果.", *matchedItems.map { |m| m[:item] })
                  if itemId
                    selectedItem = matchedItems.find { |m| m[:item] == itemId }
                    if selectedItem
                      itemwindow.pocket = selectedItem[:pocket]
                      itemwindow.index = selectedItem[:index]

                      @bag.last_viewed_pocket = selectedItem[:pocket]
                      pbRefresh
                    end
                  end
                end
              end

浏览附件2.mp4
最近一次更新:2024/11/10
 

附件

  • [EX]物品检索.zip
    2.6 KB · 查看: 9
最后编辑:

Halily

馆主
2024/01/14
29
2
17
625
21
便捷注册;

浏览附件bandicam 2024-11-10 17-53-10-991.mp4
Ruby:
elsif Input.triggerex?(:R)
  if !@choosing 
    if @bag.registered?(itemwindow.item)
      pbPlayDecisionSE
      @bag.unregister(itemwindow.item)
      pbRefresh
    elsif pbCanRegisterItem?(itemwindow.item)
      pbPlayDecisionSE
      @bag.register(itemwindow.item)
      pbRefresh
    end
  end
 
最后编辑:

TAAAAAAA

天王
管理成员
2024/06/16
241
4
36
1,270
便捷注册;

浏览附件3059
Ruby:
elsif Input.triggerex?(:R)
  if !@choosing && itemwindow.index<thispocket.length
    if @bag.registered?(itemwindow.item)
      pbPlayDecisionSE
      @bag.unregister(itemwindow.item)
    elsif pbCanRegisterItem?(itemwindow.item)
      pbPlayDecisionSE
      @bag.register(itemwindow.item)
    end
    pbRefresh
  end
好,等会就反向移植!
 

TAAAAAAA

天王
管理成员
2024/06/16
241
4
36
1,270
只是被注释掉了正好看见。
啥?没看懂。
我的意思是说你的这个功能很好,所以我打算加到Earthquake里。

另外,关于你的代码,可以优化一下——
我修改之后的代码就不放了,版本不同并不通用,你自己改一下就好,没啥难度。
 

Halily

馆主
2024/01/14
29
2
17
625
21
啥?没看懂。
我的意思是说你的这个功能很好,所以我打算加到Earthquake里。

另外,关于你的代码,可以优化一下——
我修改之后的代码就不放了,版本不同并不通用,你自己改一下就好,没啥难度。
好的。
 

在线成员

现在没有成员在线。

最新帖子

论坛统计

主题
517
消息
2,352
成员
3,007
最新成员
ZQLdw