This repository was archived by the owner on Aug 3, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGuildAddon.lua
More file actions
97 lines (82 loc) · 5.73 KB
/
Copy pathGuildAddon.lua
File metadata and controls
97 lines (82 loc) · 5.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
if ESOAddonDev then
dofile([[GuildAddonGlobals.lua]])
dofile([[core/GuildAddonUI.lua]])
end
function GuildAddon.GuildPlayerStatusChanged(event,guildId,playerName,prevStatus,curStatus)
GuildAddon.guildName = GetGuildName(guildId)
if GuildAddon.savedVariables ~= nil then
if curStatus == 1 and GuildAddon.savedVariables[GuildAddon.guildName] then
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colGreen .. GuildAddon.guildName .. ": ".. GuildAddon.var.color.colTeal .. playerName .. GuildAddon.var.color.colWhite .." is" .. " Online")
end
if curStatus == 4 and GuildAddon.savedVariables[GuildAddon.guildName] then
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString().. "]|r " .. GuildAddon.var.color.colGreen .. GuildAddon.guildName .. ": ".. GuildAddon.var.color.colTeal .. playerName .. GuildAddon.var.color.colWhite .." is" .. " Offline")
end
end
end
local function GuildMemberAdded(event,guildId,displayName)
guildName = GetGuildName(guildId)
if GuildAddon.savedVariables ~= nil and GuildAddon.savedVariables[guildName] then
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colGreen .. guildName .. ": " .. GuildAddon.var.color.colTeal .. displayName .. GuildAddon.var.color.colGreen .. " Joined" .. GuildAddon.var.color.colWhite .. " the guild")
end
end
local function GuildMemberRemoved(event,guildId,displayName,characterName)
guildName = GetGuildName(guildId)
if GuildAddon.savedVariables ~= nil and GuildAddon.savedVariables[guildName] then
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colGreen .. guildName .. ": " .. GuildAddon.var.color.colTeal .. characterName .. GuildAddon.var.color.colRed .. " Removed" .. GuildAddon.var.color.colWhite .. " from the guild")
end
end
local function GuildSelfJoin(event,guildId,guildName)
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colGreen .. "Congratulations!" .. GuildAddon.var.color.colWhite .. " You are joined to ".. GuildAddon.var.color.colGreen .. guildName)
-- TO DO : // Run reloadUI here.
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "Please type /reloadui for make the addon work properly :)")
end
local function GuildSelfLeave(event,guildId,guildName)
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colWhite .. " You" .. GuildAddon.var.color.colRed .." left ".. GuildAddon.var.color.colWhite .. guildName)
-- TO DO : // Run reloadUI here.
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "Please type /reloadui for make the addon work properly :)")
end
local function GuildMemberCharacterLevelChanged(event,guildId,displayName,characterName,newLevel)
guildName = GetGuildName(guildId)
if GuildAddon.savedVariables ~= nil and GuildAddon.savedVariables[guildName] then
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colGreen .. guildName .. ": " .. GuildAddon.var.color.colTeal .. characterName .. GuildAddon.var.color.colWhite .." has leveled up to " .. GuildAddon.var.color.colGreen .. tostring(newLevel))
end
end
local function GuildMemberCharacterVeteranRankChanged(event,guildId,displayName,newVeteranRank)
guildName = GetGuildName(guildId)
if GuildAddon.savedVariables ~= nil and GuildAddon.savedVariables[guildName] then
CHAT_SYSTEM:AddMessage(GuildAddon.var.color.colWhite .. "[" .. GetTimeString() .. "]|r " .. GuildAddon.var.color.colGreen .. guildName .. ": " .. GuildAddon.var.color.colTeal .. displayName .. GuildAddon.var.color.colWhite .." has leveled up to " .. GuildAddon.var.color.colGreen .. "v" .. tostring(newVeteranRank))
end
end
function Initialize()
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_MEMBER_PLAYER_STATUS_CHANGED,GuildAddon.GuildPlayerStatusChanged)
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_MEMBER_REMOVED,GuildMemberRemoved)
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_MEMBER_ADDED,GuildMemberAdded)
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_SELF_LEFT_GUILD,GuildSelfLeave)
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_SELF_JOINED_GUILD,GuildSelfJoin)
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_MEMBER_CHARACTER_VETERAN_RANK_CHANGED,GuildMemberCharacterVeteranRankChanged)
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_GUILD_MEMBER_CHARACTER_LEVEL_CHANGED,GuildMemberCharacterLevelChanged)
for i = 1,GetNumGuilds() do
guildName = GetGuildName(i)
GuildAddon.var.guilds[i] = guildName
GuildAddon.var.defaults[guildName] = true
end
end
function ShowMOTD()
for GuildId = 1 ,GetNumGuilds() do
d(GuildAddon.var.color.colWhite .. "[" .. GetTimeString().. "]|r " .. GuildAddon.var.color.colGreen ..GetGuildName(GuildId)..": ".. GuildAddon.var.color.colTeal ..GetGuildMotD(GuildId))
end
end
function GuildAddon.OnAddOnLoaded(event,addonName)
if addonName == GuildAddon.var.appName then
EVENT_MANAGER:UnregisterForEvent(GuildAddon.var.appName, EVENT_ADD_ON_LOADED)
Initialize()
GuildAddon.var.isAddonLoaded = true
zo_callLater(function()
GuildAddon.savedVariables = ZO_SavedVars:NewAccountWide("GuildAddonSavedVars",GuildAddon.var.version,nil,GuildAddon.var.defaults)
ShowMOTD()
d(GuildAddon.welcomeMsg .. " v".. GuildAddon.var.version)
GuildAddon.SetGuildAddonUI()
end,GuildAddon.var.loadWelcomeFuncInterval)
end
end
EVENT_MANAGER:RegisterForEvent(GuildAddon.var.appName,EVENT_ADD_ON_LOADED,GuildAddon.OnAddOnLoaded)