Thnx for the tip. Unfortunately I already knew about wowprogramming.com.
Also note that the strings in globalstrings.lua do not necessarily appear in the lua part of the blizzard interface source code.
Especially the system messages which are received via the MSG_CHAT_SYSTEM are already formatted when handed of to the LUA part of the client.
So that won't fix the problem.
At this moment I'm considering using a network traffic analyzer to try to see what the client actually sends and received from the server..
This is just the list of almost all guild related APIs I could find, so I copy pasted it and hooked it. Turns out there are more functions that request information from the server and can trigger a "You are not in a guild" system message.
I need help finding out which APIs those are, not with optimizing my code.
This is the list of APIs i'm hooking.
No idea what other APIs i could possibly add...
-- Hooks
local HookTable = {
CanEditMOTD=function() return true end, -- Returns true if you are allowed to edit the guild motd.
CanEditOfficerNote=function() return true end, -- Returns true if you are allowed to edit a guild member's officer note.
CanEditPublicNote=function() return true end, -- Returns true if you are allowed to edit a guild member's public note.
CanGuildDemote=function() return true end, -- Returns true if you are allowed to demote a guild member.
CanGuildInvite=function() return true end, -- Returns true if you are allowed to invite a new member to the guild.
CanGuildPromote=function() return true end, -- ?.
CanGuildRemove=function() return true end, -- ?.
CanViewOfficerNote=function() return true end, -- ?.
GetGuildInfo=function() return "TwistedGuild", "Member", 1 end, -- This function returns the name of the guild unit belongs to.
GetGuildInfoText=function() return nil end, -- Returns the persistant Guild Information data. (new in 1.9)
GetGuildRosterInfo=function() return nil end, -- This function is used to get info on members in the guild.
GetGuildRosterLastOnline=function() return nil end, -- Returns time since last online for indexth member in current sort order.
GetGuildRosterMOTD=function() return "MOTD" end, -- Returs guild's MOTD.
GetGuildRosterSelection=function() return 0 end, -- Returns the index of the current selected guild member.
GetGuildRosterShowOffline=function() return nil end, -- Returns true if showing offline members of the guild.
GetNumGuildMembers=function() return 1 end, -- Returns the number of guild members total.
GetTabardCreationCost==function() return nil end,-- Returns cost in coppers.
GetTabardInfo=function() return nil end, --?.
GuildControlAddRank=function() return nil end, -- Add another rank called "name". Only Guildmaster?
GuildControlDelRank=function() return nil end, -- Delete rank? Only Guildmaster?
GuildControlGetNumRanks=function() return 1 end, -- Returns number of ranks after guild frame open. Any guild member can use this.
GuildControlGetRankFlags=function() return nil end, -- Returns list of values for each permission for your rank.
GuildControlGetRankName=function() return "Rank" end, -- Returns name of the rank. Any guild member can use this.
GuildControlSaveRank=function() return nil end, -- Only Guildmaster?
GuildControlSetRank=function() return nil end, -- ?.
GuildControlSetRankFlag=function() return nil end, -- Enable/disable permission for some action.
GuildInfo=function() return nil end, -- Displays information about the guild you are a member of.
GuildRoster=function() return 1 end, -- Fetches the guild list and fires a GUILD_ROSTER_UPDATE event.
GuildRosterSetOfficerNote=function() return nil end, -- ?.
GuildRosterSetPublicNote=function() return nil end, -- ?.
GuildSetMOTD=function() return nil end, -- ?.
IsGuildLeader=function() return true end, -- ?.
IsInGuild=function() return true end, -- Lets you know whether you are in a guild.
SetGuildInfoText=function() return nil end, -- Sets the persistant Guild Information data. (new in 1.9)
SetGuildRosterSelection=function() return nil end, -- Selects/deselects a guild member according current sorting order.
SetGuildRosterShowOffline=function() return nil end, -- Sets/Resets the show offline members flag.
SortGuildRoster=function() return nil end, -- Sorts guildroster according "sort". Any unknown values sort on "name".
TurnInGuildCharter=function() return nil end, -- ?.
SendChatMessage=function() return nil end
}
First post on these forums, really hope you can help me out!
I'm trying to create an addon which will allow people who are not in the same guild to have a seamless "guild" experience.
This means i'm redirecting Guild chat and want to create an online list.
I am hooking functions to add custom entries to the Guild Pane online list, however I stumble in to 1 problem.
When the player is not actually in a guild I have to make sure the client doesn't use APIs that are only available when you are in a guild.
I have hooked some functions so the GUI correctly enables the Guild Pane (by default it's disabled if you're not in a guild), but when I open the Guild Pane i get a system message that says "You are not in a guild.".
I could of course just filter this message, however that is not what I want.
Have any of you ever before tried to reuse parts of the Blizzard GUI and if so do you have any tips for me?
0
Also note that the strings in globalstrings.lua do not necessarily appear in the lua part of the blizzard interface source code.
Especially the system messages which are received via the MSG_CHAT_SYSTEM are already formatted when handed of to the LUA part of the client.
So that won't fix the problem.
At this moment I'm considering using a network traffic analyzer to try to see what the client actually sends and received from the server..
0
However when I select the Guild tab I get the system message "You are not in a guild."
0
However that is not part of my problem.
This is just the list of almost all guild related APIs I could find, so I copy pasted it and hooked it. Turns out there are more functions that request information from the server and can trigger a "You are not in a guild" system message.
I need help finding out which APIs those are, not with optimizing my code.
=)
0
No idea what other APIs i could possibly add...
0
First post on these forums, really hope you can help me out!
I'm trying to create an addon which will allow people who are not in the same guild to have a seamless "guild" experience.
This means i'm redirecting Guild chat and want to create an online list.
I am hooking functions to add custom entries to the Guild Pane online list, however I stumble in to 1 problem.
When the player is not actually in a guild I have to make sure the client doesn't use APIs that are only available when you are in a guild.
I have hooked some functions so the GUI correctly enables the Guild Pane (by default it's disabled if you're not in a guild), but when I open the Guild Pane i get a system message that says "You are not in a guild.".
I could of course just filter this message, however that is not what I want.
Have any of you ever before tried to reuse parts of the Blizzard GUI and if so do you have any tips for me?
Regards,