📄 viewlist.~pas
字号:
UserEngine.m_AdminList.Lock;
try
for i := 0 to UserEngine.m_AdminList.Count - 1 do begin
if CompareText(pTAdminInfo(UserEngine.m_AdminList.Items[i]).sChrName, sAdminName) = 0 then begin
Application.MessageBox('输入的角色名已经在GM列表中!!!', '提示信息', MB_OK + MB_ICONERROR);
Exit;
end;
end;
New(AdminInfo);
AdminInfo.nLv := nAdminPerMission;
AdminInfo.sChrName := sAdminName;
AdminInfo.sIPaddr := sAdminIPaddr;
UserEngine.m_AdminList.Add(AdminInfo);
finally
UserEngine.m_AdminList.UnLock;
end;
RefAdminList();
ButtonAdminLitsSave.Enabled := True;
end;
procedure TfrmViewList.ButtonAdminListChangeClick(Sender: TObject);
var
nIndex: Integer;
sAdminName: string;
sAdminIPaddr: string;
nAdminPerMission: Integer;
AdminInfo: pTAdminInfo;
begin
nIndex := ListBoxAdminList.ItemIndex;
if nIndex < 0 then Exit;
sAdminName := Trim(EditAdminName.Text);
sAdminIPaddr := Trim(EditAdminIPaddr.Text);
nAdminPerMission := EditAdminPremission.Value;
if (nAdminPerMission < 1) or (sAdminName = '') or not (nAdminPerMission in [0..10]) then begin
Application.MessageBox('输入不正确!!!', '提示信息', MB_OK + MB_ICONERROR);
EditAdminName.SetFocus;
Exit;
end;
{$IF VEROWNER = WL}
if (sAdminIPaddr = '') then begin
Application.MessageBox('登录IP输入不正确!!!', '提示信息', MB_OK + MB_ICONERROR);
EditAdminIPaddr.SetFocus;
Exit;
end;
{$IFEND}
UserEngine.m_AdminList.Lock;
try
if (nIndex < 0) and (nIndex >= UserEngine.m_AdminList.Count) then Exit;
AdminInfo := UserEngine.m_AdminList.Items[nIndex];
AdminInfo.sChrName := sAdminName;
AdminInfo.nLv := nAdminPerMission;
AdminInfo.sIPaddr := sAdminIPaddr;
finally
UserEngine.m_AdminList.UnLock;
end;
RefAdminList();
ButtonAdminLitsSave.Enabled := True;
end;
procedure TfrmViewList.ButtonAdminListDelClick(Sender: TObject);
var
nIndex: Integer;
begin
nIndex := ListBoxAdminList.ItemIndex;
if nIndex < 0 then Exit;
UserEngine.m_AdminList.Lock;
try
if (nIndex < 0) and (nIndex >= UserEngine.m_AdminList.Count) then Exit;
DisPose(pTAdminInfo(UserEngine.m_AdminList.Items[nIndex]));
UserEngine.m_AdminList.Delete(nIndex);
finally
UserEngine.m_AdminList.UnLock;
end;
RefAdminList();
ButtonAdminLitsSave.Enabled := True;
end;
procedure TfrmViewList.RefItemBindAccount;
var
i: Integer;
ItemBind: pTItemBind;
begin
GridItemBindAccount.RowCount := 2;
GridItemBindAccount.Cells[0, 1] := '';
GridItemBindAccount.Cells[1, 1] := '';
GridItemBindAccount.Cells[2, 1] := '';
GridItemBindAccount.Cells[3, 1] := '';
ButtonItemBindAcountMod.Enabled := False;
ButtonItemBindAcountDel.Enabled := False;
g_ItemBindAccount.Lock;
try
GridItemBindAccount.RowCount := g_ItemBindAccount.Count + 1;
for i := 0 to g_ItemBindAccount.Count - 1 do begin
ItemBind := g_ItemBindAccount.Items[i];
if ItemBind <> nil then begin
GridItemBindAccount.Cells[0, i + 1] := UserEngine.GetStdItemName(ItemBind.nItemIdx);
GridItemBindAccount.Cells[1, i + 1] := IntToStr(ItemBind.nItemIdx);
GridItemBindAccount.Cells[2, i + 1] := IntToStr(ItemBind.nMakeIdex);
GridItemBindAccount.Cells[3, i + 1] := ItemBind.sBindName;
end;
end;
finally
g_ItemBindAccount.UnLock;
end;
end;
procedure TfrmViewList.GridItemBindAccountClick(Sender: TObject);
var
nIndex: Integer;
ItemBind: pTItemBind;
begin
nIndex := GridItemBindAccount.Row - 1;
if nIndex < 0 then Exit;
g_ItemBindAccount.Lock;
try
if nIndex >= g_ItemBindAccount.Count then Exit;
ItemBind := pTItemBind(g_ItemBindAccount.Items[nIndex]);
EditItemBindAccountItemName.Text := UserEngine.GetStdItemName(ItemBind.nItemIdx);
EditItemBindAccountItemIdx.Value := ItemBind.nItemIdx;
EditItemBindAccountItemMakeIdx.Value := ItemBind.nMakeIdex;
EditItemBindAccountName.Text := ItemBind.sBindName;
finally
g_ItemBindAccount.UnLock;
end;
ButtonItemBindAcountDel.Enabled := True;
end;
procedure TfrmViewList.EditItemBindAccountItemIdxChange(Sender: TObject);
begin
if EditItemBindAccountItemIdx.Text = '' then begin
EditItemBindAccountItemIdx.Text := '0';
Exit;
end;
EditItemBindAccountItemName.Text := UserEngine.GetStdItemName(EditItemBindAccountItemIdx.Value);
ButtonItemBindAcountMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindAccountItemMakeIdxChange(
Sender: TObject);
begin
if EditItemBindAccountItemIdx.Text = '' then begin
EditItemBindAccountItemIdx.Text := '0';
Exit;
end;
ButtonItemBindAcountMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindAccountNameChange(Sender: TObject);
begin
ButtonItemBindAcountMod.Enabled := True;
end;
procedure TfrmViewList.ButtonItemBindAcountModClick(Sender: TObject);
var
nSelIndex: Integer;
nMakeIdex: Integer;
nItemIdx: Integer;
sBindName: string;
ItemBind: pTItemBind;
begin
nItemIdx := EditItemBindAccountItemIdx.Value;
nMakeIdex := EditItemBindAccountItemMakeIdx.Value;
sBindName := Trim(EditItemBindAccountName.Text);
nSelIndex := GridItemBindAccount.Row - 1;
if nSelIndex < 0 then Exit;
g_ItemBindAccount.Lock;
try
if nSelIndex >= g_ItemBindAccount.Count then Exit;
ItemBind := g_ItemBindAccount.Items[nSelIndex];
ItemBind.nItemIdx := nItemIdx;
ItemBind.nMakeIdex := nMakeIdex;
ItemBind.sBindName := sBindName;
finally
g_ItemBindAccount.UnLock;
end;
SaveItemBindAccount();
RefItemBindAccount();
end;
procedure TfrmViewList.ButtonItemBindAcountRefClick(Sender: TObject);
begin
RefItemBindAccount();
end;
procedure TfrmViewList.ButtonItemBindAcountAddClick(Sender: TObject);
var
i: Integer;
nMakeIdex: Integer;
nItemIdx: Integer;
sBindName: string;
ItemBind: pTItemBind;
begin
nItemIdx := EditItemBindAccountItemIdx.Value;
nMakeIdex := EditItemBindAccountItemMakeIdx.Value;
sBindName := Trim(EditItemBindAccountName.Text);
if (nItemIdx <= 0) or (nMakeIdex < 0) or (sBindName = '') then begin
Application.MessageBox('输入的信息不正确!!!', '提示信息', MB_OK + MB_ICONERROR);
Exit;
end;
g_ItemBindAccount.Lock;
try
for i := 0 to g_ItemBindAccount.Count - 1 do begin
ItemBind := g_ItemBindAccount.Items[i];
if (ItemBind.nItemIdx = nItemIdx) and (ItemBind.nMakeIdex = nMakeIdex) then begin
Application.MessageBox('此物品已经绑定到其他的帐号了!!!', '提示信息', MB_OK + MB_ICONERROR);
Exit;
end;
end;
New(ItemBind);
ItemBind.nItemIdx := nItemIdx;
ItemBind.nMakeIdex := nMakeIdex;
ItemBind.sBindName := sBindName;
g_ItemBindAccount.Insert(0, ItemBind);
finally
g_ItemBindAccount.UnLock;
end;
SaveItemBindAccount();
RefItemBindAccount();
end;
procedure TfrmViewList.ButtonItemBindAcountDelClick(Sender: TObject);
var
ItemBind: pTItemBind;
nSelIndex: Integer;
begin
nSelIndex := GridItemBindAccount.Row - 1;
if nSelIndex < 0 then Exit;
g_ItemBindAccount.Lock;
try
if nSelIndex >= g_ItemBindAccount.Count then Exit;
ItemBind := g_ItemBindAccount.Items[nSelIndex];
DisPose(ItemBind);
g_ItemBindAccount.Delete(nSelIndex);
finally
g_ItemBindAccount.UnLock;
end;
SaveItemBindAccount();
RefItemBindAccount();
end;
procedure TfrmViewList.RefItemBindCharName;
var
i: Integer;
ItemBind: pTItemBind;
begin
GridItemBindCharName.RowCount := 2;
GridItemBindCharName.Cells[0, 1] := '';
GridItemBindCharName.Cells[1, 1] := '';
GridItemBindCharName.Cells[2, 1] := '';
GridItemBindCharName.Cells[3, 1] := '';
ButtonItemBindCharNameMod.Enabled := False;
ButtonItemBindCharNameDel.Enabled := False;
g_ItemBindCharName.Lock;
try
GridItemBindCharName.RowCount := g_ItemBindCharName.Count + 1;
for i := 0 to g_ItemBindCharName.Count - 1 do begin
ItemBind := g_ItemBindCharName.Items[i];
if ItemBind <> nil then begin
GridItemBindCharName.Cells[0, i + 1] := UserEngine.GetStdItemName(ItemBind.nItemIdx);
GridItemBindCharName.Cells[1, i + 1] := IntToStr(ItemBind.nItemIdx);
GridItemBindCharName.Cells[2, i + 1] := IntToStr(ItemBind.nMakeIdex);
GridItemBindCharName.Cells[3, i + 1] := ItemBind.sBindName;
end;
end;
finally
g_ItemBindCharName.UnLock;
end;
end;
procedure TfrmViewList.GridItemBindCharNameClick(Sender: TObject);
var
nIndex: Integer;
ItemBind: pTItemBind;
begin
nIndex := GridItemBindCharName.Row - 1;
if nIndex < 0 then Exit;
g_ItemBindCharName.Lock;
try
if nIndex >= g_ItemBindCharName.Count then Exit;
ItemBind := pTItemBind(g_ItemBindCharName.Items[nIndex]);
EditItemBindCharNameItemName.Text := UserEngine.GetStdItemName(ItemBind.nItemIdx);
EditItemBindCharNameItemIdx.Value := ItemBind.nItemIdx;
EditItemBindCharNameItemMakeIdx.Value := ItemBind.nMakeIdex;
EditItemBindCharNameName.Text := ItemBind.sBindName;
finally
g_ItemBindCharName.UnLock;
end;
ButtonItemBindCharNameDel.Enabled := True;
end;
procedure TfrmViewList.EditItemBindCharNameItemIdxChange(Sender: TObject);
begin
if EditItemBindCharNameItemIdx.Text = '' then begin
EditItemBindCharNameItemIdx.Text := '0';
Exit;
end;
EditItemBindCharNameItemName.Text := UserEngine.GetStdItemName(EditItemBindCharNameItemIdx.Value);
ButtonItemBindCharNameMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindCharNameItemMakeIdxChange(
Sender: TObject);
begin
if EditItemBindCharNameItemMakeIdx.Text = '' then begin
EditItemBindCharNameItemMakeIdx.Text := '0';
Exit;
end;
ButtonItemBindCharNameMod.Enabled := True;
end;
procedure TfrmViewList.EditItemBindCharNameNameChange(Sender: TObject);
begin
ButtonItemBindCharNameMod.Enabled := True;
end;
procedure TfrmViewList.ButtonItemBindCharNameAddClick(Sender: TObject);
var
i: Integer;
nMakeIdex: Integer;
nItemIdx: Integer;
sBindName: string;
ItemBind: pTItemBind;
begin
nItemIdx := EditItemBindCharNameItemIdx.Value;
nMakeIdex := EditItemBindCharNameItemMakeIdx.Value;
sBindName := Trim(EditItemBindCharNameName.Text);
if (nItemIdx <= 0) or (nMakeIdex < 0) or (sBindName = '') then begin
Application.MessageBox('输入的信息不正确!!!', '提示信息', MB_OK + MB_ICONERROR);
Exit;
end;
g_ItemBindCharName.Lock;
try
for i := 0 to g_ItemBindCharName.Count - 1 do begin
ItemBind := g_ItemBindCharName.Items[i];
if (ItemBind.nItemIdx = nItemIdx) and (ItemBind.nMakeIdex = nMakeIdex) then begin
Application.MessageBox('此物品已经绑定到其他的角色上了!!!', '提示信息', MB_OK + MB_ICONERROR);
Exit;
end;
end;
New(ItemBind);
ItemBind.nItemIdx := nItemIdx;
ItemBind.nMakeIdex := nMakeIdex;
ItemBind.sBindName := sBindName;
g_ItemBindCharName.Insert(0, ItemBind);
finally
g_ItemBindCharName.UnLock;
end;
SaveItemBindCharName();
RefItemBindCharName();
end;
procedure TfrmViewList.ButtonItemBindCharNameModClick(Sender: TObject);
var
nSelIndex: Integer;
nMakeIdex: Integer;
nItemIdx: Integer;
sBindName: string;
ItemBind: pTItemBind;
begin
nItemIdx := EditItemBindCharNameItemIdx.Value;
nMakeIdex := EditItemBindCharNameItemMakeIdx.Value;
sBindName := Trim(EditItemBindCharNameName.Text);
nSelIndex := GridItemBindCharName.Row - 1;
if nSelIndex < 0 then Exit;
g_ItemBindCharName.Lock;
try
if nSelIndex >= g_ItemBindCharName.Count then Exit;
ItemBind := g_ItemBindCharName.Items[nSelIndex];
ItemBind.nItemIdx := nItemIdx;
ItemBind.nMakeIdex := nMakeIdex;
ItemBind.sBindName := sBindName;
finally
g_ItemBindCharName.UnLock;
end;
SaveItemBindCharName();
RefItemBindCharName();
end;
procedure TfrmViewList.ButtonItemBindCharNameDelClick(Sender: TObject);
var
ItemBind: pTItemBind;
nSelIndex: Integer;
begin
nSelIndex := GridItemBindCharName.Row - 1;
if nSelIndex < 0 then Exit;
g_ItemBindCharName.Lock;
try
if nSelIndex >= g_ItemBindCharName.Count then Exit;
ItemBind := g_ItemBindCharName.Items[nSelIndex];
DisPose(ItemBind);
g_ItemBindCharName.Delete(nSelIndex);
finally
g_ItemBindCharName.UnLock;
end;
SaveItemBindCharName();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -