| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名:TH_CombatRank.nut | 
					
						
							|  |  |  | 路径:Project/TH_CombatRank/TH_CombatRank.nut | 
					
						
							|  |  |  | 创建日期:2025-07-01	10:18 | 
					
						
							|  |  |  | 文件用途:战力排行榜 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | class TH_CombatRankC extends LenheartNewUI_Windows { | 
					
						
							|  |  |  |     //调试模式 | 
					
						
							|  |  |  |     // DeBugMode = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //不是窗口 | 
					
						
							|  |  |  |     // NoWindow = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //是否可见 | 
					
						
							|  |  |  |     Visible = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Img = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     TitleButtonList = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //个人 公会 | 
					
						
							|  |  |  |     Page = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Test = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //个人战力集合 | 
					
						
							|  |  |  |     CombatInfoList = null; | 
					
						
							|  |  |  |     //个人奖励集合 | 
					
						
							|  |  |  |     PersonReward = null; | 
					
						
							|  |  |  |     //查看中的详细个人信息 | 
					
						
							|  |  |  |     LookingInfo = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //我的战力 | 
					
						
							|  |  |  |     MyCombat = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //宣言Timer | 
					
						
							|  |  |  |     DeclareTimer = null; | 
					
						
							|  |  |  |     DeclareFlag = false; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  |     //排行名次颜色集合 | 
					
						
							|  |  |  |     RankColor = null; | 
					
						
							| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  |     //公会奖励集合 | 
					
						
							|  |  |  |     GuildReward = null; | 
					
						
							|  |  |  |     GuildFlagData = null; | 
					
						
							|  |  |  |     GuildFlagImgMap = null; | 
					
						
							|  |  |  |     //公会战力集合 | 
					
						
							|  |  |  |     GuildInfoList = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //滚动条 | 
					
						
							|  |  |  |     ScrollBar = null; | 
					
						
							|  |  |  |     ScrollBarRate = 0; | 
					
						
							|  |  |  |     ScrollBarValue = 1804; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function CheckPersonalCombatPower() { | 
					
						
							|  |  |  |         SendPackEx({ | 
					
						
							|  |  |  |             op = 20096003 | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function CheckGuildCombatPower() { | 
					
						
							|  |  |  |         SendPackEx({ | 
					
						
							|  |  |  |             op = 20096005 | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | 
					
						
							|  |  |  |         DeclareTimer = Clock(); | 
					
						
							|  |  |  |         Childrens = []; | 
					
						
							|  |  |  |         TitleButtonList = []; | 
					
						
							|  |  |  |         //注册控件 | 
					
						
							|  |  |  |         RegisterWidget(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Img = {}; | 
					
						
							|  |  |  |         Img["main"] <- Rindro_Image("interface/rindro/hmnew_rank.img"); | 
					
						
							|  |  |  |         Img["information_button_cn"] <- Rindro_Image("interface2/hud/information_button/information_button_cn.img"); | 
					
						
							|  |  |  |         Img["newuserinfo"] <- Rindro_Image("interface/userinfomation/newuserinfo.img"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //基础配置数据回包 | 
					
						
							|  |  |  |         RegisterPack(20096102, function(Chunk) { | 
					
						
							|  |  |  |             local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |             PersonReward = Jso["config"]; | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  |             RankColor = []; | 
					
						
							|  |  |  |             foreach (colorarr in Jso["pmys"]) { | 
					
						
							|  |  |  |                 RankColor.append(sq_RGBA(colorarr[0], colorarr[1], colorarr[2], colorarr[3])); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //基础公会数据回包 | 
					
						
							|  |  |  |         RegisterPack(20096104, function(Chunk) { | 
					
						
							|  |  |  |             local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |             GuildReward = Jso["config"]; | 
					
						
							|  |  |  |             GuildFlagData = {}; | 
					
						
							|  |  |  |             GuildFlagImgMap = {}; | 
					
						
							|  |  |  |             foreach(object in Jso["config2"]) { | 
					
						
							|  |  |  |                 GuildFlagData.rawset(object.guildId, [object.img, object.imgid]); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //查询个人战力排行榜包 | 
					
						
							|  |  |  |         RegisterPack(20096004, function(Chunk) { | 
					
						
							|  |  |  |             local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |             local ranking = Jso.ranking; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             CombatInfoList = []; | 
					
						
							|  |  |  |             foreach(Pos, Info in ranking) { | 
					
						
							|  |  |  |                 //补全默认公会 | 
					
						
							|  |  |  |                 if (!Info.rawin("guildname")) Info.guildname <- "无公会"; | 
					
						
							|  |  |  |                 //构造显示对象 | 
					
						
							|  |  |  |                 local Buf = TH_CombatRankC_Item(this, Pos, Info, 0); | 
					
						
							|  |  |  |                 CombatInfoList.append(Buf); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // LookingInfo = CombatInfoList[0]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //构造我自己 | 
					
						
							|  |  |  |             if (!Jso.my.rawin("guildname")) Jso.my.guildname <- "无公会"; | 
					
						
							|  |  |  |             MyCombat = TH_CombatRankC_Item(this, 900, Jso.my, 0); | 
					
						
							|  |  |  |             MyCombat.Idx = Jso.on - 1; | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         RegisterPack(20096006, function(Chunk) { | 
					
						
							|  |  |  |             local Jso = Json.Decode(Chunk); | 
					
						
							|  |  |  |             local ranking = Jso.ranking; | 
					
						
							|  |  |  |             GuildInfoList = []; | 
					
						
							|  |  |  |             foreach(Pos, Info in ranking) { | 
					
						
							|  |  |  |                 local Buf = TH_CombatRankC_Item(this, Pos, Info, 1); | 
					
						
							|  |  |  |                 GuildInfoList.append(Buf); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         CheckPersonalCombatPower(); | 
					
						
							|  |  |  |         CheckGuildCombatPower(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         UploadYourOwnCombatPower(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RegisterWidget() { | 
					
						
							|  |  |  |         //返回按钮 | 
					
						
							|  |  |  |         local ReturnButton = LenheartNewUI_BaseButton(8, 8, 11, 12, "interface/lenheartwindowcommon.img", 540); | 
					
						
							|  |  |  |         ReturnButton.OnClick = function() { | 
					
						
							|  |  |  |             LookingInfo = null; | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         Childrens.append(ReturnButton); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //关闭按钮 | 
					
						
							|  |  |  |         local CloseButton = LenheartNewUI_BaseButton(722, 8, 11, 12, "interface/lenheartwindowcommon.img", 276); | 
					
						
							|  |  |  |         CloseButton.OnClick = function() { | 
					
						
							|  |  |  |             this.Visible = false; | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         Childrens.append(CloseButton); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local WorshipButton = LenheartNewUI_ButtonText(630, 240, 45, "膜   拜"); | 
					
						
							|  |  |  |         WorshipButton.SetTextOffset(13, 1); | 
					
						
							|  |  |  |         WorshipButton.OnClick = function() { | 
					
						
							|  |  |  |             if (LookingInfo) { | 
					
						
							|  |  |  |                 SendPackEx({ | 
					
						
							|  |  |  |                     op = 20096007, | 
					
						
							|  |  |  |                     mbcid = LookingInfo.Info.cid | 
					
						
							|  |  |  |                 }) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         WorshipButton.SetCallBackFunc(function(Btn) { | 
					
						
							|  |  |  |             if (LookingInfo == null) { | 
					
						
							|  |  |  |                 Btn.Visible = false; | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 Btn.Visible = true; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  |         AddChild(WorshipButton); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // local FuncTabbar1 = LenheartNewUI_TabbarsText(4, 23, "巅峰战力"); | 
					
						
							|  |  |  |         // FuncTabbar1.State = 1; | 
					
						
							|  |  |  |         // FuncTabbar1.SetTextOffset(8, 4); | 
					
						
							|  |  |  |         // AddChild(FuncTabbar1); | 
					
						
							|  |  |  |         // FuncTabbar1.OnClick = function() { | 
					
						
							|  |  |  |         //     TitleButtonList[1].State = 0; | 
					
						
							|  |  |  |         //     TitleButtonList[0].State = 1; | 
					
						
							|  |  |  |         //     TitleButtonList[2].State = 0; | 
					
						
							|  |  |  |         //     Page = 0; | 
					
						
							|  |  |  |         //     LookingInfo = null; | 
					
						
							|  |  |  |         //     ScrollBar.Reset(); | 
					
						
							|  |  |  |         // }.bindenv(this); | 
					
						
							|  |  |  |         // TitleButtonList.append(FuncTabbar1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // local FuncTabbar2 = LenheartNewUI_TabbarsText(65, 23, "公会战力"); | 
					
						
							|  |  |  |         // FuncTabbar2.SetTextOffset(8, 4); | 
					
						
							|  |  |  |         // AddChild(FuncTabbar2); | 
					
						
							|  |  |  |         // FuncTabbar2.OnClick = function() { | 
					
						
							|  |  |  |         //     TitleButtonList[0].State = 0; | 
					
						
							|  |  |  |         //     TitleButtonList[1].State = 1; | 
					
						
							|  |  |  |         //     TitleButtonList[2].State = 0; | 
					
						
							|  |  |  |         //     Page = 1; | 
					
						
							|  |  |  |         //     LookingInfo = null; | 
					
						
							|  |  |  |         //     ScrollBar.Reset(); | 
					
						
							|  |  |  |         // }.bindenv(this); | 
					
						
							|  |  |  |         // TitleButtonList.append(FuncTabbar2); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  |         local FuncTabbar3 = LenheartNewUI_BaseButton(706, 8, 11, 12, "interface/lenheartwindowcommon.img", 593); | 
					
						
							|  |  |  |         AddChild(FuncTabbar3); | 
					
						
							|  |  |  |         FuncTabbar3.OnClick = function() { | 
					
						
							|  |  |  |             Page = 0; | 
					
						
							|  |  |  |             LookingInfo = MyCombat; | 
					
						
							|  |  |  |             ScrollBar.Reset(); | 
					
						
							|  |  |  |         }.bindenv(this); | 
					
						
							|  |  |  |         TitleButtonList.append(FuncTabbar3); | 
					
						
							| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |         ScrollBar = Yosin_ScrollBar(729, 295, 218, 60); | 
					
						
							|  |  |  |         ScrollBar.SetParent(this); | 
					
						
							|  |  |  |         ScrollBar.SetStep(20 / 100.0); | 
					
						
							|  |  |  |         ScrollBar.SetOnChange(function(Rate) { | 
					
						
							|  |  |  |             ScrollBarRate = Rate; | 
					
						
							|  |  |  |         }.bindenv(this)); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //绘制主界面 | 
					
						
							|  |  |  |     function DrawMain(obj) { | 
					
						
							|  |  |  |         Img["main"].DrawPng(0, X, Y); | 
					
						
							|  |  |  |         Img["main"].DrawPng(0, X, Y); | 
					
						
							|  |  |  |         // Img["main"].DrawPng(0, X, Y); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         L_sq_DrawCode("荣誉殿堂", X + 347, Y + 8, sq_RGBA(255, 177, 0, 255), 0, 1); | 
					
						
							|  |  |  |         Img["information_button_cn"].DrawPng(136, X + 14, Y + 274); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (Page == 0) { | 
					
						
							|  |  |  |             //职业 | 
					
						
							|  |  |  |             L_sq_DrawCode("角色名", X + 90, Y + 278, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             L_sq_DrawCode("膜拜次数", X + 189, Y + 278, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             L_sq_DrawCode("职业", X + 282, Y + 278, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             L_sq_DrawCode("公会名", X + 378, Y + 278, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             L_sq_DrawCode("战斗力", X + 497, Y + 278, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             L_sq_DrawCode("奖励", X + 644, Y + 278, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             setClip(X + 2, Y + 294, X + 729, Y + 294 + 218); | 
					
						
							|  |  |  |             if (CombatInfoList) { | 
					
						
							|  |  |  |                 foreach(Pos, Object in CombatInfoList) { | 
					
						
							|  |  |  |                     Object.Show(X, Y + 294 + (Pos * 40) - (ScrollBarRate * ScrollBarValue).tointeger()); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             releaseClip(); //裁切结束 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制前三名 | 
					
						
							|  |  |  |             if (CombatInfoList) { | 
					
						
							|  |  |  |                 for (local i = 0; i< 3; i++) { | 
					
						
							|  |  |  |                     //如果不足3个 | 
					
						
							|  |  |  |                     if (i >= CombatInfoList.len()) break; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     local OffsetX = 370; | 
					
						
							|  |  |  |                     local OffsetY = 220; | 
					
						
							|  |  |  |                     if (i == 1) { | 
					
						
							|  |  |  |                         OffsetX = 178; | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                     if (i == 2) { | 
					
						
							|  |  |  |                         OffsetX = 565; | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                     if (!LookingInfo || LookingInfo.Idx != i) { | 
					
						
							|  |  |  |                         CombatInfoList[i].ShowCharacter(X + OffsetX, Y + OffsetY); | 
					
						
							|  |  |  |                         local name = CombatInfoList[i].Info.name; | 
					
						
							|  |  |  |                         L_sq_DrawCode(name, X + OffsetX + 5 - LenheartTextClass.GetStringLength(name) / 2, Y + OffsetY + 25, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                         if (Clock() - DeclareTimer >= 3000) { | 
					
						
							|  |  |  |                             DeclareTimer = Clock(); | 
					
						
							|  |  |  |                             DeclareFlag = !DeclareFlag; | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                         if (DeclareFlag) { | 
					
						
							|  |  |  |                             local gg = CombatInfoList[i].Info.zdygg; | 
					
						
							|  |  |  |                             if (gg.len() == 0) gg = "暂无宣言!"; | 
					
						
							|  |  |  |                             Img["main"].DrawPng(9 + i, X + OffsetX - 66, Y + OffsetY - 194); | 
					
						
							|  |  |  |                             L_sq_DrawCode_Ex(gg, X + OffsetX - 56, Y + OffsetY - 176, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //如果有查看者 | 
					
						
							|  |  |  |             if (LookingInfo) { | 
					
						
							|  |  |  |                 Img["main"].DrawPng(7, X + 2, Y + 24); | 
					
						
							|  |  |  |                 T_DrawDynamicAni(obj, "ui/selectcharacter/animation/selectcharactereffect.ani", X + 15, Y + 30, "桃花战斗力角色背景光环"); | 
					
						
							|  |  |  |                 Img["main"].DrawPng(8, X + 30, Y + 140); | 
					
						
							|  |  |  |                 // LookingInfo.CharacShow.Draw(X + 80, Y + 248); | 
					
						
							|  |  |  |                 LookingInfo.ShowCharacter(X + 80, Y + 228); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local YPosBuffer = Y - 25; | 
					
						
							|  |  |  |                 //排名 | 
					
						
							|  |  |  |                 L_sq_DrawCode("排名: " + (LookingInfo.Idx + 1), X + 150, YPosBuffer + 60, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |                 //角色名 | 
					
						
							|  |  |  |                 L_sq_DrawCode("角色名: " + LookingInfo.Info.name, X + 150, YPosBuffer + 78, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |                 //职业 | 
					
						
							|  |  |  |                 L_sq_DrawCode("角色职业: " + LookingInfo.Info.jobname, X + 150, YPosBuffer + 96, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |                 //等级 | 
					
						
							|  |  |  |                 L_sq_DrawCode("角色等级: " + LookingInfo.Info.level, X + 150, YPosBuffer + 114, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |                 //公会名 | 
					
						
							|  |  |  |                 L_sq_DrawCode("所属公会: " + LookingInfo.Info.guildname, X + 150, YPosBuffer + 132, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |                 //是否在线 | 
					
						
							|  |  |  |                 L_sq_DrawCode("当前状态: " + (LookingInfo.Info.isOnline ? "在线" : "离线"), X + 150, YPosBuffer + 150, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 //战斗力 | 
					
						
							|  |  |  |                 L_sq_DrawCode("战斗力: " + LookingInfo.Info.zdlS, X + 150, YPosBuffer + 168, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |                 L_sq_DrawCode("-- 基础战斗力: " + LookingInfo.Info.jczdlS, X + 150, YPosBuffer + 186, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |                 L_sq_DrawCode("    四维: " + LookingInfo.Info.swzldS, X + 150, YPosBuffer + 204, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |                 L_sq_DrawCode("    三攻: " + LookingInfo.Info.sgzldS, X + 150, YPosBuffer + 222, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |                 L_sq_DrawCode("    属强: " + LookingInfo.Info.sqzldS, X + 150, YPosBuffer + 240, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |                 L_sq_DrawCode("    其他: " + LookingInfo.Info.qtzldS, X + 150, YPosBuffer + 258, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 L_sq_DrawCode("-- 膜拜次数: " + LookingInfo.Info.fstS, X + 150, YPosBuffer + 276, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (Page == 1) { | 
					
						
							|  |  |  |             //职业 | 
					
						
							|  |  |  |             L_sq_DrawCode("会长", X + 58, Y + 299, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             //角色名 | 
					
						
							|  |  |  |             L_sq_DrawCode("公会名称", X + 152, Y + 299, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             //公会名 | 
					
						
							|  |  |  |             L_sq_DrawCode("战斗力", X + 280, Y + 299, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  |             //战斗力 | 
					
						
							|  |  |  |             L_sq_DrawCode(" 奖励", X + 438, Y + 299, sq_RGBA(179, 169, 135, 255), 0, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             setClip(X, Y + 316, X + 528, Y + 316 + 196); | 
					
						
							|  |  |  |             if (GuildInfoList) { | 
					
						
							|  |  |  |                 foreach(Pos, Object in GuildInfoList) { | 
					
						
							|  |  |  |                     Object.Show(X, Y + 316 + (Pos * 40) - (ScrollBarRate * ScrollBarValue).tointeger()); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             releaseClip(); //裁切结束 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             if (GuildInfoList) { | 
					
						
							|  |  |  |                 for (local i = 0; i< 3; i++) { | 
					
						
							|  |  |  |                     if (GuildInfoList.len() <= i) break; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     local OffsetX = 270; | 
					
						
							|  |  |  |                     local OffsetY = 268; | 
					
						
							|  |  |  |                     if (i == 1) { | 
					
						
							|  |  |  |                         OffsetX = 130; | 
					
						
							|  |  |  |                         OffsetY = 268; | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                     if (i == 2) { | 
					
						
							|  |  |  |                         OffsetX = 410; | 
					
						
							|  |  |  |                         OffsetY = 268; | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     local Object = GuildInfoList[i]; | 
					
						
							|  |  |  |                     local GuildId = Object.Info.guildId; | 
					
						
							|  |  |  |                     if (GuildFlagData.rawin(GuildId)) { | 
					
						
							|  |  |  |                         local Info = GuildFlagData[GuildId]; | 
					
						
							|  |  |  |                         if (!GuildFlagImgMap.rawin(Info[0])) { | 
					
						
							|  |  |  |                             GuildFlagImgMap[Info[0]] <- Rindro_Image(Info[0]); | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                         GuildFlagImgMap[Info[0]].DrawPng(0, X + OffsetX, Y + OffsetY); | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         Img["main"].DrawPng(3, X + OffsetX, Y + OffsetY); | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Show(obj) { | 
					
						
							|  |  |  |         DrawMain(obj); | 
					
						
							|  |  |  |         LenheartNewUI_Windows.Show(obj); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function TopShow(obj) { | 
					
						
							|  |  |  |         LenheartNewUI_Windows.TopShow(obj); | 
					
						
							|  |  |  |         local MousePos_X = IMouse.GetXPos(); | 
					
						
							|  |  |  |         local MousePos_Y = IMouse.GetYPos(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (CombatInfoList && Page == 0) { | 
					
						
							|  |  |  |             setClip(X + 2, Y + 294, X + 729, Y + 294 + 218); | 
					
						
							|  |  |  |             foreach(Pos, Object in CombatInfoList) { | 
					
						
							|  |  |  |                 if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X, Y + 294 + (Pos * 40) - (ScrollBarRate * ScrollBarValue).tointeger(), 726, 39)) { | 
					
						
							|  |  |  |                     Object.HoverShow(X, Y + 294 + (Pos * 40) - (ScrollBarRate * ScrollBarValue).tointeger()); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             releaseClip(); //裁切结束 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function DrawItemBase(X, Ypos, Id, Count) { | 
					
						
							|  |  |  |         if ((Ypos + 28) > this.Y + 294 && Ypos< this.Y + 294 + 218) { | 
					
						
							|  |  |  |             LenheartNewUI_Windows.DrawItemBase(X, Ypos, Id, Count); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标滚轮事件回调 | 
					
						
							|  |  |  |     function OnMouseWheel(Flag, MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         LenheartNewUI_BaseWindow.OnMouseWheel(Flag, MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         //左侧的滚动条判定 | 
					
						
							|  |  |  |         if (MousePos_X > X && MousePos_X<(X + 726) && MousePos_Y > (Y + 294) && MousePos_Y<(Y + 294 + 218)) { | 
					
						
							|  |  |  |             if (Flag) ScrollBar.DoStep(-1); | 
					
						
							|  |  |  |             if (!Flag) ScrollBar.DoStep(1); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //鼠标左键按下回调 | 
					
						
							|  |  |  |     function OnMouseLbDown(MousePos_X, MousePos_Y) { | 
					
						
							|  |  |  |         LenheartNewUI_BaseWindow.OnMouseLbDown(MousePos_X, MousePos_Y); | 
					
						
							|  |  |  |         if (CombatInfoList) { | 
					
						
							|  |  |  |             foreach(Pos, Object in CombatInfoList) { | 
					
						
							|  |  |  |                 if (sq_IsIntersectRect(MousePos_X, MousePos_Y, 1, 1, X, Y + 294 + (Pos * 40) - (ScrollBarRate * ScrollBarValue).tointeger(), 726, 39)) { | 
					
						
							|  |  |  |                     Object.OnMouseLbDown(X, Y + 294 + (Pos * 40) - (ScrollBarRate * ScrollBarValue).tointeger()); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //逻辑入口 | 
					
						
							|  |  |  |     function Proc(obj) { | 
					
						
							|  |  |  |         LenheartNewUI_Windows.SyncPos(X, Y); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //上传自身战斗力 | 
					
						
							|  |  |  |     //时装 帽子 头部 脸 上衣 下装 鞋子  胸部  腰部  皮肤 光环 | 
					
						
							|  |  |  |     // AvatarInfoIdx = [0x3038, 0x3010, 0x3014, 0x3018, 0x301c, 0x3020, 0x3024, 0x3028, 0x302c, 0x3034]; | 
					
						
							|  |  |  |     AvatarInfoIdx = [0x3038, 0x3010, 0x3014, 0x3018, 0x301c, 0x3020, 0x3024, 0x3028, 0x302c, 0x3030, 0x3034]; | 
					
						
							|  |  |  |     creInfoIdx = [0x3068, 0x306C, 0x3070, 0x3074]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function UploadYourOwnCombatPower() { | 
					
						
							|  |  |  |         if (sq_GetCurrentModuleType() != 1) return; | 
					
						
							|  |  |  |         local obj = sq_GetMyMasterCharacter(); | 
					
						
							|  |  |  |         if (!obj) return; | 
					
						
							|  |  |  |         local C_Object = L_sq_RA(0x1ab7cdc); | 
					
						
							|  |  |  |         //记录时装 | 
					
						
							|  |  |  |         local avataritemsbuf = []; | 
					
						
							|  |  |  |         foreach(offset in AvatarInfoIdx) { | 
					
						
							|  |  |  |             local AvatarEquiAddress = L_sq_RA(C_Object + offset); | 
					
						
							|  |  |  |             if (AvatarEquiAddress >= 0x400000) { | 
					
						
							|  |  |  |                 local Ab = []; | 
					
						
							|  |  |  |                 local NormalIndex = L_sq_RA(AvatarEquiAddress + 0x1c); | 
					
						
							|  |  |  |                 local ExIndex = L_sq_RA(AvatarEquiAddress + 0x13E0); | 
					
						
							|  |  |  |                 Ab.append(NormalIndex); | 
					
						
							|  |  |  |                 Ab.append(ExIndex); | 
					
						
							|  |  |  |                 avataritemsbuf.append(Ab); | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 local Ab = []; | 
					
						
							|  |  |  |                 Ab.append(0); | 
					
						
							|  |  |  |                 Ab.append(0); | 
					
						
							|  |  |  |                 avataritemsbuf.append(Ab); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //记录装备 | 
					
						
							|  |  |  |         local equiitemsbuf = []; | 
					
						
							|  |  |  |         local equiupbuf = []; | 
					
						
							|  |  |  |         for (local i = 1; i< 13; ++i) { | 
					
						
							|  |  |  |             //编号 | 
					
						
							|  |  |  |             local Index = L_sq_GetCharacterAttribute(0x1c, i); | 
					
						
							|  |  |  |             //强化 | 
					
						
							|  |  |  |             local Upvalue = L_sq_GetCharacterAttribute(0x1054, i) | 
					
						
							|  |  |  |             //是否有增幅属性 | 
					
						
							|  |  |  |             local IsZf = L_sq_GetCharacterAttribute(0x10A8, i) | 
					
						
							|  |  |  |             //锻造 | 
					
						
							|  |  |  |             local DsUpvalue = L_sq_GetCharacterAttribute(0x10E8, i); | 
					
						
							|  |  |  |             //附魔卡片 | 
					
						
							|  |  |  |             local Enchanting = L_sq_GetCharacterAttribute(0x1084, i); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             equiitemsbuf.append(Index); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             local Info = []; | 
					
						
							|  |  |  |             if (IsZf) { | 
					
						
							|  |  |  |                 Info.append(0); | 
					
						
							|  |  |  |                 Info.append(Upvalue); | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 Info.append(Upvalue); | 
					
						
							|  |  |  |                 Info.append(0); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             Info.append(DsUpvalue); | 
					
						
							|  |  |  |             Info.append(Enchanting); | 
					
						
							|  |  |  |             equiupbuf.append(Info); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //记录宠物 | 
					
						
							|  |  |  |         local creitemsbuf = []; | 
					
						
							|  |  |  |         foreach(offset in creInfoIdx) { | 
					
						
							|  |  |  |             local creEquiAddress = L_sq_RA(C_Object + offset); | 
					
						
							|  |  |  |             if (creEquiAddress >= 0x400000) { | 
					
						
							|  |  |  |                 local NormalIndex = L_sq_RA(creEquiAddress + 0x1c); | 
					
						
							|  |  |  |                 creitemsbuf.append(NormalIndex); | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 creitemsbuf.append(0); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //记录四维三攻属强 | 
					
						
							|  |  |  |         local Attributes = 0; | 
					
						
							|  |  |  |         Attributes += L_sq_GetCharacterAttribute(0x2364); | 
					
						
							|  |  |  |         Attributes += L_sq_GetCharacterAttribute(0x2394); | 
					
						
							|  |  |  |         Attributes += L_sq_GetCharacterAttribute(0x237c); | 
					
						
							|  |  |  |         Attributes += L_sq_GetCharacterAttribute(0x23ac); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local AttackValue = 0; | 
					
						
							|  |  |  |         AttackValue += L_sq_GetCharacterAttribute(0x1E54); | 
					
						
							|  |  |  |         AttackValue += L_sq_GetCharacterAttribute(0x1E84); | 
					
						
							|  |  |  |         AttackValue += L_sq_GetCharacterAttribute(0x22C8); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local Enhancement = 0; //火冰光暗 | 
					
						
							|  |  |  |         Enhancement += L_sq_GetCharacterAttribute(0x1b54); | 
					
						
							|  |  |  |         Enhancement += L_sq_GetCharacterAttribute(0x1b60); | 
					
						
							|  |  |  |         Enhancement += L_sq_GetCharacterAttribute(0x1b78); | 
					
						
							|  |  |  |         Enhancement += L_sq_GetCharacterAttribute(0x1b6c); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local T = { | 
					
						
							|  |  |  |             op = 20096001, | 
					
						
							|  |  |  |             ava = avataritemsbuf, | 
					
						
							|  |  |  |             equ = equiitemsbuf, | 
					
						
							|  |  |  |             sw = Attributes, | 
					
						
							|  |  |  |             atk = AttackValue, | 
					
						
							|  |  |  |             ele = Enhancement, | 
					
						
							|  |  |  |             cre = creitemsbuf, | 
					
						
							|  |  |  |             job = sq_getJob(obj), | 
					
						
							|  |  |  |             exjob = sq_getGrowType(obj), | 
					
						
							|  |  |  |             name = L_Sq_GetObjectName(obj), | 
					
						
							|  |  |  |             equUp = equiupbuf, | 
					
						
							|  |  |  |             fst = 0, | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         SendPackEx(T); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function OpenCallBack() { | 
					
						
							|  |  |  |         UploadYourOwnCombatPower(); | 
					
						
							|  |  |  |         CheckPersonalCombatPower(); | 
					
						
							|  |  |  |         CheckGuildCombatPower(); | 
					
						
							|  |  |  |         LookingInfo = null; | 
					
						
							|  |  |  |         this.Visible = true; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //高级绘制文字(带换行) | 
					
						
							|  |  |  |     function L_sq_DrawCode_Ex(str, x, y, rgba, mb, jc) { | 
					
						
							|  |  |  |         local strarr = []; | 
					
						
							|  |  |  |         if (str.find("\\n") == null) L_sq_DrawCode(str, x, y, rgba, mb, jc); | 
					
						
							|  |  |  |         else { | 
					
						
							|  |  |  |             local Bpos = 0; | 
					
						
							|  |  |  |             while (true) { | 
					
						
							|  |  |  |                 local Npos = str.find("\\n", Bpos); | 
					
						
							|  |  |  |                 if (!Npos) { | 
					
						
							|  |  |  |                     local strbuff = str.slice(Bpos, str.len()); | 
					
						
							|  |  |  |                     strarr.append(strbuff); | 
					
						
							|  |  |  |                     break; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 local strbuff = str.slice(Bpos, Npos); | 
					
						
							|  |  |  |                 strarr.append(strbuff); | 
					
						
							|  |  |  |                 Bpos = Npos + 2; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             for (local z = 0; z< strarr.len(); z++) { | 
					
						
							|  |  |  |                 L_sq_DrawCode(strarr[z], x, y + (z * 14), rgba, mb, jc); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | L_Windows_List <- []; | 
					
						
							|  |  |  | getroottable().rawdelete("LenheartPluginsInitFlag"); | 
					
						
							|  |  |  | getroottable().rawdelete("EventList_Obj") | 
					
						
							|  |  |  | getroottable().rawdelete("TH_CombatRank_Obj"); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function Lenheart_TH_CombatRank_Fun(obj) { | 
					
						
							|  |  |  |     local RootTab = getroottable(); | 
					
						
							|  |  |  |     if (!RootTab.rawin("TH_CombatRank_Obj")) { | 
					
						
							|  |  |  |         RootTab.rawset("TH_CombatRank_Obj", true); | 
					
						
							|  |  |  |         local Win = LenheartNewUI_CreateWindow(TH_CombatRankC, "桃花定制战力榜窗口", ((getroottable().Rindro_Scr_Width - 742) / 2).tointeger(), 28, 742, 515, 24); | 
					
						
							|  |  |  |         EventList_Obj.AddEvent("全服战力榜", 694, Win, "interface2/hud/information_button/information_button_cn.img"); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | getroottable()["LenheartFuncTab"].rawset("TH_CombatRankFuncN", Lenheart_TH_CombatRank_Fun); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TH_CombatRankC_Item { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //Img | 
					
						
							|  |  |  |     Img = null; | 
					
						
							|  |  |  |     //编号 | 
					
						
							|  |  |  |     Idx = null; | 
					
						
							|  |  |  |     //父对象 | 
					
						
							|  |  |  |     Parent = null; | 
					
						
							|  |  |  |     //显示角色 | 
					
						
							|  |  |  |     CharacShow = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //信息体 | 
					
						
							|  |  |  |     Info = null; | 
					
						
							|  |  |  |     //类型 | 
					
						
							|  |  |  |     Type = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor(Window, Idx, Info, Type) { | 
					
						
							|  |  |  |         Parent = Window; | 
					
						
							|  |  |  |         Img = Window.Img["main"]; | 
					
						
							|  |  |  |         this.Idx = Idx; | 
					
						
							|  |  |  |         this.Info = Info; | 
					
						
							|  |  |  |         this.Type = Type; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Show(X, Y) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (Idx< 3) { | 
					
						
							|  |  |  |             Img.DrawPng(4 + Idx, X + 3, Y); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             Img.DrawPng(1, X + 3, Y); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local Ranking = (Idx + 1).tostring(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local JobName; | 
					
						
							|  |  |  |         local CharacName; | 
					
						
							|  |  |  |         local Combat; | 
					
						
							|  |  |  |         local MbCount; | 
					
						
							|  |  |  |         local GuildName; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (this.Type == 0) { | 
					
						
							|  |  |  |             JobName = Info.jobname; | 
					
						
							|  |  |  |             CharacName = Info.name; | 
					
						
							|  |  |  |             Combat = Info.zdlS; | 
					
						
							|  |  |  |             MbCount = Info.mbcs.tostring(); | 
					
						
							|  |  |  |             GuildName = Info.guildname; | 
					
						
							|  |  |  |         } else if (this.Type == 1) { | 
					
						
							|  |  |  |             JobName = Info.guildMaster; | 
					
						
							|  |  |  |             CharacName = Info.guildName; | 
					
						
							|  |  |  |             Combat = Info.zdlS; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  |         local Color = sq_RGBA(230, 200, 155, 255); | 
					
						
							|  |  |  |         if(Idx < 10 && Parent.RankColor)Color = Parent.RankColor[Idx]; | 
					
						
							| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  |         //绘制排名 | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  |         L_sq_DrawCode(Ranking, X + 25 - LenheartTextClass.GetStringLength(Ranking) / 2, Y + 14, Color, 0, 1); | 
					
						
							| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  |         //绘制角色名 | 
					
						
							| 
									
										
										
										
											2025-10-14 09:17:56 +08:00
										 |  |  |         L_sq_DrawCode(CharacName, X + 110 - LenheartTextClass.GetStringLength(CharacName) / 2, Y + 14, Color, 0, 1); | 
					
						
							| 
									
										
										
										
											2025-08-27 08:45:37 +08:00
										 |  |  |         //绘制膜拜次数 | 
					
						
							|  |  |  |         L_sq_DrawCode(MbCount, X + 213 - LenheartTextClass.GetStringLength(MbCount) / 2, Y + 14, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |         //绘制职业 | 
					
						
							|  |  |  |         L_sq_DrawCode(JobName, X + 297 - LenheartTextClass.GetStringLength(JobName) / 2, Y + 14, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |         //绘制公会名 | 
					
						
							|  |  |  |         L_sq_DrawCode(GuildName, X + 398 - LenheartTextClass.GetStringLength(GuildName) / 2, Y + 14, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  |         //绘制战斗力 | 
					
						
							|  |  |  |         L_sq_DrawCode(Combat, X + 517 - LenheartTextClass.GetStringLength(Combat) / 2, Y + 14, sq_RGBA(230, 200, 155, 255), 0, 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //绘制奖励 | 
					
						
							|  |  |  |         if (this.Type == 0) { | 
					
						
							|  |  |  |             if (Parent.PersonReward) { | 
					
						
							|  |  |  |                 if(Idx >= Parent.PersonReward.len())return; | 
					
						
							|  |  |  |                 local Reward = Parent.PersonReward[Idx]; | 
					
						
							|  |  |  |                 foreach(Pos, ItemInfo in Reward) { | 
					
						
							|  |  |  |                     Parent.DrawItemBase(X + 377 + 200 + (Pos * 30), Y + 4, ItemInfo[0], ItemInfo[1]); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } else if (this.Type == 1) { | 
					
						
							|  |  |  |             if (Parent.PersonReward) { | 
					
						
							|  |  |  |                 local Reward = Parent.PersonReward[Idx]; | 
					
						
							|  |  |  |                 foreach(Pos, ItemInfo in Reward) { | 
					
						
							|  |  |  |                     Parent.DrawItemBase(X + 377 + 200 + (Pos * 30), Y + 4, ItemInfo[0], ItemInfo[1]); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function HoverShow(X, Y) { | 
					
						
							|  |  |  |         if (Y <= (Parent.Y + 316 + 196)) { | 
					
						
							|  |  |  |             Img.DrawPng(2, X + 3, Y); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function ShowCharacter(X, Y) { | 
					
						
							|  |  |  |         //没有正在查看的对象的时候才绘制人物 | 
					
						
							|  |  |  |         // if (!Parent.LookingInfo) { | 
					
						
							|  |  |  |         if (!CharacShow) StructureCharacAni(); | 
					
						
							|  |  |  |         CharacShow.Draw(X, Y); | 
					
						
							|  |  |  |         // } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function StructureCharacAni() { | 
					
						
							|  |  |  |         local AvaList = []; | 
					
						
							|  |  |  |         foreach(Ava in Info.avaS) { | 
					
						
							|  |  |  |             if (Ava != 0) AvaList.append(Ava); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         CharacShow = Rindro_Draw_Character(Info.job.tointeger(), AvaList, "rest.ani", null); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function OnMouseLbDown(X, Y) { | 
					
						
							|  |  |  |         if (this.Type == 0) { | 
					
						
							|  |  |  |             if (Y <= (Parent.Y + 294 + 218) && Y >= (Parent.Y + 294)) { | 
					
						
							|  |  |  |                 Parent.LookingInfo = this; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |