/* 文件名:Sq_SettingWindow.nut 路径:LenheartCallBack/Sq_SettingWindow.nut 创建日期:2022-10-21 08:29 文件用途:设置窗口回调函数 */ //切换武器回调 // function SelectWeapon(Type) { // SetUpgradeRate(); // } // if (getroottable().rawin("SendPackTypeTable")) getroottable()["SendPackTypeTable"].rawset(19, SelectWeapon); //上传设置发包 function ReqPlayerSettingSet(Type) { local MonsterBloodSB = getroottable()["MonsterBloodSwitchButtonObj"]; local GameShakeSB = getroottable()["GameShakeSwitchButtonObj"]; local DamageNumSB = getroottable()["DamageNumSwitchButtonObj"]; local Tabbuffer = { MonsterBloodSB = MonsterBloodSB.SwitchState, GameShakeSB = GameShakeSB.SwitchState, DamageNumSB = DamageNumSB.SwitchState, } local PlayerSettingSetPack = Json_STL("PlayerSettingSetPack"); PlayerSettingSetPack.Put("op", 20001001); PlayerSettingSetPack.Put("Setting", Json_STL.Encode(Tabbuffer)); local str = PlayerSettingSetPack.GetString(); L_sq_SendPackType(130); L_sq_SendPackWChar(str); L_sq_SendPack(); PlayerSettingSetPack.Delete(); } if (getroottable().rawin("SendPackTypeTable")) getroottable()["SendPackTypeTable"].rawset(200, ReqPlayerSettingSet); //获取设置收包 function RcvPlayerSettingSet(Chunk) { local RootTab = getroottable(); local Buffer = Json_STL("RcvPlayerSettingSetBuffer"); Buffer.Parse(Chunk, 0, false); local str = Buffer.Get("Setting"); Buffer.Delete(); if (str && str.len() > 0) { local SettingBuffer = Json_STL("SettingBuffer"); SettingBuffer.Parse(str, 0, false); RootTab.rawset("S_MonsterBloodSB", SettingBuffer.Get("MonsterBloodSB")); RootTab.rawset("S_GameShakeSB", SettingBuffer.Get("GameShakeSB")); RootTab.rawset("S_DamageNumSB", SettingBuffer.Get("DamageNumSB")); SettingBuffer.Delete(); } else { RootTab.rawset("S_MonsterBloodSB", false); RootTab.rawset("S_GameShakeSB", false); RootTab.rawset("S_DamageNumSB", false); } //设置一下伤害字体上限 if (RootTab["S_DamageNumSB"]) { L_sq_WA(0x7EEA7A, 999999999); L_sq_WA(0x7EEAA7, 999999999); } } if (getroottable().rawin("Pack_Control")) getroottable()["Pack_Control"].rawset(20001002, RcvPlayerSettingSet); function InitGameSetting(obj) { local PlayerSettingGetPack = Json_STL("PlayerSettingGetPack"); PlayerSettingGetPack.Put("op", 20001003); local str = PlayerSettingGetPack.GetString(); L_sq_SendPackType(130); L_sq_SendPackWChar(str); L_sq_SendPack(); PlayerSettingGetPack.Delete(); } function Sq_SettingWindowCallBack(Xpos, Ypos) { local obj = sq_GetMyMasterCharacter(); L_sq_DrawCode(":: 开启新版怪物血条", Xpos + 228, Ypos + 32, 0xFF93C5DD, 0, 1); L_sq_DrawCode(" ┄┄┄┄┄", Xpos + 338, Ypos + 32, 0x9693C5DD, 0, 1); L_sq_DrawCode(":: 关闭震动屏幕效果", Xpos + 228, Ypos + 32 + 19, 0xFF93C5DD, 0, 1); L_sq_DrawCode(" ┄┄┄┄┄", Xpos + 338, Ypos + 32 + 19, 0x9693C5DD, 0, 1); L_sq_DrawCode(":: 新版伤害字体上限", Xpos + 228, Ypos + 32 + 19 + 19, 0xFF93C5DD, 0, 1); L_sq_DrawCode(" ┄┄┄┄┄", Xpos + 338, Ypos + 32 + 19 + 19, 0x9693C5DD, 0, 1); //怪物血条 //if (!getroottable().rawin("MonsterBloodSwitchButtonObj")) { local MonsterBloodSB = SettingWindowSwitchButtonPro(obj, "MonsterBloodSwitchButton", Xpos + 410, Ypos + 32, "ui/optionwindow/custombutton/switchbutton.ani", 0, 16, 15); MonsterBloodSB.SetRectEnble(true, "MonsterBloodSwitchButtonR", Xpos + 410, Ypos + 32, "ui/optionwindow/custombutton/switchbutton.ani", 1); MonsterBloodSB.SetCustomClickEnble(true, "MonsterBloodSwitchButtonC", Xpos + 410, Ypos + 32, "ui/optionwindow/custombutton/switchbutton.ani", 1); MonsterBloodSB.SetSwitchStateAni("MonsterBloodSwitchButtonS", "ui/optionwindow/custombutton/switchbutton.ani", 2); if (getroottable().rawin("S_MonsterBloodSB")) MonsterBloodSB.SwitchState = getroottable()["S_MonsterBloodSB"]; else MonsterBloodSB.SwitchState = false; getroottable().rawset("MonsterBloodSwitchButtonObj", MonsterBloodSB); //} if (getroottable().rawin("MonsterBloodSwitchButtonObj")) { local MonsterBloodSB = getroottable()["MonsterBloodSwitchButtonObj"]; MonsterBloodSB.Show(); if (MonsterBloodSB.isLBActive()) { MonsterBloodSB.SwitchState = !MonsterBloodSB.SwitchState; getroottable().rawset("S_MonsterBloodSB", MonsterBloodSB.SwitchState); } } //游戏震动 //if (!getroottable().rawin("GameShakeSwitchButtonObj")) { local GameShakeSB = SettingWindowSwitchButtonPro(obj, "GameShakeSwitchButton", Xpos + 410, Ypos + 32 + 19, "ui/optionwindow/custombutton/switchbutton.ani", 0, 16, 15); GameShakeSB.SetRectEnble(true, "GameShakeSwitchButtonR", Xpos + 410, Ypos + 32 + 19, "ui/optionwindow/custombutton/switchbutton.ani", 1); GameShakeSB.SetCustomClickEnble(true, "GameShakeSwitchButtonC", Xpos + 410, Ypos + 32 + 19, "ui/optionwindow/custombutton/switchbutton.ani", 1); GameShakeSB.SetSwitchStateAni("GameShakeSwitchButtonS", "ui/optionwindow/custombutton/switchbutton.ani", 2); if (getroottable().rawin("S_GameShakeSB")) GameShakeSB.SwitchState = getroottable()["S_GameShakeSB"]; else GameShakeSB.SwitchState = false; getroottable().rawset("GameShakeSwitchButtonObj", GameShakeSB); //} if (getroottable().rawin("GameShakeSwitchButtonObj")) { local GameShakeSB = getroottable()["GameShakeSwitchButtonObj"]; GameShakeSB.Show(); if (GameShakeSB.isLBActive()) { GameShakeSB.SwitchState = !GameShakeSB.SwitchState; getroottable().rawset("S_GameShakeSB", GameShakeSB.SwitchState); } } //伤害字体上限 //if (!getroottable().rawin("DamageNumSwitchButtonObj")) { local DamageNumSB = SettingWindowSwitchButtonPro(obj, "DamageNumSwitchButton", Xpos + 410, Ypos + 32 + 19 + 19, "ui/optionwindow/custombutton/switchbutton.ani", 0, 16, 15); DamageNumSB.SetRectEnble(true, "DamageNumSwitchButtonR", Xpos + 410, Ypos + 32 + 19 + 19, "ui/optionwindow/custombutton/switchbutton.ani", 1); DamageNumSB.SetCustomClickEnble(true, "DamageNumSwitchButtonC", Xpos + 410, Ypos + 32 + 19 + 19, "ui/optionwindow/custombutton/switchbutton.ani", 1); DamageNumSB.SetSwitchStateAni("DamageNumSwitchButtonS", "ui/optionwindow/custombutton/switchbutton.ani", 2); if (getroottable().rawin("S_DamageNumSB")) DamageNumSB.SwitchState = getroottable()["S_DamageNumSB"]; else DamageNumSB.SwitchState = false; getroottable().rawset("DamageNumSwitchButtonObj", DamageNumSB); //} if (getroottable().rawin("DamageNumSwitchButtonObj")) { local DamageNumSB = getroottable()["DamageNumSwitchButtonObj"]; DamageNumSB.Show(); if (DamageNumSB.isLBActive()) { DamageNumSB.SwitchState = !DamageNumSB.SwitchState; getroottable().rawset("S_DamageNumSB", DamageNumSB.SwitchState); } } } //踢自己 function KickMySelf(chunk) { local KickMySelf = Json_STL("KickMySelf"); KickMySelf.Put("op", 77777); local str = KickMySelf.GetString(); L_sq_SendPackType(130); L_sq_SendPackWChar(str); L_sq_SendPack(); KickMySelf.Delete(); L_sq_SendPack(); } if (getroottable().rawin("Pack_Control")) getroottable()["Pack_Control"].rawset(77778, KickMySelf); //全屏拾物 function MoveItems(chunk) { local obj = sq_GetMyMasterCharacter(); local objectManager = obj.getObjectManager(); if (!objectManager) return; local CollisionObjectNumber = objectManager.getCollisionObjectNumber(); for (local i = 0; i < CollisionObjectNumber; i += 1) { local object = objectManager.getCollisionObject(i); if (object.isObjectType(OBJECTTYPE_ITEM)) { sq_SetCurrentPos(object, obj.getXPos(), obj.getYPos(), 0); } } } if (getroottable().rawin("Pack_Control")) getroottable()["Pack_Control"].rawset(900, MoveItems); //充值全服公告动画 function ChargeNotiFunc(obj) { if (getroottable().rawin("ChargeNotiTab") && getroottable()["ChargeNotiTab"].len() > 0) { local BaseAni = BasicsDrawTool.T_DrawDynamicAni(obj, "common/addpoint/dh.ani", 0, -180, "ChargeNotiAni"); if (sq_GetAnimationFrameIndex(BaseAni) >= 80) { //L_sq_DrawCode(" [" + getroottable()["ChargeNotiTab"][0].name + "]", 170, 286 - 173, sq_RGBA(255, 177, 0, 250), 1, 0); local NotiObj = getroottable()["ChargeNotiTab"][0]; local StrArr = NotiObj.Noti; L_sq_DrawCode(StrArr[0] + NotiObj.name + StrArr[1] + StrArr[2] + NotiObj.point + StrArr[3], NotiObj.nameposx,NotiObj.nameposy, NotiObj.color, 1, 0); } if (sq_GetCurrentTime(BaseAni) >= 6000) { sq_Rewind(BaseAni); getroottable()["ChargeNotiTab"].remove(0); } } } //大佬充值全服公告 function ChargeNoti(Chunk) { local Buffer = Json_STL("ChargeNotiBuffer"); Buffer.Parse(Chunk, 0, false); local Tab = { name = Buffer.Get("name"), point = Buffer.Get("Point"), nameposx = Buffer.Get("NameXpos"), nameposy = Buffer.Get("NameYpos"), Noti = [Buffer.Get("ExNot0"), Buffer.Get("ExNot1"), Buffer.Get("ExNot2"), Buffer.Get("ExNot3")], color = sq_RGBA(Buffer.Get("R"),Buffer.Get("G"),Buffer.Get("B"),Buffer.Get("A")), } local arr; if (!getroottable().rawin("ChargeNotiTab")) { arr = []; } else { arr = getroottable()["ChargeNotiTab"]; } arr.append(Tab); getroottable().rawset("ChargeNotiTab", arr); Buffer.Delete(); } if (getroottable().rawin("Pack_Control")) getroottable()["Pack_Control"].rawset(20005002, ChargeNoti);