using ServerCommon; using ServerCore; using ServerBase; namespace GameServer; [ChatCommandAttribute("seasonpassexp", typeof(SeasonPassExpComplete), AuthAdminLevelType.Developer, AuthAdminLevelType.GmNormal, AuthAdminLevelType.GmSuper)] internal class SeasonPassExpComplete : ChatCommandBase { public override async Task invoke(Player player, string token, string[] args) { if (args.Length < 1) { Log.getLogger().error($"Invalid Argument"); return; } if (!int.TryParse(args[0], out var exp)) { Log.getLogger().error($"SeasonPassExpComplete param parsing Error args : {args[0]}"); return; } var season_pass_action = player.getEntityAction(); var server_logic = GameServerApp.getServerLogic(); var fn_start = async delegate () { var result = season_pass_action.IncreaseExp((UInt32)exp); var batch = new QueryBatchEx(player, LogActionType.CheatCommandIncreaseExp , server_logic.getDynamoDbClient()); { batch.addQuery(new DBQWriteToAttributeAllWithTransactionRunner()); } result = await QueryHelper.sendQueryAndBusinessLog(batch); if (result.isFail()) { return result; } return result; }; var transaction_name = "CheatIncreaseSeasonPassExp"; var result = await player.runTransactionRunnerSafelyWithTransGuid(player.getUserGuid() , TransactionIdType.PrivateContents, transaction_name , fn_start); if (result.isFail()) { var err_msg = $"Failed to runTransactionRunnerSafelyWithTransGuid() !!! : {result.toBasicString()} - transactionName:{transaction_name}, {player.toBasicString()}"; Log.getLogger().error(err_msg); } } } [ChatCommandAttribute("seasonpasscharge", typeof(SeasonPassCharge), AuthAdminLevelType.Developer, AuthAdminLevelType.GmNormal, AuthAdminLevelType.GmSuper)] internal class SeasonPassCharge : ChatCommandBase { public override async Task invoke(Player player, string token, string[] args) { var season_pass_action = player.getEntityAction(); await season_pass_action.tryBuyChargedPass(); } } [ChatCommandAttribute("seasonpassinit", typeof(SeasonPassCheatInit), AuthAdminLevelType.Developer, AuthAdminLevelType.GmNormal, AuthAdminLevelType.GmSuper)] internal class SeasonPassCheatInit : ChatCommandBase { public override async Task invoke(Player player, string token, string[] args) { var season_pass_action = player.getEntityAction(); await season_pass_action.CheatSeasonDataInit(); } }