vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --[[
2 -- //////////////////////////////////////////////
3 -- Variables Init
4 -- //////////////////////////////////////////////
5 ]]
6 local rpgoGP_TITLE ="GuildProfiler";
7 local rpgoGP_ABBR ="GP";
8 local rpgoGP_AUTHOR ="calvin";
9 local rpgoGP_EMAIL ="calvin@rpgoutfitter.com";
10 local rpgoGP_URL ="www.rpgoutfitter.com";
11 local rpgoGP_DATE ="March 29, 2006";
12 local rpgoGP_PROVIDER ="rpgo";
13 local rpgoGP_VERSION ="1.5.1";
14 local rpgoGP_PROFILEDB ="1.5.1";
15 -- //////////////////////////////////////////////
16 if(not rpgoColorTitle) then rpgoColorTitle="909090"; end
17 if(not rpgoColorGreen) then rpgoColorGreen="00cc00"; end
18 if(not rpgoColorRed) then rpgoColorRed ="ff0000"; end
19 -- //////////////////////////////////////////////
20 local rpgoAddonsInfoGP={
21 name=rpgoGP_TITLE,
22 description="Export Guild Profiles for use out-of-game",
23 version=rpgoGP_VERSION,
24 releaseDate=rpgoGP_DATE,
25 author=rpgoGP_AUTHOR,
26 email=rpgoGP_EMAIL,
27 website=rpgoGP_URL,
28 category=MYADDONS_CATEGORY_OTHERS,
29 frame="rpgoGPframe",
30 };
31 local rpgoAddonsHelpGP={
32 "GuildProfileris an addon that extracts guild profile info including roster and rank info. This information can then be uploaded to your website to display your guild info.\n\n",
33 };
34 local GPprefScan={Enabled=1,SmartScan=1,Lite=1,Debug=0};
35 local rpgoGPlock,rpgoGPserver,rpgoGPguild;
36 local rpgoGPstate={};
37 -- //////////////////////////////////////////////
38 -- //////////////////////////////////////////////
39  
40 --[[//////////////////////////////////////////////
41 -- rpgoGP Core Functions
42 -- OnLoad,LoadVar,RegisterEvents,InitState,OnEvent
43 -- ////////////////////////////////////////////]]
44  
45 --[[// OnLoad
46 -- ////////////////////////////////////////////]]
47 function rpgoGP_OnLoad()
48 this:RegisterEvent("ADDON_LOADED");
49 this:RegisterEvent("VARIABLES_LOADED");
50 SLASH_RPGOGP1="/gp";
51 SlashCmdList["RPGOGP"]=rpgoGP_ChatCommand;
52 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_TITLE).." [v" .. rpgoGP_VERSION .. "] loaded.");
53 rpgoGP_debug(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR).." running in DEBUG MODE.");
54 end
55  
56 --[[// LoadVar
57 -- ////////////////////////////////////////////]]
58 function rpgoGP_LoadVar(toggle)
59 rpgoGP_InitState();
60 rpgoGP_InitPrefs();
61 rpgoGP_RegisterEvents();
62 rpgoGPserver=GetCVar("realmName");
63 rpgoGPstate={}
64 rpgoGPstate["LoadedVar"]=1;
65 end
66  
67 --[[// RegisterEvents
68 -- ////////////////////////////////////////////]]
69 function rpgoGP_RegisterEvents()
70 local flagMode=0;
71 if(rpgoGPpref["Enabled"]==1 and rpgoGPpref["SmartScan"]==1) then
72 flagMode=1;
73 end
74 if(flagMode==1)then
75 rpgoGPframe:RegisterEvent("GUILD_MOTD");
76 rpgoGPframe:RegisterEvent("GUILD_ROSTER_SHOW");
77 rpgoGPframe:RegisterEvent("GUILD_ROSTER_CLOSED");
78 rpgoGPframe:RegisterEvent("GUILD_ROSTER_UPDATE");
79 rpgoGP_debug("RegisterEvents");
80 else
81 rpgoGPframe:UnregisterEvent("GUILD_MOTD");
82 rpgoGPframe:UnregisterEvent("GUILD_ROSTER_SHOW");
83 rpgoGPframe:UnregisterEvent("GUILD_ROSTER_CLOSED");
84 rpgoGPframe:UnregisterEvent("GUILD_ROSTER_UPDATE");
85 rpgoGP_debug("UnregisterEvent");
86 end
87 --[[
88 event:GUILD_ROSTER_UPDATE
89 arg1:nil ==> system?
90 arg1:c ==> offline?
91 --]]
92 flagMode=nil;
93 end
94  
95  
96 --[[// EventHandler
97 -- ////////////////////////////////////////////]]
98 function rpgoGP_EventHandler(event,arg1)
99 if(rpgoDebugArg) then rpgoDebugArg(rpgoGP_ABBR,event,arg1); end
100 if(event=="ADDON_LOADED" and arg1==rpgoGP_TITLE) then
101 rpgo_myAddons(rpgoAddonsInfoGP,rpgoAddonsHelpGP);
102 rpgoGPframe:UnregisterEvent("ADDON_LOADED");
103 return;
104 elseif(event=="VARIABLES_LOADED") then
105 rpgoGP_LoadVar();
106 rpgoGPframe:UnregisterEvent("VARIABLES_LOADED");
107 return;
108 end
109 if(rpgoGPpref["Enabled"]==0) then return; end
110 --if(rpgoLiteScan(rpgoGPpref["Lite"])) then return; end
111  
112 debugprofilestart();
113 if(event=="CHAT_MSG_SYSTEM") then
114 rpgoGP_ScanGuildInfo(arg1);
115 end
116 if(not rpgoGPlock and rpgoGPserver) then
117 rpgoGPlock=1;
118 if(not rpgoGPstate["Loaded"]) then
119 rpgoGP_InitProfile();
120 end
121 if(event=="RPGOGP_SCAN") then
122 rpgoGP_UpdateProfile();
123 elseif(event=="RPGOGP_EXPORT") then
124 rpgoGP_ForceExport();
125 end
126 rpgoGPlock=nil;
127 end
128 rpgoGP_debug("time: "..debugprofilestop().."ms");
129 end
130  
131 --[[// InitState
132 -- ////////////////////////////////////////////]]
133 function rpgoGP_InitState(arg)
134 rpgoGPstate={};
135 rpgoGPstate["Loaded"]=nil;
136 rpgoGPstate["LoadedVar"]=arg;
137 rpgoGPstate["Guild"]=nil;
138 rpgoGPstate["GuildNum"]=nil;
139 rpgoGPstate["GuildInfo"]=nil;
140 rpgoGPstate["OfficerNote"]=nil;
141 end
142  
143 --[[// InitPrefs
144 -- ////////////////////////////////////////////]]
145 function rpgoGP_InitPrefs()
146 local pref,val;
147 if(not rpgoGPpref) then
148 rpgoGPpref={};
149 end
150 for pref,val in GPprefScan do
151 if(not rpgoGPpref[pref]) then
152 rpgoGPpref[pref]=val;
153 end
154 end
155 --cleanup
156 for pref,val in rpgoGPpref do
157 if(not GPprefScan[pref]) then
158 rpgoGPpref[pref]=nil;
159 end
160 end
161 end
162  
163 --[[//////////////////////////////////////////////
164 -- InitProfile
165 -- ////////////////////////////////////////////]]
166 function rpgoGP_InitProfile()
167 if (not rpgoGPstate["Loaded"]) then
168 if ( not myProfile ) then
169 myProfile={};
170 end
171 if ( not myProfile[rpgoGPserver] ) then
172 myProfile[rpgoGPserver]={};
173 end
174 end
175 rpgoGPstate["Loaded"]=1;
176 end
177  
178 --[[//////////////////////////////////////////////
179 -- UpdateProfile
180 -- ////////////////////////////////////////////]]
181 function rpgoGP_UpdateProfile()
182 rpgoGP_InitProfile();
183 rpgoGP_InitProfile();
184 rpgoGP_GetGuildInfo();
185 end
186  
187 --[[//////////////////////////////////////////////
188 -- ForceExport
189 -- ////////////////////////////////////////////]]
190 function rpgoGP_ForceExport()
191 rpgoGP_InitState(1);
192 rpgoGP_InitProfile();
193 rpgoGP_GetGuildInfo();
194 rpgoGP_Show();
195 end
196  
197 --[[// ChatCommand
198 -- ////////////////////////////////////////////]]
199 function rpgoGP_ChatCommand(msg)
200 if(msg)then
201 msg=string.lower(msg);
202 if (msg=="off") then
203 rpgoGP_Toggle(0);
204 return;
205 elseif (msg=="on") then
206 rpgoGP_Toggle(1);
207 return;
208 elseif (msg=="show") then
209 rpgoGP_Show();
210 return;
211 elseif (msg=="export") then
212 rpgoGP_EventHandler('RPGOGP_EXPORT');
213 return;
214 elseif (msg=="smart on") then
215 rpgoGP_TogglePref("SmartScan",1);
216 return;
217 elseif (msg=="smart off") then
218 rpgoGP_TogglePref("SmartScan",0);
219 return;
220 elseif (msg=="debug") then
221 rpgoGP_Debug();
222 return;
223 end
224 end
225 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_TITLE).." Usage [v" .. rpgoGP_VERSION .. "]");
226 DEFAULT_CHAT_FRAME:AddMessage(" /gp -- This Message");
227 DEFAULT_CHAT_FRAME:AddMessage(" /gp on -- Turns GuildProfiler on");
228 DEFAULT_CHAT_FRAME:AddMessage(" /gp off -- Turns GuildProfiler off");
229 DEFAULT_CHAT_FRAME:AddMessage(" /gp show");
230 DEFAULT_CHAT_FRAME:AddMessage(" /gp export");
231 if(rpgoGPpref["Enabled"]==1) then
232 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": currently "..rpgo_ColorizeMsg(rpgoColorGreen,"enabled"));
233 if(rpgoGPpref["SmartScan"]==1) then
234 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": smart mode "..rpgo_ColorizeMsg(rpgoColorGreen,"enabled"));
235 else
236 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": smart mode "..rpgo_ColorizeMsg(rpgoColorRed,"disabled"));
237 end
238 else
239 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": currently "..rpgo_ColorizeMsg(rpgoColorRed,"disabled"));
240 end
241 end
242  
243 --[[// Toggle
244 -- ////////////////////////////////////////////]]
245 function rpgoGP_Toggle(toggle)
246 rpgoGPpref["Enabled"]=toggle;
247 if(toggle==1) then
248 if (rpgoGPserver) then rpgoGPserver=GetCVar("realmName"); end
249 rpgoGP_InitState(1);
250 elseif(toggle==0) then
251 rpgoGPstate=nil;
252 end
253 if(rpgoGPpref["Enabled"]==1) then
254 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": "..rpgo_ColorizeMsg(rpgoColorGreen,"enabled"));
255 if(rpgoGPpref["SmartScan"]==1) then
256 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": smart mode "..rpgo_ColorizeMsg(rpgoColorGreen,"enabled"));
257 else
258 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": smart mode "..rpgo_ColorizeMsg(rpgoColorRed,"disabled"));
259 end
260 else
261 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": "..rpgo_ColorizeMsg(rpgoColorRed,"disabled"));
262 end
263 rpgoGP_RegisterEvents();
264 if ( (rpgoGPpref["Enabled"]==0) and myProfile["Guild"] ) then
265 myProfile[rpgoGPserver]["Guild"]=nil;
266 end
267 end
268  
269 --[[// Toggle
270 -- ////////////////////////////////////////////]]
271 function rpgoGP_TogglePref(pref,toggle)
272 if(rpgoGPpref[pref] and toggle) then
273 rpgoGPpref[pref]=toggle;
274 end
275 if(rpgoGPpref and rpgoGPpref[pref]==1) then
276 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": "..pref.." "..rpgo_ColorizeMsg(rpgoColorGreen,"on"));
277 else
278 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": "..pref.." "..rpgo_ColorizeMsg(rpgoColorRed,"off"));
279 end
280 if(pref=="SmartScan") then
281 rpgoGP_RegisterEvents();
282 rpgoGP_Toggle(rpgoGPpref["Enabled"]);
283 end
284 end
285  
286 --[[// Debug
287 -- ////////////////////////////////////////////]]
288 function rpgoGP_Debug()
289 if (rpgoGPpref["Debug"]==1) then
290 rpgoGPpref["Debug"]=0;
291 else
292 rpgoGPpref["Debug"]=1;
293 rpgoGP_debug("Debug Mode: enabled");
294 end
295 end
296  
297 --[[// Show
298 -- ////////////////////////////////////////////]]
299 function rpgoGP_Show()
300 if( rpgoGPpref["Enabled"]==1) then
301 if(rpgoGPstate["Loaded"]==1 and rpgoGPstate["Guild"]) then
302 local msg="";
303 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": guild info scanned this session");
304 if(rpgoGPstate["Guild"]==1) then
305 DEFAULT_CHAT_FRAME:AddMessage(" Profile for: '" .. rpgoGPguild .. "' on " .. rpgoGPserver);
306 if(rpgoGPstate["GuildNum"]) then
307 DEFAULT_CHAT_FRAME:AddMessage(" Members: " .. rpgoGPstate["GuildNum"]);
308 else
309 DEFAULT_CHAT_FRAME:AddMessage(" Members: not scanned");
310 end
311 else
312 DEFAULT_CHAT_FRAME:AddMessage(" you are not in a guild");
313 end
314 else
315 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": "..rpgo_ColorizeMsg(rpgoColorRed," no guild info scanned this session"));
316 DEFAULT_CHAT_FRAME:AddMessage(" open your guild roster to scan guild information ('O'->'Guild')");
317 DEFAULT_CHAT_FRAME:AddMessage(" or force the export with '/gp export'");
318 end
319 else
320 DEFAULT_CHAT_FRAME:AddMessage(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": currently "..rpgo_ColorizeMsg(rpgoColorRed,"disabled"));
321 end
322 end
323  
324 --[[//////////////////////////////////////////////
325 -- rpgoGP Extract functions
326 -- ////////////////////////////////////////////]]
327 function rpgoGP_GetGuildInfo()
328 GuildRoster();
329 local isGuildMember=IsInGuild();
330 local numGuildMembers=GetNumGuildMembers(true);
331 local showOfflineTemp=GetGuildRosterShowOffline();
332 SetGuildRosterShowOffline(true);
333 if(not isGuildMember) then
334 rpgoGPstate["Guild"]=0;
335 elseif(rpgoGPstate["Guild"]~=isGuildMember or rpgoGPstate["GuildNum"]~=numGuildMembers) then
336 rpgoGPstate["Guild"]=isGuildMember;
337 local currHour, currMinute=GetGameTime();
338 local pTime=GetTime();
339 local name, rank, rankIndex, level, class, zone, group, note, officernote, online;
340 local yearsOffline, monthsOffline, daysOffline, hoursOffline;
341 local guildName, guildRankName, guildRankIndex=GetGuildInfo("player");
342 local guildMemberTemp=nil;
343 local guildMemberNumTemp=nil;
344 if(myProfile[rpgoGPserver]["Guild"] and myProfile[rpgoGPserver]["Guild"]["Members"]) then
345 guildMemberTemp=myProfile[rpgoGPserver]["Guild"]["Members"];
346 guildMemberNumTemp=myProfile[rpgoGPserver]["Guild"]["NumMembers"];
347 end
348 myProfile[rpgoGPserver]["Guild"]= {};
349 myProfile[rpgoGPserver]["Guild"]["Version"]=rpgoGP_PROFILEDB;
350 myProfile[rpgoGPserver]["Guild"]["GPversion"]=rpgoGP_VERSION;
351 myProfile[rpgoGPserver]["Guild"]["GPprovider"]=rpgoGP_PROVIDER;
352 myProfile[rpgoGPserver]["Guild"]["DBversion"]=rpgoGP_PROFILEDB;
353 myProfile[rpgoGPserver]["Guild"]["Guild"]=guildName;
354 myProfile[rpgoGPserver]["Guild"]["Motd"]=GetGuildRosterMOTD();
355 myProfile[rpgoGPserver]["Guild"]["Info"]=GetGuildInfoText();
356 myProfile[rpgoGPserver]["Guild"]["Hour"]=currHour;
357 myProfile[rpgoGPserver]["Guild"]["Minute"]=currMinute;
358 myProfile[rpgoGPserver]["Guild"]["DateExtracted"]=date();
359 myProfile[rpgoGPserver]["Guild"]["Date"]=date();
360 myProfile[rpgoGPserver]["Guild"]["DateUTC"]=date("!%m/%d/%y %H:%M:%S");
361 myProfile[rpgoGPserver]["Guild"]["Locale"]=GetLocale();
362 myProfile[rpgoGPserver]["Guild"]["Members"]=guildMemberTemp;
363 local _,faction=UnitFactionGroup("player");
364 myProfile[rpgoGPserver]["Guild"]["Faction"]=faction;
365 if(numGuildMembers~=0) then
366 myProfile[rpgoGPserver]["Guild"]["NumMembers"]=numGuildMembers;
367 else
368 myProfile[rpgoGPserver]["Guild"]["NumMembers"]=guildMemberNumTemp;
369 end
370 guildMemberTemp=nil;
371 guildMemberNumTemp=nil;
372 rpgoGPguild=guildName;
373 rpgoGP_GetGuildMembers(numGuildMembers);
374 end
375 SetGuildRosterShowOffline(showOfflineTemp);
376 if(not rpgoGPstate["GuildInfo"]) then
377 rpgoGPframe:RegisterEvent("CHAT_MSG_SYSTEM");
378 GuildInfo();
379 rpgoGPstate["GuildInfo"]=1;
380 end
381 rpgoGP_GuildControl();
382 end
383  
384 function rpgoGP_GuildControl()
385 myProfile[rpgoGPserver]["Guild"]["Ranks"]={};
386 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Headers"]={};
387 for i=1,MAX_GUILDCONTROL_OPTIONS do
388 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Headers"]["Control"..i]=getglobal("GUILDCONTROL_OPTION"..i);
389 end
390 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Index"]={};
391 for i=1,GuildControlGetNumRanks() do
392 GuildControlSetRank(i);
393 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Index"]["Rank"..i]={};
394 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Index"]["Rank"..i]["Index"]=i;
395 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Index"]["Rank"..i]["Title"]=GuildControlGetRankName(i);
396 myProfile[rpgoGPserver]["Guild"]["Ranks"]["Index"]["Rank"..i]["Control"]=rpgoGP_GuildControlFlags(GuildControlGetRankFlags());
397 end
398 end
399  
400 function rpgoGP_GuildControlFlags(...)
401 local flags='';
402 for i=1,arg.n,1 do
403 if(i>1) then flags=flags..':'; end
404 if(arg[i]) then
405 flags=flags..arg[i];
406 else
407 flags=flags..0;
408 end
409 end
410 return(flags);
411 end
412  
413 function rpgoGP_GetGuildMembers(numMembers)
414 rpgoGPstate["OfficerNote"]=CanViewOfficerNote();
415 if(numMembers > 0 and (rpgoGPstate["GuildNum"]~=numMembers)) then
416 rpgoGPstate["GuildNum"]=0;
417 local guildMemberTemp=nil;
418 if(myProfile[rpgoGPserver]["Guild"] and myProfile[rpgoGPserver]["Guild"]["Members"]) then
419 guildMemberTemp=myProfile[rpgoGPserver]["Guild"]["Members"];
420 end
421 myProfile[rpgoGPserver]["Guild"]["Members"]={};
422 for i=1,numMembers do
423 name,rank,rankIndex,level,class,zone,note,officernote,online,status=GetGuildRosterInfo(i);
424 yearsOffline,monthsOffline,daysOffline,hoursOffline=GetGuildRosterLastOnline(i);
425 if(name~=nil)then
426 myProfile[rpgoGPserver]["Guild"]["Members"][name]={};
427 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Name"]=name;
428 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Rank"]=rank;
429 myProfile[rpgoGPserver]["Guild"]["Members"][name]["RankIndex"]=rankIndex;
430 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Level"]= level;
431 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Class"]= class;
432 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Zone"]= zone;
433 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Group"]="no";
434 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Status"]=status;
435 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Note"]= note;
436 if(rpgoGPstate["OfficerNote"] and officernote~="") then
437 myProfile[rpgoGPserver]["Guild"]["Members"][name]["OfficerNote"]=officernote;
438 elseif((guildMemberTemp) and guildMemberTemp[name]) then
439 myProfile[rpgoGPserver]["Guild"]["Members"][name]["OfficerNote"]=guildMemberTemp[name]["OfficerNote"];
440 else
441 myProfile[rpgoGPserver]["Guild"]["Members"][name]["OfficerNote"]=officernote;
442 end
443 if(online) then
444 myProfile[rpgoGPserver]["Guild"]["Members"][name]["Online"]=online;
445 else
446 myProfile[rpgoGPserver]["Guild"]["Members"][name]["LastOnline"]= {};
447 myProfile[rpgoGPserver]["Guild"]["Members"][name]["LastOnline"]["Hour"]= hoursOffline;
448 myProfile[rpgoGPserver]["Guild"]["Members"][name]["LastOnline"]["Day"]= daysOffline;
449 myProfile[rpgoGPserver]["Guild"]["Members"][name]["LastOnline"]["Month"]= monthsOffline;
450 myProfile[rpgoGPserver]["Guild"]["Members"][name]["LastOnline"]["Year"]= yearsOffline;
451 end
452 rpgoGPstate["GuildNum"]=rpgoGPstate["GuildNum"]+1;
453 end
454 end
455 if(numMembers ~= rpgoGPstate["GuildNum"]) then
456 myProfile[rpgoGPserver]["Guild"]["Members"]=guildMemberTemp;
457 end
458 guildMemberTemp=nil;
459 end
460 end
461  
462 function rpgoGP_ScanGuildInfo(msg)
463 rpgoGP_debug("scanGI "..msg);
464 local d,p,a;
465 if(msg) then
466 _,_,d,p,a=string.find(msg,"%w+ (%d+[-.]%d+[-.]%d+), (%d+) %w+, (%d+) %w+");
467 if(d and p and a) then
468 rpgoGP_debug("scanGI "..d.." "..p.." "..a);
469 myProfile[rpgoGPserver]["Guild"]["Created"]=d;
470 myProfile[rpgoGPserver]["Guild"]["NumAccounts"]=a;
471 rpgoGPframe:UnregisterEvent("CHAT_MSG_SYSTEM");
472 end
473 end
474 end
475  
476 --[[//////////////////////////////////////////////
477 -- general functions
478 -- ////////////////////////////////////////////]]
479 function rpgoOfficerNote(oNote,oldNote)
480 if(rpgoGPstate["OfficerNote"]) then
481 return oNote;
482 elseif(oldNote) then
483 return oldNote;
484 else
485 return "";
486 end
487 end
488  
489 --[[//////////////////////////////////////////////
490 -- general rpgo functions
491 -- ////////////////////////////////////////////]]
492 --[function] msg:string
493 function rpgoGP_debug(msg)
494 if(rpgoGPpref and rpgoGPpref["Debug"]==1) then
495 if(rpgoDebug) then rpgoDebug(rpgoGP_ABBR,msg);
496 else rpgo_VerboseMsg(rpgo_ColorizeTitle(rpgoGP_PROVIDER,rpgoGP_ABBR)..": ".."[" .. msg .. "]",1,0,0); end end
497 end
498  
499 -- USAGE: rpgo_ColorizeTitle(provider,title)
500 if (not rpgo_ColorizeTitle) then rpgo_ColorizeTitle=function(provider,title) if(provider and title) then return rpgo_ColorizeMsg(rpgoColorTitle,provider.."-"..title); end end end
501 -- USAGE: rpgo_ColorizeMsg(color,msg)
502 if (not rpgo_ColorizeMsg) then rpgo_ColorizeMsg=function(color,msg) if(color and msg) then return "|cff"..color..msg.."|r"; end end end
503 -- Register the addon in myAddOns
504 if (not rpgo_myAddons) then rpgo_myAddons=function(info,help) if(myAddOnsFrame_Register) then myAddOnsFrame_Register(info, help); end end end