pvz2吧 关注:111,668贴子:2,571,805

关于OBB里的RTON解包数据

只看楼主收藏回复

我将OBB里的Packages文件夹的RTON文件修改内容做了一下粗略的注解,可能有误,欢迎大家指出。也欢迎大家的探讨


IP属地:重庆1楼2023-12-09 19:30回复
    我会对每一个文件里的东西进行一些注释,到时候整合成一个包


    IP属地:重庆2楼2023-12-09 23:15
    回复
      注意,修改须理性修改,禁止在本帖里发布严重破坏游戏平衡性的东西。本贴仅是针对一些对修改比较感兴趣的玩家所写的。


      IP属地:重庆4楼2023-12-09 23:27
      回复
        ARMORTYPES
        这个文件主要是添加/修改僵尸的防具
        例子:
        {
        "objclass": "ArmorPropertySheet",
        "物体类型"
        "#comment": "Template! Copy + Paste me!",
        "注释"
        "aliases": [
        "此处填写物体别称"
        ],
        "objdata": {
        "物体数据"
        "ArmorType": "Unknown",
        "防具类型"
        "ClassName": "Armor",
        "类型名称"
        "BaseHealth": 0.0,
        "耐久"
        "ArmorFlags": [
        "此处填写标签(对应的标签有对应的属性)"
        ],
        "#comment": "标签:none, body, helm, metallic, invincible, damageable, droppable, absorboverflow, passdamage (armor will not absorb damage)",
        "上述标签分别对应":"无, 身体, 头盔, 金属的, 无法破坏, 可损坏, 可掉落, 吸收溢出, 假防具
        "若填'假防具',防具不会吸收任何伤害"
        "ArmorLayers": [
        "贴图1",
        "贴图2",
        "贴图3"
        ],
        "防具的贴图"
        "ArmorLayerHealth": [
        "填写0到1之间的数字,此处记作为A",
        "填写0到1之间的数字"
        ],
        "当防具的剩余耐久占原来的A倍时,切换为贴图2.同理切换为贴图3"
        "ParticleLayerOverride": [
        "填写粒子效果贴图"
        ],
        "ImpactSoundEvent": "填写受击后播放的声音",
        "DropSoundEvent": "填写破碎后播放的声音"
        }
        }
        可以发现,我所举的例子实际上是防具的基本属性。由于贴图是OBB中打包好了的,这里不做过多的解释,感兴趣的吧友们可以自行尝试修改


        IP属地:重庆5楼2023-12-09 23:36
        收起回复
          能写完的话给个精。


          IP属地:广东来自Android客户端6楼2023-12-10 00:55
          收起回复
            AWARD_CONFIG就是对礼盒的奖励和花园里面植物成熟后的奖励的配置
            例子
            "objdata": {
            "GiftBoxRewards": [
            {
            "Category": "GiftBox",
            "类别"
            "AwardParam": "powerupflickzombie",
            "奖励参数(指类别)"
            "Probability": 2,
            "概率(这里是权重)"
            "Award": "powerupuse",
            "奖励物"
            "AwardQuantity": 1
            "数量"
            }
            可以看到,打开礼盒就会掉落以上的奖励。当奖励的物品不止一个时,物品的概率就会是 P1/(P1+P2),若将物品A的Probability设置为2,物品B的Probability设置为3,则爆出物品A的概率为2/(2+3)=2/5
            "ZenGardenPlantRewardsPropertySheet"是禅境花园里植物的奖励,"ZenGardenMarigoldFinalRewards"是金盏花成熟的奖励
            "objdata": {
            "LootCategories": [
            {
            "Award": "coins",
            "Probability": 1
            }
            ],
            "CoinRewards": [
            {
            "Award": "coins",
            "AwardQuantity": 500,
            "Probability": 1
            }
            ]
            }
            成熟后的金盏花会奖励500金币,这里的掉落物"coins"就是金币的代码
            "ZenGardenNormalPlantRewards",普通植物(非一次性)成熟后的奖励
            "objdata": {
            "LootCategories": [
            {
            "Award": "plant_boost",
            "Probability": 1
            }
            ]
            }
            这里的"plant_boost"为强化,种下后100%开大


            IP属地:重庆7楼2023-12-10 11:43
            收起回复
              BOARDGRIDMAPS可以配置关卡中的生成物摆放的位置
              但仅仅只是位置,具体生成的什么东西还要在Levels文件夹里面关卡文件中关联CurrentLevel和BoardGridMaps两个文件里面的内容,生成物可能是霉菌,保护植物的瓷砖,能量瓷砖,墓碑等的东西
              例子:
              {
              "aliases": [
              "这里随便填"
              ],
              "objclass": "BoardGridMapProps",
              "objdata": {
              "Values": [
              [第一行的数据],
              [第二行的数据],
              [第三行的数据],
              [第四行的数据],
              [第五行的数据]
              ]
              }
              每行的数据由九个数字组成,这九个数字分别对应着1到9列的格子。数字均由0(不放置)和1(放置)组成,有的还有数字2(比如有矿车的铁轨)。我们拿遥远未来34天来举例
              ==========此部分为关卡文件Future34中的内容==========
              {
              "aliases": [
              "ChallengeModule"
              ],
              "objclass": "StarChallengeModuleProperties",
              "objdata": {
              "Challenges": [
              [
              "RTID(BeatTheLevel@CurrentLevel)",
              "RTID(DoNotPlantBeforeLine@CurrentLevel)"
              ]
              ],
              "ChallengesAlwaysAvailable": true
              }
              },
              {
              "aliases": [
              "DoNotPlantBeforeLine"
              ],
              "objclass": "MoldColonyChallengeProps",
              "objdata": {
              "Locations": "RTID(Future34@BoardGridMaps)"
              }
              }
              "MoldColonyChallengeProps"就是完成不种植在霉菌上的挑战
              ==========此部分为BoardGridMap的内容
              {
              "aliases": [
              "Future34"
              ],
              "objclass": "BoardGridMapProps",
              "objdata": {
              "Values": [
              [
              1,
              0,
              1,
              0,
              1,
              0,
              1,
              1,
              1
              ],
              [
              1,
              1,
              0,
              1,
              0,
              1,
              1,
              1,
              1
              ],
              [
              1,
              0,
              1,
              0,
              1,
              0,
              1,
              1,
              1
              ],
              [
              1,
              1,
              0,
              1,
              0,
              1,
              1,
              1,
              1
              ],
              [
              1,
              0,
              1,
              0,
              1,
              0,
              1,
              1,
              1
              ]
              ]
              }
              }
              这里的1就代表有霉菌,0就代表无霉菌


              IP属地:重庆8楼2023-12-10 12:57
              收起回复
                CALENDAR_SCHEDULE主要是签到的奖励和起止时间
                "Category"是属于哪个类别的,在CalendarConfig文件里面"CalendarCategoryOrder"后面的字符串就是"Category"能够填写的内容,分别有"weekly","event7","event10","event14","monthly"
                "StartDateTime"开始时间;"EndDateTime"结束时间;"LoginType"后面的内容可以不用管;"Name"名称,随便填写,但格式为"[XXX]",括号里面的内容选自于LawnStrings文件里面的,关于LS我后面会讲到;"RetainForever"是否永久保留,若为true则忽略时间限制;"Theme"主题背景,可不填;"UniqueID"该签到组的ID,不要与其他ID冲突
                "Rewards"签到奖励,每天签到时获得的物品
                "Rewards": [
                {
                "Award": "plantXP",
                "AwardParam": "sunflower",
                "AwardQuantity": 6
                }
                这个签到后可以奖励6个向日葵的碎片。"Award"后面的词条可以跟"plantXP","pinata","mints","coins","gems","tickets"和"fuel"


                IP属地:重庆9楼2023-12-10 16:47
                回复
                  COLLECTABLETYPES主要是收集物
                  收集物包括金币,钻石,阳光,种子,钱袋,雪人午餐盒,世界钥匙,奖杯等的一些东西(包括旧版本的一些东西)
                  "TypeName"物品名称;"CollectableClass"收集物类型;"PopAnim"贴图;"Scale"大小;"Dimensions"贴图坐标;"GroundSound"掉落声音;"CollectSound"被收集声音;"ExpireDuration"存在时间;"FadeOutDuration"消失后贴图淡出时间;"Value"价值,若收集物为金币则是"CoinValue",钻石则是"GemValue"
                  "RewardDialogTitle"收集物标题(结算时,诸如钱袋这种);"RewardDialogDescriptions"收集物文字(诸如钱袋这种);"RewardDialogImage"收集物图片(结算时);"ContentsType"包含物(如钱袋包含银币);"ContentsCount"包含物数量
                  {
                  "objclass": "CollectableMoneyBagType",
                  "objdata": {
                  "TypeName": "moneybag",
                  "CollectableClass": "Collectable",
                  "StandaloneImage": "IMAGE_ENDLEVEL_MONEYBAG",
                  "StandaloneGroup": "CollectableUnique",
                  "Scale": 1.0,
                  "Dimensions": {
                  "x": 100,
                  "y": 100
                  },
                  "SpawnSound": "Play_Coin",
                  "GroundSound": "Play_UI_Game_Prize_MoneyBag_Drop",
                  "CollectSound": "Play_UI_Game_Reward_CoinBag",
                  "RewardDialogTitle": "[AWARD_SCREEN_MONEYBAG_TITLE]",
                  "RewardDialogDescriptions": [
                  "[AWARD_SCREEN_MONEYBAG_DESCRIPTION_01]",
                  "[AWARD_SCREEN_MONEYBAG_DESCRIPTION_02]",
                  "[AWARD_SCREEN_MONEYBAG_DESCRIPTION_03]",
                  "[AWARD_SCREEN_MONEYBAG_DESCRIPTION_05]"
                  ],
                  "RewardDialogImage": "IMAGE_ENDLEVEL_MONEYBAG",
                  "ContentsType": "coin_gold",
                  "ContentsCount": 5
                  }
                  我这里将钱袋的包含物改为了金币,但数量不变,所以每次拿到钱袋都是500硬币


                  IP属地:重庆10楼2023-12-10 23:02
                  回复
                    顶顶,希望可以再产生一批优质自制关作者


                    IP属地:四川来自Android客户端11楼2023-12-10 23:04
                    收起回复
                      Colors就是对颜色的配置,这个没什么好讲的
                      "TypeName"颜色名称;"ColorValue"颜色属性;"mRed"红色增益;"mGreen"绿色增益;"mBlue"蓝色增益;"mAlpha"不透明度
                      值得注意的是,红绿蓝增益和不透明度是取值范围都是0到255之间的整数,可以到颜色采集器里面去试一试


                      IP属地:重庆12楼2023-12-10 23:16
                      回复
                        CreatureTypes是对生物进行的更改,里面都是恐龙,也没有什么好修改的
                        "TypeName"生物名称;"Properties"属性,由于这里涉及到了PropertySheets文件,所以暂时不讲,等之后哪段时间吧;"ResourceGroups"资源组;"AudioGroups"音乐组;"PopAnim"贴图;"HomeWorld"家乡,这一项没什么好改的
                        由于这个跨文件的比较多,所以修改起来很麻烦


                        IP属地:重庆13楼2023-12-10 23:32
                        回复
                          DailyQuestData是每日任务的内容
                          "QuestName"任务名称;"Description"描述;"ActionsToPerform"需完成的次数;"CompletionAwards"完成奖励;"Type"奖励类型;"Amount"数量;"Repeatable"可重复完成;"Disabled"是否禁用
                          每日任务里面的内容比较短,且容易理解,修改也比较简单,这里就没有举例说明了


                          IP属地:重庆14楼2023-12-10 23:45
                          回复
                            EASQUARED_CONFIG广告配置
                            这个是看广告的设置,可以修改每次看广告的奖励和最多能看的次数。(注意:这个并不能阻止强制广告)
                            该文件内容较少,所以直接展出代码
                            {
                            "#comment": "EA^2 configuration",
                            "version": 1,
                            "objects": [
                            {
                            "objclass": "EASquaredPropertySheet",
                            "aliases": [
                            "EASquaredConfig"
                            ],
                            "objdata": {
                            "MinimumDaysSinceInstall": 1,
                            "安装后至少多少天才可以看广告"
                            "FreeCoinsAwarded": 500,
                            "每次看广告奖励的金币数量"
                            "FreeGemsAwarded": 3,
                            "每次看广告奖励的金币数量"
                            "FreeGemsButtonMaxThrottle": 3,
                            "获得钻石最多能看的广告数量"
                            "FreeTicketsAwarded": 1,
                            "每次看广告奖励的联赛钥匙数量"
                            "FreeTicketsButtonMaxThrottle": 4,
                            "获得钥匙最多能看的广告数量"
                            "FreeMintsAwarded": 1,
                            "每次看广告奖励的薄荷糖数量"
                            "FreeMintsButtonMaxThrottle": 2,
                            "获得薄荷糖最多能看的广告数量"
                            "FreePowerupsAwarded": 1,
                            "每次看广告奖励的金手指数量"
                            "FreePowerupsMaxThrottle": 2,
                            "获得金手指最多能看的广告数量"
                            "FreePennyFuelAwarded": 5,
                            "每次看广告奖励的电池数量"
                            "FreePennyFuelButtonMaxThrottle": 2,
                            "获得电池最多能看的广告数量"
                            "PowerupType": "powerupwizardfinger",
                            "金手指类型"
                            "FreePinatasMaxThrottle": 15,
                            "获得植物碎片最多能看的广告数量"
                            "FreeSproutsMaxThrottle": 3,
                            "获得种子最多能看的广告数量"
                            "EnableAdMobMediation": true,
                            "启用广告中介(暂时还不清楚这是什么)"
                            "FreeCoinsButtonMaxThrottle": 5
                            "获得金币最多能看的广告数量"
                            }
                            }
                            ]
                            }
                            这个文件的可能会影响游戏平衡,请谨慎修改。(建议修改看广告的数量)


                            IP属地:重庆15楼2023-12-10 23:52
                            回复
                              PlantPowerUps不是植物大招数据,而是植物被各自家族的薄荷强化时的数据


                              IP属地:广西16楼2023-12-11 12:51
                              收起回复