📄 humaninfo.pas
字号:
EditBonusPoint.Value := PlayObject.m_nBonusPoint;
nTotleUsePoint := PlayObject.m_BonusAbil.DC +
PlayObject.m_BonusAbil.MC +
PlayObject.m_BonusAbil.SC +
PlayObject.m_BonusAbil.AC +
PlayObject.m_BonusAbil.MAC +
PlayObject.m_BonusAbil.HP +
PlayObject.m_BonusAbil.MP +
PlayObject.m_BonusAbil.Hit +
PlayObject.m_BonusAbil.Speed +
PlayObject.m_BonusAbil.X2;
EditEditBonusPointUsed.Value := nTotleUsePoint;
CheckBoxGameMaster.Checked := PlayObject.m_boAdminMode;
CheckBoxSuperMan.Checked := PlayObject.m_boSuperMan;
CheckBoxObserver.Checked := PlayObject.m_boObMode;
if PlayObject.m_boDeath then begin
EditHumanStatus.Text := '死亡';
end else
if PlayObject.m_boGhost then begin
EditHumanStatus.Text := '下线';
PlayObject := nil;
end else EditHumanStatus.Text := '在线';
for i := Low(PlayObject.m_UseItems) to High(PlayObject.m_UseItems) do begin
UserItem := @PlayObject.m_UseItems[i];
StdItem := UserEngine.GetStdItem(UserItem.wIndex);
if StdItem = nil then begin
GridUserItem.Cells[1, i + 1] := '';
GridUserItem.Cells[2, i + 1] := '';
GridUserItem.Cells[3, i + 1] := '';
GridUserItem.Cells[4, i + 1] := '';
GridUserItem.Cells[5, i + 1] := '';
GridUserItem.Cells[6, i + 1] := '';
GridUserItem.Cells[7, i + 1] := '';
GridUserItem.Cells[8, i + 1] := '';
GridUserItem.Cells[9, i + 1] := '';
Continue;
end;
Item := StdItem^;
ItemUnit.GetItemAddValue(UserItem, Item);
GridUserItem.Cells[1, i + 1] := Item.Name;
GridUserItem.Cells[2, i + 1] := IntToStr(UserItem.MakeIndex);
GridUserItem.Cells[3, i + 1] := format('%d/%d', [UserItem.Dura, UserItem.DuraMax]);
GridUserItem.Cells[4, i + 1] := format('%d/%d', [LoWord(Item.DC), HiWord(Item.DC)]);
GridUserItem.Cells[5, i + 1] := format('%d/%d', [LoWord(Item.MC), HiWord(Item.MC)]);
GridUserItem.Cells[6, i + 1] := format('%d/%d', [LoWord(Item.SC), HiWord(Item.SC)]);
GridUserItem.Cells[7, i + 1] := format('%d/%d', [LoWord(Item.AC), HiWord(Item.AC)]);
GridUserItem.Cells[8, i + 1] := format('%d/%d', [LoWord(Item.MAC), HiWord(Item.MAC)]);
GridUserItem.Cells[9, i + 1] := format('%d/%d/%d/%d/%d/%d/%d', [UserItem.btValue[0],
UserItem.btValue[1],
UserItem.btValue[2],
UserItem.btValue[3],
UserItem.btValue[4],
UserItem.btValue[5],
UserItem.btValue[6]]);
end;
if PlayObject.m_ItemList.Count <= 0 then GridBagItem.RowCount := 2
else GridBagItem.RowCount := PlayObject.m_ItemList.Count + 1;
for i := 0 to PlayObject.m_ItemList.Count - 1 do begin
UserItem := PlayObject.m_ItemList.Items[i];
StdItem := UserEngine.GetStdItem(UserItem.wIndex);
if StdItem = nil then begin
GridBagItem.Cells[1, i + 1] := '';
GridBagItem.Cells[2, i + 1] := '';
GridBagItem.Cells[3, i + 1] := '';
GridBagItem.Cells[4, i + 1] := '';
GridBagItem.Cells[5, i + 1] := '';
GridBagItem.Cells[6, i + 1] := '';
GridBagItem.Cells[7, i + 1] := '';
GridBagItem.Cells[8, i + 1] := '';
GridBagItem.Cells[9, i + 1] := '';
Continue;
end;
Item := StdItem^;
ItemUnit.GetItemAddValue(UserItem, Item);
GridBagItem.Cells[0, i + 1] := IntToStr(i);
GridBagItem.Cells[1, i + 1] := Item.Name;
GridBagItem.Cells[2, i + 1] := IntToStr(UserItem.MakeIndex);
GridBagItem.Cells[3, i + 1] := format('%d/%d', [UserItem.Dura, UserItem.DuraMax]);
GridBagItem.Cells[4, i + 1] := format('%d/%d', [LoWord(Item.DC), HiWord(Item.DC)]);
GridBagItem.Cells[5, i + 1] := format('%d/%d', [LoWord(Item.MC), HiWord(Item.MC)]);
GridBagItem.Cells[6, i + 1] := format('%d/%d', [LoWord(Item.SC), HiWord(Item.SC)]);
GridBagItem.Cells[7, i + 1] := format('%d/%d', [LoWord(Item.AC), HiWord(Item.AC)]);
GridBagItem.Cells[8, i + 1] := format('%d/%d', [LoWord(Item.MAC), HiWord(Item.MAC)]);
GridBagItem.Cells[9, i + 1] := format('%d/%d/%d/%d/%d/%d/%d', [UserItem.btValue[0],
UserItem.btValue[1],
UserItem.btValue[2],
UserItem.btValue[3],
UserItem.btValue[4],
UserItem.btValue[5],
UserItem.btValue[6]]);
end;
if PlayObject.m_StorageItemList.Count <= 0 then GridStorageItem.RowCount := 2
else GridStorageItem.RowCount := PlayObject.m_StorageItemList.Count + 1;
for i := 0 to PlayObject.m_StorageItemList.Count - 1 do begin
UserItem := PlayObject.m_StorageItemList.Items[i];
StdItem := UserEngine.GetStdItem(UserItem.wIndex);
if StdItem = nil then begin
GridStorageItem.Cells[1, i + 1] := '';
GridStorageItem.Cells[2, i + 1] := '';
GridStorageItem.Cells[3, i + 1] := '';
GridStorageItem.Cells[4, i + 1] := '';
GridStorageItem.Cells[5, i + 1] := '';
GridStorageItem.Cells[6, i + 1] := '';
GridStorageItem.Cells[7, i + 1] := '';
GridStorageItem.Cells[8, i + 1] := '';
GridStorageItem.Cells[9, i + 1] := '';
Continue;
end;
Item := StdItem^;
ItemUnit.GetItemAddValue(UserItem, Item);
GridStorageItem.Cells[0, i + 1] := IntToStr(i);
GridStorageItem.Cells[1, i + 1] := Item.Name;
GridStorageItem.Cells[2, i + 1] := IntToStr(UserItem.MakeIndex);
GridStorageItem.Cells[3, i + 1] := format('%d/%d', [UserItem.Dura, UserItem.DuraMax]);
GridStorageItem.Cells[4, i + 1] := format('%d/%d', [LoWord(Item.DC), HiWord(Item.DC)]);
GridStorageItem.Cells[5, i + 1] := format('%d/%d', [LoWord(Item.MC), HiWord(Item.MC)]);
GridStorageItem.Cells[6, i + 1] := format('%d/%d', [LoWord(Item.SC), HiWord(Item.SC)]);
GridStorageItem.Cells[7, i + 1] := format('%d/%d', [LoWord(Item.AC), HiWord(Item.AC)]);
GridStorageItem.Cells[8, i + 1] := format('%d/%d', [LoWord(Item.MAC), HiWord(Item.MAC)]);
GridStorageItem.Cells[9, i + 1] := format('%d/%d/%d/%d/%d/%d/%d', [UserItem.btValue[0],
UserItem.btValue[1],
UserItem.btValue[2],
UserItem.btValue[3],
UserItem.btValue[4],
UserItem.btValue[5],
UserItem.btValue[6]]);
end;
end;
procedure TfrmHumanInfo.TimerTimer(Sender: TObject);
begin
if PlayObject = nil then Exit;
if PlayObject.m_boGhost then begin
EditHumanStatus.Text := '下线';
PlayObject := nil;
Exit;
end;
if boRefHuman then RefHumanInfo();
end;
procedure TfrmHumanInfo.CheckBoxMonitorClick(Sender: TObject);
begin
boRefHuman := CheckBoxMonitor.Checked;
ButtonSave.Enabled := not boRefHuman;
end;
procedure TfrmHumanInfo.ButtonKickClick(Sender: TObject);
begin
if PlayObject = nil then Exit;
PlayObject.m_boEmergencyClose := True;
PlayObject.m_boNotOnlineAddExp := False;
ButtonKick.Enabled := False;
end;
procedure TfrmHumanInfo.ButtonSaveClick(Sender: TObject);
var
nLevel: Integer;
nGold: Integer;
nPKPOINT: Integer;
nGameGold: Integer;
nGamePoint: Integer;
nCreditPoint: Integer;
nBonusPoint: Integer;
boGameMaster: Boolean;
boObServer: Boolean;
boSuperman: Boolean;
sAutoSendMsg: string;
begin
if PlayObject = nil then Exit;
sAutoSendMsg := Trim(EditSayMsg.Text);
nLevel := EditLevel.Value;
nGold := EditGold.Value;
nPKPOINT := EditPKPoint.Value;
nGameGold := EditGameGold.Value;
nGamePoint := EditGamePoint.Value;
nCreditPoint := EditCreditPoint.Value;
nBonusPoint := EditBonusPoint.Value;
boGameMaster := CheckBoxGameMaster.Checked;
boObServer := CheckBoxObserver.Checked;
boSuperman := CheckBoxSuperMan.Checked;
if (nLevel < 0) or (nLevel > High(Word)) or (nGold < 0) or (nGold > 200000000) or (nPKPOINT < 0) or
(nPKPOINT > 2000000) or (nCreditPoint < 0) or (nCreditPoint > High(Byte)) or (nBonusPoint < 0) or (nBonusPoint > 20000000) then begin
MessageBox(Handle, '输入数据不正确!!!', '错误信息', MB_OK);
Exit;
end;
PlayObject.m_sAutoSendMsg := sAutoSendMsg;
PlayObject.m_Abil.Level := nLevel;
PlayObject.m_nGold := nGold;
PlayObject.m_nPkPoint := nPKPOINT;
PlayObject.m_nGameGold := nGameGold;
PlayObject.m_nGamePoint := nGamePoint;
PlayObject.m_btCreditPoint := nCreditPoint;
PlayObject.m_nBonusPoint := nBonusPoint;
PlayObject.m_boAdminMode := boGameMaster;
PlayObject.m_boObMode := boObServer;
PlayObject.m_boSuperMan := boSuperman;
PlayObject.RecalcAbilitys;
PlayObject.GoldChanged;
MessageBox(Handle, '人物数据已保存。', '提示信息', MB_OK);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -