969 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			969 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| /*
 | ||
| 文件名:AradPass.nut
 | ||
| 路径:Plugins/AradPass/AradPass.nut
 | ||
| 创建日期:2023-10-18	08:38
 | ||
| 文件用途:
 | ||
| */
 | ||
| class AradPassC extends BasicsDrawTool {
 | ||
|     WindowObj = null; //窗口对象
 | ||
|     MainState = false; //主状态
 | ||
|     X = 124;
 | ||
|     Y = 34;
 | ||
| 
 | ||
|     Page = 0;
 | ||
| 
 | ||
|     Title = null;
 | ||
|     QuestTitle = null;
 | ||
|     QuestPage = 0;
 | ||
| 
 | ||
|     BaseInfo = null;
 | ||
| 
 | ||
|     Mobj = null;
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     //每日任务数组
 | ||
|     DailyTasks = null;
 | ||
|     //重复任务数组
 | ||
|     RepeatingTasks = null;
 | ||
|     //赛季任务数组
 | ||
|     SeasonTasks = null;
 | ||
| 
 | ||
|     //标签提示
 | ||
|     TabSuccessTips = null;
 | ||
| 
 | ||
|     //等级按钮
 | ||
|     LevelButton = null;
 | ||
|     LevelPage = 0;
 | ||
| 
 | ||
|     //战令等级
 | ||
|     MyPassLevel = 2;
 | ||
| 
 | ||
|     //ItemInfo
 | ||
|     ItemInfoObject = null;
 | ||
|     ItemInfoDrawS = null;
 | ||
| 
 | ||
|     RewardInfoObject = null;
 | ||
|     RewardInfoEffTimer = null;
 | ||
|     RewardSuccessTips = null;
 | ||
| 
 | ||
|     function GetBaseInfo() {
 | ||
|         local T = {
 | ||
|             op = 20059001
 | ||
|         }
 | ||
|         SendPack(T);
 | ||
|         local T2 = {
 | ||
|             op = 20059005
 | ||
|         }
 | ||
|         SendPack(T2);
 | ||
|     }
 | ||
| 
 | ||
|     function GetBaseInfoCallBack(Chunk) {
 | ||
|         // Sout("收到包 : \n %L", Chunk);
 | ||
|         local Jso = Json.Decode(Chunk);
 | ||
|         foreach(Value in Jso.itemInfo) {
 | ||
|             if (Value.Name2.len() == 0)
 | ||
|                 Value.Name2 = "Yosin-Team";
 | ||
|             ItemInfoObject[Value.Id] <- Value;
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     function GetBaseInfoCallBack2(Chunk) {
 | ||
|         // Sout("收到包 : \n %L", Chunk);
 | ||
|         local Jso = Json.Decode(Chunk);
 | ||
|         BaseInfo = {};
 | ||
|         BaseInfo = clone(Jso);
 | ||
| 
 | ||
|         LevelPage = ((BaseInfo.Exp / 1000) + 1) / 10;
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     QuestSuccessTips = null;
 | ||
| 
 | ||
|     function GetPlayerQuestCallBack(Chunk) {
 | ||
|         // Sout("收到包 : \n %L", Chunk);
 | ||
|         local Jso = Json.Decode(Chunk);
 | ||
|         DailyTasks = Jso.task[0];
 | ||
|         RepeatingTasks = Jso.task[1];
 | ||
|         SeasonTasks = Jso.task[2];
 | ||
| 
 | ||
|         QuestSuccessTips = [0, 0, 0];
 | ||
|         TabSuccessTips[1] = 0;
 | ||
| 
 | ||
|         foreach(Pos, Value in Jso.task) {
 | ||
|             foreach(QuestObject in Value) {
 | ||
|                 if (QuestObject.SuccessState == 0) {
 | ||
|                     if (QuestObject.NowSuccessCount >= QuestObject.MaxSuccessCount) {
 | ||
|                         QuestSuccessTips[Pos] = 1;
 | ||
|                         TabSuccessTips[1] = 1;
 | ||
|                         break;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     function GetPlayerReward() {
 | ||
|         local T = {
 | ||
|             op = 20059003
 | ||
|         }
 | ||
|         SendPack(T);
 | ||
|     }
 | ||
| 
 | ||
|     function GetPlayerQuest() {
 | ||
|         local T = {
 | ||
|             op = 20059031
 | ||
|         }
 | ||
|         SendPack(T);
 | ||
|     }
 | ||
| 
 | ||
|     function GetPlayerRewardCallBack(Chunk) {
 | ||
|         // Sout("收到包 : \n %L", Chunk);
 | ||
|         //还原奖励领取提示数组
 | ||
|         RewardSuccessTips = [0, 0, 0, 0, 0];
 | ||
|         TabSuccessTips[0] = 0;
 | ||
| 
 | ||
|         RewardInfoObject = {};
 | ||
|         local Jso = Json.Decode(Chunk);
 | ||
|         foreach(Pos, Value in Jso.reward) {
 | ||
|             RewardInfoObject.rawset(Pos, Value);
 | ||
|             if ((Pos)<(BaseInfo.Exp / 1000 + 1)) {
 | ||
|                 //判断是否有未领取的道具绘制感叹号要用
 | ||
|                 local Page = (Pos / 10);
 | ||
|                 if (RewardSuccessTips[Page] == 0) {
 | ||
|                     if (Value.isOrdinary == 0) {
 | ||
|                         RewardSuccessTips[Page] = 1;
 | ||
|                         TabSuccessTips[0] = 1;
 | ||
|                     }
 | ||
|                     if (BaseInfo.isVip) {
 | ||
|                         if (Value.isadditional == 0) {
 | ||
|                             RewardSuccessTips[Page] = 1;
 | ||
|                             TabSuccessTips[0] = 1;
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     //发包成功
 | ||
|     function SendSuccessAradPass(a2, a3, a4) {
 | ||
|         local T = {
 | ||
|             op = 20059023,
 | ||
|             id = a2,
 | ||
|             count = a4,
 | ||
|         }
 | ||
|         SendPack(T);
 | ||
|     }
 | ||
| 
 | ||
|     function RegisterQuestSu() {
 | ||
|         L_CompleteTaskTable.rawset("AradPass", SendSuccessAradPass.bindenv(this));
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     constructor() {
 | ||
|         if (getroottable().rawin("MouseObject")) Mobj = getroottable()["MouseObject"];
 | ||
| 
 | ||
|         //注册完成任务回调
 | ||
|         RegisterQuestSu();
 | ||
| 
 | ||
|         ItemInfoObject = {};
 | ||
| 
 | ||
|         //标签完成提示
 | ||
|         TabSuccessTips = [0, 0, 0];
 | ||
| 
 | ||
|         Pack_Control.rawset(20059002, GetBaseInfoCallBack.bindenv(this));
 | ||
|         Pack_Control.rawset(20059006, GetBaseInfoCallBack2.bindenv(this));
 | ||
|         Pack_Control.rawset(20059004, GetPlayerRewardCallBack.bindenv(this));
 | ||
|         Pack_Control.rawset(20059032, GetPlayerQuestCallBack.bindenv(this));
 | ||
| 
 | ||
|         GetBaseInfo();
 | ||
|         GetPlayerReward();
 | ||
|         GetPlayerQuest();
 | ||
| 
 | ||
|         RewardInfoEffTimer = Clock();
 | ||
|         RewardSuccessTips = [0, 0, 0, 0, 0];
 | ||
|     }
 | ||
| 
 | ||
|     //绘制等级数字
 | ||
|     function DrawNumber(num, ...) {
 | ||
|         num = num.tostring();
 | ||
|         local x = X + 38;
 | ||
|         local y = Y + 110;
 | ||
|         if (num.len() == 2) x = X + 28;
 | ||
|         for (local i = 0; i< num.len(); i++) {
 | ||
|             local n = num.slice(i, i + 1);
 | ||
|             n = n.tointeger();
 | ||
|             local Img = "interface2/ui/aradpass/chn/aradpassnum.img";
 | ||
|             if (BaseInfo.isVip) Img = "interface2/ui/aradpass/chn/aradpassnumy.img";
 | ||
|             L_sq_DrawImg(Img, n, x + (i * 18), y);
 | ||
|         }
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     //绘制等级数字
 | ||
|     function DrawSmallNumber(num, bx) {
 | ||
|         num = num.tostring();
 | ||
|         local x = X + 38 + bx;
 | ||
|         local y = Y + 250;
 | ||
|         if (num.len() == 2) x = X + 33 + bx;
 | ||
|         for (local i = 0; i< num.len(); i++) {
 | ||
|             local n = num.slice(i, i + 1);
 | ||
|             n = n.tointeger();
 | ||
|             local Img = "interface2/ui/aradpass/chn/aradpassnum.img";
 | ||
|             if (BaseInfo.isVip) Img = "interface2/ui/aradpass/chn/aradpassnumy.img";
 | ||
|             L_sq_DrawImg(Img, n, x + (i * 9), y, 0, sq_RGBA(255, 255, 255, 255), 0.5, 0.5);
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     //绘制道具带道具信息
 | ||
|     function DrawItemEx(X, Y, Id, Count) {
 | ||
|         L_Sq_DrawItem(X, Y, Id, Count, 0, 0, 0);
 | ||
|         if (sq_IsIntersectRect(IMouse.GetXPos(), IMouse.GetYPos(), 1, 1, X, Y, 24, 24)) {
 | ||
|             ItemInfoDrawS = {};
 | ||
|             ItemInfoDrawS.X <- X;
 | ||
|             ItemInfoDrawS.Y <- Y;
 | ||
|             ItemInfoDrawS.ItemId <- Id;
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     //绘制道具相信信息
 | ||
|     ItemObject = null;
 | ||
| 
 | ||
|     function DrawItemInfo(obj) {
 | ||
|         if (ItemInfoDrawS) {
 | ||
|             if (!ItemObject) {
 | ||
|                 local ItemId = ItemInfoDrawS.ItemId;
 | ||
|                 if (ItemInfoObject.rawin(ItemId)) {
 | ||
|                     ItemObject = ItemInfoClass(ItemInfoObject[ItemId]);
 | ||
|                 }
 | ||
|             }
 | ||
|             ItemObject.Show(ItemInfoDrawS.X, ItemInfoDrawS.Y - ItemObject.PageLength);
 | ||
|         } else {
 | ||
|             ItemObject = null;
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     function DrawRewardItem(obj) {
 | ||
|         local Idx = LevelPage * 10;
 | ||
|         for (local i = 0; i< 10; i++) {
 | ||
|             //奖励下标
 | ||
|             local RealPos = Idx + i;
 | ||
| 
 | ||
|             if (RealPos in RewardInfoObject) {
 | ||
| 
 | ||
|                 local RewardObject = RewardInfoObject[RealPos];
 | ||
| 
 | ||
|                 //普通道具
 | ||
|                 if ("itemid" in RewardObject) {
 | ||
|                     //普通底
 | ||
|                     L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 21, X + 11 + 45 + (i * 47), Y + 50 + 162 + 61);
 | ||
| 
 | ||
|                     DrawItemEx(X + 64 + (i * 47), Y + 296, RewardObject.itemid, RewardObject.num);
 | ||
| 
 | ||
|                     //已领取
 | ||
|                     if (RewardObject.isOrdinary) {
 | ||
|                         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 23, X + 11 + 45 + (i * 47), Y + 50 + 162 + 61);
 | ||
|                     }
 | ||
|                     //未领取
 | ||
|                     else if (!RewardObject.isOrdinary) {
 | ||
|                         //快达到等级
 | ||
|                         if ((RealPos + 1) == MyPassLevel + 1) {
 | ||
| 
 | ||
|                         }
 | ||
|                         //已达到等级
 | ||
|                         else if ((RealPos + 1) <= MyPassLevel) {
 | ||
|                             local A = 60;
 | ||
|                             if (RewardInfoEffTimer) {
 | ||
|                                 if (Clock() - RewardInfoEffTimer <= 1000) {
 | ||
|                                     A = sq_GetUniformVelocity(60, 255, Clock() - RewardInfoEffTimer, 1000);
 | ||
|                                 }
 | ||
|                                 if (Clock() - RewardInfoEffTimer <= 2000 && Clock() - RewardInfoEffTimer > 1000) {
 | ||
|                                     A = sq_GetUniformVelocity(255, 60, Clock() - RewardInfoEffTimer - 1000, 1000);
 | ||
|                                 }
 | ||
|                                 if (Clock() - RewardInfoEffTimer > 2000) {
 | ||
|                                     RewardInfoEffTimer = Clock();
 | ||
|                                 }
 | ||
|                             }
 | ||
|                             L_sq_SetDrawImgModel(2, 0);
 | ||
|                             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 29, X + 7 + 45 + (i * 47), Y + 50 + 162 + 58, 0, sq_RGBA(255, 255, 255, A), 1.0, 1.0);
 | ||
|                             L_sq_ReleaseDrawImgModel();
 | ||
| 
 | ||
|                             if (sq_IsIntersectRect(IMouse.GetXPos(), IMouse.GetYPos(), 1, 1, X + 7 + 45 + (i * 47), Y + 50 + 162 + 58, 44, 74)) {
 | ||
|                                 if (Mobj.LbEvent) {
 | ||
|                                     local T = {
 | ||
|                                         op = 20059007,
 | ||
|                                         Type = 0,
 | ||
|                                         lv = RealPos + 1,
 | ||
|                                     }
 | ||
|                                     SendPack(T);
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                         //未达到等级
 | ||
|                         else {
 | ||
|                             //普通底Eff 未领取
 | ||
|                             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 33, X + 11 + 45 + (i * 47), Y + 50 + 162 + 61);
 | ||
|                         }
 | ||
| 
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 //是不是VIP
 | ||
|                 local IsVip = BaseInfo.isVip;
 | ||
| 
 | ||
|                 //进阶道具
 | ||
|                 if ("additionalItemId" in RewardObject && "additionalItemId2" in RewardObject) {
 | ||
|                     //普通底
 | ||
|                     L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 26, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
| 
 | ||
|                     DrawItemEx(X + 64 + (i * 47), Y + 356, RewardObject.additionalItemId, RewardObject.additionalNum);
 | ||
|                     DrawItemEx(X + 64 + (i * 47), Y + 390, RewardObject.additionalItemId2, RewardObject.additionalNum2);
 | ||
| 
 | ||
|                     if (RewardObject.isadditional) {
 | ||
|                         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 28, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
|                     } else {
 | ||
|                         if (!IsVip) {
 | ||
|                             //普通底
 | ||
|                             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 32, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
|                         } else {
 | ||
|                             //快达到等级
 | ||
|                             if ((RealPos + 1) == MyPassLevel + 1) {
 | ||
| 
 | ||
|                             }
 | ||
|                             //已达到等级
 | ||
|                             else if ((RealPos + 1) <= MyPassLevel) {
 | ||
|                                 local A = 60;
 | ||
|                                 if (RewardInfoEffTimer) {
 | ||
|                                     if (Clock() - RewardInfoEffTimer <= 1000) {
 | ||
|                                         A = sq_GetUniformVelocity(60, 255, Clock() - RewardInfoEffTimer, 1000);
 | ||
|                                     }
 | ||
|                                     if (Clock() - RewardInfoEffTimer <= 2000 && Clock() - RewardInfoEffTimer > 1000) {
 | ||
|                                         A = sq_GetUniformVelocity(255, 60, Clock() - RewardInfoEffTimer - 1000, 1000);
 | ||
|                                     }
 | ||
|                                     if (Clock() - RewardInfoEffTimer > 2000) {
 | ||
|                                         RewardInfoEffTimer = Clock();
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                                 L_sq_SetDrawImgModel(2, 0);
 | ||
|                                 L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 30, X + 7 + 45 + (i * 47), Y + 45 + 162 + 138, 0, sq_RGBA(255, 255, 255, A), 1.0, 1.0);
 | ||
|                                 L_sq_ReleaseDrawImgModel();
 | ||
| 
 | ||
|                                 if (sq_IsIntersectRect(IMouse.GetXPos(), IMouse.GetYPos(), 1, 1, X + 7 + 45 + (i * 47), Y + 45 + 162 + 138, 44, 74)) {
 | ||
|                                     if (Mobj.LbEvent) {
 | ||
|                                         local T = {
 | ||
|                                             op = 20059007,
 | ||
|                                             Type = 1,
 | ||
|                                             lv = RealPos + 1,
 | ||
|                                         }
 | ||
|                                         SendPack(T);
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                             }
 | ||
|                             //未达到等级
 | ||
|                             else {
 | ||
|                                 //普通底Eff 未领取
 | ||
|                                 L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 33, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
|                 } else {
 | ||
|                     //普通底
 | ||
|                     L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 25, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
| 
 | ||
|                     DrawItemEx(X + 64 + (i * 47), Y + 373, RewardObject.additionalItemId, RewardObject.additionalNum);
 | ||
| 
 | ||
| 
 | ||
|                     if (RewardObject.isadditional) {
 | ||
|                         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 27, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
|                     } else {
 | ||
|                         if (!IsVip) {
 | ||
|                             //普通底
 | ||
|                             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 31, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
|                         } else {
 | ||
|                             //快达到等级
 | ||
|                             if ((RealPos + 1) == MyPassLevel + 1) {
 | ||
| 
 | ||
|                             }
 | ||
|                             //已达到等级
 | ||
|                             else if ((RealPos + 1) <= MyPassLevel) {
 | ||
|                                 local A = 60;
 | ||
|                                 if (RewardInfoEffTimer) {
 | ||
|                                     if (Clock() - RewardInfoEffTimer <= 1000) {
 | ||
|                                         A = sq_GetUniformVelocity(60, 255, Clock() - RewardInfoEffTimer, 1000);
 | ||
|                                     }
 | ||
|                                     if (Clock() - RewardInfoEffTimer <= 2000 && Clock() - RewardInfoEffTimer > 1000) {
 | ||
|                                         A = sq_GetUniformVelocity(255, 60, Clock() - RewardInfoEffTimer - 1000, 1000);
 | ||
|                                     }
 | ||
|                                     if (Clock() - RewardInfoEffTimer > 2000) {
 | ||
|                                         RewardInfoEffTimer = Clock();
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                                 L_sq_SetDrawImgModel(2, 0);
 | ||
|                                 L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 30, X + 7 + 45 + (i * 47), Y + 45 + 162 + 138, 0, sq_RGBA(255, 255, 255, A), 1.0, 1.0);
 | ||
|                                 L_sq_ReleaseDrawImgModel();
 | ||
| 
 | ||
|                                 if (sq_IsIntersectRect(IMouse.GetXPos(), IMouse.GetYPos(), 1, 1, X + 7 + 45 + (i * 47), Y + 45 + 162 + 138, 44, 74)) {
 | ||
|                                     if (Mobj.LbEvent) {
 | ||
|                                         local T = {
 | ||
|                                             op = 20059007,
 | ||
|                                             Type = 1,
 | ||
|                                             lv = RealPos + 1,
 | ||
|                                         }
 | ||
|                                         SendPack(T);
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                             }
 | ||
|                             //未达到等级
 | ||
|                             else {
 | ||
|                                 //普通底Eff 未领取
 | ||
|                                 L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 33, X + 11 + 45 + (i * 47), Y + 50 + 162 + 138);
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         if (MyPassLevel >= LevelPage * 10) {
 | ||
| 
 | ||
|             //是不是VIP
 | ||
|             local IsVip = BaseInfo.isVip;
 | ||
| 
 | ||
|             local MyExp;
 | ||
|             local Rate;
 | ||
|             if (MyPassLevel == LevelPage * 10) {
 | ||
|                 MyExp = (BaseInfo.Exp + 1000.0) % 10000.0;
 | ||
|                 Rate = MyExp.tofloat() / 10000.0;
 | ||
|             } else if (MyPassLevel<(LevelPage + 1) * 10) {
 | ||
|                 MyExp = BaseInfo.Exp % 10000.0 + 1000.0;
 | ||
|                 Rate = MyExp.tofloat() / 10000.0;
 | ||
|             } else {
 | ||
|                 Rate = 100.0;
 | ||
|             }
 | ||
|             local ImgIndex = 34;
 | ||
|             if (IsVip) ImgIndex = 35;
 | ||
| 
 | ||
|             if (Rate <= 0) Rate = 0.01;
 | ||
|             setClip(X + 11 + 45, Y, X + 11 + 45 + (470 * Rate).tointeger(), Y + 264 + 4); //开始裁切
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", ImgIndex, X + 11 + 45, Y + 264);
 | ||
|             releaseClip(); //裁切结束
 | ||
| 
 | ||
|             L_sq_SetDrawImgModel(2, 0);
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", ImgIndex + 2, X + 11 + 34 + (470 * Rate).tointeger(), Y + 255);
 | ||
|             L_sq_ReleaseDrawImgModel();
 | ||
| 
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
| 
 | ||
|     //绘制主界面
 | ||
|     function DrawMain(obj) {
 | ||
|         if (!BaseInfo) return;
 | ||
| 
 | ||
|         //Item信息框一般为211的宽度
 | ||
|         L_sq_DrawWindow(X, Y + 10, 540, 420, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
 | ||
| 
 | ||
|         L_sq_DrawWindow(X + 6, Y + 45, 528, 384, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
 | ||
| 
 | ||
| 
 | ||
|         // L_sq_DrawWindow(X + 5, Y + 28, 530, 390, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
 | ||
| 
 | ||
|         //绘制背景框标题栏
 | ||
|         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpassmain.img", 0, X + 1, Y);
 | ||
| 
 | ||
|         //构造标题栏
 | ||
|         if (!Title) {
 | ||
|             Title = [];
 | ||
|             for (local i = 0; i< 3; i++) {
 | ||
|                 local Str = "奖励";
 | ||
|                 if (i == 1) Str = "任务";
 | ||
|                 if (i == 2) Str = "社交";
 | ||
|                 local ButtonBuf = LenheartTabbarsText(X, Y, Str);
 | ||
|                 if (i == 0) ButtonBuf.State = 1;
 | ||
|                 Title.append(ButtonBuf);
 | ||
|             }
 | ||
|         } else {
 | ||
|             foreach(Pos, Value in Title) {
 | ||
|                 Value.SyncPos(X + 12 + (Pos * 62), Y + 27);
 | ||
|                 Value.Show();
 | ||
|                 //如果有可领取实践 还要画上感叹号标记
 | ||
|                 if (Value.isLBActive()) {
 | ||
|                     foreach(Pp, Vv in Title) {
 | ||
|                         if (Pp != Pos) Vv.State = 0;
 | ||
|                         Page = Pos;
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 //绘制完成事件的感叹号
 | ||
|                 if (TabSuccessTips[Pos] == 1) {
 | ||
|                     L_sq_DrawImg("interface/Lenheartwindowcommon.img", 301, X + 58 + (Pos * 62), Y + 31, 0, sq_RGBA(255, 255, 255, 210), 0.8, 0.8);
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         //绘制主题栏
 | ||
|         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 0, X + 11, Y + 50);
 | ||
|         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass_banner.img", 0, X + 11, Y + 50);
 | ||
|         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 3, X + 547 - 252, Y + 207 - 47);
 | ||
| 
 | ||
|         //绘制等级与经验值
 | ||
|         MyPassLevel = BaseInfo.Exp / 1000 + 1;
 | ||
|         DrawNumber(MyPassLevel);
 | ||
|         local jystr = (BaseInfo.Exp % 1000) + " / " + 1000;
 | ||
|         L_sq_DrawCode(jystr, X + 11 + 50 - LenheartTextClass.GetStringLength(jystr) / 2, Y + 50 + 20 + 80, sq_RGBA(179, 169, 135, 255), 0, 1);
 | ||
|         if (BaseInfo.isVip) {
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 6, X + 11 + 22, Y + 50 + 24);
 | ||
|         }
 | ||
| 
 | ||
|         //绘制战令名
 | ||
|         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpassl.img", 0, X + 11 + 91, Y + 50 + 20);
 | ||
| 
 | ||
|         //绘制时装套装名
 | ||
|         local szstr = BaseInfo.Apn;
 | ||
|         L_sq_DrawCode(szstr, X + 500 - LenheartTextClass.GetStringLength(szstr) / 2, Y + 192, sq_RGBA(179, 169, 135, 255), 0, 1);
 | ||
| 
 | ||
|         //绘制结束时间
 | ||
|         L_sq_DrawCode("距离结束还有" + BaseInfo.EndTime + "天", X + 11 + 91, Y + 50 + 20 + 31, sq_RGBA(134, 120, 79, 255), 0, 1);
 | ||
| 
 | ||
|         //绘制激活按钮
 | ||
|         if (!(BaseInfo.isVip)) {
 | ||
|             local ActivationButton = LenheartButtonText(X + 11 + 91, Y + 50 + 20 + 31 + 20, 22, "激 活");
 | ||
|             ActivationButton.SetFrame(null, 323);
 | ||
|             ActivationButton.SetTextOffset(6, 1);
 | ||
|             ActivationButton.Show();
 | ||
|             if (ActivationButton.isLBActive()) {
 | ||
|                 local T = {
 | ||
|                     op = 20059013
 | ||
|                 }
 | ||
|                 SendPack(T);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         //绘制主要奖励框
 | ||
|         for (local i = 0; i< 5; i++) {
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 4, X + 11 + 91 + (36 * i), Y + 31 + 124);
 | ||
|             DrawItemEx(X + 11 + 95 + (36 * i), Y + 33 + 124, BaseInfo.showItemIds[i], 1);
 | ||
|         }
 | ||
| 
 | ||
|         //绘制奖励页
 | ||
|         if (Page == 0) {
 | ||
| 
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 1, X + 11, Y + 50 + 162);
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 2, X + 11, Y + 50 + 162 + 214);
 | ||
| 
 | ||
|             L_sq_DrawCode("区", X + 11 + 14, Y + 50 + 162 + 14, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|             L_sq_DrawCode("间", X + 11 + 14, Y + 50 + 162 + 14 + 19, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
| 
 | ||
|             L_sq_DrawCode("免", X + 11 + 14, Y + 50 + 162 + 14 + 19 + 47, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|             L_sq_DrawCode("费", X + 11 + 14, Y + 50 + 162 + 14 + 19 + 47 + 19, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
| 
 | ||
| 
 | ||
|             L_sq_DrawCode("追", X + 11 + 14, Y + 50 + 162 + 14 + 19 + 47 + 19 + 54, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|             L_sq_DrawCode("加", X + 11 + 14, Y + 50 + 162 + 14 + 19 + 47 + 19 + 54 + 19, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 19, X + 11, Y + 240);
 | ||
| 
 | ||
| 
 | ||
|             // local SuccessButton = LenheartBaseButtonText(X + 60, Y + 215, 88, 25, "interface2/ui/aradpass/chn/aradpass.img", 15, "1 - 10");
 | ||
|             // local SuccessButton = LenheartTabbarsText(X + 60, Y + 215, "1 - 10", 88, 25);
 | ||
|             // SuccessButton.SetFrame("interface2/ui/aradpass/chn/aradpass.img", 15);
 | ||
|             // SuccessButton.SetTextOffset(30, 5);
 | ||
|             // SuccessButton.Show();
 | ||
| 
 | ||
| 
 | ||
|             //构造等级按钮
 | ||
|             if (!LevelButton) {
 | ||
|                 LevelButton = [];
 | ||
|                 for (local i = 0; i< 5; i++) {
 | ||
|                     local Str = "1 - 10";
 | ||
|                     if (i == 1) Str = "11 - 20";
 | ||
|                     if (i == 2) Str = "21 - 30";
 | ||
|                     if (i == 3) Str = "31 - 40";
 | ||
|                     if (i == 4) Str = "41 - 50";
 | ||
|                     local ButtonBuf = LenheartTabbarsText(X + 11 + 50 + (i * 93), Y + 215, Str, 88, 25);
 | ||
|                     ButtonBuf.SetFrame("interface2/ui/aradpass/chn/aradpass.img", 15);
 | ||
|                     ButtonBuf.SetTextOffset(50 - LenheartTextClass.GetStringLength(Str) / 2, 6);
 | ||
|                     if (i == 0) ButtonBuf.State = 1;
 | ||
|                     LevelButton.append(ButtonBuf);
 | ||
|                 }
 | ||
|             } else {
 | ||
|                 foreach(Pos, Value in LevelButton) {
 | ||
|                     Value.SyncPos(X + 11 + 50 + (Pos * 93), Y + 215);
 | ||
|                     Value.Show();
 | ||
|                     if (Pos == LevelPage) Value.State = 1;
 | ||
|                     else Value.State = 0;
 | ||
|                     //如果有可领取实践 还要画上感叹号标记
 | ||
|                     if (Value.isLBActive()) {
 | ||
|                         LevelPage = Pos;
 | ||
|                     }
 | ||
|                     if (Value.State == 1) {
 | ||
|                         L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 18, X + 11 + 50 + (Pos * 93), Y + 215);
 | ||
|                     }
 | ||
| 
 | ||
| 
 | ||
|                     //绘制是否可领取奖励的感叹号
 | ||
|                     if (RewardSuccessTips[Pos] == 1) {
 | ||
|                         L_sq_DrawImg("interface/Lenheartwindowcommon.img", 301, X + 125 + (Pos * 93), Y + 224, 0, sq_RGBA(255, 255, 255, 210), 0.8, 0.8);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             for (local i = 0; i< 10; i++) {
 | ||
|                 DrawSmallNumber(i + 1 + (LevelPage * 10), 124 - 91 + (i * 47));
 | ||
|             }
 | ||
| 
 | ||
|             DrawRewardItem(obj);
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|             L_sq_DrawImg("interface/Lenheartwindowcommon.img", 504, X + 24, Y + 438, 0, sq_RGBA(255, 255, 255, 250), 0.8, 0.8);
 | ||
|             L_sq_DrawImg("interface/Lenheartwindowcommon.img", 504, X + 24, Y + 460, 0, sq_RGBA(255, 255, 255, 250), 0.8, 0.8);
 | ||
|             L_sq_DrawCode("获得的物品将发放至物品栏。", X + 44, Y + 438, sq_RGBA(179, 169, 135, 150), 1, 1);
 | ||
|             L_sq_DrawCode("未使用的奖励道具将在本季通行券结束时删除。", X + 44, Y + 460, sq_RGBA(179, 169, 135, 150), 1, 1);
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|             //绘制领取全部奖励按钮
 | ||
|             local ClaimAllButton = LenheartButtonText(X + 460, Y + 440, 22, "全部领取");
 | ||
|             // ClaimAllButton.SetFrame(null, 323);
 | ||
|             ClaimAllButton.SetTextOffset(-3, 1);
 | ||
|             ClaimAllButton.Show();
 | ||
|             if (ClaimAllButton.isLBActive()) {
 | ||
|                 local T = {
 | ||
|                     op = 20059009
 | ||
|                 }
 | ||
|                 SendPack(T);
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         //绘制任务页
 | ||
|         if (Page == 1) {
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 43, X + 11, Y + 50 + 162);
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 38, X + 13, Y + 50 + 184);
 | ||
| 
 | ||
| 
 | ||
|             //构造标题栏
 | ||
|             if (!QuestTitle) {
 | ||
|                 QuestTitle = [];
 | ||
|                 for (local i = 0; i< 3; i++) {
 | ||
|                     local Str = "每日任务";
 | ||
|                     if (i == 1) Str = "重复任务";
 | ||
|                     if (i == 2) Str = "赛季任务";
 | ||
|                     local ButtonBuf = LenheartTabbarsText(X, Y, Str);
 | ||
|                     if (i == 0) ButtonBuf.State = 1;
 | ||
|                     ButtonBuf.SetTextOffset(8, 3);
 | ||
|                     QuestTitle.append(ButtonBuf);
 | ||
|                 }
 | ||
|             } else {
 | ||
|                 foreach(Pos, Value in QuestTitle) {
 | ||
|                     Value.SyncPos(X + 12 + (Pos * 62), Y + 213);
 | ||
|                     Value.Show();
 | ||
|                     //如果有可领取实践 还要画上感叹号标记
 | ||
|                     if (Value.isLBActive()) {
 | ||
|                         foreach(Pp, Vv in QuestTitle) {
 | ||
|                             if (Pp != Pos) Vv.State = 0;
 | ||
|                         }
 | ||
|                         QuestPage = Pos;
 | ||
|                     }
 | ||
| 
 | ||
| 
 | ||
|                     if (QuestSuccessTips && QuestSuccessTips.len() == 3) {
 | ||
|                         //绘制是否可领取奖励的感叹号
 | ||
|                         if (QuestSuccessTips[Pos] == 1) {
 | ||
|                             L_sq_DrawImg("interface/Lenheartwindowcommon.img", 301, X + 64 + (Pos * 62), Y + 216, 0, sq_RGBA(255, 255, 255, 210), 0.8, 0.8);
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             L_sq_DrawCode("任务内容", X + 120, Y + 7 + 231, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|             L_sq_DrawCode("完成次数", X + 288, Y + 7 + 231, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|             L_sq_DrawCode("经验值", X + 388, Y + 7 + 231, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|             L_sq_DrawCode("状态", X + 492, Y + 7 + 231, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
| 
 | ||
|             local QuestTasks = null;
 | ||
|             //每日
 | ||
|             if (QuestPage == 0) {
 | ||
|                 //每日任务数组
 | ||
|                 QuestTasks = DailyTasks;
 | ||
|             }
 | ||
|             //重复
 | ||
|             else if (QuestPage == 1) {
 | ||
|                 //重复任务数组
 | ||
|                 QuestTasks = RepeatingTasks;
 | ||
|             }
 | ||
|             //赛季
 | ||
|             else {
 | ||
|                 //赛季任务数组
 | ||
|                 QuestTasks = SeasonTasks;
 | ||
|             }
 | ||
| 
 | ||
|             if (QuestTasks) {
 | ||
|                 QuestWheelMax = QuestTasks.len();
 | ||
|                 local SuccessCount = 0;
 | ||
|                 local Incomplete = 0;
 | ||
|                 foreach(Pos, Value in QuestTasks) {
 | ||
|                     local OffsetPos = Pos - QuestWheelNow - SuccessCount;
 | ||
|                     if (Pos >= QuestWheelNow && Pos <= QuestWheelNow + 5) {
 | ||
|                         if (Value.SuccessState == 0) {
 | ||
|                             Incomplete++;
 | ||
|                             L_sq_DrawCode(Value.QuestExplain, X + 20, Y + 50 + 162 + 53 + (OffsetPos * 30) + (OffsetPos), sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|                             local SuccessStr = Value.NowSuccessCount + " / " + Value.MaxSuccessCount;
 | ||
|                             L_sq_DrawCode(SuccessStr, X + 320 - LenheartTextClass.GetStringLength(SuccessStr) / 2, Y + 50 + 162 + 53 + (OffsetPos * 30) + (OffsetPos), sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|                             L_sq_DrawCode(Value.Experience.tostring(), X + 404 - LenheartTextClass.GetStringLength(Value.Experience.tostring()) / 2, Y + 50 + 162 + 53 + (OffsetPos * 30) + (OffsetPos), sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
|                             //绘制完成按钮
 | ||
|                             local SuccessButton = LenheartButtonText(X + 472, Y + 261 + (OffsetPos * 30) + (OffsetPos), 10, "完成");
 | ||
|                             SuccessButton.SetTextOffset(3, 1);
 | ||
|                             if (Value.NowSuccessCount >= Value.MaxSuccessCount) {
 | ||
|                                 if (SuccessButton.isLBActive()) {
 | ||
|                                     Value.op <- 20059033;
 | ||
|                                     SendPack(Value);
 | ||
|                                 }
 | ||
|                             } else {
 | ||
|                                 SuccessButton.State = 8;
 | ||
|                             }
 | ||
|                             SuccessButton.Show();
 | ||
|                         } else {
 | ||
|                             SuccessCount++;
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|                 local SuccessPos = 0;
 | ||
|                 foreach(Pos, Value in QuestTasks) {
 | ||
|                     local SuccessOffsetPos = SuccessPos - QuestWheelNow + Incomplete;
 | ||
|                     if (Value.SuccessState == 1) {
 | ||
|                         SuccessPos++;
 | ||
|                         L_sq_DrawCode(Value.QuestExplain, X + 20, Y + 50 + 162 + 53 + (SuccessOffsetPos * 30) + (SuccessOffsetPos), sq_RGBA(179, 169, 135, 150), 1, 1);
 | ||
|                         local SuccessStr = Value.NowSuccessCount + " / " + Value.MaxSuccessCount;
 | ||
|                         L_sq_DrawCode(SuccessStr, X + 320 - LenheartTextClass.GetStringLength(SuccessStr) / 2, Y + 50 + 162 + 53 + (SuccessOffsetPos * 30) + (SuccessOffsetPos), sq_RGBA(179, 169, 135, 150), 1, 1);
 | ||
|                         L_sq_DrawCode(Value.Experience.tostring(), X + 404 - LenheartTextClass.GetStringLength(Value.Experience.tostring()) / 2, Y + 50 + 162 + 53 + (SuccessOffsetPos * 30) + (SuccessOffsetPos), sq_RGBA(179, 169, 135, 150), 1, 1);
 | ||
|                         //绘制完成按钮
 | ||
|                         local SuccessButton = LenheartButtonText(X + 472, Y + 261 + (SuccessOffsetPos * 30) + (SuccessOffsetPos), 10, "已完成");
 | ||
|                         SuccessButton.SetTextOffset(-2, 1);
 | ||
|                         SuccessButton.State = 8;
 | ||
|                         SuccessButton.Show();
 | ||
|                         // L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 41, X + 14, Y + 50 + 160 + 50 + (SuccessOffsetPos * 30) + (SuccessOffsetPos));
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|             if (sq_IsIntersectRect(IMouse.GetXPos(), IMouse.GetYPos(), 1, 1, X + 25, Y + 456, 16, 16)) {
 | ||
|                 L_sq_DrawImg("interface/lenheartwindowcommon.img", 240, X + 25, Y + 456);
 | ||
|                 QuestTips = true;
 | ||
|             } else {
 | ||
|                 L_sq_DrawImg("interface/lenheartwindowcommon.img", 239, X + 25, Y + 456);
 | ||
|                 QuestTips = false;
 | ||
|             }
 | ||
| 
 | ||
|             // 周获取的经验
 | ||
|             local MaxExp = BaseInfo.ExpLimitMax;
 | ||
|             local NowExp = BaseInfo.ExpLimit;
 | ||
|             L_sq_DrawCode("每周重复任务经验获取上限 " + NowExp + "/" + MaxExp, X + 40 + 7, Y + 7 + 451, sq_RGBA(179, 169, 135, 255), 1, 1);
 | ||
| 
 | ||
| 
 | ||
|             local ReceiveExpButton = LenheartButtonText(X + 464, Y + 7 + 446, 22, "全部领取");
 | ||
|             ReceiveExpButton.SetTextOffset(-2, 1);
 | ||
|             ReceiveExpButton.Show();
 | ||
|             if (ReceiveExpButton.isLBActive()) {
 | ||
|                 local T = {
 | ||
|                     op = 20059035
 | ||
|                 }
 | ||
|                 SendPack(T);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         //绘制助力页
 | ||
|         if (Page == 2) {
 | ||
|             L_sq_DrawImg("interface2/ui/aradpass/chn/aradpass.img", 42, X + 11, Y + 50 + 162);
 | ||
| 
 | ||
|             L_sq_DrawCode("助力奖励", X + 11 + 115, Y + 50 + 162 + 7, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|             L_sq_DrawCode("[发起助力]说明", X + 11 + 372, Y + 50 + 162 + 7, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|             L_sq_DrawCode("获得助力 :   " + BaseInfo.helpNum + "   次", X + 11 + 96, Y + 50 + 162 + 111, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|             //助力按钮
 | ||
|             local UpButton = LenheartButtonText(X + 11 + 115 + 20, Y + 50 + 162 + 7 + 48, 4, "发起助力");
 | ||
|             if (BaseInfo.help == 1) {
 | ||
|                 UpButton.State = 8;
 | ||
|             }
 | ||
|             UpButton.SetTextOffset(-12, 1);
 | ||
|             UpButton.Show();
 | ||
|             if (UpButton.isLBActive()) {
 | ||
|                 local T = {
 | ||
|                     op = 20059011,
 | ||
|                     Type = 0,
 | ||
|                 }
 | ||
|                 SendPack(T);
 | ||
|             }
 | ||
| 
 | ||
| 
 | ||
|             {
 | ||
|                 L_sq_DrawCode("社交功能将于每日凌晨6点重置。", X + 11 + 322, Y + 50 + 162 + 77, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|                 L_sq_DrawCode("点击[发起助力]按钮时,立即获得通行", X + 11 + 308, Y + 50 + 162 + 77 + 20, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|                 L_sq_DrawCode("券经验值。", X + 11 + 380, Y + 50 + 162 + 77 + 40, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|                 L_sq_DrawCode("获得助力次数将根据服务器玩家的发起", X + 11 + 300, Y + 50 + 162 + 77 + 60, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|                 L_sq_DrawCode("助力次数而更新。", X + 11 + 364, Y + 50 + 162 + 77 + 80, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|                 L_sq_DrawCode("每10秒可以点击刷新按钮更新信息。", X + 11 + 310, Y + 50 + 162 + 77 + 100, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|             }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|             L_sq_DrawCode("5次", X + 11 + 48, Y + 50 + 162 + 148, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|             L_sq_DrawCode("10次", X + 11 + 132, Y + 50 + 162 + 148, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
|             L_sq_DrawCode("20次", X + 11 + 216, Y + 50 + 162 + 148, sq_RGBA(124, 110, 82, 255), 1, 0);
 | ||
| 
 | ||
| 
 | ||
|             //刷新按钮
 | ||
|             local RefreshButton = LenheartTabbars(X + 11 + 256, Y + 50 + 162 + 108, 19, 19);
 | ||
|             RefreshButton.SetFrame(null, 445);
 | ||
|             RefreshButton.Show();
 | ||
|             if (RefreshButton.isLBActive()) {}
 | ||
| 
 | ||
|             local SuccBtnArr = [BaseInfo.help5, BaseInfo.help10, BaseInfo.help20];
 | ||
|             //完成按钮
 | ||
|             foreach(Pos, Kf in SuccBtnArr) {
 | ||
|                 local ButtonBuf = LenheartButtonText(X + 11 + 27 + (Pos * 85), Y + 50 + 162 + 206, 4, "完成");
 | ||
|                 local RealP = Pos;
 | ||
|                 if (RealP == 0) RealP = 5;
 | ||
|                 if (RealP == 1) RealP = 10;
 | ||
|                 if (RealP == 2) RealP = 20;
 | ||
|                 if (Kf == 1 || RealP > BaseInfo.helpNum) ButtonBuf.State = 8;
 | ||
|                 // ButtonBuf.SetFrame(null, 323);
 | ||
|                 ButtonBuf.SetTextOffset(0, 1);
 | ||
|                 ButtonBuf.Show();
 | ||
|                 if (ButtonBuf.isLBActive()) {
 | ||
|                     local T = {
 | ||
|                         op = 20059011,
 | ||
|                         Type = RealP,
 | ||
|                     }
 | ||
|                     SendPack(T);
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
| 
 | ||
|             //TODO 临时绘制道具 2022110703
 | ||
|             //绘制道具
 | ||
|             L_Sq_DrawItem(X + 103, Y + 262, 1232, BaseInfo.helpExp, 0, 0, 0);
 | ||
| 
 | ||
| 
 | ||
|             L_Sq_DrawItem(X + 11 + 43, Y + 50 + 162 + 167, 1232, BaseInfo.helpExp5, 0, 0, 0);
 | ||
|             L_Sq_DrawItem(X + 11 + 128, Y + 50 + 162 + 167, 1232, BaseInfo.helpExp10, 0, 0, 0);
 | ||
|             L_Sq_DrawItem(X + 11 + 213, Y + 50 + 162 + 167, 1232, BaseInfo.helpExp20, 0, 0, 0);
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     QuestTips = false;
 | ||
|     QuestWheelNow = 0;
 | ||
|     QuestWheelMax = 0;
 | ||
| 
 | ||
|     //悬浮层
 | ||
|     function DrawSuspensionLayer(obj) {
 | ||
|         //任务提示
 | ||
|         if (QuestTips) {
 | ||
|             L_sq_DrawWindow(X + 40, Y + 350, 224, 100, "interface/lenheartwindowcommon.img", 97, 11, 12, 11, 13);
 | ||
|             local QuestTipsStr = "每周可以通过完成重复任务获得的最大经验值。\n达到每周经验获取上限后,无法进行重复任务。\n通过每日任务以及赛季任务获得的经验值,不受每周经验获取上限的限制。\n每周星期四将初始化每周经验获取量。\n每周四凌晨6点初始化重复任务的进度,并删除未领取的重复任务经验值。";
 | ||
|             local QuestTipsArray = L_sq_GetStringDrawArray(QuestTipsStr, 251);
 | ||
|             foreach(Pos, va in QuestTipsArray) {
 | ||
|                 // Sout("文本内容嗯: %L", va);
 | ||
|                 L_sq_DrawCode(va, X + 40 + 7, Y + 7 + 350 + (Pos * 16), 0xFFFFFFFF, 1, 1);
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     //开启界面回调
 | ||
|     function OpenClassCallBack() {
 | ||
|         L_NewWindows("Lenheart", 170, 0x65535);
 | ||
|         local W = sq_GetPopupWindowMainCotrol(170);
 | ||
|         W.SetVisible(false);
 | ||
|         W.SetEnable(false);
 | ||
| 
 | ||
|         GetBaseInfo();
 | ||
|         GetPlayerReward();
 | ||
|         GetPlayerQuest();
 | ||
|     }
 | ||
| 
 | ||
|     //绘制入口
 | ||
|     function Draw(obj) {
 | ||
|         if (MainState) {
 | ||
|             if (WindowObj) {
 | ||
|                 ItemInfoDrawS = null;
 | ||
|                 DrawMain(obj);
 | ||
|                 DrawSuspensionLayer(obj);
 | ||
|                 DrawItemInfo(obj);
 | ||
|                 WindowObj.Show(obj);
 | ||
|                 X = WindowObj.X;
 | ||
|                 Y = WindowObj.Y;
 | ||
|             } else {
 | ||
|                 WindowObj = LenheartWindow(X, Y, 558, 470, 15); //坐标 大小 标题栏高度
 | ||
|                 // WindowObj.DeBugMode = true;
 | ||
|             }
 | ||
|         } else {
 | ||
|             if (WindowObj && WindowObj.YMouseSw == false) {
 | ||
|                 IMouse.ReleaseMouseClick();
 | ||
|                 WindowObj.YMouseSw = true;
 | ||
|                 WindowObj = null;
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| 
 | ||
|     //逻辑入口
 | ||
|     function Proc(obj) {
 | ||
|         if (IMouse.IsWheelUp()) {
 | ||
|             if (QuestWheelNow > 0) QuestWheelNow--;
 | ||
|             if (LevelPage > 0) LevelPage--;
 | ||
|         }
 | ||
|         if (IMouse.IsWheelDown()) {
 | ||
|             if (QuestWheelNow< QuestWheelMax - 6) QuestWheelNow++;
 | ||
|             if (LevelPage< 4) LevelPage++;
 | ||
|         }
 | ||
| 
 | ||
|         if (KeyPressNB.isKeyPress(48, "AradPassCloseKey")) {
 | ||
|             MainState = false;
 | ||
|         }
 | ||
| 
 | ||
|     }
 | ||
| }
 | ||
| 
 | ||
| function AradPass(obj) {
 | ||
|     local RootTab = getroottable();
 | ||
|     if (!RootTab.rawin("AradPassCObj")) {
 | ||
|         local Cobj = AradPassC();
 | ||
|         RootTab.rawset("AradPassCObj", Cobj);
 | ||
|         EventIcon("阿拉德探险记", 43, 43, Cobj);
 | ||
|     } else {
 | ||
|         RootTab["AradPassCObj"].Proc(obj);
 | ||
|         RootTab["AradPassCObj"].Draw(obj);
 | ||
|     }
 | ||
| }
 | ||
| 
 | ||
| if (getroottable().rawin("LenheartFuncTab")) {
 | ||
|     getroottable()["LenheartFuncTab"].rawset("AradPassFunc", AradPass);
 | ||
| } else {
 | ||
|     local T = {};
 | ||
|     T.rawset("AradPassFunc", AradPass);
 | ||
|     getroottable().rawset("LenheartFuncTab", T);
 | ||
| } |