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

📄 humaninfo.pas

📁 传奇2...飘飘M2的源码.曾经是传奇"龙"版用得最好的M2程序.完整M2源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -