pvz2吧 关注:111,670贴子:2,571,806
  • 13回复贴,共1

关于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
        收起回复
          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
                回复
                  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
                        回复
                          EFFECTOBJECTTYPES效果类型
                          这个东西关联了其他文件PROPERTYSHEETS(这个之后再讲),以及资源相关文件
                          可修改的内容
                          "effectobject_frostwind"寒风;"effectobject_frostwind_zomboss"僵王的寒风;"effectobject_trapfire"火焰机关;"effectobject_planeshadow"空袭阴影;"strawburst_plantfood"秸秆叶绿素爆炸(毁灭菇);"escaperoot_targetplant"树根变身爆炸;"tombstone_spawn"墓碑刷新;"PotatoMineExplosion"土豆地雷爆炸;"SolarTomatoMainExplosion"阳光番茄爆炸;"snappea_burrowattack"食人花豌豆遁地攻击;"puffball_confetti"毒液球爆裂;"murkadamia_tentacles"夏威夷果荆棘;"TeleportatoMineExplosion"传送土豆地雷爆炸


                          IP属地:重庆17楼2023-12-12 22:38
                          收起回复
                            EVENT_SCHEDULE任务时间
                            "Name"任务名;"QuestUniqueIDs"任务ID(关联到Quest文件,待会会讲);"StartDateTime"任务开始时间;"EndDateTime"任务结束时间
                            这里主要修改时间来调整任务,可以通过修改来完成一些过时的任务
                            QUEST任务数据
                            "LevelName"关卡名称;"QuestCategory"类别(一般不修改);"UniqueID"任务ID;"QuestName"任务名;"Description"描述;"CompletionAwards"完成奖励;"Prerequisites"先决条件(一般不修改);"Priority"优先级(一般不修改)


                            IP属地:重庆22楼2023-12-26 22:45
                            回复