1.2.20 • Published 2 years ago

pkth5_resource_tools v1.2.20

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

更新游戏资源

如何使用

  1. 编辑更改resource\pkth5商城索引表.xlsx(可用配置修改)文件
  2. 添加并提交项目。可以使用命令行, 也可以在页面上对文件进行替换
  3. 打tag,更新或者发布游戏。进入此页面https://code.apowo.com/PixelPai/pkth5_resource_tools/-/tags,点击`New tag。 在Tag name中填入update-xx.xx.xx(更新游戏资源)或者release-xx.xx.xx`(更新游戏资源并发布)

概述

脚本将解析resource\pkth5商城索引表.xlsx(可用配置修改)文件,依据格式读取平台物件资源库,根据物件最后版本生成相应的配置文件。
并将配置文件更新到游戏资源内,之后更新游戏也可以选择更新并直接发布。

关于Excel表

id索引规则

前缀+0000001

前缀对应表

  • 场景: S
  • 家具: IF
  • 道具: IP
  • 数值道具 IV
  • 装备: EQUIP
  • 物件(矿石): EF, EMINE
  • 奖励: REWARD
  • 商品: CF|CP|CA (家具,道具,装扮)
  • 游戏配置 SETTING

关于功能

关于条件

例如装备列表内的conditions列

条件为一个条件列表,即满足任意条件即可,当然如果条件为空则无需条件即可执行.

举例:

  • 条件1{"className": "MiningLevel", "value":">=2"},会判定矿工等级大于2的为真否则为假 (运行逻辑为调用MiningLevel的class将>11传入判定)

具体的相关条件查看条件列表

关于功能

具体相关功能查看功能列表

关于任务

任务类型 questType

主线任务 为1 支线任务 为2 每日任务 为3

任务目标 questTargets

[
    {
        "className": "QuestAttr",
        "attrName": "IF0000001",
        "display": {"texture_path":"equip_mine/m_alloy_pick.png"},
        "targetCount": 2
    },
    {
        "className": "Item",
        "id": "IF0000001",
        "targetCount": 3,
        "type": "Exchange" // type可以不填,填写Exchange时将在完成任务时扣除背包中物件
    }
]

奖励 rewards

填写奖励id

领取触发条件 stage0EventConditoins

每日任务由定时刷新任务给予,不需要设置触发条件

[{ "eventCondition": "PlayerLevel", "value":">=2"},{"eventCondition": "FinishQuest", "value":"QUEST0000002"}]

任务进程 stage2

任务进程主要处理任务完成逻辑,与可能与任务目标相关

// 完成两次矿洞副本
[
    {
        "eventName": "FinishDungeon",  // 监听完成副本事件 
        "conditions": [
            {
                "className": "ValueCompare",  // 条件判断 当副本名称为mine时 , 具体属性 详见 下一个标题 事件以及条件属性
                "key": "dungeon.name", 
                "value": "==mine"
            }
        ], 
        "actions": [
            {
                "className": "AddQuestAttrAction",  // 为任务属性IF0000001 数值加1
                "attrName": "IF0000001", 
                "value": 1
            }
        ]
    }, 
    {
        "eventName": "QuestAttrChange",   // 监听任务属性变动
        "conditions": [
            {
                "className": "ValueCompare",       // 条件判断  当任务属性值 IF0000001 >=2时
                "key": "quest.questAttr.IF0000001", 
                "value": ">=2"
            }
        ], 
        "actions": [
            {
                "className": "ChangeQuestStageAction",   // 将任务将跳转至stage 3, 即已完成待领取奖励
                "stage": 3
            }
        ]
    }
]
事件以及条件属性
QuestStageChange事件:
RoomEnter 事件: { player, room}
SubmitQuest 事件: { player, quest }
QuestAttrChange 事件: { player, quest, attrName, attrValue }
FinishDungeon 事件: { player, dungeon}
PlayerLevelUp 事件: { player, level}
MiningLevelUp 事件: { player, level}
PackageAddItem 事件: { player, package}
PlayerInit 事件: { player }
MiningFinish 事件: { player, mine}
FarmingElement 事件: { player, crop}
MiningElement 事件: { player, mine }
CleaningElement 事件: { player, room, element }
OpenBox 事件: { player, element }
UpgradeRoomCompleted 事件: { room }
ElementActive 事件: { player, element }
SubmitJob 事件: { player, job, times }
SubmitOrderQuest 事件: {orderQuest, player }
Player

name platformId coinCurrency diamondCurrency gameId

Quest

id name des questType publisherId consigneeId stage limit rewards acceptTime stepIndex questAttr

Dungeon

name

Level

currentLevel currentLevelExp

Room

name id playerLimit playerCount

关于配置

目录config/default.json内可以修改此脚本默认配置

  • 发布游戏的账号信息
 "account": {
        "username" : "pixelpai",
        "password": "1qaz2wsx"
    }
  • 需要更新配置的主游戏id
    "main_game_id" : "5e196f5f6303544a1c3f18a8"

  • 需要更新配置的个人小屋
    "room_game_id": "5e410ba50681ad5557b4d6e9"

  • 连接的平台地址
    "api_root": "https://api-dev.tooqing.com"

  • 七牛云地址 "osd_root": "https://osd-alpha.tooqing.com"

开发前需知

Roles:

  • 物件依据sn从平台获取最后版本的物件信息构建
  • 更新游戏资源,将会copy七牛云资源至新的目录结构下

事件配置

EventCount条件为:

  • eventType为枚举 room, roomType, playerInit, submitJob, submitQuest, openBox, farming, mining, cleaning, selfRoom, otherRoom
  • mark 为存储对象的键
  • count 第几次
  • days 每x天

玩家进入指定场景

//  目前所有统计有最大值 最大10次

[ { "eventName": "RoomEnter", "conditions": [ { "className": "StrValueCompare", "key": "room.name", "value": "pkt_S0000004" }, {"className": "EventCount", "value": {"eventType":"room", "mark": "pkt_S0000004", "count": 1, "days":1}} ], "actions" :[
    
 ] } ]

// 采集任意作物5个
[
    { 
    "eventName": "FarmingElement", 
    "conditions": [{ "className": "EventCount", "value": {"eventType":"farming", "mark": null, "count":5} }], 
    "actions": []
    }
]



//  进入任意其他玩家房间5次
[
    { 
    "eventName": "RoomEnter", 
    "conditions": [
        { "className": "EventCount", "value": {"eventType":"otherRoom", "mark": "room", "count":5} }
        ], 
    "actions": []
    }
]