mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-12-05 16:16:35 +00:00
指令优化、秘境掉落数量调整、文本优化等
This commit is contained in:
parent
83c8e6f1cf
commit
c994bd2054
@ -38,6 +38,7 @@ namespace Oshima.FunGame.OshimaModules.Models
|
|||||||
public static SemaphoreSlim MarketSemaphoreSlim { get; } = new(1, 1);
|
public static SemaphoreSlim MarketSemaphoreSlim { get; } = new(1, 1);
|
||||||
public static ItemType[] ItemCanUsed => [ItemType.Consumable, ItemType.MagicCard, ItemType.SpecialItem, ItemType.GiftBox, ItemType.Others];
|
public static ItemType[] ItemCanUsed => [ItemType.Consumable, ItemType.MagicCard, ItemType.SpecialItem, ItemType.GiftBox, ItemType.Others];
|
||||||
public static ItemType[] ItemCanNotDrawCard => [ItemType.Collectible, ItemType.QuestItem, ItemType.GiftBox, ItemType.Others];
|
public static ItemType[] ItemCanNotDrawCard => [ItemType.Collectible, ItemType.QuestItem, ItemType.GiftBox, ItemType.Others];
|
||||||
|
public static char[] SplitChars => [',', ' ', ',', ';', ';'];
|
||||||
|
|
||||||
public static Dictionary<int, Dictionary<string, int>> LevelBreakNeedyList { get; } = new()
|
public static Dictionary<int, Dictionary<string, int>> LevelBreakNeedyList { get; } = new()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -3811,7 +3811,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
}
|
}
|
||||||
region ??= FunGameConstant.Regions[Random.Shared.Next(FunGameConstant.Regions.Count)];
|
region ??= FunGameConstant.Regions[Random.Shared.Next(FunGameConstant.Regions.Count)];
|
||||||
item ??= region.Crops.ToList()[Random.Shared.Next(region.Crops.Count)];
|
item ??= region.Crops.ToList()[Random.Shared.Next(region.Crops.Count)];
|
||||||
award = Math.Max(1, Random.Shared.Next(1, 4) * difficulty / 2);
|
award = difficulty + Random.Shared.Next(0, 3);
|
||||||
regionItems.Add($"{award} 个{item.Name}(来自{region.Name})");
|
regionItems.Add($"{award} 个{item.Name}(来自{region.Name})");
|
||||||
for (int j = 0; j < award; j++)
|
for (int j = 0; j < award; j++)
|
||||||
{
|
{
|
||||||
@ -3838,7 +3838,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
item ??= FunGameConstant.CharacterLevelBreakItems[Random.Shared.Next(FunGameConstant.CharacterLevelBreakItems.Count)];
|
item ??= FunGameConstant.CharacterLevelBreakItems[Random.Shared.Next(FunGameConstant.CharacterLevelBreakItems.Count)];
|
||||||
award = Math.Max(1, Random.Shared.Next(1, 4) * difficulty / Math.Max(2, (int)item.QualityType + 1));
|
award = difficulty + Random.Shared.Next(0, 3);
|
||||||
characterLevelBreakItems.Add($"{award} 个{item.Name}");
|
characterLevelBreakItems.Add($"{award} 个{item.Name}");
|
||||||
for (int j = 0; j < award; j++)
|
for (int j = 0; j < award; j++)
|
||||||
{
|
{
|
||||||
@ -3865,7 +3865,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
item ??= FunGameConstant.SkillLevelUpItems[Random.Shared.Next(FunGameConstant.SkillLevelUpItems.Count)];
|
item ??= FunGameConstant.SkillLevelUpItems[Random.Shared.Next(FunGameConstant.SkillLevelUpItems.Count)];
|
||||||
award = Math.Max(1, Random.Shared.Next(1, 4) * difficulty / Math.Max(2, (int)item.QualityType + 1));
|
award = difficulty + Random.Shared.Next(0, 3);
|
||||||
skillLevelUpItems.Add($"{award} 个{item.Name}");
|
skillLevelUpItems.Add($"{award} 个{item.Name}");
|
||||||
for (int j = 0; j < award; j++)
|
for (int j = 0; j < award; j++)
|
||||||
{
|
{
|
||||||
@ -4368,7 +4368,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
{
|
{
|
||||||
foreach (MarketItem marketItem in MarketItemsValid)
|
foreach (MarketItem marketItem in MarketItemsValid)
|
||||||
{
|
{
|
||||||
builder.AppendLine(GetMarketItemInfo(marketItem, true, user?.Id ?? 0));
|
builder.AppendLine(GetMarketItemInfo(marketItem, true, user ?? General.UnknownUserInstance));
|
||||||
}
|
}
|
||||||
builder.AppendLine("提示:使用【市场查看+序号】查看商品详细信息,使用【市场购买+序号】购买商品。");
|
builder.AppendLine("提示:使用【市场查看+序号】查看商品详细信息,使用【市场购买+序号】购买商品。");
|
||||||
}
|
}
|
||||||
@ -4382,7 +4382,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
return builder.ToString().Trim();
|
return builder.ToString().Trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string GetMarketItemInfo(MarketItem item, bool simply, long visitUser)
|
public static string GetMarketItemInfo(MarketItem item, bool simply, User visitUser)
|
||||||
{
|
{
|
||||||
StringBuilder builder = new();
|
StringBuilder builder = new();
|
||||||
if (simply)
|
if (simply)
|
||||||
@ -4421,7 +4421,7 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
{
|
{
|
||||||
builder.AppendLine($"商品已售罄");
|
builder.AppendLine($"商品已售罄");
|
||||||
if (item.FinishTime.HasValue) builder.AppendLine($"售罄时间:{item.FinishTime.Value.ToString(General.GeneralDateTimeFormatChinese)}");
|
if (item.FinishTime.HasValue) builder.AppendLine($"售罄时间:{item.FinishTime.Value.ToString(General.GeneralDateTimeFormatChinese)}");
|
||||||
if (visitUser == item.User && item.Buyers.Count > 0)
|
if (visitUser.Id == item.User && item.Buyers.Count > 0)
|
||||||
{
|
{
|
||||||
HashSet<string> buyers = [];
|
HashSet<string> buyers = [];
|
||||||
foreach (long buyerid in item.Buyers)
|
foreach (long buyerid in item.Buyers)
|
||||||
@ -4442,7 +4442,9 @@ namespace Oshima.FunGame.OshimaServers.Service
|
|||||||
if (item.FinishTime.HasValue) builder.AppendLine($"下架时间:{item.FinishTime.Value.ToString(General.GeneralDateTimeFormatChinese)}");
|
if (item.FinishTime.HasValue) builder.AppendLine($"下架时间:{item.FinishTime.Value.ToString(General.GeneralDateTimeFormatChinese)}");
|
||||||
}
|
}
|
||||||
else builder.AppendLine($"剩余库存:{(item.Stock == -1 ? "不限" : item.Stock)}");
|
else builder.AppendLine($"剩余库存:{(item.Stock == -1 ? "不限" : item.Stock)}");
|
||||||
builder.AppendLine($"☆--- 物品信息 ---☆\r\n{item.Item}");
|
Item newItem = item.Item.Copy();
|
||||||
|
newItem.Character = visitUser.Inventory.MainCharacter;
|
||||||
|
builder.AppendLine($"☆--- 物品信息 ---☆\r\n{newItem.ToString(false, true)}");
|
||||||
}
|
}
|
||||||
return builder.ToString().Trim();
|
return builder.ToString().Trim();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2441,6 +2441,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
Dictionary<int, string> itemsMsg = [];
|
Dictionary<int, string> itemsMsg = [];
|
||||||
|
|
||||||
using SQLHelper? sql = Factory.OpenFactory.GetSQLHelper();
|
using SQLHelper? sql = Factory.OpenFactory.GetSQLHelper();
|
||||||
|
Item[] items = [.. user.Inventory.Items];
|
||||||
foreach (int itemIndex in itemsIndex)
|
foreach (int itemIndex in itemsIndex)
|
||||||
{
|
{
|
||||||
if (!result)
|
if (!result)
|
||||||
@ -2450,10 +2451,10 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
|
|
||||||
bool subResult = true;
|
bool subResult = true;
|
||||||
Item? item = null;
|
Item? item = null;
|
||||||
if (itemIndex > 0 && itemIndex <= user.Inventory.Items.Count)
|
if (itemIndex > 0 && itemIndex <= items.Length)
|
||||||
{
|
{
|
||||||
itemsMsg[itemIndex] = "";
|
itemsMsg[itemIndex] = "";
|
||||||
item = user.Inventory.Items.ToList()[itemIndex - 1];
|
item = items[itemIndex - 1];
|
||||||
if (FunGameConstant.ItemCanUsed.Contains(item.ItemType))
|
if (FunGameConstant.ItemCanUsed.Contains(item.ItemType))
|
||||||
{
|
{
|
||||||
if (item.IsLock)
|
if (item.IsLock)
|
||||||
@ -2479,7 +2480,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
if (sql != null && SQLService.IsItemInOffers(sql, item.Guid))
|
if (sql != null && SQLService.IsItemInOffers(sql, item.Guid))
|
||||||
{
|
{
|
||||||
FunGameService.ReleaseUserSemaphoreSlim(uid);
|
FunGameService.ReleaseUserSemaphoreSlim(uid);
|
||||||
return $"这个物品 {itemIndex}. {item.Name} 无法使用!因为它正在进行交易,请检查交易报价!";
|
itemsMsg[itemIndex] += $"这个物品 {itemIndex}. {item.Name} 无法使用!因为它正在进行交易,请检查交易报价!\r\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@ -2531,6 +2532,8 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (msg != "") msg += "\r\n";
|
||||||
|
msg += "使用物品遇到错误,上述使用结果均已回滚,没有消耗也没有获得任何物品。";
|
||||||
FunGameService.ReleaseUserSemaphoreSlim(uid);
|
FunGameService.ReleaseUserSemaphoreSlim(uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7047,7 +7050,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
{
|
{
|
||||||
foreach (MarketItem marketItem in marketItems)
|
foreach (MarketItem marketItem in marketItems)
|
||||||
{
|
{
|
||||||
msg += FunGameService.GetMarketItemInfo(marketItem, true, userid) + "\r\n";
|
msg += FunGameService.GetMarketItemInfo(marketItem, true, user) + "\r\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else msg += "你还没有上架过任何物品。";
|
else msg += "你还没有上架过任何物品。";
|
||||||
@ -7091,7 +7094,7 @@ namespace Oshima.FunGame.WebAPI.Controllers
|
|||||||
string msg = "";
|
string msg = "";
|
||||||
if (market.MarketItems.TryGetValue(itemid, out MarketItem? item) && item != null)
|
if (market.MarketItems.TryGetValue(itemid, out MarketItem? item) && item != null)
|
||||||
{
|
{
|
||||||
msg = FunGameService.GetMarketItemInfo(item, false, userid);
|
msg = FunGameService.GetMarketItemInfo(item, false, user);
|
||||||
}
|
}
|
||||||
if (msg != "")
|
if (msg != "")
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1482,7 +1482,6 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
if (e.Detail.StartsWith("批量使用"))
|
if (e.Detail.StartsWith("批量使用"))
|
||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("批量使用", "").Trim();
|
string detail = e.Detail.Replace("批量使用", "").Trim();
|
||||||
char[] chars = [',', ' ', ',', ';', ';'];
|
|
||||||
string pattern = @"\s*(?:角色\s*(?<characterId>\d+))?\s*(?<itemIds>[\d\s,,;;]+)";
|
string pattern = @"\s*(?:角色\s*(?<characterId>\d+))?\s*(?<itemIds>[\d\s,,;;]+)";
|
||||||
Match match = Regex.Match(detail, pattern);
|
Match match = Regex.Match(detail, pattern);
|
||||||
if (match.Success)
|
if (match.Success)
|
||||||
@ -1490,7 +1489,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
string itemIdsString = match.Groups["itemIds"].Value;
|
string itemIdsString = match.Groups["itemIds"].Value;
|
||||||
string characterId = match.Groups["characterId"].Value;
|
string characterId = match.Groups["characterId"].Value;
|
||||||
int[] characterIds = characterId != "" ? [int.Parse(characterId)] : [1];
|
int[] characterIds = characterId != "" ? [int.Parse(characterId)] : [1];
|
||||||
int[] itemIds = itemIdsString.Split(chars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
|
int[] itemIds = itemIdsString.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
|
||||||
if (itemIds.Length > 0)
|
if (itemIds.Length > 0)
|
||||||
{
|
{
|
||||||
string msg = Controller.UseItem4(uid, (itemIds, characterIds));
|
string msg = Controller.UseItem4(uid, (itemIds, characterIds));
|
||||||
@ -1538,7 +1537,6 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("使用", "").Trim();
|
string detail = e.Detail.Replace("使用", "").Trim();
|
||||||
char[] chars = [',', ' ', ',', ';', ';'];
|
|
||||||
string pattern = @"^\s*(?:(?<itemId>\d+)|(?<itemPart>[^\d\s].*?))(?:\s+(?<countPart>\d+))?(?:\s*角色\s*(?<characterIds>[\d\s,,;;]*))?$";
|
string pattern = @"^\s*(?:(?<itemId>\d+)|(?<itemPart>[^\d\s].*?))(?:\s+(?<countPart>\d+))?(?:\s*角色\s*(?<characterIds>[\d\s,,;;]*))?$";
|
||||||
Match match = Regex.Match(detail, pattern);
|
Match match = Regex.Match(detail, pattern);
|
||||||
if (match.Success)
|
if (match.Success)
|
||||||
@ -1547,7 +1545,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
string itemPart = match.Groups["itemPart"].Value.Trim();
|
string itemPart = match.Groups["itemPart"].Value.Trim();
|
||||||
string countStr = match.Groups["countPart"].Value;
|
string countStr = match.Groups["countPart"].Value;
|
||||||
string characterIdsString = match.Groups["characterIds"].Value;
|
string characterIdsString = match.Groups["characterIds"].Value;
|
||||||
int[] characterIds = characterIdsString != "" ? [.. characterIdsString.Split(chars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Select(int.Parse)] : [1];
|
int[] characterIds = characterIdsString != "" ? [.. characterIdsString.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).Select(int.Parse)] : [1];
|
||||||
int count = string.IsNullOrEmpty(countStr) ? 1 : int.Parse(countStr);
|
int count = string.IsNullOrEmpty(countStr) ? 1 : int.Parse(countStr);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(itemId) && int.TryParse(itemId, out int id))
|
if (!string.IsNullOrEmpty(itemId) && int.TryParse(itemId, out int id))
|
||||||
@ -1576,7 +1574,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("分解物品", "").Trim();
|
string detail = e.Detail.Replace("分解物品", "").Trim();
|
||||||
List<int> ids = [];
|
List<int> ids = [];
|
||||||
foreach (string str in detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
|
foreach (string str in detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
|
||||||
{
|
{
|
||||||
if (int.TryParse(str, out int id))
|
if (int.TryParse(str, out int id))
|
||||||
{
|
{
|
||||||
@ -2015,7 +2013,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
if (e.Detail.StartsWith("设置小队") || e.Detail.StartsWith("重组小队"))
|
if (e.Detail.StartsWith("设置小队") || e.Detail.StartsWith("重组小队"))
|
||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("设置小队", "").Replace("重组小队", "").Trim();
|
string detail = e.Detail.Replace("设置小队", "").Replace("重组小队", "").Trim();
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> cindexs = [];
|
List<int> cindexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2386,7 +2384,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
string detail = e.Detail.Replace("探索", "").Replace("前往", "").Trim();
|
string detail = e.Detail.Replace("探索", "").Replace("前往", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string eid = "";
|
string eid = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> cindexs = [];
|
List<int> cindexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2531,7 +2529,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("上锁", "").Replace("锁定", "").Trim();
|
string detail = e.Detail.Replace("上锁", "").Replace("锁定", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> indexs = [];
|
List<int> indexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2555,7 +2553,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("解锁", "").Trim();
|
string detail = e.Detail.Replace("解锁", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> indexs = [];
|
List<int> indexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2688,7 +2686,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("报价添加物品", "").Trim();
|
string detail = e.Detail.Replace("报价添加物品", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> indexs = [];
|
List<int> indexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2716,7 +2714,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("报价添加对方物品", "").Trim();
|
string detail = e.Detail.Replace("报价添加对方物品", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> indexs = [];
|
List<int> indexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2744,7 +2742,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("报价移除物品", "").Trim();
|
string detail = e.Detail.Replace("报价移除物品", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> indexs = [];
|
List<int> indexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2772,7 +2770,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("报价移除对方物品", "").Trim();
|
string detail = e.Detail.Replace("报价移除对方物品", "").Trim();
|
||||||
string msg = "";
|
string msg = "";
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
List<int> indexs = [];
|
List<int> indexs = [];
|
||||||
foreach (string s in strings)
|
foreach (string s in strings)
|
||||||
{
|
{
|
||||||
@ -2800,7 +2798,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("商店出售", "").Trim();
|
string detail = e.Detail.Replace("商店出售", "").Trim();
|
||||||
List<int> ids = [];
|
List<int> ids = [];
|
||||||
foreach (string str in detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
|
foreach (string str in detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
|
||||||
{
|
{
|
||||||
if (int.TryParse(str, out int id))
|
if (int.TryParse(str, out int id))
|
||||||
{
|
{
|
||||||
@ -3067,7 +3065,7 @@ namespace Oshima.FunGame.WebAPI.Services
|
|||||||
if (e.Detail.StartsWith("市场出售"))
|
if (e.Detail.StartsWith("市场出售"))
|
||||||
{
|
{
|
||||||
string detail = e.Detail.Replace("市场出售", "").Trim();
|
string detail = e.Detail.Replace("市场出售", "").Trim();
|
||||||
string[] strings = detail.Split(' ', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
string[] strings = detail.Split(FunGameConstant.SplitChars, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
|
||||||
if (strings.Length < 2 || !double.TryParse(strings[^1], out double price))
|
if (strings.Length < 2 || !double.TryParse(strings[^1], out double price))
|
||||||
{
|
{
|
||||||
await SendAsync(e, "市场出售", "格式不正确,请使用:市场出售 <{物品序号...}> <价格>。多个物品序号使用空格隔开。");
|
await SendAsync(e, "市场出售", "格式不正确,请使用:市场出售 <{物品序号...}> <价格>。多个物品序号使用空格隔开。");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user