mirror of
https://github.com/EggLinks/DanhengServer-OpenSource.git
synced 2026-01-02 20:26:03 +08:00
改了点东西
This commit is contained in:
@@ -10,7 +10,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
[CommandInfo("avatar", "Manage the player's avatar", "/avatar <talent [id/-1] [level]>/<get [id]>/<rank [id/-1] [rank]>/level [id/-1] [level]")]
|
||||
[CommandInfo("avatar", "设定玩家已有角色的属性", "/avatar <talent [id/-1] [level]>/<get [id]>/<rank [id/-1] [rank]>/level [id/-1] [level]")]
|
||||
public class CommandAvatar : ICommand
|
||||
{
|
||||
[CommandMethod("talent")]
|
||||
@@ -18,12 +18,12 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found");
|
||||
arg.SendMsg("玩家不存在");
|
||||
return;
|
||||
}
|
||||
if (arg.BasicArgs.Count < 2)
|
||||
{
|
||||
arg.SendMsg("Invalid arguments");
|
||||
arg.SendMsg("参数无效");
|
||||
return;
|
||||
}
|
||||
var Player = arg.Target.Player!;
|
||||
@@ -32,7 +32,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var level = arg.GetInt(1);
|
||||
if (level < 0 || level > 10)
|
||||
{
|
||||
arg.SendMsg("Invalid talent level");
|
||||
arg.SendMsg("无效行迹等级");
|
||||
return;
|
||||
}
|
||||
var player = arg.Target.Player!;
|
||||
@@ -57,7 +57,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
});
|
||||
}
|
||||
});
|
||||
arg.SendMsg($"Player has set all avatars' talents to level {level}");
|
||||
arg.SendMsg($"已将全部角色行迹等级设置为 {level}");
|
||||
|
||||
// save
|
||||
DatabaseHelper.Instance?.UpdateInstance(player.AvatarManager.AvatarData);
|
||||
@@ -70,7 +70,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var avatar = player.AvatarManager!.GetAvatar(avatarId);
|
||||
if (avatar == null)
|
||||
{
|
||||
arg.SendMsg("Avatar not found");
|
||||
arg.SendMsg("角色不存在");
|
||||
return;
|
||||
}
|
||||
avatar.Excel?.SkillTree.ForEach(talent =>
|
||||
@@ -84,7 +84,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
// sync
|
||||
player.SendPacket(new PacketPlayerSyncScNotify(avatar));
|
||||
|
||||
arg.SendMsg($"Player has set {avatarId} talents to level {level}");
|
||||
arg.SendMsg($"已将 {avatarId} 的行迹等级设置为 {level}");
|
||||
}
|
||||
|
||||
[CommandMethod("get")]
|
||||
@@ -92,18 +92,18 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found");
|
||||
arg.SendMsg("玩家不存在");
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
arg.SendMsg("Invalid arguments");
|
||||
arg.SendMsg("参数无效");
|
||||
}
|
||||
|
||||
var id = arg.GetInt(0);
|
||||
arg.Target.Player!.AvatarManager!.AddAvatar(id);
|
||||
arg.SendMsg($"Player has gained avatar {id}");
|
||||
arg.SendMsg($"已给予角色 {id}");
|
||||
}
|
||||
|
||||
[CommandMethod("rank")]
|
||||
@@ -111,20 +111,20 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found");
|
||||
arg.SendMsg("玩家不存在");
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 2)
|
||||
{
|
||||
arg.SendMsg("Invalid arguments");
|
||||
arg.SendMsg("参数无效");
|
||||
}
|
||||
|
||||
var id = arg.GetInt(0);
|
||||
var rank = arg.GetInt(1);
|
||||
if (rank < 0 || rank > 6)
|
||||
{
|
||||
arg.SendMsg("Invalid rank");
|
||||
arg.SendMsg("无效命座");
|
||||
return;
|
||||
}
|
||||
if (id == -1)
|
||||
@@ -133,7 +133,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
avatar.Rank = Math.Min(rank, 6);
|
||||
});
|
||||
arg.SendMsg($"Player has set all avatars' rank to {rank}");
|
||||
arg.SendMsg($"已将全部角色命座设置为 {rank}");
|
||||
|
||||
// save
|
||||
DatabaseHelper.Instance?.UpdateInstance(arg.Target.Player!.AvatarManager.AvatarData);
|
||||
@@ -146,7 +146,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var avatar = arg.Target.Player!.AvatarManager!.GetAvatar(id);
|
||||
if (avatar == null)
|
||||
{
|
||||
arg.SendMsg("Avatar not found");
|
||||
arg.SendMsg("角色不存在");
|
||||
return;
|
||||
}
|
||||
avatar.Rank = Math.Min(rank, 6);
|
||||
@@ -157,7 +157,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
// sync
|
||||
arg.Target.SendPacket(new PacketPlayerSyncScNotify(avatar));
|
||||
|
||||
arg.SendMsg($"Player has set avatar {id} rank to {rank}");
|
||||
arg.SendMsg($"已将角色 {id} 命座设置为 {rank}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,20 +166,20 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found");
|
||||
arg.SendMsg("玩家不存在");
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 2)
|
||||
{
|
||||
arg.SendMsg("Invalid arguments");
|
||||
arg.SendMsg("参数无效");
|
||||
}
|
||||
|
||||
var id = arg.GetInt(0);
|
||||
var level = arg.GetInt(1);
|
||||
if (level < 1 || level > 80)
|
||||
{
|
||||
arg.SendMsg("Invalid level");
|
||||
arg.SendMsg("无效角色等级");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
avatar.Level = Math.Min(level, 80);
|
||||
avatar.Promotion = GameData.GetMinPromotionForLevel(avatar.Level);
|
||||
});
|
||||
arg.SendMsg($"Player has set all avatars' level to {level}");
|
||||
arg.SendMsg($"已将全部角色等级设置为 {level}");
|
||||
|
||||
// save
|
||||
DatabaseHelper.Instance?.UpdateInstance(arg.Target.Player!.AvatarManager.AvatarData);
|
||||
@@ -203,7 +203,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var avatar = arg.Target.Player!.AvatarManager!.GetAvatar(id);
|
||||
if (avatar == null)
|
||||
{
|
||||
arg.SendMsg("Avatar not found");
|
||||
arg.SendMsg("角色不存在");
|
||||
return;
|
||||
}
|
||||
avatar.Level = Math.Min(level, 80);
|
||||
@@ -215,7 +215,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
// sync
|
||||
arg.Target.SendPacket(new PacketPlayerSyncScNotify(avatar));
|
||||
|
||||
arg.SendMsg($"Player has set avatar {id} level to {level}");
|
||||
arg.SendMsg($"已将 {id} 等级设置为 {level}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
[CommandInfo("giveall", "Give all items in the category to player", "giveall <avatar/equipment> r<rank> l<level> x<amount>")]
|
||||
[CommandInfo("giveall", "给予玩家全部物品", "giveall <avatar/equipment/relic/unlock> r<rank> l<level> x<amount>")]
|
||||
public class CommandGiveall : ICommand
|
||||
{
|
||||
[CommandMethod("0 avatar")]
|
||||
@@ -139,6 +139,49 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
arg.SendMsg($"Give all materials to {player.Uid}");
|
||||
}
|
||||
|
||||
[CommandMethod("0 relic")]
|
||||
public void GiveAllRelic(CommandArg arg)
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("目标未找到。");
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target.Player;
|
||||
if (player == null)
|
||||
{
|
||||
arg.SendMsg("目标未找到。");
|
||||
return;
|
||||
}
|
||||
|
||||
arg.CharacterArgs.TryGetValue("l", out var levelStr);
|
||||
levelStr ??= "1";
|
||||
if (!int.TryParse(levelStr, out var level))
|
||||
{
|
||||
arg.SendMsg("无效的参数。");
|
||||
return;
|
||||
}
|
||||
|
||||
arg.CharacterArgs.TryGetValue("x", out var amountStr);
|
||||
amountStr ??= "1";
|
||||
if (!int.TryParse(amountStr, out var amount))
|
||||
{
|
||||
arg.SendMsg("无效的参数。");
|
||||
return;
|
||||
}
|
||||
|
||||
var relicList = GameData.RelicConfigData.Values;
|
||||
foreach (var relic in relicList)
|
||||
{
|
||||
player.InventoryManager!.AddItem(relic.ID, amount, true, true, 1, Math.Max(Math.Min(level, relic.MaxLevel), 1));
|
||||
}
|
||||
|
||||
DatabaseHelper.Instance?.UpdateInstance(player.InventoryManager!.Data);
|
||||
|
||||
arg.SendMsg($"已给予所有遗器到 {player.Uid}");
|
||||
}
|
||||
|
||||
[CommandMethod("0 unlock")]
|
||||
public void GiveAllUnlock(CommandArg arg)
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Text;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
[CommandInfo("mission", "Get the running missions or finish the mission", "/mission <finish [submissionId]>/<running>")]
|
||||
[CommandInfo("mission", "获取正在进行的任务或完成任务", "/mission <finish [submissionId]>/<running>/<reaccept [missionId]>")]
|
||||
public class CommandMission : ICommand
|
||||
{
|
||||
[CommandMethod("0 pass")]
|
||||
@@ -11,12 +11,12 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found.");
|
||||
arg.SendMsg("未找到玩家。");
|
||||
return;
|
||||
}
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
mission.GetRunningSubMissionIdList().ForEach(mission.FinishSubMission);
|
||||
arg.SendMsg("Pass all running missions.");
|
||||
arg.SendMsg("已完成所有正在进行的任务");
|
||||
}
|
||||
|
||||
[CommandMethod("0 finish")]
|
||||
@@ -24,26 +24,25 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found.");
|
||||
arg.SendMsg("未找到玩家。");
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
arg.SendMsg("Please specify the mission id.");
|
||||
arg.SendMsg("请输入任务ID");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(arg.BasicArgs[0], out var missionId))
|
||||
{
|
||||
arg.SendMsg("Invalid mission id.");
|
||||
arg.SendMsg("无效的任务ID");
|
||||
return;
|
||||
}
|
||||
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
//mission.AcceptSubMission(missionId); // if not accepted, the mission will not be finished
|
||||
mission.FinishSubMission(missionId);
|
||||
arg.SendMsg("Finish mission.");
|
||||
arg.SendMsg("任务已完成");
|
||||
}
|
||||
|
||||
[CommandMethod("0 running")]
|
||||
@@ -51,7 +50,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Player not found.");
|
||||
arg.SendMsg("未找到玩家");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -59,19 +58,19 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var runningMissions = mission.GetRunningSubMissionList();
|
||||
if (runningMissions.Count == 0)
|
||||
{
|
||||
arg.SendMsg("No running missions.");
|
||||
arg.SendMsg("没有正在进行的任务");
|
||||
return;
|
||||
}
|
||||
|
||||
arg.SendMsg("Running missions:");
|
||||
SortedDictionary<int, List<int>> map = [];
|
||||
arg.SendMsg("正在进行的任务:");
|
||||
Dictionary<int, List<int>> missionMap = new Dictionary<int, List<int>>();
|
||||
|
||||
foreach (var m in runningMissions)
|
||||
{
|
||||
if (!map.TryGetValue(m.MainMissionID, out List<int>? value))
|
||||
if (!missionMap.TryGetValue(m.MainMissionID, out List<int>? value))
|
||||
{
|
||||
value = ([]);
|
||||
map[m.MainMissionID] = value;
|
||||
value = new List<int>();
|
||||
missionMap[m.MainMissionID] = value;
|
||||
}
|
||||
|
||||
value.Add(m.ID);
|
||||
@@ -80,18 +79,13 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var possibleStuckIds = new List<int>();
|
||||
var morePossibleStuckIds = new List<int>();
|
||||
|
||||
var count = 0;
|
||||
foreach (var list in map)
|
||||
foreach (var list in missionMap)
|
||||
{
|
||||
if (count >= 6)
|
||||
{
|
||||
break;
|
||||
}
|
||||
arg.SendMsg($"Main mission {list.Key}:");
|
||||
arg.SendMsg($"主任务 {list.Key}:");
|
||||
var sb = new StringBuilder();
|
||||
foreach (var id in list.Value)
|
||||
{
|
||||
sb.Append($"{id}, ");
|
||||
sb.Append($"{id}、");
|
||||
|
||||
if (id.ToString().StartsWith("10"))
|
||||
{
|
||||
@@ -108,31 +102,30 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
sb.Remove(sb.Length - 2, 2);
|
||||
|
||||
arg.SendMsg(sb.ToString());
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
if (morePossibleStuckIds.Count > 0)
|
||||
{
|
||||
arg.SendMsg("You might be stuck in missions below:");
|
||||
arg.SendMsg("可能被卡住的任务ID如下:");
|
||||
|
||||
var sb = new StringBuilder();
|
||||
foreach (var id in morePossibleStuckIds)
|
||||
{
|
||||
sb.Append($"{id}, ");
|
||||
sb.Append($"{id}、");
|
||||
}
|
||||
|
||||
sb.Remove(sb.Length - 2, 2);
|
||||
|
||||
arg.SendMsg(sb.ToString());
|
||||
} else if (possibleStuckIds.Count > 0)
|
||||
}
|
||||
else if (possibleStuckIds.Count > 0)
|
||||
{
|
||||
arg.SendMsg("You might be stuck in missions below:");
|
||||
arg.SendMsg("可能被卡住的任务ID如下:");
|
||||
|
||||
var sb = new StringBuilder();
|
||||
foreach (var id in possibleStuckIds)
|
||||
{
|
||||
sb.Append($"{id}, ");
|
||||
sb.Append($"{id}、");
|
||||
}
|
||||
|
||||
sb.Remove(sb.Length - 2, 2);
|
||||
@@ -140,5 +133,31 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
arg.SendMsg(sb.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[CommandMethod("0 reaccept")]
|
||||
public void ReAcceptMission(CommandArg arg)
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("玩家不存在");
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 1)
|
||||
{
|
||||
arg.SendMsg("请输入主任务ID");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!int.TryParse(arg.BasicArgs[0], out var missionId))
|
||||
{
|
||||
arg.SendMsg("无效的任务ID");
|
||||
return;
|
||||
}
|
||||
|
||||
var mission = arg.Target!.Player!.MissionManager!;
|
||||
mission.ReAcceptMainMission(missionId);
|
||||
arg.SendMsg($"已重新接取ID为 {missionId} 的任务");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
[CommandInfo("relic", "Give the player relics", "/relic <artId> <mainAffixId> <subId1:level1> <subId2:level2> <subId3:level3> <subId4:level4> l<level> x<amount>")]
|
||||
[CommandInfo("relic", "给予玩家指定词条的遗器", "/relic <遗器ID> <主词条ID> <小词条ID1:小词条等级> <小词条ID2:小词条等级> <小词条ID3:小词条等级> <小词条ID4:小词条等级> l<等级> x<数量>")]
|
||||
public class CommandRelic : ICommand
|
||||
{
|
||||
[CommandDefault]
|
||||
@@ -17,20 +17,20 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
if (arg.Target == null)
|
||||
{
|
||||
arg.SendMsg("Target not found.");
|
||||
arg.SendMsg("未指定玩家");
|
||||
return;
|
||||
}
|
||||
|
||||
var player = arg.Target.Player;
|
||||
if (player == null)
|
||||
{
|
||||
arg.SendMsg("Target not found.");
|
||||
arg.SendMsg("玩家不存在");
|
||||
return;
|
||||
}
|
||||
|
||||
if (arg.BasicArgs.Count < 3)
|
||||
{
|
||||
arg.SendMsg("Invalid arguments.");
|
||||
arg.SendMsg("无效选项");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -40,14 +40,14 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
levelStr ??= "1";
|
||||
if (!int.TryParse(str, out var amount) || !int.TryParse(levelStr, out var level))
|
||||
{
|
||||
arg.SendMsg("Invalid arguments.");
|
||||
arg.SendMsg("参数无效");
|
||||
return;
|
||||
}
|
||||
|
||||
GameData.RelicConfigData.TryGetValue(int.Parse(arg.BasicArgs[0]), out var itemConfig);
|
||||
if (itemConfig == null)
|
||||
{
|
||||
arg.SendMsg("Item not found.");
|
||||
arg.SendMsg("找不到物品");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -55,21 +55,23 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
GameData.RelicMainAffixData.TryGetValue(itemConfig.MainAffixGroup, out var mainAffixConfig);
|
||||
if (subAffixConfig == null || mainAffixConfig == null)
|
||||
{
|
||||
arg.SendMsg("Invalid item.");
|
||||
arg.SendMsg("物品无效");
|
||||
return;
|
||||
}
|
||||
|
||||
int startIndex = 1;
|
||||
int mainAffixId;
|
||||
if (arg.BasicArgs[1].Contains(':'))
|
||||
{
|
||||
// random main affix
|
||||
// 随机主词条
|
||||
mainAffixId = mainAffixConfig.Keys.ToList().RandomElement();
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
mainAffixId = int.Parse(arg.BasicArgs[1]);
|
||||
if (!mainAffixConfig.ContainsKey(mainAffixId))
|
||||
{
|
||||
arg.SendMsg("Invalid main affix id.");
|
||||
arg.SendMsg("主词条ID无效");
|
||||
return;
|
||||
}
|
||||
startIndex++;
|
||||
@@ -82,12 +84,12 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
var subAffix = arg.BasicArgs[i].Split(':');
|
||||
if (subAffix.Length != 2 || !int.TryParse(subAffix[0], out var subId) || !int.TryParse(subAffix[1], out var subLevel))
|
||||
{
|
||||
arg.SendMsg("Invalid arguments.");
|
||||
arg.SendMsg("参数无效");
|
||||
return;
|
||||
}
|
||||
if (!subAffixConfig.ContainsKey(subId))
|
||||
{
|
||||
arg.SendMsg("Invalid sub affix id.");
|
||||
arg.SendMsg("副词条ID无效");
|
||||
return;
|
||||
}
|
||||
subAffixes.Add((subId, subLevel));
|
||||
@@ -95,7 +97,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
}
|
||||
if (subAffixes.Count < 4)
|
||||
{
|
||||
// random sub affix
|
||||
// 随机副词条
|
||||
var subAffixGroup = itemConfig.SubAffixGroup;
|
||||
var subAffixGroupConfig = GameData.RelicSubAffixData[subAffixGroup];
|
||||
var subAffixGroupKeys = subAffixGroupConfig.Keys.ToList();
|
||||
@@ -109,7 +111,8 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
if (remainLevel <= 0)
|
||||
{
|
||||
subAffixes.Add((subId, 1));
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
var subLevel = Random.Shared.Next(1, Math.Min(remainLevel + 1, 5)) + 1;
|
||||
subAffixes.Add((subId, subLevel));
|
||||
@@ -118,7 +121,6 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var itemData = new ItemData()
|
||||
{
|
||||
ItemId = int.Parse(arg.BasicArgs[0]),
|
||||
@@ -144,8 +146,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
player.InventoryManager!.AddItem(itemData);
|
||||
}
|
||||
|
||||
|
||||
arg.SendMsg($"Give @{player.Uid} {amount} relics of {mainAffixId}");
|
||||
arg.SendMsg($"给予 @{player.Uid} {amount} 件遗器,所选主词条为 {mainAffixId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
[CommandInfo("reload", "Reload the banners", "/reload", permission:"egglink.manage")]
|
||||
[CommandInfo("reload", "重载服务器卡池", "/reload", permission:"egglink.manage")]
|
||||
public class CommandReload : ICommand
|
||||
{
|
||||
[CommandDefault]
|
||||
@@ -16,7 +16,7 @@ namespace EggLink.DanhengServer.Command.Cmd
|
||||
{
|
||||
// Reload the banners
|
||||
GameData.BannersConfig = ResourceManager.LoadCustomFile<BannersConfig>("Banner", "Banners") ?? new();
|
||||
arg.SendMsg("Banners reloaded");
|
||||
arg.SendMsg("已重新载入卡池数据");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using EggLink.DanhengServer.Server.Packet.Send.Tutorial;
|
||||
using EggLink.DanhengServer.Server.Packet.Send.Others;
|
||||
using EggLink.DanhengServer.Server.Packet.Send.Tutorial;
|
||||
using EggLink.DanhengServer.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -11,10 +12,25 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Tutorial
|
||||
[Opcode(CmdIds.GetTutorialCsReq)]
|
||||
public class HandlerGetTutorialCsReq : Handler
|
||||
{
|
||||
private static readonly Logger Logger = new("GameServer");
|
||||
public override void OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
SendPlayerData(connection);
|
||||
if (ConfigManager.Config.ServerOption.EnableMission) // If missions are enabled
|
||||
connection.SendPacket(new PacketGetTutorialScRsp(connection.Player!));
|
||||
}
|
||||
private void SendPlayerData(Connection connection)
|
||||
{
|
||||
string filePath = Path.Combine(Environment.CurrentDirectory, "Lua", "welcome.lua");
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
var fileBytes = File.ReadAllBytes(filePath); // 读取文件内容
|
||||
connection.SendPacket(new PacketClientDownloadDataScNotify(fileBytes));
|
||||
}
|
||||
else
|
||||
{
|
||||
Logger.Error("请求的文件不存在!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Tutorial
|
||||
{
|
||||
public override void OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
|
||||
if (ConfigManager.Config.ServerOption.EnableMission) // If missions are enabled
|
||||
connection.SendPacket(new PacketGetTutorialGuideScRsp(connection.Player!)); // some bug
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
using EggLink.DanhengServer.Game.Player;
|
||||
using EggLink.DanhengServer.Proto;
|
||||
using System;
|
||||
|
||||
namespace EggLink.DanhengServer.Server.Packet.Send.Others
|
||||
{
|
||||
public class PacketClientDownloadDataScNotify : BasePacket
|
||||
{
|
||||
public PacketClientDownloadDataScNotify(byte[] data) : base(CmdIds.ClientDownloadDataScNotify)
|
||||
{
|
||||
var downloadData = new ClientDownloadData
|
||||
{
|
||||
Data = Google.Protobuf.ByteString.CopyFrom(data),
|
||||
Version = 81,
|
||||
Time = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds
|
||||
};
|
||||
var notify = new ClientDownloadDataScNotify
|
||||
{
|
||||
DownloadData = downloadData
|
||||
};
|
||||
SetData(notify);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user