303 lines
11 KiB
Plaintext
303 lines
11 KiB
Plaintext
/*
|
|
文件名:antontownmainparty_user.nut
|
|
路径:Plugins/Anton/antontownmainparty_user.nut
|
|
创建日期:2022-09-04 20:12
|
|
文件用途:城镇中打开安图恩攻坚队面板攻坚队玩家部分
|
|
*/
|
|
|
|
class AntonUserControl_C extends BasicsDrawTool
|
|
{
|
|
CaptainControl = null; //攻坚队长主控
|
|
|
|
PartyID = null; //队伍ID
|
|
PlayerLevel = null; //玩家等级
|
|
PlayerName = null; //玩家名字
|
|
PlayerJob = null; //玩家基础职业
|
|
PlayerJobEx = null; //玩家转职职业
|
|
PlayerGrowTypeJob = null; //玩家转职职业
|
|
PlayerSession = null; //玩家世界编号
|
|
PartyCaptain = null; //玩家是否小队队长
|
|
CaptainBool = null; //是否攻坚队队长
|
|
Material = null; //是否拥有材料
|
|
CID = null; //玩家CID
|
|
|
|
CheakPlayerInfoFunc = null;
|
|
|
|
FuncButtonSwitch = false; //功能界面是否打开
|
|
MyName = null;
|
|
ButtonObj = null;
|
|
X = 0;
|
|
Y = 0;
|
|
|
|
KickoutPlayerButtonObj = null; //踢出玩家按钮
|
|
CheckPlayerInfoButtonObj = null; //查看信息按钮
|
|
PartyFuncButtonObj = null; //组队按钮
|
|
TradingPlayerButtonObj = null; //交易按钮
|
|
|
|
//获取汉字偏移
|
|
function GetOffserFromLen(char, offset)
|
|
{
|
|
return (char.len() * offset)
|
|
}
|
|
|
|
constructor(gName, gX, gY, gCaptainControl)
|
|
{
|
|
MyName = gName;
|
|
X = gX;
|
|
Y = gY;
|
|
print("AntonUserControl_C ClassObject Succes");
|
|
CaptainControl = gCaptainControl;
|
|
}
|
|
|
|
//设置Player信息
|
|
function SetPlayerInfo(InfoTable)
|
|
{
|
|
PartyID = InfoTable.PartyID; //队伍ID
|
|
PlayerLevel = InfoTable.PlayerLevel; //玩家等级
|
|
PlayerName = InfoTable.PlayerName; //玩家名字
|
|
PlayerJob = InfoTable.PlayerJob; //玩家基础职业
|
|
PlayerJobEx = InfoTable.PlayerJobEx; //玩家转职职业
|
|
PlayerGrowTypeJob = InfoTable.PlayerGrowTypeJob; //玩家转职职业
|
|
PlayerSession = InfoTable.PlayerSession; //玩家世界编号
|
|
PartyCaptain = InfoTable.PartyCaptain; //玩家是否小队队长
|
|
CaptainBool = InfoTable.CaptainBool; //是否攻坚队队长
|
|
Material = InfoTable.Material; //是否拥有材料
|
|
CID = InfoTable.CID; //玩家CID
|
|
}
|
|
|
|
function FuncButtonC(obj, YposOffset, AniIndex)
|
|
{
|
|
local FuncThis = null;
|
|
if(FuncThis == null)
|
|
{
|
|
FuncThis = AntonButtonPro(obj, MyName + FuncThis + "Func", AntonTownControl_C.X + X - 110, AntonTownControl_C.Y + Y - 1 + YposOffset, "common/anton/funcbutton.ani", 100, 21, AniIndex);
|
|
FuncThis.SetRectEnble(true, MyName + FuncThis + "Func", AntonTownControl_C.X + X - 110, AntonTownControl_C.Y + Y - 1 + YposOffset, "common/anton/funcbutton.ani", AniIndex + 1);
|
|
FuncThis.SetCustomClickEnble(true, FuncThis + "FuncSwitchButtonc", AntonTownControl_C.X + X - 110, AntonTownControl_C.Y + Y - 1 + YposOffset, "common/anton/funcbutton.ani", AniIndex + 2);
|
|
}
|
|
FuncThis.Show();
|
|
return FuncThis;
|
|
}
|
|
|
|
//绘制功能按键
|
|
function DrawFucButton(obj)
|
|
{
|
|
if(FuncButtonSwitch) //功能函数开关
|
|
{
|
|
local Ypos = 0; //初始偏移
|
|
|
|
{ //邀请组队
|
|
if(PartyID == 0)
|
|
{
|
|
local CheakPlayer = FuncButtonC(obj, Ypos, 12);
|
|
if(CheakPlayer.isLBActive())
|
|
{
|
|
L_sq_SendPackType(10);
|
|
L_sq_SendPackWord(PlayerSession);
|
|
L_sq_SendPackByte(0);
|
|
L_sq_SendPackDWord(1);
|
|
L_sq_SendPackWord(0);
|
|
L_sq_SendPack();
|
|
}
|
|
Ypos += 21;
|
|
}
|
|
}
|
|
|
|
|
|
{ //查看信息
|
|
local CheakPlayer = FuncButtonC(obj, Ypos, 0);
|
|
if(CheakPlayer.isLBActive())
|
|
{
|
|
L_sq_SendPackType(8);
|
|
L_sq_SendPackWord(PlayerSession);
|
|
L_sq_SendPackByte(3);
|
|
L_sq_SendPack();
|
|
}
|
|
Ypos += 21;
|
|
}
|
|
|
|
{ //交易
|
|
local TradingPlayer = FuncButtonC(obj, Ypos, 6);
|
|
if(TradingPlayer.isLBActive())
|
|
{
|
|
L_sq_SendPackType(10);
|
|
L_sq_SendPackWord(PlayerSession);
|
|
L_sq_SendPackByte(1);
|
|
L_sq_SendPackDWord(22053);
|
|
L_sq_SendPack();
|
|
}
|
|
Ypos += 21;
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
//绘制主Ani
|
|
function DrawMainAni(obj)
|
|
{
|
|
if(ButtonObj == null)
|
|
{
|
|
ButtonObj = AntonButtonPro(obj, MyName, AntonTownControl_C.X + X, AntonTownControl_C.Y + Y, "common/anton/user.ani", 329, 17, 0);
|
|
ButtonObj.SetRectEnble(true, MyName + "SwitchButtonr", AntonTownControl_C.X + X - 8, AntonTownControl_C.Y + Y - 8, "common/anton/user.ani", 2);
|
|
}
|
|
ButtonObj.Show();
|
|
|
|
//绘制队伍
|
|
T_DrawStayAni(obj, "common/anton/partytype.ani", AntonTownControl_C.X + X + 6, AntonTownControl_C.Y + Y + 2, PartyID + 1, "安图恩队伍编号" + PartyID, 1.0);
|
|
//绘制材料准备情况
|
|
T_DrawStayAni(obj, "common/anton/material.ani", AntonTownControl_C.X + X + 272, AntonTownControl_C.Y + Y + 2, Material.tointeger(), "安图恩材料准备情况" + Material, 1.0);
|
|
}
|
|
|
|
//绘制头像
|
|
function DrawFaceAni(obj)
|
|
{
|
|
T_DrawStayAni(obj, "common/anton/face/" + PlayerJob + "/" + (PlayerJobEx % 16) + ".ani", X, Y, 0, "安图恩头像编号" + PlayerName);
|
|
//如果是攻坚队长主控
|
|
if(CaptainControl && !CaptainBool)
|
|
{
|
|
KickoutPlayerButtonObj = AntonButtonPro(obj, "AntonPartyKickoutButton" + PlayerName.tostring(), X - 9, Y - 10, "common/anton/new/newnull.ani", 38, 39, 0);
|
|
KickoutPlayerButtonObj.SetRectEnble(true, "AntonPartyKickoutButtonr" + PlayerName.tostring(), X - 9, Y - 10, "common/anton/new/newfunc.ani", 0);
|
|
KickoutPlayerButtonObj.Show();
|
|
|
|
if(KickoutPlayerButtonObj.isLBActive())
|
|
{
|
|
obj.sq_PlaySound("CLICK_BUTTON1");
|
|
local AntonKickoutPartyPlayer = Json_STL("AntonKickoutPartyPlayer");
|
|
AntonKickoutPartyPlayer.Put("op", 1015);
|
|
AntonKickoutPartyPlayer.Put("TCID", CID);
|
|
local str = AntonKickoutPartyPlayer.GetString();
|
|
L_sq_SendPackType(130);
|
|
L_sq_SendPackWChar(str);
|
|
L_sq_SendPack();
|
|
AntonKickoutPartyPlayer.Delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
//绘制名字
|
|
function DrawPlayerName(obj)
|
|
{
|
|
L_Code_STL(PlayerName.tostring(), X + 40, Y - 1, 0xFF4990aa, 1);
|
|
}
|
|
|
|
//绘制等级
|
|
function DrawPlayerLevel(obj)
|
|
{
|
|
L_Code_STL("Lv." + PlayerLevel, X + 40, Y + 17, 0xFF29708a, 1);
|
|
}
|
|
|
|
//绘制职业名字
|
|
function DrawPlayerGrowTypeName(obj)
|
|
{
|
|
L_Code_STL(PlayerGrowTypeJob, X + 65 + GetOffserFromLen(PlayerLevel.tostring(), 3), Y + 17, 0xFF29708a, 1);
|
|
}
|
|
|
|
//绘制队伍图标
|
|
function DrawPlayerPartyType(obj)
|
|
{
|
|
if(CaptainBool == true)
|
|
{
|
|
T_DrawStayAni(obj, "common/anton/partytype.ani", X + 133, Y - 1, 0, "安图恩队伍编号队长");
|
|
}
|
|
else T_DrawStayAni(obj, "common/anton/partytype.ani", X + 133, Y - 1, PartyID + 1, "安图恩队伍编号" + PartyID);
|
|
}
|
|
|
|
//绘制材料准备情况
|
|
function DrawPlayerMaterial(obj)
|
|
{
|
|
T_DrawStayAni(obj, "common/anton/material.ani", X + 157, Y - 1, Material.tointeger(), "安图恩材料准备情况" + Material.tostring());
|
|
}
|
|
|
|
//绘制交互功能按钮
|
|
function DrawPlayerFunc(obj)
|
|
{
|
|
//绘制查看信息按钮
|
|
{
|
|
if(!CheckPlayerInfoButtonObj)
|
|
{
|
|
CheckPlayerInfoButtonObj = AntonButtonPro(obj, "AntonCheckPlayerInfoButton", X + 153, Y + 12, "common/anton/new/newfunc.ani", 16, 16, 1);
|
|
CheckPlayerInfoButtonObj.SetRectEnble(true, "AntonCheckPlayerInfoButtonr", X + 153, Y + 12, "common/anton/new/newfunc.ani", 2);
|
|
CheckPlayerInfoButtonObj.SetCustomClickEnble(true, "AntonCheckPlayerInfoButtonr", X + 153, Y + 13, "common/anton/new/newfunc.ani", 2);
|
|
}
|
|
CheckPlayerInfoButtonObj.Show();
|
|
if(CheckPlayerInfoButtonObj.isLBActive())
|
|
{
|
|
obj.sq_PlaySound("CLICK_BUTTON1");
|
|
L_sq_SendPackType(8);
|
|
L_sq_SendPackWord(PlayerSession);
|
|
L_sq_SendPackByte(3);
|
|
L_sq_SendPack();
|
|
}
|
|
}
|
|
|
|
//绘制交易按钮
|
|
{
|
|
if(!TradingPlayerButtonObj)
|
|
{
|
|
TradingPlayerButtonObj = AntonButtonPro(obj, "AntonTradingPlayerButton", X + 171, Y + 12, "common/anton/new/newfunc.ani", 16, 16, 3);
|
|
TradingPlayerButtonObj.SetRectEnble(true, "AntonTradingPlayerButtonr", X + 171, Y + 12, "common/anton/new/newfunc.ani", 4);
|
|
TradingPlayerButtonObj.SetCustomClickEnble(true, "AntonTradingPlayerButtonr", X + 171, Y + 13, "common/anton/new/newfunc.ani", 4);
|
|
}
|
|
TradingPlayerButtonObj.Show();
|
|
if(TradingPlayerButtonObj.isLBActive())
|
|
{
|
|
obj.sq_PlaySound("CLICK_BUTTON1");
|
|
L_sq_SendPackType(10);
|
|
L_sq_SendPackWord(PlayerSession);
|
|
L_sq_SendPackByte(1);
|
|
L_sq_SendPackDWord(22053);
|
|
L_sq_SendPack();
|
|
}
|
|
}
|
|
|
|
//绘制组队按钮
|
|
{
|
|
if(!PartyFuncButtonObj)
|
|
{
|
|
PartyFuncButtonObj = AntonButtonPro(obj, "AntonPartyFuncButton", X + 189, Y + 12, "common/anton/new/newfunc.ani", 16, 16, 5);
|
|
PartyFuncButtonObj.SetRectEnble(true, "AntonPartyFuncButtonr", X + 189, Y + 12, "common/anton/new/newfunc.ani", 6);
|
|
PartyFuncButtonObj.SetCustomClickEnble(true, "AntonPartyFuncButtonr", X + 189, Y + 13, "common/anton/new/newfunc.ani", 6);
|
|
}
|
|
PartyFuncButtonObj.Show();
|
|
if(PartyFuncButtonObj.isLBActive())
|
|
{
|
|
obj.sq_PlaySound("CLICK_BUTTON1");
|
|
L_sq_SendPackType(10);
|
|
L_sq_SendPackWord(PlayerSession);
|
|
L_sq_SendPackByte(0);
|
|
L_sq_SendPackDWord(1);
|
|
L_sq_SendPackWord(0);
|
|
L_sq_SendPack();
|
|
}
|
|
}
|
|
}
|
|
|
|
function Show(obj)
|
|
{
|
|
//绘制头像
|
|
DrawFaceAni(obj);
|
|
|
|
//绘制名字
|
|
DrawPlayerName(obj);
|
|
|
|
//绘制等级
|
|
DrawPlayerLevel(obj);
|
|
|
|
//绘制职业名字
|
|
DrawPlayerGrowTypeName(obj);
|
|
|
|
//绘制队伍图标
|
|
DrawPlayerPartyType(obj);
|
|
|
|
//绘制材料准备情况
|
|
DrawPlayerMaterial(obj);
|
|
|
|
//绘制交互功能按钮
|
|
DrawPlayerFunc(obj);
|
|
}
|
|
|
|
function Run(obj)
|
|
{
|
|
Show(obj);
|
|
}
|
|
} |