This commit is contained in:
milimoe 2026-05-08 01:38:54 +08:00
parent 851f839568
commit 3c4b85fedc
Signed by: milimoe
GPG Key ID: 9554D37E4B8991D0
3 changed files with 225 additions and 210 deletions

View File

@ -1,205 +1,207 @@
namespace Oshima.FunGame.OshimaServers.Service
using Oshima.FunGame.OshimaServers.Models;
namespace Oshima.FunGame.OshimaServers.Service
{
public class FunGameOrderList
{
public static Dictionary<string, string> ArchiveHelp { get; } = new() {
{"创建存档", "创建存档,生成随机一个自建角色"},
{"还原存档", "没有后悔药"},
{"我的存档", "查看账号/存档信息"},
{"创建存档".CreateCmdInput(), "创建存档,生成随机一个自建角色"},
{"还原存档".CreateCmdInput(), "没有后悔药"},
{"我的存档".CreateCmdInput(), "查看账号/存档信息"},
};
public static Dictionary<string, string> CharacterHelp { get; } = new() {
{"我角色 [角色序号]", "查看角色简略信息默认1"},
{"我的角色 [角色序号]", "查看角色详细信息默认1"},
{"设置主战 <角色序号>", "将指定角色设置为主战"},
{"我的主战", "查看当前主战角色"},
{"开启练级 [角色序号]", "启动练级模式"},
{"练级结算", "收取练级奖励,并且回血和复活"},
{"练级信息", "查看练级进度"},
{"我的状态", "查看主战角色状态"},
{"装备 <角色序号> <物品序号>", "装备指定物品给角色"},
{"取消装备 <角色序号> <装备槽序号>", "卸下角色装备槽位1-6"},
{"加物/添加背包物品 <角色序号> <物品序号>", "添加指定消耗品到角色背包"},
{"减物/移除背包物品 <角色序号> <背包物品序号>", "取回角色背包的消耗品"},
{"角色升级 [角色序号]", "提升角色等级默认1"},
{"角色突破 [角色序号]", "突破等级限制默认1"},
{"突破信息 [角色序号]", "查看突破需求默认1"},
{"普攻升级 [角色序号]", "升级普攻等级默认1"},
{"查看普攻升级 [角色序号]", "查看下一次普攻升级信息默认1"},
{"技能升级 <角色序号> <技能名称>", "升级技能等级"},
{"查看技能升级 <角色序号> <技能名称>", "查看下一次技能升级信息"},
{"角色重随", "重新随机角色属性"},
{"角色改名", "修改角色名字"},
{"我的小队", "查看小队角色名单"},
{"设置小队 <{序号...}>", "设置小队角色1-4个参数"},
{"小队添加 <角色序号>", "将角色加入小队"},
{"小队移除 <角色序号>", "将角色移出小队"},
{"小队状态", "查看小队所有角色状态"},
{"清空小队", "清空所有小队成员"},
{"生命之泉", "使用金币回复角色状态"},
{"酒馆", "使用钻石使角色获得满能量"},
{$"{"".CreateCmdInput()} [角色序号]", "查看角色简略信息默认1"},
{$"{"".CreateCmdInput()} [角色序号]", "查看角色详细信息默认1"},
{$"{"".CreateCmdInput()} <角色序号>", "将指定角色设置为主战"},
{"我的主战".CreateCmdInput(), "查看当前主战角色"},
{$"{"".CreateCmdInput()} [角色序号]", "启动练级模式"},
{"练级结算".CreateCmdInput(), "收取练级奖励,并且回血和复活"},
{"练级信息".CreateCmdInput(), "查看练级进度"},
{"我的状态".CreateCmdInput(), "查看主战角色状态"},
{$"{"".CreateCmdInput()} <角色序号> <物品序号>", "装备指定物品给角色"},
{$"{"".CreateCmdInput()} <角色序号> <装备槽序号>", "卸下角色装备槽位1-6"},
{$"{"".CreateCmdInput()}/添加背包物品 <角色序号> <物品序号>", "添加指定消耗品到角色背包"},
{$"{"".CreateCmdInput()}/移除背包物品 <角色序号> <背包物品序号>", "取回角色背包的消耗品"},
{$"{"".CreateCmdInput()} [角色序号]", "提升角色等级默认1"},
{$"{"".CreateCmdInput()} [角色序号]", "突破等级限制默认1"},
{$"{"".CreateCmdInput()} [角色序号]", "查看突破需求默认1"},
{$"{"".CreateCmdInput()} [角色序号]", "升级普攻等级默认1"},
{$"{"".CreateCmdInput()} [角色序号]", "查看下一次普攻升级信息默认1"},
{$"{"".CreateCmdInput()} <角色序号> <技能名称>", "升级技能等级"},
{$"{"".CreateCmdInput()} <角色序号> <技能名称>", "查看下一次技能升级信息"},
{"角色重随".CreateCmdInput(), "重新随机角色属性"},
{"角色改名".CreateCmdInput(), "修改角色名字"},
{"我的小队".CreateCmdInput(), "查看小队角色名单"},
{$"{"".CreateCmdInput()} <{{序号...}}>", "设置小队角色1-4个参数"},
{$"{"".CreateCmdInput()} <角色序号>", "将角色加入小队"},
{$"{"".CreateCmdInput()} <角色序号>", "将角色移出小队"},
{"小队状态".CreateCmdInput(), "查看小队所有角色状态"},
{"清空小队".CreateCmdInput(), "清空所有小队成员"},
{"生命之泉".CreateCmdInput(), "使用金币回复角色状态"},
{"酒馆".CreateCmdInput(), "使用钻石使角色获得满能量"},
};
public static Dictionary<string, string> ItemHelp { get; } = new() {
{"我的库存 [页码]", "显示所有库存(角色+物品)"},
{"我的库存 <类型> [页码]", "按类型查看库存(卡包/武器/防具等)"},
{"分类库存 <索引> [页码]", "按索引分类查看物品"},
{"物品库存 [页码]", "显示库存中所有物品"},
{"角色库存 [页码]", "显示库存中所有角色"},
{"我的物品 <物品序号>", "查看指定物品详细信息"},
{"库存搜索2/库存查询2 [关键词] [页码]", "查询库存中的物品"},
{"库存搜索/库存查询 [关键词] [页码]", "查询库存中的物品"},
{"抽卡/十连抽卡", "金币抽卡1000/次)"},
{"钻石抽卡/钻石十连抽卡", "钻石抽卡5/次)"},
{"兑换金币 <钻石数>", "1钻石=200金币"},
{"使用 <物品名称> <数量> [角色] [角色序号]", "使用物品(可指定角色)举例:使用大经验书 100 角色1"},
{"使用 <物品序号> [使用次数] [角色] [角色序号]", "使用物品(可指定角色)"},
{"使用魔法卡 <物品序号> <卡包序号>", "使用指定魔法卡"},
{"合成魔法卡 <{物品序号...}>", "3张魔法卡合成空格隔开"},
{"分解物品 <{物品序号...}>", "分解指定物品"},
{"分解 <物品名称> <数量>", "分解指定数量物品"},
{"强制分解 <物品名称> <数量>", "分解指定数量物品"},
{"品质分解 <品质索引>", "按品质分解0-6普通/优秀/稀有/史诗/传说/神话/不朽)"},
{"锻造配方 <{<物品名称> <数量>...}>", "创建一个锻造配方" },
{"锻造信息", "查看已经创建的锻造配方" },
{"取消锻造", "取消已经创建的锻造配方" },
{"模拟锻造", "模拟锻造结果" },
{"确认开始锻造", "确认已经创建的锻造配方并开始锻造" },
{$"{"".CreateCmdInput()} [页码]", "显示所有库存(角色+物品)"},
{$"{"".CreateCmdInput()} <类型> [页码]", "按类型查看库存(卡包/武器/防具等)"},
{$"{"".CreateCmdInput()} <索引> [页码]", "按索引分类查看物品"},
{$"{"".CreateCmdInput()} [页码]", "显示库存中所有物品"},
{$"{"".CreateCmdInput()} [页码]", "显示库存中所有角色"},
{$"{"".CreateCmdInput()} <物品序号>", "查看指定物品详细信息"},
{$"{"2".CreateCmdInput()}/库存查询2 [关键词] [页码]", "查询库存中的物品(仅搜索名称)"},
{$"{"".CreateCmdInput()}/库存查询 [关键词] [页码]", "查询库存中的物品(包含描述)"},
{$"{"".CreateCmdInput()}/{"".CreateCmdInput()}", "金币抽卡1000/次)"},
{$"{"".CreateCmdInput()}/{"".CreateCmdInput()}", "钻石抽卡5/次)"},
{$"{"".CreateCmdInput()} <钻石数>", "1钻石=200金币"},
{$"{"使".CreateCmdInput()} <物品名称> <数量> [角色] [角色序号]", "使用物品(可指定角色)举例:使用大经验书 100 角色1"},
{$"{"使".CreateCmdInput()} <物品序号> [使用次数] [角色] [角色序号]", "使用物品(可指定角色)"},
{$"{"使".CreateCmdInput()} <物品序号> <卡包序号>", "使用指定魔法卡"},
{$"{"".CreateCmdInput()} <{{物品序号...}}>", "3张魔法卡合成空格隔开"},
{$"{"".CreateCmdInput()} <{{物品序号...}}>", "分解指定物品"},
{$"{"".CreateCmdInput()} <物品名称> <数量>", "分解指定数量物品"},
{$"{"".CreateCmdInput()} <物品名称> <数量>", "分解指定数量物品"},
{$"{"".CreateCmdInput()} <品质索引>", "按品质分解0-6普通/优秀/稀有/史诗/传说/神话/不朽)"},
{$"{"".CreateCmdInput()} <{{<物品名称> <数量>...}}>", "创建一个锻造配方" },
{"锻造信息".CreateCmdInput(), "查看已经创建的锻造配方" },
{"取消锻造".CreateCmdInput(), "取消已经创建的锻造配方" },
{"模拟锻造".CreateCmdInput(), "模拟锻造结果" },
{"确认开始锻造".CreateCmdInput(), "确认已经创建的锻造配方并开始锻造" },
};
public static Dictionary<string, string> BattleHelp { get; } = new() {
{"决斗 <对方UID/昵称>", "和对方切磋(简化版)"},
{"完整决斗 <对方UID/昵称>", "和对方切磋(完整版)"},
{"小队决斗 <对方UID/昵称>", "小队切磋"},
{"查询boss [boss序号]", "查看boss信息缺省返回列表"},
{"讨伐boss <boss序号>", "主战角色讨伐指定boss"},
{"小队讨伐boss <boss序号>", "小队讨伐指定boss"},
{"开启练级 [角色序号]", "启动练级模式"},
{"练级结算", "收取练级奖励,并且回血和复活"},
{"练级信息", "查看练级进度"},
{"生命之泉", "使用金币回复角色状态"},
{"酒馆", "使用钻石使角色获得满能量"},
{"排行榜/养成排行榜", "查看全服角色养成排行榜"},
{"金币排行榜", "查看全服金币数量排行榜"},
{"钻石排行榜", "查看全服钻石数量排行榜"},
{"赛马排行榜", "查看全服赛马积分排行榜"},
{"共斗排行榜", "查看全服共斗积分排行榜"},
{"锻造排行榜", "查看全服锻造积分排行榜"},
{$"{"".CreateCmdInput()} <对方UID/昵称>", "和对方切磋(简化版)"},
{$"{"".CreateCmdInput()} <对方UID/昵称>", "和对方切磋(完整版)"},
{$"{"".CreateCmdInput()} <对方UID/昵称>", "小队切磋"},
{$"{"boss".CreateCmdInput()} [boss序号]", "查看boss信息缺省返回列表"},
{$"{"boss".CreateCmdInput()} <boss序号>", "主战角色讨伐指定boss"},
{$"{"boss".CreateCmdInput()} <boss序号>", "小队讨伐指定boss"},
{$"{"".CreateCmdInput()} [角色序号]", "启动练级模式"},
{"练级结算".CreateCmdInput(), "收取练级奖励,并且回血和复活"},
{"练级信息".CreateCmdInput(), "查看练级进度"},
{"生命之泉".CreateCmdInput(), "使用金币回复角色状态"},
{"酒馆".CreateCmdInput(), "使用钻石使角色获得满能量"},
{$"{"".CreateCmdInput()}/养成排行榜", "查看全服角色养成排行榜"},
{"金币排行榜".CreateCmdInput(), "查看全服金币数量排行榜"},
{"钻石排行榜".CreateCmdInput(), "查看全服钻石数量排行榜"},
{"赛马排行榜".CreateCmdInput(), "查看全服赛马积分排行榜"},
{"共斗排行榜".CreateCmdInput(), "查看全服共斗积分排行榜"},
{"锻造排行榜".CreateCmdInput(), "查看全服锻造积分排行榜"},
};
public static Dictionary<string, string> PlayHelp { get; } = new() {
{"任务列表", "查看今日任务列表"},
{"做任务 <任务序号>", "开始指定任务"},
{"任务信息", "查看进行中任务详情"},
{"任务结算", "结算所有未完成的任务"},
{"世界地图", "查看当前地图"},
{"主城", "查看主城信息"},
{"查地区 <地区序号>", "查看指定地区信息"},
{"探索 <地区序号> <{角色序号...}>", "探索指定地区(可多角色)"},
{"小队探索 <地区序号>", "以小队探索指定地区"},
{"探索结算", "结算所有未完成的探索"},
{"挑战金币秘境 <难度>", "以小队挑战金币秘境秘境难度1-5"},
{"挑战钻石秘境 <难度>", "以小队挑战钻石秘境秘境难度1-5"},
{"挑战经验秘境 <难度>", "以小队挑战经验秘境秘境难度1-5"},
{"挑战地区秘境 <难度>", "以小队挑战地区锻造材料秘境秘境难度1-5"},
{"挑战突破秘境 <难度>", "以小队挑战角色突破材料秘境秘境难度1-5"},
{"挑战技能秘境 <难度>", "以小队挑战技能升级材料秘境秘境难度1-5"},
{"挑战魔法卡秘境 <难度>", "以小队挑战魔法卡秘境秘境难度1-5"},
{"锻造配方 <{<物品名称> <数量>...}>", "创建一个锻造配方" },
{"锻造信息", "查看已经创建的锻造配方" },
{"取消锻造", "取消已经创建的锻造配方" },
{"模拟锻造", "模拟锻造结果" },
{"确认开始锻造", "确认已经创建的锻造配方并开始锻造" },
{"创建房间 <类型>", "类型mix/team/cooperative/horseracing对应混战/团队/共斗/赛马" },
{"加入房间 <房间号>", "加入多人游戏房间" },
{"退出房间", "退出多人游戏房间" },
{"开始游戏", "开始多人游戏" },
{"房间列表", "查看本群聊的房间列表" },
{"房间信息", "查看多人游戏房间信息" },
{"创建赛马", "快速创建赛马房间" },
{"加入赛马", "快速加入赛马房间" },
{"创建共斗", "快速创建共斗房间" },
{"创建混战", "快速创建混战房间" },
{"创建团战", "快速创建团队死斗房间" },
{"任务列表".CreateCmdInput(), "查看今日任务列表"},
{$"{"".CreateCmdInput()} <任务序号>", "开始指定任务"},
{"任务信息".CreateCmdInput(), "查看进行中任务详情"},
{"任务结算".CreateCmdInput(), "结算所有未完成的任务"},
{"世界地图".CreateCmdInput(), "查看当前地图"},
{"主城".CreateCmdInput(), "查看主城信息"},
{$"{"".CreateCmdInput()} <地区序号>", "查看指定地区信息"},
{$"{"".CreateCmdInput()} <地区序号> <{{角色序号...}}>", "探索指定地区(可多角色)"},
{$"{"".CreateCmdInput()} <地区序号>", "以小队探索指定地区"},
{"探索结算".CreateCmdInput(), "结算所有未完成的探索"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战金币秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战钻石秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战经验秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战地区锻造材料秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战角色突破材料秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战技能升级材料秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <难度>", "以小队挑战魔法卡秘境秘境难度1-5"},
{$"{"".CreateCmdInput()} <{{<物品名称> <数量>...}}>", "创建一个锻造配方" },
{"锻造信息".CreateCmdInput(), "查看已经创建的锻造配方" },
{"取消锻造".CreateCmdInput(), "取消已经创建的锻造配方" },
{"模拟锻造".CreateCmdInput(), "模拟锻造结果" },
{"确认开始锻造".CreateCmdInput(), "确认已经创建的锻造配方并开始锻造" },
{$"{"".CreateCmdInput()} <类型>", "类型mix/team/cooperative/horseracing对应混战/团队/共斗/赛马" },
{$"{"".CreateCmdInput()} <房间号>", "加入多人游戏房间" },
{"退出房间".CreateCmdInput(), "退出多人游戏房间" },
{"开始游戏".CreateCmdInput(), "开始多人游戏" },
{"房间列表".CreateCmdInput(), "查看本群聊的房间列表" },
{"房间信息".CreateCmdInput(), "查看多人游戏房间信息" },
{"创建赛马".CreateCmdInput(), "快速创建赛马房间" },
{"加入赛马".CreateCmdInput(), "快速加入赛马房间" },
{"创建共斗".CreateCmdInput(), "快速创建共斗房间" },
{"创建混战".CreateCmdInput(), "快速创建混战房间" },
{"创建团战".CreateCmdInput(), "快速创建团队死斗房间" },
};
public static Dictionary<string, string> ClubHelp { get; } = new() {
{"社团列表", "查看公开可加入的社团列表"},
{"查看社团", "查看指定社团信息"},
{"我的社团", "查看我的社团信息"},
{"私信 <对方UID/昵称> <内容>", "发送私信给对方"},
{"加入社团 <社团序号>", "加入指定社团"},
{"邀请加入 <对方UID>", "管理员可以邀请加入社团"},
{"退出社团", "退出当前社团"},
{"创建社团 <前缀>", "创建一个公开社团,若指令中包含私密一词,将创建私密社团\r\n社团前缀3-4个字符允许英文字母和数字、部分特殊字符"},
{"查看社团成员", "查看社团成员列表"},
{"查看社团管理", "查看管理员列表"},
{"查看申请人列表", "查看申请加入的玩家列表"},
{"查看受邀人列表", "查看待接受邀请的玩家列表"},
{"解散社团", "解散当前社团"},
{"社团批准 <对方UID>", "批准加入申请"},
{"社团拒绝 <对方UID>", "拒绝加入申请"},
{"社团踢出 <对方UID>", "踢出社团成员"},
{"社团转让 <对方UID>", "转让社团所有权"},
{"社团设置 <设置项> <{参数...}>", "修改社团设置,设置项有:名称/前缀/描述/批准/公开/管理/取消管理/新社长"},
{"社团捐献 <金币数>", "捐献金币到社团基金"},
{"社团任务列表", "查看社团任务列表"},
{"做社团任务 <任务序号>", "开始指定社团任务"},
{"社团任务结算", "结算所有未完成的社团任务"},
{"社团商店", "查看社团商店商品"},
{"社团商店查看 <商品序号>", "查看指定商品详情"},
{"社团商店购买 <商品序号>", "购买指定商品"},
{"社团商店出售 <物品序号>", "向商店出售具有回收价的指定物品"},
{"社团市场 [页码]", "查看社团市场商品"},
{"社团市场出售 <物品序号> <定价>", "将物品寄售到社团市场上系统手续费4%社团收取8%作为社团基金"},
{"社团市场下架 <市场物品序号>", "下架指定物品"},
{"社团市场查看 <市场物品序号>", "查看指定物品"},
{"社团市场购买 <市场物品序号>", "购买指定物品"},
{"社团市场清空", "管理员可下架所有物品"},
{"社团列表".CreateCmdInput(), "查看公开可加入的社团列表"},
{"查看社团".CreateCmdInput(), "查看指定社团信息"},
{"我的社团".CreateCmdInput(), "查看我的社团信息"},
{$"{"".CreateCmdInput()} <对方UID/昵称> <内容>", "发送私信给对方"},
{$"{"".CreateCmdInput()} <社团序号>", "加入指定社团"},
{$"{"".CreateCmdInput()} <对方UID>", "管理员可以邀请加入社团"},
{"退出社团".CreateCmdInput(), "退出当前社团"},
{$"{"".CreateCmdInput()} <前缀>", "创建一个公开社团,若指令中包含私密一词,将创建私密社团\r\n社团前缀3-4个字符允许英文字母和数字、部分特殊字符"},
{"查看社团成员".CreateCmdInput(), "查看社团成员列表"},
{"查看社团管理".CreateCmdInput(), "查看管理员列表"},
{"查看申请人列表".CreateCmdInput(), "查看申请加入的玩家列表"},
{"查看受邀人列表".CreateCmdInput(), "查看待接受邀请的玩家列表"},
{"解散社团".CreateCmdInput(), "解散当前社团"},
{$"{"".CreateCmdInput()} <对方UID>", "批准加入申请"},
{$"{"".CreateCmdInput()} <对方UID>", "拒绝加入申请"},
{$"{"".CreateCmdInput()} <对方UID>", "踢出社团成员"},
{$"{"".CreateCmdInput()} <对方UID>", "转让社团所有权"},
{$"{"".CreateCmdInput()} <设置项> <{{参数...}}>", "修改社团设置,设置项有:名称/前缀/描述/批准/公开/管理/取消管理/新社长"},
{$"{"".CreateCmdInput()} <金币数>", "捐献金币到社团基金"},
{"社团任务列表".CreateCmdInput(), "查看社团任务列表"},
{$"{"".CreateCmdInput()} <任务序号>", "开始指定社团任务"},
{"社团任务结算".CreateCmdInput(), "结算所有未完成的社团任务"},
{"社团商店".CreateCmdInput(), "查看社团商店商品"},
{$"{"".CreateCmdInput()} <商品序号>", "查看指定商品详情"},
{$"{"".CreateCmdInput()} <商品序号>", "购买指定商品"},
{$"{"".CreateCmdInput()} <物品序号>", "向商店出售具有回收价的指定物品"},
{$"{"".CreateCmdInput()} [页码]", "查看社团市场商品"},
{$"{"".CreateCmdInput()} <物品序号> <定价>", "将物品寄售到社团市场上系统手续费4%社团收取8%作为社团基金"},
{$"{"".CreateCmdInput()} <市场物品序号>", "下架指定物品"},
{$"{"".CreateCmdInput()} <市场物品序号>", "查看指定物品"},
{$"{"".CreateCmdInput()} <市场物品序号>", "购买指定物品"},
{"社团市场清空".CreateCmdInput(), "管理员可下架所有物品"},
};
public static Dictionary<string, string> ActivityHelp { get; } = new() {
{"签到", "每日签到奖励"},
{"公告", "查看系统公告"},
{"活动", "查看活动中心"},
{"查活动 <活动序号>", "查看指定活动详情"},
{"做活动任务 <活动序号> <任务序号>", "做指定的活动任务"},
{"领取奖励 <活动序号> <任务序号>", "领取活动任务的奖励"},
{"签到".CreateCmdInput(), "每日签到奖励"},
{"公告".CreateCmdInput(), "查看系统公告"},
{"活动".CreateCmdInput(), "查看活动中心"},
{$"{"".CreateCmdInput()} <活动序号>", "查看指定活动详情"},
{$"{"".CreateCmdInput()} <活动序号> <任务序号>", "做指定的活动任务"},
{$"{"".CreateCmdInput()} <活动序号> <任务序号>", "领取活动任务的奖励"},
};
public static Dictionary<string, string> StoreHelp { get; } = new() {
{"每日商店", "查看每日商店商品"},
{"商店1", "查看后勤部商品"},
{"商店2", "查看武器商会商品"},
{"商店3", "查看杂货铺商品"},
{"商店4", "查看慈善基金会商品"},
{"锻造商店/商店5", "查看锻造积分商店商品"},
{"赛马商店/商店6", "查看赛马积分商店商品"},
{"共斗商店/商店7", "查看共斗积分商店商品"},
{"商店查看 <商品序号>", "查看指定商品详情访问任意商店后2分钟内可用"},
{"商店购买 <商品序号>", "购买指定商品访问任意商店后2分钟内可用"},
{"商店出售 <物品序号>", "向商店出售具有回收价的指定物品"},
{"创建报价", "创建一个交易报价"},
{"我的报价 [页码]/查报价 <报价序号>", "查询指定报价详情"},
{"发送报价 <报价序号>", "仅发起方可操作"},
{"取消报价 <报价序号>", "仅发起方可操作"},
{"接受报价 <报价序号>", "仅接收方可操作"},
{"拒绝报价 <报价序号>", "仅接收方可操作"},
{"报价添加物品 <报价序号> <{物品序号}...>", "仅发起方可操作"},
{"报价添加对方物品 <报价序号> <{物品序号}...>", "仅发起方可操作"},
{"报价移除物品 <报价序号> <{报价物品序号}...>", "仅发起方可操作"},
{"报价移除对方物品 <报价序号> <{报价物品序号}...>", "仅发起方可操作"},
{"市场 [页码]", "查看市场商品"},
{"市场出售 <物品序号> <定价>", "将物品寄售到市场上手续费15%"},
{"市场下架 <市场物品序号>", "下架指定物品"},
{"市场查看 <市场物品序号>", "查看指定物品"},
{"市场购买 <市场物品序号>", "购买指定物品"},
{"社团市场 [页码]", "查看社团市场商品"},
{"社团市场出售 <物品序号> <定价>", "将物品寄售到社团市场上系统手续费4%社团收取8%作为社团基金"},
{"社团市场下架 <市场物品序号>", "下架指定物品"},
{"社团市场查看 <市场物品序号>", "查看指定物品"},
{"社团市场购买 <市场物品序号>", "购买指定物品"},
{"社团市场清空", "管理员可下架所有物品"},
{"每日商店".CreateCmdInput(), "查看每日商店商品"},
{"商店1".CreateCmdInput(), "查看后勤部商品"},
{"商店2".CreateCmdInput(), "查看武器商会商品"},
{"商店3".CreateCmdInput(), "查看杂货铺商品"},
{"商店4".CreateCmdInput(), "查看慈善基金会商品"},
{$"{"".CreateCmdInput()}/{"5".CreateCmdInput()}", "查看锻造积分商店商品"},
{$"{"".CreateCmdInput()}/{"6".CreateCmdInput()}", "查看赛马积分商店商品"},
{$"{"".CreateCmdInput()}/{"7".CreateCmdInput()}", "查看共斗积分商店商品"},
{$"{"".CreateCmdInput()} <商品序号>", "查看指定商品详情访问任意商店后2分钟内可用"},
{$"{"".CreateCmdInput()} <商品序号>", "购买指定商品访问任意商店后2分钟内可用"},
{$"{"".CreateCmdInput()} <物品序号>", "向商店出售具有回收价的指定物品"},
{"创建报价".CreateCmdInput(), "创建一个交易报价"},
{$"{"".CreateCmdInput()} [页码]/查报价 <报价序号>", "查询指定报价详情"},
{$"{"".CreateCmdInput()} <报价序号>", "仅发起方可操作"},
{$"{"".CreateCmdInput()} <报价序号>", "仅发起方可操作"},
{$"{"".CreateCmdInput()} <报价序号>", "仅接收方可操作"},
{$"{"".CreateCmdInput()} <报价序号>", "仅接收方可操作"},
{$"{"".CreateCmdInput()} <报价序号> <{{物品序号}}...>", "仅发起方可操作"},
{$"{"".CreateCmdInput()} <报价序号> <{{物品序号}}...>", "仅发起方可操作"},
{$"{"".CreateCmdInput()} <报价序号> <{{报价物品序号}}...>", "仅发起方可操作"},
{$"{"".CreateCmdInput()} <报价序号> <{{报价物品序号}}...>", "仅发起方可操作"},
{$"{"".CreateCmdInput()} [页码]", "查看市场商品"},
{$"{"".CreateCmdInput()} <物品序号> <定价>", "将物品寄售到市场上手续费15%"},
{$"{"".CreateCmdInput()} <市场物品序号>", "下架指定物品"},
{$"{"".CreateCmdInput()} <市场物品序号>", "查看指定物品"},
{$"{"".CreateCmdInput()} <市场物品序号>", "购买指定物品"},
{$"{"".CreateCmdInput()} [页码]", "查看社团市场商品"},
{$"{"".CreateCmdInput()} <物品序号> <定价>", "将物品寄售到社团市场上系统手续费4%社团收取8%作为社团基金"},
{$"{"".CreateCmdInput()} <市场物品序号>", "下架指定物品"},
{$"{"".CreateCmdInput()} <市场物品序号>", "查看指定物品"},
{$"{"".CreateCmdInput()} <市场物品序号>", "购买指定物品"},
{"社团市场清空".CreateCmdInput(), "管理员可下架所有物品"},
};
public static IEnumerable<KeyValuePair<string, string>> GetPage(Dictionary<string, string> dict, int page, int pageSize = 10)

View File

@ -6310,8 +6310,16 @@ namespace Oshima.FunGame.WebAPI.Controllers
}
[HttpPost("exploreregion")]
public (string, string) ExploreRegion([FromQuery] long? uid = null, [FromQuery] long? id = null, [FromQuery] bool useSquad = false, [FromBody] long[]? cids = null)
public (BotReply, string) ExploreRegion([FromQuery] long? uid = null, [FromQuery] long? id = null, [FromQuery] bool useSquad = false, [FromBody] long[]? cids = null)
{
MarkdownMessage md = new()
{
Content = busy
};
BotReply reply = new()
{
Markdown = md
};
string exploreId = "";
try
{
@ -6332,7 +6340,8 @@ namespace Oshima.FunGame.WebAPI.Controllers
if (user.Inventory.Squad.Count == 0)
{
FunGameService.ReleaseUserSemaphoreSlim(userid);
return ($"你尚未设置小队请先设置1-4名角色", exploreId);
md.Content = $"你尚未设置小队请先设置1-4名角色";
return (reply, exploreId);
}
else
{
@ -6389,11 +6398,11 @@ namespace Oshima.FunGame.WebAPI.Controllers
if (exploreTimes <= 0)
{
exploreTimes = 0;
msg = $"今日的探索许可已用完,无法再继续探索。";
msg = $"今日的{"".CreateCmdInput("1")}已用完,无法再继续探索。";
}
else if (reduce > exploreTimes)
{
msg = $"本次探索需要消耗 {reduce} 个探索许可,超过了你的剩余探索许可数量({exploreTimes} 个),请减少选择的角色数量或更换探索地区。" +
msg = $"本次探索需要消耗 {reduce} 个{"".CreateCmdInput("1")},超过了你的剩余探索许可数量({exploreTimes} 个),请减少选择的角色数量或更换探索地区。" +
$"\r\n需要注意探索难度星级一比一兑换探索许可并且参与探索的角色都需要消耗相同数量的探索许可。";
}
}
@ -6401,7 +6410,8 @@ namespace Oshima.FunGame.WebAPI.Controllers
else
{
FunGameService.ReleaseUserSemaphoreSlim(userid);
return ($"没有找到与这个序号相对应的地区!", exploreId);
md.Content = $"没有找到与这个序号相对应的地区!";
return (reply, exploreId);
}
// 检查角色是否正在探索
@ -6450,7 +6460,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
TaskUtility.NewTask(async () => await FunGameService.GenerateExploreModel(model, region, characterIds, user));
if (msg != "") msg += "\r\n";
msg += $"本次消耗探索许可 {reduce} 个,你的剩余探索许可:{exploreTimes} 个。需要注意:探索难度星级一比一兑换探索许可,并且参与探索的角色,都需要消耗相同数量的探索许可。";
msg += $"本次消耗探索许可 {reduce} 个,你的剩余{"".CreateCmdInput("1")}{exploreTimes} 个。需要注意:探索难度星级一比一兑换探索许可,并且参与探索的角色,都需要消耗相同数量的探索许可。";
}
pc.Add("exploreTimes", exploreTimes);
@ -6461,25 +6471,36 @@ namespace Oshima.FunGame.WebAPI.Controllers
}
FunGameService.SetUserConfigAndReleaseSemaphoreSlim(userid, pc, user);
return (msg, exploreId);
md.Content = msg;
return (reply, exploreId);
}
else
{
FunGameService.ReleaseUserSemaphoreSlim(userid);
return (noSaved, exploreId);
md.Content = noSaved;
return (reply, exploreId);
}
}
catch (Exception e)
{
FunGameService.ReleaseUserSemaphoreSlim(uid.ToString() ?? "");
if (Logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Error)) Logger.LogError(e, "Error: {e}", e);
return (busy, exploreId);
md.Content = busy;
return (reply, exploreId);
}
}
[HttpGet("exploreinfo")]
public string GetExploreInfo([FromQuery] long? uid = null)
public BotReply GetExploreInfo([FromQuery] long? uid = null)
{
MarkdownMessage md = new()
{
Content = busy
};
BotReply reply = new()
{
Markdown = md
};
long userid = uid ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
PluginConfig pc = FunGameService.GetUserConfig(userid, out _);
@ -6496,7 +6517,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
if (exploreTimes <= 0)
{
exploreTimes = 0;
msg = $"今日的探索许可已用完,无法再继续探索。";
msg = $"今日的{"".CreateCmdInput("1")}已用完,无法再继续探索。";
}
}
else
@ -6528,13 +6549,15 @@ namespace Oshima.FunGame.WebAPI.Controllers
}
if (msg != "") msg += "\r\n";
msg += $"你的剩余探索许可:{exploreTimes} 个。";
msg += $"你的剩余{"".CreateCmdInput("1")}{exploreTimes} 个。";
return msg;
md.Content = msg;
return reply;
}
else
{
return noSaved;
md.Content = noSaved;
return reply;
}
}
@ -6617,7 +6640,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
md.Content = msg;
if (command != "")
{
reply.Keyboard = new KeyboardMessage().AppendButtons(1, Button.CreateCmdButton("再探再报", command, permissionType: 0, specifyUserIds: user.AutoKey));
reply.Keyboard = new KeyboardMessage().AppendButtons(1, Button.CreateCmdButton("再探再报", command));
}
return reply;
}

