⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 humaninfo.pas

📁 原版翎风(LF)引擎(M2)源码(Delphi)
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                    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 + -