Ignore:
Timestamp:
Nov 9, 2021, 6:28:33 PM (3 years ago)
Author:
alloc
Message:

Preparations for A20 release
Changes usage of "SteamID" to "UserID" in console commands
Also changes a bunch of the WebAPI stuff to show / use UserIDs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/AllocsCommands/Commands/ListLandProtection.cs

    r359 r369  
    1212                        return "Usage:\n" +
    1313                               "  1. listlandprotection summary\n" +
    14                                "  2. listlandprotection <steam id / player name / entity id> [parseable]\n" +
     14                               "  2. listlandprotection <user id / player name / entity id> [parseable]\n" +
    1515                               "  3. listlandprotection nearby [length]\n" +
    1616                               "1. Lists only players that own claimstones, the number they own and the protection status\n" +
    17                                "2. Lists only the claims of the player given by his SteamID / entity id / playername, including the individual claim positions.\n" +
     17                               "2. Lists only the claims of the player given by his UserID / entity id / playername, including the individual claim positions.\n" +
    1818                               "   If \"parseable\" is specified the output of the individual claims will be in a format better suited for programmatical readout.\n" +
    1919                               "3. Lists claims in a square with edge length of 64 (or the optionally specified size) around the executing player\n";
     
    2525
    2626                public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
    27                         if (_senderInfo.RemoteClientInfo != null) {
    28                                 if (_params.Count >= 1 && _params [0].EqualsCaseInsensitive ("nearby")) {
    29                                         _params.Add (_senderInfo.RemoteClientInfo.playerId);
     27                        if (_params.Count >= 1 && _params [0].EqualsCaseInsensitive ("nearby")) {
     28                                if (_senderInfo.RemoteClientInfo != null) {
     29                                        _params.Add (_senderInfo.RemoteClientInfo.entityId.ToString ());
     30                                } else if (_senderInfo.IsLocalGame && !GameManager.IsDedicatedServer) {
     31                                        _params.Add (GameManager.Instance.World.GetPrimaryPlayerId ().ToString ());
    3032                                }
    3133                        }
     
    3537
    3638                        bool summaryOnly = false;
    37                         string steamIdFilter = string.Empty;
     39                        PlatformUserIdentifierAbs userIdFilter = null;
    3840                        Vector3i closeTo = default (Vector3i);
    3941                        bool onlyCloseToPlayer = false;
     
    4749
    4850                        if (_params.Count == 1) {
    49                                 long tempLong;
    50 
    5151                                if (_params [0].EqualsCaseInsensitive ("summary")) {
    5252                                        summaryOnly = true;
    53                                 } else if (_params [0].Length == 17 && long.TryParse (_params [0], out tempLong)) {
    54                                         steamIdFilter = _params [0];
     53                                } else if (PlatformUserIdentifierAbs.TryFromCombinedString (_params[0], out userIdFilter)) {
    5554                                } else {
    5655                                        ClientInfo ci = ConsoleHelper.ParseParamIdOrName (_params [0]);
    5756                                        if (ci != null) {
    58                                                 steamIdFilter = ci.playerId;
     57                                                userIdFilter = ci.PlatformId;
    5958                                        } else {
    6059                                                SdtdConsole.Instance.Output ("Player name or entity id \"" + _params [0] + "\" not found.");
     
    7473                                                }
    7574
    76                                                 ClientInfo ci = ConsoleHelper.ParseParamSteamIdOnline (_params [_params.Count - 1]);
    77                                                 EntityPlayer ep = w.Players.dict [ci.entityId];
     75                                                int entityId = int.Parse (_params [_params.Count - 1]);
     76                                                EntityPlayer ep = w.Players.dict [entityId];
    7877                                                closeTo = new Vector3i (ep.GetPosition ());
    7978                                                onlyCloseToPlayer = true;
     
    9190
    9291                        LandClaimList.OwnerFilter[] ownerFilters = null;
    93                         if (!string.IsNullOrEmpty (steamIdFilter)) {
    94                                 ownerFilters = new[] {LandClaimList.SteamIdFilter (steamIdFilter)};
     92                        if (userIdFilter != null) {
     93                                ownerFilters = new[] {LandClaimList.UserIdFilter (userIdFilter)};
    9594                        }
    9695
     
    106105                                        "Player \"{0} ({1})\" owns {4} keystones (protected: {2}, current hardness multiplier: {3})",
    107106                                        kvp.Key.Name,
    108                                         kvp.Key.SteamID,
     107                                        kvp.Key.PlatformId,
    109108                                        kvp.Key.LandProtectionActive,
    110109                                        kvp.Key.LandProtectionMultiplier,
     
    113112                                        foreach (Vector3i v in kvp.Value) {
    114113                                                if (parseableOutput) {
    115                                                         SdtdConsole.Instance.Output ("LandProtectionOf: id=" + kvp.Key.SteamID +
     114                                                        SdtdConsole.Instance.Output ("LandProtectionOf: id=" + kvp.Key.PlatformId +
    116115                                                                                     ", playerName=" + kvp.Key.Name + ", location=" + v);
    117116                                                } else {
     
    122121                        }
    123122
    124                         if (string.IsNullOrEmpty (steamIdFilter)) {
     123                        if (userIdFilter == null) {
    125124                                SdtdConsole.Instance.Output ("Total of " + ppl.m_lpBlockMap.Count + " keystones in the game");
    126125                        }
Note: See TracChangeset for help on using the changeset viewer.