📄 humaninfo.pas
字号:
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;
StdItem.GetStandardItem(Item);
StdItem.GetItemAddValue(UserItem,Item);
Item.Name := GetItemName(UserItem);
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;
StdItem.GetStandardItem(Item);
StdItem.GetItemAddValue(UserItem,Item);
Item.Name := GetItemName(UserItem);
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;
StdItem.GetStandardItem(Item);
StdItem.GetItemAddValue(UserItem,Item);
Item.Name := GetItemName(UserItem);
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;
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;
begin
if PlayObject = nil then exit;
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_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 + -