Thread Tools Display Modes
02/09/20, 08:50 AM   #1
ArtOfShred
 
ArtOfShred's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2016
Posts: 103
[open] IsIgnored(charOrDisplayName) doesn't properly pickup Character Names

Code:
IsIgnored(string charOrDisplayName) 
     Returns: boolean isIgnored
Will only return true when a displayName is entered, not a character name.

This leads to a few issues with some other functions in the base UI, a prime example being the function used when the player sends a guild invite by name to a player through the Guild Roster.

The function used is ZO_TryGuildInvite(guildId, displayName) in esoui/ingame/guild/zo_guildutils.common, which has the following line starting at 148 on the current PTS build:
Code:
        if IsIgnored(displayName) then
            ZO_Alert(UI_ALERT_CATEGORY_ALERT, nil, SI_GROUP_ALERT_INVITE_PLAYER_BLOCKED)
            return
        end
This returns an error that "you have blocked that player" you are ignoring IF you enter their display name, however if you enter their character name it bypasses this restriction.

As a sidenote, AddIgnore(charOrDisplayName) DOES properly parse a DisplayName or CharacterName. RemoveIgnore(displayName) does not. Perhaps the functionality of removing an ignored player by character name could be added here as well.

Last edited by ArtOfShred : 02/09/20 at 08:54 AM.
  Reply With Quote
02/17/20, 02:27 PM   #2
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 171
That function should really just say displayName. The client doesn't actually know the character names associated with the accounts that are currently blocked.
  Reply With Quote
02/17/20, 02:43 PM   #3
ArtOfShred
 
ArtOfShred's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2016
Posts: 103
Is there any chance of expanding the functionality?

Outside of being useful for what I'm doing I can see some potential issues with character names of blocked accounts not being recognized.

Example: A guild member says "hey invite my friend", gives you the char name. You invite that char name, ends up their account name is someone you put on ignore thats been harassing you etc - but since the functions that check for ignore can't recognize the char names it gets through.

Last edited by ArtOfShred : 02/17/20 at 02:48 PM.
  Reply With Quote
02/17/20, 02:50 PM   #4
ZOS_DanBatson
ZOS Staff!
 
ZOS_DanBatson's Avatar
Yes this person is from ZeniMax!
Join Date: Jul 2015
Posts: 171
I can pass the loophole bug along to our QA team, and I can pass the request for the client knowing the character names on to our backend team, but there's no guarantee we'll be able to add that extra functionality, unfortunately.

Of note, just because that Lua check doesn't give the alert doesn't mean the invite actually goes through. Have you confirmed that the player actually receives the invite? The backend should be preventing it even for a character name.

Last edited by ZOS_DanBatson : 02/17/20 at 02:54 PM.
  Reply With Quote
02/17/20, 02:54 PM   #5
ArtOfShred
 
ArtOfShred's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2016
Posts: 103
That would be great, thanks!

EDIT: Yeah I did check actually, with two of my own accounts. For guild invites, the invite does go through properly as long as I invite an ignored account by character name and not account name.

I'm fairly certain group invites don't work by the character name however. Not sure about trade/duel.

EDIT: I can probably check when I get off work and get the whole table of how the social interactions work with like the ignored account being the inviter vs invitee, and then also see how that behaves if both accounts are ignoring each other.

Last edited by ArtOfShred : 02/17/20 at 03:03 PM.
  Reply With Quote
02/18/20, 07:33 AM   #6
ArtOfShred
 
ArtOfShred's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2016
Posts: 103
Okay did some testing:

In the case of character name:

I try to initiate a social interaction with someone that is IGNORING ME:
If I try to duel, trade, group invite, or guild invite them - the invite either doesn't go through or I get an error result from the related event. So this is properly protected on the backend.

I try to initiate a social interaction with someone that I AM IGNORING:
If I try to duel, trade, group invite, or guild invite them - it CAN go through. If I do it by account name - it also CAN go through with account name unless a function somewhere in the way checks for IsIgnored(displayName) - so unless the PlayerToPlayer menu or Slash Command function checks - then you can still invite regardless.
By default, the player to player menu does gray out for any social interaction when a player is ignored. However, the /invite function still goes through (with characterName or displayName) & in the case of inviting someone from the guild menu it will only block you from sending an invite when you enter displayName, you can still invite ignored players by characterName.

Last edited by ArtOfShred : 02/18/20 at 07:50 AM.
  Reply With Quote

ESOUI » Developer Discussions » Bug Reports » [open] IsIgnored(charOrDisplayName) doesn't properly pickup Character Names

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off