View File

@ -2428,11 +2428,7 @@ namespace Oshima.FunGame.WebAPI.Services
if (e.Detail == "探索信息")
{
string msg = Controller.GetExploreInfo(uid);
if (msg != "")
{
await SendAsync(e, "探索信息", string.Join("\r\n", msg));
}
await SendAsync(e, "探索信息", Controller.GetExploreInfo(uid));
return result;
}
@ -2450,7 +2446,7 @@ namespace Oshima.FunGame.WebAPI.Services
{
string originalDetail = e.Detail;
string detail = e.Detail.Replace("探索", "").Replace("前往", "").Trim();
string msg = "";
BotReply reply = new();
string eid = "";
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
List<int> cindexs = [];
@ -2463,11 +2459,8 @@ namespace Oshima.FunGame.WebAPI.Services
}
if (cindexs.Count > 1 && cindexs.Count <= 5)
{
(msg, eid) = Controller.ExploreRegion(uid, cindexs[0], false, [.. cindexs.Skip(1).Select(id => (long)id)]);
if (msg.Trim() != "")
{
await SendAsync(e, "探索", msg);
}
(reply, eid) = Controller.ExploreRegion(uid, cindexs[0], false, [.. cindexs.Skip(1).Select(id => (long)id)]);
await SendAsync(e, "探索", reply);
_ = Task.Run(async () =>
{
await Task.Delay(FunGameConstant.ExploreTime * 60 * 1000);
@ -2490,7 +2483,7 @@ namespace Oshima.FunGame.WebAPI.Services
{
string originalDetail = e.Detail;
string detail = e.Detail.Replace("小队探索", "").Trim();
string msg = "";
BotReply reply = "";
string eid = "";
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
List<int> cindexs = [];
@ -2503,11 +2496,8 @@ namespace Oshima.FunGame.WebAPI.Services
}
if (cindexs.Count > 0)
{
(msg, eid) = Controller.ExploreRegion(uid, cindexs[0], true);
if (msg.Trim() != "")
{
await SendAsync(e, "探索", msg);
}
(reply, eid) = Controller.ExploreRegion(uid, cindexs[0], true);
await SendAsync(e, "探索", reply);
_ = Task.Run(async () =>
{
await Task.Delay(FunGameConstant.ExploreTime * 60 * 1000);
@ -3692,7 +3682,7 @@ namespace Oshima.FunGame.WebAPI.Services
}
(Room room, List<string> msgs) = await Controller.RoomRunGame(uid);
BotReply rpy = MergeToMarkdown("该局游戏结果如下:", msgs);
rpy.Keyboard = new KeyboardMessage().AppendButtons(1, Button.CreateCmdButton("快速重新开始", $"快速重新开始"));
rpy.Keyboard = new KeyboardMessage().AppendButtons(1, Button.CreateCmdButton("快速重新开始", $"开始游戏"));
await SendAsync(e, "房间", rpy, msgSeq: 1);
OnlineService.ReSetRoomState(room.Roomid);
}