cataclysmdda吧 关注:24,200贴子:355,139
  • 8回复贴,共1

口袋偏好设置基本指南

只看楼主收藏回复

自10771起,cdda新加入的口袋系统有了一个便利的功能:玩家可以设置口袋偏好了。那么具体而言物品在捡起后会进入哪个口袋呢?我结合源码进行了测试,原则归纳如下:(如有谬误,欢迎指正)
对所有口袋按照优先度(priority),进行排序,同优先度口袋进行下列计算:
根据黑白名单进行储存;
若口袋有ammo_restriction(弹药约束),则优先填充约束的弹药;
若口袋有flag_restriction的,则优先填充约束的物品(如小刀鞘之类的);
对于消耗品,若口袋的腐坏系数(spoil_multiplier)小的优先;(也就是腐坏速度慢的优先)
水密和坚硬(rigid)检测;(这段代码我没怎么看懂)
若剩余容积相等,选取行动力点数少的;
选取剩余容积小的储存;
(下面放实测,纯文字警告)


IP属地:浙江1楼2020-06-22 16:20回复
    实测部分,测试穿着幸存者套装(轻型),军用水壶,小刀鞘(腰),箭筒,皮质背包;
    捡起的物品:投石索,战壕匕首,牛排刀,咖啡机,怀表,毛巾,石头(19),木制宽刃箭(20)
    第一次测试:清除所有偏好设置,默认捡取;
    结果,牛排刀进了小刀鞘,宽刃箭进入了箭筒,战壕匕首和石子进入了皮质背包,剩余都在幸存者套装;
    第二次测试:设置皮质背包的优先度为5;
    结果:所有东西都进了皮质背包;
    第三次测试:清空原有设置,设置小刀鞘和箭筒优先度为5,(提高优先度以确保入鞘)幸存者套装所有口袋优先度为-1,设置第一个口袋白名单为枪械,皮质背包设置白名单枪械(比较同为白名单的情况下优先度结果);
    结果:牛排刀进了小刀鞘,宽刃箭进入了箭筒,(提高优先度的目的达成)
    石头(过大)、战壕匕首(过长)、投石索进入了皮质背包;
    咖啡机(过重)进入了幸存者套装口袋2,毛巾怀表进入了口袋3;
    (这个结果和白名单定义有关,白名单是除名单以外的物品都不能放入,所以被迫用了选取剩余容积最小的算法)


    IP属地:浙江2楼2020-06-22 16:21
    回复
      2026-03-04 15:18:54
      广告
      不感兴趣
      开通SVIP免广告
      个人心得:
      1.建议把刀鞘、弹药包、箭筒之类的物品提高优先度,方便相关物品优先放入;
      2.如果有不想放东西的容器,如衣服之类的,可以设置优先度为负数,避免提高累赘度(以后可以考虑穿重型幸存者套浪了,设置好了只有8累赘);
      3.只有一个口袋的背包建议不要设置白名单,避免程序被迫按照最小剩余容量算法
      4.白名单怎么取消?你再选一次就取消了


      IP属地:浙江3楼2020-06-22 16:26
      回复
        rigid會不會是指這個容器會不會隨著所裝物品的多寡而膨脹體積。
        像是皮水袋水裝越多累贅越高,而軍用水壺則不會。 (不過我版本不夠新,我也只是猜的XD


        IP属地:中国台湾4楼2020-06-22 22:38
        收起回复
          不知道是不是尽量把东西装在背包里(直接无脑选最大容量的)然后如果要近战了直接把包扔地上保证低累赘,打完再捡包就行。反正躯干累赘基本只影响近战和跑路。


          IP属地:上海来自Android客户端5楼2020-06-23 15:59
          收起回复
            暖贴


            6楼2020-06-24 18:05
            回复
              修正:
              1.黑白名单在优先级前,比方你优先级0的口袋设置现金卡白名单,背包设置1优先级,那么你捡现金卡的时候会进入你优先级为0的口袋而不是背包;当时对代码和测试结果的理解有误,顺序是:
              有做偏好设置的(黑白名单>优先级)>弹药>flag>腐坏系数>同剩余容积的行动力>最小剩余容积;
              (水密容器可能在迫不得已下当作普通容器用,但是可能会导致可堆叠物品出现数量bug,因此不建议使用)
              2.优先级设置负数在S/L后会重置为0,因此建议不放东西的口袋设置一个你基本上不会捡的东西或者根本就放不进去的东西做白名单,只要不触发最小剩余容积优先规则都不会放东西;


              IP属地:浙江7楼2020-06-24 20:56
              回复