vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --
2 -- Clean Player Frame
3 --
4 -- by Bastian Pflieger <wb@illogical.de>
5 --
6 -- Last update: September 14, 2006
7 --
8 -- supports "myAddOns": http://www.curse-gaming.com/mod.php?addid=358
9 --
10  
11 -- CleanPlayerFrameCombo Modes:
12 -- 1 - Disabled
13 -- 2 - Hide text
14 -- 3 - Show only current value
15  
16 -- CleanPlayerPartyHealth Modes:
17 -- 1 - Disabled
18 -- 2 - Show numbersm
19 -- 3 - Show colorized numbers
20 -- 4 - Show colorized numbers and heal assist messages
21  
22 local TextStatusBar_UpdateTextString_Org;
23  
24 local FONTS = {
25 { font = STANDARD_TEXT_FONT, height = 10, flags = "" },
26 { font = STANDARD_TEXT_FONT, height = 10, flags = "OUTLINE" }
27 };
28  
29 -- v = current value
30 -- p = percent
31 local TARGETFRAME_FORMAT = {
32 "",
33 "v",
34 "p%",
35 "v / p%"
36 }
37  
38 local LowHealthWarnings = {
39 ["player"] = false,
40 ["party1"] = false,
41 ["party2"] = false,
42 ["party3"] = false,
43 ["party4"] = false,
44 ["target"] = false
45 };
46  
47 local UNIT_MODELS = {
48 ["player"] = "CleanPlayerFrame_PlayerModel",
49 ["party1"] = "CleanPlayerFrame_Party1Model",
50 ["party2"] = "CleanPlayerFrame_Party2Model",
51 ["party3"] = "CleanPlayerFrame_Party3Model",
52 ["party4"] = "CleanPlayerFrame_Party4Model",
53 ["target"] = "CleanPlayerFrame_TargetModel"
54 }
55  
56 local UNIT_PORTRAITS = {
57 ["player"] = "PlayerPortrait",
58 ["target"] = "TargetPortrait",
59 ["party1"] = "PartyMemberFrame1Portrait",
60 ["party2"] = "PartyMemberFrame2Portrait",
61 ["party3"] = "PartyMemberFrame3Portrait",
62 ["party4"] = "PartyMemberFrame4Portrait"
63 }
64  
65  
66 function CleanPlayerFrame_OnLoad()
67 CleanPlayerFrame_Mode = 2; -- defaults to hide text
68 CleanPlayerFrame_ShowPartyHealth = 2; -- defaults to show party health
69 CleanPlayerFrame_ColorizeHealthBars = true;
70 CleanPlayerFrame_ShowPartyPercent = false;
71 CleanPlayerFrame_FontIndex = 2;
72 CleanPlayerFrame_TargetFrameIndex = 4;
73 CleanPlayerFrame_UseSmallFont = false;
74 CleanPlayerFrame_Show3D = true;
75  
76 this:RegisterEvent("VARIABLES_LOADED");
77 this:RegisterEvent("PARTY_MEMBERS_CHANGED");
78 this:RegisterEvent("PLAYER_TARGET_CHANGED");
79 this:RegisterEvent("UNIT_PORTRAIT_UPDATE");
80 this:RegisterEvent("UNIT_HEALTH");
81  
82 TextStatusBar_UpdateTextString_Org = TextStatusBar_UpdateTextString;
83 TextStatusBar_UpdateTextString = CleanPlayerFrame_TextStatusBar_UpdateTextString;
84  
85 SlashCmdList["CLEANPLAYERFRAME"] = function(msg)
86 ShowUIPanel(CleanPlayerFrameOptionsFrame);
87 end
88 SLASH_CLEANPLAYERFRAME1 = "/cleanplayerframe";
89  
90 HealthBar_OnValueChanged_Org = HealthBar_OnValueChanged;
91 HealthBar_OnValueChanged = CleanPlayerFrame_HealthBar_OnValueChanged;
92  
93 TargetFrameManaBar:SetScript("OnValueChanged", CleanPlayerFrame_TextStatusBar_UpdateTextString);
94 end
95  
96  
97 function CleanPlayerFrame_Setup(mode, partyHealth, formatIndex, fontIndex, colorizeHealthBars, showPartyPercent, useSmallFont, show3D)
98  
99 CleanPlayerFrame_Mode = mode;
100 if mode > 1 then
101 ManaBarColor[0].prefix = "";
102 ManaBarColor[1].prefix = "";
103 ManaBarColor[2].prefix = "";
104 ManaBarColor[3].prefix = "";
105 SetTextStatusBarTextPrefix(PlayerFrameHealthBar, "");
106 else
107 ManaBarColor[0].prefix = MANA;
108 ManaBarColor[1].prefix = RAGE_POINTS;
109 ManaBarColor[2].prefix = FOCUS_POINTS;
110 ManaBarColor[3].prefix = ENERGY_POINTS;
111 SetTextStatusBarTextPrefix(PlayerFrameHealthBar, HEALTH);
112 end
113 SetTextStatusBarTextPrefix(PlayerFrameManaBar, ManaBarColor[UnitPowerType("player")].prefix);
114 TextStatusBar_UpdateTextString(PlayerFrameHealthBar);
115 TextStatusBar_UpdateTextString(PlayerFrameManaBar);
116 TextStatusBar_UpdateTextString(PetFrameHealthBar);
117 TextStatusBar_UpdateTextString(PetFrameManaBar);
118  
119 CleanPlayerFrame_Show3D = show3D;
120 if show3D then
121 --PlayerPortrait:Hide();
122 CleanPlayerFrame_PlayerModel:Show();
123 CleanPlayerFrame_Update3D("player");
124 --TargetPortrait:Hide();
125 CleanPlayerFrame_TargetModel:Show();
126 CleanPlayerFrame_Update3D("target");
127 if not PartyMemberFrame1:IsVisible() then
128 CleanPlayerFrame_Party1Model:ClearModel();
129 end
130 if not PartyMemberFrame2:IsVisible() then
131 CleanPlayerFrame_Party2Model:ClearModel();
132 end
133 if not PartyMemberFrame3:IsVisible() then
134 CleanPlayerFrame_Party3Model:ClearModel();
135 end
136 if not PartyMemberFrame4:IsVisible() then
137 CleanPlayerFrame_Party4Model:ClearModel();
138 end
139 --PartyMemberFrame1Portrait:Hide();
140 CleanPlayerFrame_Party1Model:Show();
141 CleanPlayerFrame_Update3D("party1");
142 --PartyMemberFrame2Portrait:Hide();
143 CleanPlayerFrame_Party2Model:Show();
144 CleanPlayerFrame_Update3D("party2");
145 --PartyMemberFrame3Portrait:Hide();
146 CleanPlayerFrame_Party3Model:Show();
147 CleanPlayerFrame_Update3D("party3");
148 --PartyMemberFrame4Portrait:Hide();
149 CleanPlayerFrame_Party4Model:Show();
150 CleanPlayerFrame_Update3D("party4");
151 if GetNumPartyMembers() > 0 then
152 CleanPlayerFramePartyChecker:Show();
153 end
154 else
155 CleanPlayerFramePartyChecker:Hide();
156 PlayerPortrait:Show();
157 TargetPortrait:Show();
158 PartyMemberFrame1Portrait:Show();
159 PartyMemberFrame2Portrait:Show();
160 PartyMemberFrame3Portrait:Show();
161 PartyMemberFrame4Portrait:Show();
162 CleanPlayerFrame_PlayerModel:Hide();
163 CleanPlayerFrame_TargetModel:Hide();
164 CleanPlayerFrame_Party1Model:Hide();
165 CleanPlayerFrame_Party2Model:Hide();
166 CleanPlayerFrame_Party3Model:Hide();
167 CleanPlayerFrame_Party4Model:Hide();
168 end
169  
170 CleanPlayerFrame_ShowPartyHealth = partyHealth;
171 if not (CleanPlayerFrame_ShowPartyHealth == 1) then
172 PartyMemberFrame1HealthBar.TextString = CleanPlayerFrame_PartyMemberFrame1HealthBarText;
173 PartyMemberFrame2HealthBar.TextString = CleanPlayerFrame_PartyMemberFrame2HealthBarText;
174 PartyMemberFrame3HealthBar.TextString = CleanPlayerFrame_PartyMemberFrame3HealthBarText;
175 PartyMemberFrame4HealthBar.TextString = CleanPlayerFrame_PartyMemberFrame4HealthBarText;
176 PartyMemberFrame1HealthBar.lockShow = 1;
177 PartyMemberFrame2HealthBar.lockShow = 1;
178 PartyMemberFrame3HealthBar.lockShow = 1;
179 PartyMemberFrame4HealthBar.lockShow = 1;
180 else
181 PartyMemberFrame1HealthBar.TextString = nil;
182 PartyMemberFrame2HealthBar.TextString = nil;
183 PartyMemberFrame3HealthBar.TextString = nil;
184 PartyMemberFrame4HealthBar.TextString = nil;
185 -- just to make sure
186 CleanPlayerFrame_PartyMemberFrame1HealthBarText:Hide();
187 CleanPlayerFrame_PartyMemberFrame2HealthBarText:Hide();
188 CleanPlayerFrame_PartyMemberFrame3HealthBarText:Hide();
189 CleanPlayerFrame_PartyMemberFrame4HealthBarText:Hide();
190 end
191 TextStatusBar_UpdateTextString(PartyMemberFrame1HealthBar);
192 TextStatusBar_UpdateTextString(PartyMemberFrame2HealthBar);
193 TextStatusBar_UpdateTextString(PartyMemberFrame3HealthBar);
194 TextStatusBar_UpdateTextString(PartyMemberFrame4HealthBar);
195  
196 CleanPlayerFrame_ColorizeHealthBars = colorizeHealthBars;
197  
198 -- choose font
199 CleanPlayerFrame_FontIndex = fontIndex;
200 CleanPlayerFrame_PartyMember1HealthBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
201 CleanPlayerFrame_PartyMember2HealthBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
202 CleanPlayerFrame_PartyMember3HealthBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
203 CleanPlayerFrame_PartyMember4HealthBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
204 CleanPlayerFrame_TargetFrameHealthBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
205 CleanPlayerFrame_TargetFrameManaBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
206 -- use selected font for player frame
207 CleanPlayerFrame_UseSmallFont = useSmallFont;
208 if useSmallFont then
209 PlayerFrameHealthBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
210 PlayerFrameManaBarText:SetFont(FONTS[fontIndex].font, FONTS[fontIndex].height, FONTS[fontIndex].flags);
211 else
212 PlayerFrameHealthBarText:SetFont(TextStatusBarText:GetFont());
213 PlayerFrameManaBarText:SetFont(TextStatusBarText:GetFont());
214 end
215  
216 CleanPlayerFrame_TargetFrameIndex = formatIndex;
217 if formatIndex > 1 then
218 TargetFrameHealthBar.TextString = CleanPlayerFrame_TargetFrameHealthBarText;
219 TargetFrameManaBar.TextString = CleanPlayerFrame_TargetFrameManaBarText;
220 TargetFrameHealthBar.lockShow = 1;
221 TargetFrameManaBar.lockShow = 1;
222 else
223 TargetFrameHealthBar.TextString = nil;
224 TargetFrameManaBar.TextString = nil;
225 CleanPlayerFrame_TargetFrameHealthBarText:Hide();
226 CleanPlayerFrame_TargetFrameManaBarText:Hide();
227 end
228 TextStatusBar_UpdateTextString(TargetFrameHealthBar);
229 TextStatusBar_UpdateTextString(TargetFrameManaBar);
230  
231 CleanPlayerFrame_ShowPartyPercent = showPartyPercent;
232 if showPartyPercent then
233 CleanPlayerFrame_PartyMember1HealthBarText:Show();
234 CleanPlayerFrame_PartyMember2HealthBarText:Show();
235 CleanPlayerFrame_PartyMember3HealthBarText:Show();
236 CleanPlayerFrame_PartyMember4HealthBarText:Show();
237 else
238 CleanPlayerFrame_PartyMember1HealthBarText:Hide();
239 CleanPlayerFrame_PartyMember2HealthBarText:Hide();
240 CleanPlayerFrame_PartyMember3HealthBarText:Hide();
241 CleanPlayerFrame_PartyMember4HealthBarText:Hide();
242 end
243 TextStatusBar_UpdateTextString(PartyMemberFrame1HealthBar);
244 TextStatusBar_UpdateTextString(PartyMemberFrame2HealthBar);
245 TextStatusBar_UpdateTextString(PartyMemberFrame3HealthBar);
246 TextStatusBar_UpdateTextString(PartyMemberFrame4HealthBar);
247 end
248  
249 function CleanPlayerFrame_TextStatusBar_UpdateTextString(textStatusBar)
250 TextStatusBar_UpdateTextString_Org(textStatusBar);
251  
252 if not textStatusBar then
253 textStatusBar = this;
254 end
255  
256 if textStatusBar.TextString == nil then
257 return;
258 end
259  
260 local value = textStatusBar:GetValue();
261 local min, max = textStatusBar:GetMinMaxValues();
262 local percent = CleanPlayerFrame_Percent(value, max);
263  
264 if CleanPlayerFrame_Mode == 3 then
265 -- handle player / pet frame
266 if textStatusBar == PlayerFrameHealthBar or textStatusBar == PlayerFrameManaBar
267 or textStatusBar == PetFrameHealthBar or textStatusBar == PetFrameManaBar
268 then
269 textStatusBar.TextString:SetText(value);
270 end
271 -- handle party frames
272 if ( textStatusBar == PartyMemberFrame1HealthBar
273 or textStatusBar == PartyMemberFrame2HealthBar
274 or textStatusBar == PartyMemberFrame3HealthBar
275 or textStatusBar == PartyMemberFrame4HealthBar )
276 then
277 textStatusBar.TextString:SetText(value);
278 end
279 end
280  
281 --textStatusBar.TextString:GetText()
282 if ( textStatusBar == PartyMemberFrame1HealthBar
283 or textStatusBar == PartyMemberFrame2HealthBar
284 or textStatusBar == PartyMemberFrame3HealthBar
285 or textStatusBar == PartyMemberFrame4HealthBar )
286 then
287 -- who r we?
288 local id = textStatusBar:GetParent():GetID();
289 local unit = "party" .. id;
290 -- show percent if necessary
291 if CleanPlayerFrame_ShowPartyPercent then
292 getglobal("CleanPlayerFrame_PartyMember" .. id .. "HealthBarText"):SetText(percent .. "%");
293 end
294  
295 -- colorize text if required
296 if CleanPlayerFrame_ShowPartyHealth >= 3 then
297 textStatusBar.TextString:SetTextColor(CleanPlayerFrame_Colorize(percent));
298 else
299 textStatusBar.TextString:SetTextColor(1, 1, 1);
300 end
301  
302 -- add assist messages
303 if CleanPlayerFrame_ShowPartyHealth == 4 and (not UnitIsDead(unit)) and (not UnitIsGhost(unit)) and UnitIsConnected(unit) then
304 local _, class = UnitClass("player");
305 if percent < CLEANPLAYERFRAME_MESSAGES[class].percentDanger then
306 textStatusBar.TextString:SetText(textStatusBar.TextString:GetText() .. CLEANPLAYERFRAME_MESSAGES[class].danger);
307 elseif percent < CLEANPLAYERFRAME_MESSAGES[class].percentWarn then
308 textStatusBar.TextString:SetText(textStatusBar.TextString:GetText() .. CLEANPLAYERFRAME_MESSAGES[class].warn);
309 end
310 end
311  
312 --
313 if (not UnitIsConnected(unit)) or UnitIsGhost(unit) then
314 textStatusBar.TextString:SetTextColor(0.5, 0.5, 0.5);
315 elseif UnitIsDead(unit) then
316 textStatusBar.TextString:SetTextColor(1, 0.3, 0.3);
317 end
318 end
319  
320 -- handle target frame
321 if textStatusBar == TargetFrameHealthBar then
322 -- automatically decide to show percent on target frame
323 if max == 100 then -- not so good
324 textStatusBar.TextString:SetText(value .. "%");
325 else
326 textStatusBar.TextString:SetText(CleanPlayerFrame_FormatOutput(CleanPlayerFrame_TargetFrameIndex, value, percent));
327 end
328 -- Hide when wow shows "dead" over the target health bar
329 if UnitIsDead("target") then
330 textStatusBar.TextString:Hide();
331 else
332 textStatusBar.TextString:Show();
333 end
334 end
335  
336 if textStatusBar == TargetFrameManaBar then
337 if value > 0 then
338 if UnitPowerType("target") == 0 then
339 textStatusBar.TextString:SetText(CleanPlayerFrame_FormatOutput(CleanPlayerFrame_TargetFrameIndex, value, percent));
340 else
341 textStatusBar.TextString:SetText(value);
342 end
343 else
344 textStatusBar.TextString:SetText("");
345 end
346 end
347 end
348  
349 function CleanPlayerFrame_HealthBar_OnValueChanged(value, smooth)
350 if CleanPlayerFrame_ColorizeHealthBars then
351 HealthBar_OnValueChanged_Org(value, true);
352 else
353 HealthBar_OnValueChanged_Org(value, smooth);
354 end
355 end
356  
357 function CleanPlayerFrame_FormatOutput(index, value, percent)
358 local formatString = TARGETFRAME_FORMAT[index];
359 formatString = string.gsub(formatString, "v", value);
360 formatString = string.gsub(formatString, "p", percent);
361 return formatString;
362 end
363  
364 function CleanPlayerFrame_Percent(value, maxValue)
365 if maxValue == 0 then
366 return 0;
367 else
368 return math.floor(value * 100 / maxValue);
369 end
370 end
371  
372 function CleanPlayerFrame_Colorize(percent)
373 local r = 0;
374 local g = 0;
375  
376 if percent >= 50 then
377 -- red must get up to 255
378 g = 1;
379 r = (100 - percent) / 50;
380 else
381 -- green must get down to 0
382 r = 1;
383 g = percent / 50;
384 end
385  
386 return r, g, 0;
387 end
388  
389 function CleanPlayerFrame_Update3D(unit)
390 getglobal(UNIT_MODELS[unit]):ClearModel();
391 getglobal(UNIT_MODELS[unit]):SetUnit(unit);
392 getglobal(UNIT_MODELS[unit]):SetCamera(0);
393 CleanPlayerFrame_SetLights3D(unit);
394 if CleanPlayerFrame_IsMeshLoaded(unit) then
395 getglobal(UNIT_PORTRAITS[unit]):Hide();
396 else
397 getglobal(UNIT_PORTRAITS[unit]):Show();
398 end
399 end
400  
401 function CleanPlayerFrame_SetLights3D(unit)
402 LowHealthWarnings[unit] = false;
403 if (not UnitIsConnected(unit)) or UnitIsGhost(unit) then
404 getglobal(UNIT_MODELS[unit]):SetLight(1, 0, 0, 0, 0, 1.0, 0.25, 0.25, 0.25);
405 elseif UnitIsDead(unit) then
406 getglobal(UNIT_MODELS[unit]):SetLight(1, 0, 0, 0, 0, 1.0, 1, 0.3, 0.3);
407 else
408 if CleanPlayerFrame_Percent(UnitHealth(unit), UnitHealthMax(unit)) < 20 then
409 LowHealthWarnings[unit] = true;
410 CleanPlayerFrameFrame:Show();
411 else
412 getglobal(UNIT_MODELS[unit]):SetLight(1, 0, 0, 0, 0, 1.0, 1, 1, 1);
413 end
414 end
415 end
416  
417 function CleanPlayerFrame_IsMeshLoaded(unit)
418 return type(getglobal(UNIT_MODELS[unit]):GetModel()) == "string";
419 end
420  
421 function CleanPlayerFrame_LoadPartyMesh(unit)
422 if not CleanPlayerFrame_IsMeshLoaded(unit) then
423 CleanPlayerFrame_Update3D(unit);
424 end
425 end
426  
427 function CleanPlayerFrame_OnEvent(event)
428 if CleanPlayerFrame_Show3D then
429 if event == "PLAYER_TARGET_CHANGED" then
430 CleanPlayerFrame_Update3D("target");
431 elseif event == "UNIT_PORTRAIT_UPDATE" and UNIT_MODELS[arg1] then
432 CleanPlayerFrame_Update3D(arg1);
433 elseif event == "UNIT_HEALTH" and UNIT_MODELS[arg1] then
434 CleanPlayerFrame_SetLights3D(arg1);
435 end
436 end
437  
438 if event == "PARTY_MEMBERS_CHANGED" or event == "VARIABLES_LOADED" then
439 -- party members changed && variables loaded
440 if CleanPlayerFrame_Show3D and GetNumPartyMembers() > 0 then
441 CleanPlayerFramePartyChecker:Show();
442 else
443 CleanPlayerFramePartyChecker:Hide();
444 end
445 CleanPlayerFrame_Setup(CleanPlayerFrame_Mode,
446 CleanPlayerFrame_ShowPartyHealth,
447 CleanPlayerFrame_TargetFrameIndex,
448 CleanPlayerFrame_FontIndex,
449 CleanPlayerFrame_ColorizeHealthBars,
450 CleanPlayerFrame_ShowPartyPercent,
451 CleanPlayerFrame_UseSmallFont,
452 CleanPlayerFrame_Show3D);
453 end
454 end
455  
456 local timer = 0;
457 local sign = 1;
458 function CleanPlayerFrame_OnUpdate(elapsed)
459 -- blink if party / player is low on health and 3D is on
460 timer = timer + elapsed;
461 if timer > 0.5 then
462 sign = -sign;
463 end
464 timer = mod(timer, 0.5);
465  
466 local redIntensity = 0;
467 if sign == 1 then
468 redIntensity = 0.7 - timer;
469 else
470 redIntensity = timer + 0.2;
471 end
472  
473 local hide = true;
474 for unit, warn in pairs(LowHealthWarnings) do
475 if warn and getglobal(UNIT_MODELS[unit]):IsVisible() then
476 getglobal(UNIT_MODELS[unit]):SetLight(1, 0, 0, 0, 0, 1.0, 1, redIntensity, redIntensity);
477 hide = false;
478 end
479 end
480 if hide then
481 CleanPlayerFrameFrame:Hide();
482 end
483 end
484  
485 --[[
486 function CleanPlayerFrame_DebugParty()
487 PartyMemberFrame1:Show();
488 PartyMemberFrame1Disconnect:Show();
489 CleanPlayerFrame_Party1Model:SetUnit("party1");
490 CleanPlayerFrame_Party1Model:SetCamera(0);
491 CleanPlayerFrame_Party1Model:Show()
492 CleanPlayerFrame_Party1Model:SetLight(1, 0, 0, 0, 0, 1.0, 0.25, 0.25, 0.25);
493  
494 PartyMemberFrame2:Show();
495 PartyMemberFrame2Disconnect:Hide();
496 CleanPlayerFrame_Party2Model:SetUnit("target");
497 CleanPlayerFrame_Party2Model:SetCamera(0);
498 CleanPlayerFrame_Party2Model:Show()
499 CleanPlayerFrame_Party2Model:SetLight(1, 0, 0, 0, 0, 1.0, 1, 0.3, 0.3);
500  
501  
502 PartyMemberFrame3:Show();
503 PartyMemberFrame3Disconnect:Hide();
504 CleanPlayerFrame_Party3Model:SetUnit("player");
505 CleanPlayerFrame_Party3Model:SetCamera(0);
506 CleanPlayerFrame_Party3Model:Show()
507  
508  
509 PartyMemberFrame4:Show();
510 PartyMemberFrame4Disconnect:Hide();
511 CleanPlayerFrame_Party4Model:SetUnit("party1");
512 CleanPlayerFrame_Party4Model:SetCamera(0);
513 CleanPlayerFrame_Party4Model:Show()
514  
515 LowHealthWarnings["player"] = true;
516 LowHealthWarnings["party1"] = true;
517 LowHealthWarnings["party2"] = true;
518 LowHealthWarnings["party3"] = true;
519 LowHealthWarnings["party4"] = true;
520 CleanPlayerFrameFrame:Show();
521 end
522  
523 function CleanPlayerFrame_Debug2()
524 if CleanPlayerFrame_IsMeshLoaded("party1") then
525 ChatFrame1:AddMessage("model ist LOADED" .. CleanPlayerFrame_Party1Model:GetModel() );
526 else
527 ChatFrame1:AddMessage("model ist not loaded!");
528 end
529 end
530  
531 --]]